]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Merge remote-tracking branch 'origin/next'
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 21 Jun 2021 10:04:11 +0000 (10:04 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 21 Jun 2021 10:04:11 +0000 (10:04 +0000)
405 files changed:
config/asterisk/asterisk.logrotate [deleted file]
config/backup/backup.pl
config/backup/includes/asterisk [deleted file]
config/backup/includes/lcd4linux [deleted file]
config/backup/includes/motion [deleted file]
config/backup/includes/sane [deleted file]
config/ca-certificates/certdata.txt
config/cfgroot/general-functions.pl
config/cfgroot/ids-functions.pl
config/cfgroot/network-functions.pl
config/elinks/elinks.conf [changed mode: 0755->0644]
config/fbset/fb.modes [deleted file]
config/firewall/ipsec-policy
config/menu/50-firewall.menu
config/miniupnpd/miniupnpd.conf [deleted file]
config/motion/motion.conf [deleted file]
config/rootfiles/common/XML-Parser
config/rootfiles/common/aarch64/initscripts
config/rootfiles/common/apache2
config/rootfiles/common/armv5tel/initscripts
config/rootfiles/common/bind
config/rootfiles/common/configroot
config/rootfiles/common/conntrack-tools
config/rootfiles/common/curl
config/rootfiles/common/ethtool
config/rootfiles/common/expat
config/rootfiles/common/fbset [deleted file]
config/rootfiles/common/fireinfo
config/rootfiles/common/fuse
config/rootfiles/common/glib
config/rootfiles/common/gnutls
config/rootfiles/common/i586/dmidecode
config/rootfiles/common/i586/initscripts
config/rootfiles/common/i586/intel-microcode
config/rootfiles/common/intltool [moved from config/rootfiles/packages/intltool with 69% similarity]
config/rootfiles/common/iputils
config/rootfiles/common/libcap
config/rootfiles/common/libedit
config/rootfiles/common/libnl-3
config/rootfiles/common/libpcap
config/rootfiles/common/libupnp [deleted file]
config/rootfiles/common/libusb
config/rootfiles/common/linux-firmware
config/rootfiles/common/nettle
config/rootfiles/common/pcre2
config/rootfiles/common/perl-Data-UUID [new file with mode: 0644]
config/rootfiles/common/python-pyparsing [deleted file]
config/rootfiles/common/qpdf
config/rootfiles/common/web-user-interface
config/rootfiles/common/x86_64/dmidecode
config/rootfiles/common/x86_64/initscripts
config/rootfiles/common/x86_64/intel-microcode
config/rootfiles/common/zstd
config/rootfiles/core/158/exclude [moved from config/rootfiles/core/157/exclude with 100% similarity]
config/rootfiles/core/158/filelists/XML-Parser [new symlink]
config/rootfiles/core/158/filelists/apache2 [moved from config/rootfiles/core/157/filelists/apache2 with 100% similarity]
config/rootfiles/core/158/filelists/armv5tel/boost [moved from config/rootfiles/core/157/filelists/armv5tel/boost with 100% similarity]
config/rootfiles/core/158/filelists/backup [moved from config/rootfiles/core/157/filelists/backup with 100% similarity]
config/rootfiles/core/158/filelists/bind [new symlink]
config/rootfiles/core/158/filelists/ca-certificates [new symlink]
config/rootfiles/core/158/filelists/curl [moved from config/rootfiles/core/157/filelists/curl with 100% similarity]
config/rootfiles/core/158/filelists/ethtool [new symlink]
config/rootfiles/core/158/filelists/expat [moved from config/rootfiles/core/157/filelists/expat with 100% similarity]
config/rootfiles/core/158/filelists/files [new file with mode: 0644]
config/rootfiles/core/158/filelists/fireinfo [new symlink]
config/rootfiles/core/158/filelists/fuse [moved from config/rootfiles/core/157/filelists/fuse with 100% similarity]
config/rootfiles/core/158/filelists/glib [moved from config/rootfiles/core/157/filelists/glib with 100% similarity]
config/rootfiles/core/158/filelists/gnutls [new symlink]
config/rootfiles/core/158/filelists/gzip [new symlink]
config/rootfiles/core/158/filelists/hwdata [new symlink]
config/rootfiles/core/158/filelists/i586/boost [moved from config/rootfiles/core/157/filelists/i586/boost with 100% similarity]
config/rootfiles/core/158/filelists/i586/dmidecode [new symlink]
config/rootfiles/core/158/filelists/i586/intel-microcode [new symlink]
config/rootfiles/core/158/filelists/iputils [moved from config/rootfiles/core/157/filelists/iputils with 100% similarity]
config/rootfiles/core/158/filelists/knot [new symlink]
config/rootfiles/core/158/filelists/libcap [new symlink]
config/rootfiles/core/158/filelists/libedit [moved from config/rootfiles/core/157/filelists/libedit with 100% similarity]
config/rootfiles/core/158/filelists/libnl-3 [new symlink]
config/rootfiles/core/158/filelists/libpcap [new symlink]
config/rootfiles/core/158/filelists/libusb [new symlink]
config/rootfiles/core/158/filelists/libxcrypt [moved from config/rootfiles/core/157/filelists/libxcrypt with 100% similarity]
config/rootfiles/core/158/filelists/linux-firmware [new file with mode: 0644]
config/rootfiles/core/158/filelists/nettle [new symlink]
config/rootfiles/core/158/filelists/pcre2 [new symlink]
config/rootfiles/core/158/filelists/perl-CGI [new symlink]
config/rootfiles/core/158/filelists/perl-Data-UUID [new symlink]
config/rootfiles/core/158/filelists/python3-inotify [moved from config/rootfiles/core/157/filelists/python3-inotify with 100% similarity]
config/rootfiles/core/158/filelists/qpdf [new symlink]
config/rootfiles/core/158/filelists/release-files [moved from config/rootfiles/core/157/filelists/release-files with 100% similarity]
config/rootfiles/core/158/filelists/rng-tools [new symlink]
config/rootfiles/core/158/filelists/smartmontools [new symlink]
config/rootfiles/core/158/filelists/sudo [moved from config/rootfiles/core/157/filelists/sudo with 100% similarity]
config/rootfiles/core/158/filelists/vnstat [new symlink]
config/rootfiles/core/158/filelists/web-user-interface [new symlink]
config/rootfiles/core/158/filelists/x86_64/boost [moved from config/rootfiles/core/157/filelists/x86_64/boost with 100% similarity]
config/rootfiles/core/158/filelists/x86_64/dmidecode [new symlink]
config/rootfiles/core/158/filelists/x86_64/intel-microcode [new symlink]
config/rootfiles/core/158/filelists/xfsprogs [moved from config/rootfiles/core/157/filelists/xfsprogs with 100% similarity]
config/rootfiles/core/158/filelists/zd1211-firmware [new symlink]
config/rootfiles/core/158/filelists/zstd [new symlink]
config/rootfiles/core/158/update.sh [moved from src/paks/motion/install.sh with 53% similarity]
config/rootfiles/oldcore/157/exclude [new file with mode: 0644]
config/rootfiles/oldcore/157/filelists/Canary-Stability [moved from config/rootfiles/core/157/filelists/Canary-Stability with 100% similarity]
config/rootfiles/oldcore/157/filelists/Convert-TNEF [moved from config/rootfiles/core/157/filelists/Convert-TNEF with 100% similarity]
config/rootfiles/oldcore/157/filelists/Convert-UUlib [moved from config/rootfiles/core/157/filelists/Convert-UUlib with 100% similarity]
config/rootfiles/oldcore/157/filelists/Crypt-PasswdMD5 [moved from config/rootfiles/core/157/filelists/Crypt-PasswdMD5 with 100% similarity]
config/rootfiles/oldcore/157/filelists/Digest [moved from config/rootfiles/core/157/filelists/Digest with 100% similarity]
config/rootfiles/oldcore/157/filelists/aarch64/linux [moved from config/rootfiles/core/157/filelists/aarch64/linux with 100% similarity]
config/rootfiles/oldcore/157/filelists/aarch64/linux-initrd [moved from config/rootfiles/core/157/filelists/aarch64/linux-initrd with 100% similarity]
config/rootfiles/oldcore/157/filelists/aarch64/lm_sensors [moved from config/rootfiles/core/157/filelists/aarch64/lm_sensors with 100% similarity]
config/rootfiles/oldcore/157/filelists/apache2 [new symlink]
config/rootfiles/oldcore/157/filelists/armv5tel/linux-initrd-multi [moved from config/rootfiles/core/157/filelists/armv5tel/linux-initrd-multi with 100% similarity]
config/rootfiles/oldcore/157/filelists/armv5tel/linux-multi [moved from config/rootfiles/core/157/filelists/armv5tel/linux-multi with 100% similarity]
config/rootfiles/oldcore/157/filelists/armv5tel/lm_sensors [moved from config/rootfiles/core/157/filelists/armv5tel/lm_sensors with 100% similarity]
config/rootfiles/oldcore/157/filelists/bash [moved from config/rootfiles/core/157/filelists/bash with 100% similarity]
config/rootfiles/oldcore/157/filelists/boost [new symlink]
config/rootfiles/oldcore/157/filelists/collectd [moved from config/rootfiles/core/157/filelists/collectd with 100% similarity]
config/rootfiles/oldcore/157/filelists/curl [new symlink]
config/rootfiles/oldcore/157/filelists/ddns [moved from config/rootfiles/core/157/filelists/ddns with 100% similarity]
config/rootfiles/oldcore/157/filelists/dejavu-fonts-ttf [moved from config/rootfiles/core/157/filelists/dejavu-fonts-ttf with 100% similarity]
config/rootfiles/oldcore/157/filelists/expat [new symlink]
config/rootfiles/oldcore/157/filelists/file [moved from config/rootfiles/core/157/filelists/file with 100% similarity]
config/rootfiles/oldcore/157/filelists/files [moved from config/rootfiles/core/157/filelists/files with 100% similarity]
config/rootfiles/oldcore/157/filelists/fuse [new symlink]
config/rootfiles/oldcore/157/filelists/glib [new symlink]
config/rootfiles/oldcore/157/filelists/i586/linux [moved from config/rootfiles/core/157/filelists/i586/linux with 100% similarity]
config/rootfiles/oldcore/157/filelists/i586/linux-initrd [moved from config/rootfiles/core/157/filelists/i586/linux-initrd with 100% similarity]
config/rootfiles/oldcore/157/filelists/i586/lm_sensors [moved from config/rootfiles/core/157/filelists/i586/lm_sensors with 100% similarity]
config/rootfiles/oldcore/157/filelists/iproute2 [moved from config/rootfiles/core/157/filelists/iproute2 with 100% similarity]
config/rootfiles/oldcore/157/filelists/iputils [new symlink]
config/rootfiles/oldcore/157/filelists/less [moved from config/rootfiles/core/157/filelists/less with 100% similarity]
config/rootfiles/oldcore/157/filelists/libaio [moved from config/rootfiles/core/157/filelists/libaio with 100% similarity]
config/rootfiles/oldcore/157/filelists/libarchive [moved from config/rootfiles/core/157/filelists/libarchive with 100% similarity]
config/rootfiles/oldcore/157/filelists/libcap-ng [moved from config/rootfiles/core/157/filelists/libcap-ng with 100% similarity]
config/rootfiles/oldcore/157/filelists/libedit [new symlink]
config/rootfiles/oldcore/157/filelists/libevent2 [moved from config/rootfiles/core/157/filelists/libevent2 with 100% similarity]
config/rootfiles/oldcore/157/filelists/libgcrypt [moved from config/rootfiles/core/157/filelists/libgcrypt with 100% similarity]
config/rootfiles/oldcore/157/filelists/libgpg-error [moved from config/rootfiles/core/157/filelists/libgpg-error with 100% similarity]
config/rootfiles/oldcore/157/filelists/libjpeg [moved from config/rootfiles/core/157/filelists/libjpeg with 100% similarity]
config/rootfiles/oldcore/157/filelists/libupnp [moved from config/rootfiles/core/157/filelists/libupnp with 100% similarity]
config/rootfiles/oldcore/157/filelists/libxcrypt [new symlink]
config/rootfiles/oldcore/157/filelists/libxml2 [moved from config/rootfiles/core/157/filelists/libxml2 with 100% similarity]
config/rootfiles/oldcore/157/filelists/libxslt [moved from config/rootfiles/core/157/filelists/libxslt with 100% similarity]
config/rootfiles/oldcore/157/filelists/newt [moved from config/rootfiles/core/157/filelists/newt with 100% similarity]
config/rootfiles/oldcore/157/filelists/openssh [moved from config/rootfiles/core/157/filelists/openssh with 100% similarity]
config/rootfiles/oldcore/157/filelists/pixman [moved from config/rootfiles/core/157/filelists/pixman with 100% similarity]
config/rootfiles/oldcore/157/filelists/poppler [moved from config/rootfiles/core/157/filelists/poppler with 100% similarity]
config/rootfiles/oldcore/157/filelists/poppler-data [moved from config/rootfiles/core/157/filelists/poppler-data with 100% similarity]
config/rootfiles/oldcore/157/filelists/ppp [moved from config/rootfiles/core/157/filelists/ppp with 100% similarity]
config/rootfiles/oldcore/157/filelists/python3-daemon [moved from config/rootfiles/core/157/filelists/python3-daemon with 100% similarity]
config/rootfiles/oldcore/157/filelists/readline [moved from config/rootfiles/core/157/filelists/readline with 100% similarity]
config/rootfiles/oldcore/157/filelists/release-files [new file with mode: 0644]
config/rootfiles/oldcore/157/filelists/sqlite [moved from config/rootfiles/core/157/filelists/sqlite with 100% similarity]
config/rootfiles/oldcore/157/filelists/squid [moved from config/rootfiles/core/157/filelists/squid with 100% similarity]
config/rootfiles/oldcore/157/filelists/sudo [new symlink]
config/rootfiles/oldcore/157/filelists/x86_64/linux [moved from config/rootfiles/core/157/filelists/x86_64/linux with 100% similarity]
config/rootfiles/oldcore/157/filelists/x86_64/linux-initrd [moved from config/rootfiles/core/157/filelists/x86_64/linux-initrd with 100% similarity]
config/rootfiles/oldcore/157/filelists/x86_64/lm_sensors [moved from config/rootfiles/core/157/filelists/x86_64/lm_sensors with 100% similarity]
config/rootfiles/oldcore/157/filelists/xfsprogs [new symlink]
config/rootfiles/oldcore/157/update.sh [moved from config/rootfiles/core/157/update.sh with 100% similarity]
config/rootfiles/packages/aarch64/sane [deleted file]
config/rootfiles/packages/armv5tel/sane [deleted file]
config/rootfiles/packages/asterisk [deleted file]
config/rootfiles/packages/bluetooth [deleted file]
config/rootfiles/packages/dpfhack [deleted file]
config/rootfiles/packages/elfutils
config/rootfiles/packages/flac
config/rootfiles/packages/lcd4linux [deleted file]
config/rootfiles/packages/libmicrohttpd [deleted file]
config/rootfiles/packages/libogg
config/rootfiles/packages/libsrtp [deleted file]
config/rootfiles/packages/miniupnpd [deleted file]
config/rootfiles/packages/motion [deleted file]
config/rootfiles/packages/netsnmpd
config/rootfiles/packages/perl-TimeDate
config/rootfiles/packages/python3-pyparsing [new file with mode: 0644]
config/rootfiles/packages/python3-setuptools [new file with mode: 0644]
config/rootfiles/packages/sane [deleted file]
config/rootfiles/packages/sendEmail [deleted file]
config/sane/saned.conf [deleted file]
config/upnp/gatedesc.xml [deleted file]
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.it
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
html/cgi-bin/aliases.cgi
html/cgi-bin/backup.cgi
html/cgi-bin/captive.cgi
html/cgi-bin/connections.cgi
html/cgi-bin/ddns.cgi
html/cgi-bin/dhcp.cgi
html/cgi-bin/dns.cgi
html/cgi-bin/dnsforward.cgi
html/cgi-bin/extrahd.cgi
html/cgi-bin/fireinfo.cgi
html/cgi-bin/firewall.cgi
html/cgi-bin/fwhosts.cgi
html/cgi-bin/gpl.cgi
html/cgi-bin/guardian.cgi
html/cgi-bin/gui.cgi
html/cgi-bin/hardwaregraphs.cgi
html/cgi-bin/hosts.cgi
html/cgi-bin/index.cgi
html/cgi-bin/mac.cgi
html/cgi-bin/mdstat.cgi
html/cgi-bin/memory.cgi
html/cgi-bin/modem.cgi
html/cgi-bin/mpfire.cgi
html/cgi-bin/netexternal.cgi
html/cgi-bin/optionsfw.cgi
html/cgi-bin/ovpnmain.cgi
html/cgi-bin/pakfire.cgi
html/cgi-bin/pppsetup.cgi
html/cgi-bin/proxy.cgi
html/cgi-bin/qos.cgi
html/cgi-bin/remote.cgi
html/cgi-bin/routing.cgi
html/cgi-bin/samba.cgi
html/cgi-bin/services.cgi
html/cgi-bin/shutdown.cgi
html/cgi-bin/speed.cgi
html/cgi-bin/time.cgi
html/cgi-bin/tor.cgi
html/cgi-bin/traffic.cgi
html/cgi-bin/updatexlrator.cgi
html/cgi-bin/urlfilter.cgi
html/cgi-bin/vpnmain.cgi
html/cgi-bin/wakeonlan.cgi
html/cgi-bin/webaccess.cgi
html/cgi-bin/wireless.cgi
html/cgi-bin/wirelessclient.cgi
html/cgi-bin/wlanap.cgi
html/html/images/apple.png [new file with mode: 0644]
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
langs/es/cgi-bin/es.pl
langs/fr/cgi-bin/fr.pl
langs/it/cgi-bin/it.pl
langs/nl/cgi-bin/nl.pl
langs/pl/cgi-bin/pl.pl
langs/ru/cgi-bin/ru.pl
langs/tr/cgi-bin/tr.pl
lfs/XML-Parser
lfs/apache2
lfs/asterisk [deleted file]
lfs/avahi
lfs/bash
lfs/bind
lfs/ca-certificates
lfs/cmake
lfs/configroot
lfs/coreutils
lfs/cups-filters
lfs/curl
lfs/dmidecode
lfs/dnsdist
lfs/dpfhack [deleted file]
lfs/elfutils
lfs/elinks
lfs/ethtool
lfs/expat
lfs/fireinfo
lfs/flac
lfs/flash-images
lfs/fuse
lfs/glib
lfs/gnutls
lfs/grub
lfs/guardian
lfs/gzip
lfs/hostapd
lfs/hwdata
lfs/intel-microcode
lfs/iputils
lfs/knot
lfs/lcd4linux [deleted file]
lfs/libcap
lfs/libedit
lfs/libloc
lfs/libmicrohttpd [deleted file]
lfs/libnl-3
lfs/libogg
lfs/libpcap
lfs/libsrtp [deleted file]
lfs/libusb
lfs/libxcrypt
lfs/linux-firmware
lfs/miniupnpd [deleted file]
lfs/motion [deleted file]
lfs/mpd
lfs/mpfire
lfs/nano
lfs/netsnmpd
lfs/nettle
lfs/openssh
lfs/openvmtools
lfs/pam
lfs/pcre2
lfs/perl-CGI
lfs/perl-Data-UUID [moved from lfs/fbset with 94% similarity]
lfs/perl-TimeDate
lfs/postfix
lfs/python3-pyparsing [moved from lfs/python-pyparsing with 94% similarity]
lfs/python3-setuptools [moved from lfs/libupnp with 89% similarity]
lfs/qpdf
lfs/rng-tools
lfs/samba
lfs/sane [deleted file]
lfs/sarg
lfs/sendEmail [deleted file]
lfs/smartmontools
lfs/sox
lfs/sudo
lfs/tcpdump
lfs/tmux
lfs/tor
lfs/vnstat
lfs/wio
lfs/xfsprogs
lfs/zd1211-firmware
lfs/zerofree
lfs/zstd
make.sh
src/hwdata/pci.ids
src/hwdata/usb.ids
src/initscripts/networking/red.down/10-miniupnpd [deleted file]
src/initscripts/networking/red.up/10-miniupnpd [deleted file]
src/initscripts/packages/asterisk [deleted file]
src/initscripts/packages/bluetooth [deleted file]
src/initscripts/packages/dnsdist
src/initscripts/packages/lcd4linux [deleted file]
src/initscripts/packages/miniupnpd [deleted file]
src/initscripts/packages/motion [deleted file]
src/initscripts/packages/sane [deleted file]
src/initscripts/system/firewall
src/initscripts/system/upnpd [deleted file]
src/pakfire/lib/functions.pl
src/pakfire/pakfire
src/paks/asterisk/install.sh [deleted file]
src/paks/asterisk/uninstall.sh [deleted file]
src/paks/asterisk/update.sh [deleted file]
src/paks/motion/uninstall.sh [deleted file]
src/paks/motion/update.sh [deleted file]
src/patches/Python-2.7.3-gdbm-1.patch [deleted file]
src/patches/Python-2.7.9-gdbm-1.patch [deleted file]
src/patches/arm-dont-require-distutils.patch [deleted file]
src/patches/arm-multi-grsec-compile-fixes.patch [deleted file]
src/patches/asterisk-no-ffmpeg.patch [deleted file]
src/patches/asterisk-ssl-reader-should-block.patch [deleted file]
src/patches/bash/bash-3.2-ssh_source_bash.patch [moved from src/patches/bash-3.2-ssh_source_bash.patch with 100% similarity]
src/patches/bash/bash-4.0-paths-1.patch [moved from src/patches/bash-4.0-paths-1.patch with 100% similarity]
src/patches/bash/bash-4.0-profile-1.patch [moved from src/patches/bash-4.0-profile-1.patch with 100% similarity]
src/patches/compat-drivers-3.8.3-ath_ignore_eeprom_regdomain.patch [deleted file]
src/patches/coreutils/coreutils-8.27-uname-1.patch [moved from src/patches/coreutils-8.27-uname-1.patch with 100% similarity]
src/patches/coreutils/coreutils-8.32-i18n-1.patch [moved from src/patches/coreutils-8.32-i18n-1.patch with 100% similarity]
src/patches/cups-str4609.patch [deleted file]
src/patches/db-4.4.20-fixes-1.patch [deleted file]
src/patches/diffutils-2.8.1-i18n-1.patch [deleted file]
src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch [deleted file]
src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch [new file with mode: 0644]
src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch [new file with mode: 0644]
src/patches/dpfhack.patch [deleted file]
src/patches/fireinfo-2.2.0-python-3.8.patch [new file with mode: 0644]
src/patches/fireinfo-Don-t-crash-when-proc-cpuinfo-doesn-t-have-any-infor.patch [deleted file]
src/patches/fireinfo-Ignore-any-systems-with-ID-Default-string.patch [deleted file]
src/patches/fireinfo-support-upstream-proxy-with-authentication.patch [deleted file]
src/patches/grub/grub-2.02_disable_vga_fallback.patch [moved from src/patches/grub-2.02_disable_vga_fallback.patch with 100% similarity]
src/patches/gzip-1.9-gnulib.patch [deleted file]
src/patches/igb-5.3.4.4_fix_hung_at_dev_get_stats.patch [deleted file]
src/patches/iptables-1.4.14-ipp2p-0.8.2-ipfire.patch [deleted file]
src/patches/iputils-20020927-headers.patch [deleted file]
src/patches/iputils-20020927-rh.patch [deleted file]
src/patches/iputils-glibckernheaders.patch [deleted file]
src/patches/kbd-1.12-backspace-1.patch [deleted file]
src/patches/kbd-1.12-gcc4_fixes-1.patch [deleted file]
src/patches/kbd-1.12-more-programs-1.patch [deleted file]
src/patches/libcap-2.50-install_capsh_again.patch [new file with mode: 0644]
src/patches/libloc/libloc-0.9.3-perl-i586-regular-stack-protector.patch [moved from src/patches/libloc-0.9.3-perl-i586-regular-stack-protector.patch with 100% similarity]
src/patches/linux-3.10-smsc95xx-add_mac_addr_param.patch [deleted file]
src/patches/linux-3.10.10-mv_cesa_disable_failing_hmac_sha1.patch [deleted file]
src/patches/linux-3.10.39-add_libertas_uap.patch [deleted file]
src/patches/linux/linux-3.14.79-rpi-suspend-not-inline.patch [deleted file]
src/patches/linux/linux-4.14-Revert-usb-dwc2-Fix-DMA-alignment.patch [deleted file]
src/patches/linux/linux-4.9.8-rt2x00usb_suppress_queue_warnings.patch [deleted file]
src/patches/lzo-2.06-CVE-2014-4607.patch [deleted file]
src/patches/netpbm-10.26.46-getline.patch [deleted file]
src/patches/openssl-1.0.0-beta5-enginesdir.patch [deleted file]
src/patches/openssl-1.0.2a-rpmbuild.patch [deleted file]
src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch [deleted file]
src/patches/openssl-1.0.2g-disable-sslv2v3.patch [deleted file]
src/patches/pam-0.99.10.0-rlimit-build-fix.patch [deleted file]
src/patches/pcre-8.38-upstream_fixes-1.patch [deleted file]
src/patches/python-pycurl-no-static-libs.patch [deleted file]
src/patches/sarg/sarg-2.3.11-format.patch [deleted file]
src/patches/sarg/sarg-2.4.0-configure.patch [moved from src/patches/sarg/sarg-2.3.11-configure.patch with 66% similarity]
src/patches/sarg/sarg-2.4.0-format.patch [new file with mode: 0644]
src/patches/tcp_wrappers-7.6-shared_lib_plus_plus-1.patch [deleted file]
src/patches/udev-208-fix_uint8_t.patch [deleted file]
src/patches/udev-208_remove_systemd_log.patch [deleted file]

diff --git a/config/asterisk/asterisk.logrotate b/config/asterisk/asterisk.logrotate
deleted file mode 100644 (file)
index 887d04a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/var/log/asterisk/messages /var/log/asterisk/full /var/log/asterisk/security /var/log/asterisk/*_log {
-        weekly
-        missingok
-        rotate 4
-        sharedscripts
-        postrotate
-                /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null
-        endscript
-}
index d2e5312526bfa8f9a18523573b80dc20e9da4e3a..8dffbf2e13ebe2a347c567058353a5f1ada64dbd 100644 (file)
@@ -57,12 +57,21 @@ make_backup() {
                make_addon_backup "${addon}"
        done
 
-       tar cvzf "${filename}" \
+       # Backup using global exclude/include definitions
+       tar cvf "${filename}" \
                --exclude-from="/var/ipfire/backup/exclude" \
+               $(process_includes "/var/ipfire/backup/include") \
+               "$@"
+
+       # Backup using user exclude/include definitions and append to global backup
+       tar rvf "${filename}" \
                --exclude-from="/var/ipfire/backup/exclude.user" \
-               $(process_includes "/var/ipfire/backup/include" "/var/ipfire/backup/include.user") \
+               $(process_includes "/var/ipfire/backup/include.user") \
                "$@"
 
+       # gzip the combined global/user backup and use .ipf suffix
+       gzip --suffix .ipf "${filename}"
+
        return 0
 }
 
@@ -206,7 +215,7 @@ main() {
                        local filename="${1}"
 
                        if [ -z "${filename}" ]; then
-                               filename="/var/ipfire/backup/${NOW}.ipf"
+                               filename="/var/ipfire/backup/${NOW}"
                        fi
 
                        make_backup "${filename}" $(find_logfiles)
@@ -216,7 +225,7 @@ main() {
                        local filename="${1}"
 
                        if [ -z "${filename}" ]; then
-                               filename="/var/ipfire/backup/${NOW}.ipf"
+                               filename="/var/ipfire/backup/${NOW}"
                        fi
 
                        make_backup "${filename}"
diff --git a/config/backup/includes/asterisk b/config/backup/includes/asterisk
deleted file mode 100644 (file)
index ccc47ea..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/var/ipfire/asterisk/
-/var/log/asterisk/cdr-csv/
diff --git a/config/backup/includes/lcd4linux b/config/backup/includes/lcd4linux
deleted file mode 100644 (file)
index 40fa69c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/lcd4linux.conf
diff --git a/config/backup/includes/motion b/config/backup/includes/motion
deleted file mode 100644 (file)
index 79652aa..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/motion.conf
diff --git a/config/backup/includes/sane b/config/backup/includes/sane
deleted file mode 100644 (file)
index 6b6beb9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/sane.d/
index 478ab089572cc2d5127f6e7bb1a74909feeacfdd..56ab1c19f7df82fcce332c5e672995cafbb9dba6 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/.
@@ -461,7 +461,10 @@ CKA_VALUE MULTILINE_OCTAL
 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
+# 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"
 # 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
@@ -628,7 +631,10 @@ CKA_VALUE MULTILINE_OCTAL
 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
+# 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"
 # 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
@@ -1414,187 +1420,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 "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_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_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
-\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_ID UTF8 "0"
-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_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
-CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
-CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
-
-# 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"
 #
@@ -2076,129 +1901,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
-CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
-CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
-
-# 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 "Camerfirma Chambers of Commerce Root"
 #
@@ -2322,7 +2024,10 @@ CKA_VALUE MULTILINE_OCTAL
 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
+# For Email Distrust After: Mon Mar 01 00:00:00 2021
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\061\060\063\060\061\060\060\060\060\060\060\132
+END
 
 # 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
@@ -2484,7 +2189,10 @@ CKA_VALUE MULTILINE_OCTAL
 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
+# For Email Distrust After: Mon Mar 01 00:00:00 2021
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\061\060\063\060\061\060\060\060\060\060\060\132
+END
 
 # 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
@@ -5454,322 +5162,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 "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
-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_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
-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
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076
-\303\153
-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
-END
-CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-# For Server Distrust After: Wed Jan 01 00:00:00 2020
-CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
-\062\060\060\061\060\061\060\060\060\060\060\060\132
-END
-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
-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_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
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\001\136\330\153\275\157\075\216\241\061\370\022\340\230\163\152
-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
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076
-\303\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 "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
-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_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
-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
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032
-\305\035
-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
-END
-CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-# For Server Distrust After: Tue Apr 30 00:00:00 2019
-CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
-\061\071\060\064\063\060\060\060\060\060\060\060\132
-END
-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
-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_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
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\216\255\265\001\252\115\201\344\214\035\321\341\024\000\225\031
-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
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032
-\305\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 "NetLock Arany (Class Gold) Főtanúsítvány"
 #
@@ -7027,7 +6419,7 @@ END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
 \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
@@ -7237,7 +6629,7 @@ END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
 \002\011\000\311\315\323\351\325\175\043\316
 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
@@ -9136,7 +8528,10 @@ CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
 CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
 \061\071\061\062\062\070\060\060\060\060\060\060\132
 END
-CKA_NSS_EMAIL_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 "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
@@ -9579,161 +8974,27 @@ 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 "Buypass Class 2 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
+# 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 "Trustis FPS Root CA"
+CKA_LABEL UTF8 "Buypass Class 2 Root 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\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_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
-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_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
-CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
-\062\060\060\067\060\061\060\060\060\060\060\060\132
-END
-CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
-
-# 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
+\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
@@ -13772,7 +13033,7 @@ END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
 \002\004\000\230\242\071
 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
@@ -16481,7 +15742,10 @@ CKA_VALUE MULTILINE_OCTAL
 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
+# 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
@@ -16637,7 +15901,10 @@ CKA_VALUE MULTILINE_OCTAL
 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
+# 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 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
@@ -21704,3 +20971,1336 @@ 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 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_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 SERVIDORES SEGUROS"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\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\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\020\142\366\062\154\345\304\343\150\134\033\142\335\234\056
+\235\225
+END
+CKA_VALUE MULTILINE_OCTAL
+\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
+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 "AC RAIZ FNMT-RCM SERVIDORES SEGUROS"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\031\066\234\122\003\057\322\321\273\043\314\335\036\022\125\273
+END
+CKA_ISSUER MULTILINE_OCTAL
+\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\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_MUST_VERIFY_TRUST
+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 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_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 R45"
+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\122\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\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\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\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
+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 "GlobalSign Secure Mail Root E45"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\305\374\306\056\237\364\122\055\052\250\244\272\373\147\062\377
+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\105\064\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\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_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 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_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root R46"
+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\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\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\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\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
+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 "GlobalSign Root R46"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\304\024\060\344\372\146\103\224\052\152\033\044\137\031\320\357
+END
+CKA_ISSUER MULTILINE_OCTAL
+\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\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
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root E46"
+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\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\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\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\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
+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 "GlobalSign Root E46"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\265\270\146\355\336\010\203\343\311\342\001\064\006\254\121\157
+END
+CKA_ISSUER MULTILINE_OCTAL
+\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\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 "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 "GLOBALTRUST 2020"
+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\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\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\013\132\113\275\132\373\117\212\133\372\145\345
+END
+CKA_VALUE MULTILINE_OCTAL
+\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
+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 "GLOBALTRUST 2020"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\212\307\157\313\155\343\314\242\361\174\203\372\016\170\327\350
+END
+CKA_ISSUER MULTILINE_OCTAL
+\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\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
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ANF Secure Server Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\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\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\010\015\323\343\274\154\371\153\261
+END
+CKA_VALUE MULTILINE_OCTAL
+\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
+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 "ANF Secure Server Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\046\246\104\132\331\257\116\057\262\035\266\145\260\116\350\226
+END
+CKA_ISSUER MULTILINE_OCTAL
+\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\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_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 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_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum EC-384 CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT 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\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\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\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
+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 EC-384 CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\266\145\263\226\140\227\022\241\354\116\341\075\243\306\311\361
+END
+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\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_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 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_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum Trusted Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\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\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\020\036\277\131\120\270\311\200\067\114\006\367\353\125\117
+\265\355
+END
+CKA_VALUE MULTILINE_OCTAL
+\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
+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 "Certum Trusted Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\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
+\121\341\302\347\376\114\204\257\131\016\057\364\124\157\352\051
+END
+CKA_ISSUER MULTILINE_OCTAL
+\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\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
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
index a6656ccf5668d605aca52f22a3028416eeaff4a7..550afcf827b4b5a50c49e99a15593a8c2de6f619 100644 (file)
@@ -28,6 +28,77 @@ $General::adminmanualurl = 'http://wiki.ipfire.org';
 
 require "${General::swroot}/network-functions.pl";
 
+# This function executes a shell command without forking a shell or do any other
+# Perl-voodoo before it. It deprecates the "system" command and is the only way
+# to call shell commands.
+sub safe_system($) {
+       my @command = @_;
+
+       system { ${command[0]} } @command;
+
+       # Return exit code
+       return $? >> 8;
+}
+
+# Calls a process in the background and returns nothing
+sub system_background($) {
+       my $pid = fork();
+
+       unless ($pid) {
+               my $rc = &system(@_);
+               exit($rc);
+       }
+
+       return 0;
+}
+
+# Returns the output of a shell command
+sub system_output($) {
+       my @command = @_;
+       my $pid;
+       my @output = ();
+
+       unless ($pid = open(OUTPUT, "-|")) {
+               open(STDERR, ">&STDOUT");
+               exec { ${command[0]} } @command;
+               die "Could not execute @command: $!";
+       }
+
+       waitpid($pid, 0);
+
+       while (<OUTPUT>) {
+               push(@output, $_);
+       }
+       close(OUTPUT);
+
+       return @output;
+}
+
+# Calls a shell command and throws away the output
+sub system($) {
+       my @command = @_;
+
+       open(SAVEOUT, ">&STDOUT");
+       open(SAVEERR, ">&STDERR");
+
+       open(STDOUT, ">/dev/null");
+       open(STDERR, ">&STDOUT");
+
+       select(STDERR); $|=1;
+       select(STDOUT); $|=1;
+
+       my $rc = &safe_system(@command);
+
+       close(STDOUT);
+       close(STDERR);
+
+       # Restore
+       open(STDOUT, ">&SAVEOUT");
+       open(STDERR, ">&SAVEERR");
+
+       return $rc;
+}
+
 # Function to remove duplicates from an array
 sub uniq { my %seen; grep !$seen{$_}++, @_ }
 
@@ -42,7 +113,7 @@ sub log
        my $logmessage = $_[0];
        $logmessage =~ /([\w\W]*)/;
        $logmessage = $1;
-       system('logger', '-t', $tag, $logmessage);
+       &system('logger', '-t', $tag, $logmessage);
 }
 sub setup_default_networks
 {
@@ -1152,7 +1223,7 @@ sub firewall_needs_reload() {
 }
 
 sub firewall_reload() {
-       system("/usr/local/bin/firewallctrl");
+       &system("/usr/local/bin/firewallctrl");
 }
 
 # Function which will return the used interface for the red network zone (red0, ppp0, etc).
index 2fdae4a7a19741f6c184476eab25edd6f583c9b6..0e397ca192182a1dd9b61604c04ed09b2cbf1184 100644 (file)
@@ -118,7 +118,7 @@ sub check_and_create_filelayout() {
 #
 sub checkdiskspace () {
        # Call diskfree to gather the free disk space of /var.
-       my @df = `/bin/df -B M /var`;
+       my @df = &General::system_output("/bin/df", "-B", "M", "/var");
 
        # Loop through the output.
        foreach my $line (@df) {
@@ -463,7 +463,7 @@ sub call_suricatactrl ($) {
 
                                        # Call the suricatactrl binary and pass the "cron" command
                                        # with the requrested interval.
-                                       system("$suricatactrl $option $interval &>/dev/null");
+                                       &General::system("$suricatactrl", "$option", "$interval");
 
                                        # Return "1" - True.
                                        return 1;
@@ -475,7 +475,7 @@ sub call_suricatactrl ($) {
                } else {
                        # Call the suricatactrl binary and pass the requrested
                        # option to it.
-                       system("$suricatactrl $option &>/dev/null");
+                       &General::system("$suricatactrl", "$option");
 
                        # Return "1" - True.
                        return 1;
index 2f704dfbfe5efe889680d72ece0299e8f8fb65ac..b7a840559ccd5ec52a4cf918065538690a2c32ed 100644 (file)
@@ -360,7 +360,7 @@ sub _get_wireless_status($) {
        my $intf = shift;
 
        if (!$wireless_status{$intf}) {
-               $wireless_status{$intf} = `iwconfig $intf`;
+               $wireless_status{$intf} = &General::system_output("iwconfig", "$intf");
        }
 
        return $wireless_status{$intf};
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/config/fbset/fb.modes b/config/fbset/fb.modes
deleted file mode 100644 (file)
index 2b53529..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-#   DirectFB video modes, should be placed into "/etc"
-# 
-
-mode "640x480 75Hz 16bit"
-    # D: 31.50 MHz, H: 37.500 kHz, V: 75.00 Hz
-    geometry 640 480 640 480 16
-    timings 31747 120 16 16 1 64 3
-endmode
-mode "720x576 50Hz 16bit"
-    geometry 720 576 720 576 16
-    timings 31208 144 40 32 10 128 3
-endmode
-
-mode "768x576 75Hz 16bit"
-    # D: 49.188 MHz, H: 46.580 kHz, V: 75.008 Hz
-    geometry 768 576 768 576 16
-    timings 20330 128 32 32 8 128 5
-endmode
-
-
-mode "800x600 75Hz 16bit"
-    # D: 49.50 MHz, H: 46.875 kHz, V: 75.00 Hz
-    geometry 800 600 800 600 16
-    timings 20203 160 16 21 1 80 3
-    hsync high
-    vsync high
-endmode
-
-mode "1024x768 72Hz 16bit"
-    # D: 75.00 MHz, H: 58.230 kHz, V: 72.245 Hz
-    geometry 1024 768 1024 768 16
-    timings 13334 104 24 29 3 136 6
-endmode
-
-mode "1280x1024-75"
-    # D: 134.880 MHz, H: 79.905 kHz, V: 74.958 Hz
-    geometry 1280 1024 1280 3264 16
-    timings 7414 232 64 38 1 112 3
-    hsync high
-    vsync high
-endmode
-
-mode "1280x1024 60Hz 16bit"
-    # D: 108.00 MHz, H: 63.981 kHz, V: 60.02 Hz
-    geometry 1280 1024 1280 1024 16
-    timings 9260 248 48 38 1 112 3
-    hsync high
-    vsync high
-endmode
-
-mode "1600x1200 60Hz 16bit"
-    # D: 156.00 MHz, H: 76.200 kHz, V: 60.00 Hz
-    geometry 1600 1200 1600 1200 16
-    timings 6411 256 32 52 10 160 8
-endmode
-
-
-mode "640x400 93Hz 16bit"
-    geometry 640 400 640 400 16
-    timings 28272 48 32 17 22 128 12
-endmode
-
-mode "400x300 100Hz 16bit"
-    geometry 400 300 400 300 16
-    timings 31747 40 16 16 1 40 3
-    double true
-endmode
-
-
-mode "320x240 85Hz 16bit"
-    geometry 320 240 320 240 16
-    timings 51383 32 32 20 4 48 1
-    double true
-endmode
-
-mode "320x200 85Hz 16bit"
-    geometry 320 200 320 200 16
-    timings 60440 32 32 20 4 48 1
-    double true
-endmode
index 1ad4de65013fe66c8d3e36fb62c370256b865289..334e2d9bbdd9f0b383ad0a960c579985c4d79ad1 100644 (file)
@@ -34,6 +34,11 @@ block_subnet() {
        local subnet="${1}"
        local action="${2}"
 
+       # Nothing to be done if no action is requested
+       if [ "${action}" = "none" ]; then
+               return 0
+       fi
+
        # Don't block a wildcard subnet
        if [ "${subnet}" = "0.0.0.0/0" ] || [ "${subnet}" = "0.0.0.0/0.0.0.0" ]; then
                return 0
@@ -108,7 +113,7 @@ install_policy() {
 
                case "${route}" in
                        route)
-                               action="drop"
+                               action="none"
                                ;;
                        *)
                                action="reject"
index 7f654785b80f52dd715803d9b0e75693b10428e2..6ae9687dc46c095b6a584a199516a3a4b9fc15e9 100644 (file)
                                'title' => "$Lang::tr{'blue access'}",
                                'enabled' => 1,
                                 };                      
-    $subfirewall->{'80.upnp'} = {
-                               'caption' => 'UPnP',
-                               'uri' => '/cgi-bin/upnp.cgi',
-                               'title' => "Universal Plug and Play",
-                               'enabled' => 0,
-                               };
-       $subfirewall->{'90.iptables'} = {
+    $subfirewall->{'90.iptables'} = {
                                'caption' => $Lang::tr{'ipts'},
                                'uri' => '/cgi-bin/iptables.cgi',
                                'title' => "$Lang::tr{'ipts'}",
diff --git a/config/miniupnpd/miniupnpd.conf b/config/miniupnpd/miniupnpd.conf
deleted file mode 100644 (file)
index 5827581..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-
-# LAN network interfaces IPs / networks
-# there can be multiple listening ips for SSDP traffic.
-# should be under the form nnn.nnn.nnn.nnn/nn
-listening_ip=green0
-#listening_ip=green1
-
-# HTTP is available on all interfaces
-# port for HTTP (descriptions and SOAP) traffic. set 0 for autoselect.
-port=0
-
-# chain names for netfilter (not used for pf or ipf).
-upnp_forward_chain=UPNPFW
-upnp_nat_chain=UPNPFW
-
-# bitrates reported by daemon in bits per second
-bitrate_up=1000000
-bitrate_down=10000000
-
-# "secure" mode : when enabled, UPnP client are allowed to add mappings only
-# to their IP.
-secure_mode=yes
-
-# report system uptime instead of daemon uptime
-system_uptime=yes
-
-# notify interval in seconds. default is 30 seconds.
-notify_interval=60
-
-# unused rules cleaning.
-# never remove any rule before this threshold for the number
-# of redirections is exceeded. default to 20
-#clean_ruleset_threshold=10
-# clean process work interval in seconds. default to 0 (disabled).
-# a 600 seconds (10 minutes) interval makes sense
-clean_ruleset_interval=600
-
-# serial and model number the daemon will report to clients
-# in its XML description
-serial=12345678
-model_number=1
-
-# UPnP permission rules
-# (allow|deny) (external port range) ip/mask (internal port range)
-# A port range is <min port>-<max port> or <port> if there is only
-# one port in the range.
-# ip/mask format must be nn.nn.nn.nn/nn
-# it is advised to only allow redirection of port above 1024
-# and to finish the rule set with "deny 0-65535 0.0.0.0/0 0-65535"
-allow 0-65535 0.0.0.0/0 0-65535
diff --git a/config/motion/motion.conf b/config/motion/motion.conf
deleted file mode 100644 (file)
index 0d2853a..0000000
+++ /dev/null
@@ -1,637 +0,0 @@
-# Rename this distribution example file to motion.conf
-#
-# This config file was generated by motion 3.2.11
-
-
-############################################################
-# Daemon
-############################################################
-
-# Start in daemon (background) mode and release terminal (default: off)
-daemon on
-
-# File to store the process ID, also called pid file. (default: not defined)
-process_id_file /var/run/motion.pid 
-
-############################################################
-# Basic Setup Mode
-############################################################
-
-# Start in Setup-Mode, daemon disabled. (default: off)
-setup_mode off
-
-###########################################################
-# Capture device options
-############################################################
-
-# Videodevice to be used for capturing  (default /dev/video0)
-# for FreeBSD default is /dev/bktr0
-videodevice /dev/video0
-
-# v4l2_palette allows to choose preferable palette to be use by motion
-# to capture from those supported by your videodevice. (default: 8)
-# E.g. if your videodevice supports both V4L2_PIX_FMT_SBGGR8 and
-# V4L2_PIX_FMT_MJPEG then motion will by default use V4L2_PIX_FMT_MJPEG.
-# Setting v4l2_palette to 1 forces motion to use V4L2_PIX_FMT_SBGGR8
-# instead.
-#
-# Values :
-# V4L2_PIX_FMT_SN9C10X : 0  'S910'
-# V4L2_PIX_FMT_SBGGR8  : 1  'BA81'
-# V4L2_PIX_FMT_MJPEG   : 2  'MJPEG'
-# V4L2_PIX_FMT_JPEG    : 3  'JPEG'
-# V4L2_PIX_FMT_RGB24   : 4  'RGB3'
-# V4L2_PIX_FMT_UYVY    : 5  'UYVY'
-# V4L2_PIX_FMT_YUYV    : 6  'YUYV'
-# V4L2_PIX_FMT_YUV422P : 7  '422P'
-# V4L2_PIX_FMT_YUV420  : 8  'YU12'
-v4l2_palette 8
-
-# Tuner device to be used for capturing using tuner as source (default /dev/tuner0)
-# This is ONLY used for FreeBSD. Leave it commented out for Linux
-; tunerdevice /dev/tuner0
-
-# The video input to be used (default: 8)
-# Should normally be set to 0 or 1 for video/TV cards, and 8 for USB cameras
-input 8
-
-# The video norm to use (only for video capture and TV tuner cards)
-# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
-norm 0
-
-# The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0)
-frequency 0
-
-# Rotate image this number of degrees. The rotation affects all saved images as
-# well as mpeg movies. Valid values: 0 (default = no rotation), 90, 180 and 270.
-rotate 0
-
-# Image width (pixels). Valid range: Camera dependent, default: 352
-width 640
-
-# Image height (pixels). Valid range: Camera dependent, default: 288
-height 480
-
-# Maximum number of frames to be captured per second.
-# Valid range: 2-100. Default: 100 (almost no limit).
-framerate 2
-
-# Minimum time in seconds between capturing picture frames from the camera.
-# Default: 0 = disabled - the capture rate is given by the camera framerate.
-# This option is used when you want to capture images at a rate lower than 2 per second.
-minimum_frame_time 0
-
-# URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// or file:///)
-# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default: Not defined
-; netcam_url value
-
-# Username and password for network camera (only if required). Default: not defined
-# Syntax is user:password
-; netcam_userpass value
-
-# The setting for keep-alive of network socket, should improve performance on compatible net cameras.
-# 1.0:         The historical implementation using HTTP/1.0, closing the socket after each http request.
-# keep_alive:  Use HTTP/1.0 requests with keep alive header to reuse the same connection.
-# 1.1:         Use HTTP/1.1 requests that support keep alive as default.
-# Default: 1.0
-; netcam_http 1.0
-
-# URL to use for a netcam proxy server, if required, e.g. "http://myproxy".
-# If a port number other than 80 is needed, use "http://myproxy:1234".
-# Default: not defined
-; netcam_proxy value 
-
-# Set less strict jpeg checks for network cameras with a poor/buggy firmware.
-# Default: off
-netcam_tolerant_check off
-
-# Let motion regulate the brightness of a video device (default: off).
-# The auto_brightness feature uses the brightness option as its target value.
-# If brightness is zero auto_brightness will adjust to average brightness value 128.
-# Only recommended for cameras without auto brightness
-auto_brightness on
-
-# Set the initial brightness of a video device.
-# If auto_brightness is enabled, this value defines the average brightness level
-# which Motion will try and adjust to.
-# Valid range 0-255, default 0 = disabled
-brightness 128
-
-# Set the contrast of a video device.
-# Valid range 0-255, default 0 = disabled
-contrast 0
-
-# Set the saturation of a video device.
-# Valid range 0-255, default 0 = disabled
-saturation 0
-
-# Set the hue of a video device (NTSC feature).
-# Valid range 0-255, default 0 = disabled
-hue 0
-
-
-############################################################
-# Round Robin (multiple inputs on same video device name)
-############################################################
-
-# Number of frames to capture in each roundrobin step (default: 1)
-roundrobin_frames 1
-
-# Number of frames to skip before each roundrobin step (default: 1)
-roundrobin_skip 1
-
-# Try to filter out noise generated by roundrobin (default: off)
-switchfilter off
-
-
-############################################################
-# Motion Detection Settings:
-############################################################
-
-# Threshold for number of changed pixels in an image that
-# triggers motion detection (default: 1500)
-threshold 1500
-
-# Automatically tune the threshold down if possible (default: off)
-threshold_tune off
-
-# Noise threshold for the motion detection (default: 32)
-noise_level 32
-
-# Automatically tune the noise threshold (default: on)
-noise_tune on
-
-# Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined)
-# Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid.
-# (l)abeling must only be used once and the 'l' must be the last letter.
-# Comment out to disable
-despeckle EedDl
-
-# Detect motion in predefined areas (1 - 9). Areas are numbered like that:  1 2 3
-# A script (on_area_detected) is started immediately when motion is         4 5 6
-# detected in one of the given areas, but only once during an event.        7 8 9
-# One or more areas can be specified with this option. (Default: not defined)
-; area_detect value
-
-# PGM file to use as a sensitivity mask.
-# Full path name to. (Default: not defined)
-; mask_file value
-
-# Dynamically create a mask file during operation (default: 0)
-# Adjust speed of mask changes from 0 (off) to 10 (fast)
-smart_mask_speed 0
-
-# Ignore sudden massive light intensity changes given as a percentage of the picture
-# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled
-lightswitch 0
-
-# Picture frames must contain motion at least the specified number of frames
-# in a row before they are detected as true motion. At the default of 1, all
-# motion is detected. Valid range: 1 to thousands, recommended 1-5
-minimum_motion_frames 1
-
-# Specifies the number of pre-captured (buffered) pictures from before motion
-# was detected that will be output at motion detection.
-# Recommended range: 0 to 5 (default: 0)
-# Do not use large values! Large values will cause Motion to skip video frames and
-# cause unsmooth mpegs. To smooth mpegs use larger values of post_capture instead.
-pre_capture 5
-
-# Number of frames to capture after motion is no longer detected (default: 0)
-post_capture 5
-
-# Gap is the seconds of no motion detection that triggers the end of an event
-# An event is defined as a series of motion images taken within a short timeframe.
-# Recommended value is 60 seconds (Default). The value 0 is allowed and disables
-# events causing all Motion to be written to one single mpeg file and no pre_capture.
-gap 0
-
-# Maximum length in seconds of an mpeg movie
-# When value is exceeded a new mpeg file is created. (Default: 0 = infinite)
-max_mpeg_time 86400
-
-# Always save images even if there was no motion (default: off)
-output_all off
-
-
-############################################################
-# Image File Output
-############################################################
-
-# Output 'normal' pictures when motion is detected (default: on)
-# Valid values: on, off, first, best, center
-# When set to 'first', only the first picture of an event is saved.
-# Picture with most motion of an event is saved when set to 'best'.
-# Picture with motion nearest center of picture is saved when set to 'center'.
-# Can be used as preview shot for the corresponding movie.
-output_normal off
-
-# Output pictures with only the pixels moving object (ghost images) (default: off)
-output_motion off
-
-# The quality (in percent) to be used by the jpeg compression (default: 75)
-quality 75
-
-# Output ppm images instead of jpeg (default: off)
-ppm off
-
-
-############################################################
-# FFMPEG related options
-# Film (mpeg) file output, and deinterlacing of the video input
-# The options movie_filename and timelapse_filename are also used
-# by the ffmpeg feature
-############################################################
-
-# Use ffmpeg to encode mpeg movies in realtime (default: off)
-ffmpeg_cap_new off
-
-# Use ffmpeg to make movies with only the pixels moving
-# object (ghost images) (default: off)
-ffmpeg_cap_motion off
-
-# Use ffmpeg to encode a timelapse movie 
-# Default value 0 = off - else save frame every Nth second
-ffmpeg_timelapse 0
-
-# The file rollover mode of the timelapse video
-# Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual
-ffmpeg_timelapse_mode daily
-
-# Bitrate to be used by the ffmpeg encoder (default: 400000)
-# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled)
-ffmpeg_bps 500000
-
-# Enables and defines variable bitrate for the ffmpeg encoder.
-# ffmpeg_bps is ignored if variable bitrate is enabled.
-# Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps,
-# or the range 2 - 31 where 2 means best quality and 31 is worst.
-ffmpeg_variable_bitrate 0
-
-# Codec to used by ffmpeg for the video compression.
-# Timelapse mpegs are always made in mpeg1 format independent from this option.
-# Supported formats are: mpeg1 (ffmpeg-0.4.8 only), mpeg4 (default), and msmpeg4.
-# mpeg1 - gives you files with extension .mpg
-# mpeg4 or msmpeg4 - gives you files with extension .avi
-# msmpeg4 is recommended for use with Windows Media Player because
-# it requires no installation of codec on the Windows client.
-# swf - gives you a flash film with extension .swf
-# flv - gives you a flash video with extension .flv
-# ffv1 - FF video codec 1 for Lossless Encoding ( experimental )
-# mov - QuickTime ( testing )
-ffmpeg_video_codec msmpeg4
-
-# Use ffmpeg to deinterlace video. Necessary if you use an analog camera
-# and see horizontal combing on moving objects in video or pictures.
-# (default: off)
-ffmpeg_deinterlace off
-
-
-############################################################
-# Snapshots (Traditional Periodic Webcam File Output)
-############################################################
-
-# Make automated snapshot every N seconds (default: 0 = disabled)
-snapshot_interval 0
-
-
-############################################################
-# Text Display
-# %Y = year, %m = month, %d = date,
-# %H = hour, %M = minute, %S = second, %T = HH:MM:SS,
-# %v = event, %q = frame number, %t = thread (camera) number,
-# %D = changed pixels, %N = noise level, \n = new line,
-# %i and %J = width and height of motion area,
-# %K and %L = X and Y coordinates of motion center
-# %C = value defined by text_event - do not use with text_event!
-# You can put quotation marks around the text to allow
-# leading spaces
-############################################################
-
-# Locate and draw a box around the moving object.
-# Valid values: on, off and preview (default: off)
-# Set to 'preview' will only draw a box in preview_shot pictures.
-locate off
-
-# Draws the timestamp using same options as C function strftime(3)
-# Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock
-# Text is placed in lower right corner
-text_right %Y-%m-%d\n%T-%q
-
-# Draw a user defined text on the images using same options as C function strftime(3)
-# Default: Not defined = no text
-# Text is placed in lower left corner
-text_left CAMERA %t\nhttp://www.ipfire.org
-
-# Draw the number of changed pixed on the images (default: off)
-# Will normally be set to off except when you setup and adjust the motion settings
-# Text is placed in upper right corner
-text_changes off
-
-# This option defines the value of the special event conversion specifier %C
-# You can use any conversion specifier in this option except %C. Date and time
-# values are from the timestamp of the first image in the current event.
-# Default: %Y%m%d%H%M%S
-# The idea is that %C can be used filenames and text_left/right for creating
-# a unique identifier for each event.
-text_event %Y%m%d%H%M%S
-
-# Draw characters at twice normal size on images. (default: off)
-text_double off
-
-
-############################################################
-# Target Directories and filenames For Images And Films
-# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename
-# you can use conversion specifiers
-# %Y = year, %m = month, %d = date,
-# %H = hour, %M = minute, %S = second,
-# %v = event, %q = frame number, %t = thread (camera) number,
-# %D = changed pixels, %N = noise level,
-# %i and %J = width and height of motion area,
-# %K and %L = X and Y coordinates of motion center
-# %C = value defined by text_event
-# Quotation marks round string are allowed.
-############################################################
-
-# Target base directory for pictures and films
-# Recommended to use absolute path. (Default: current working directory)
-target_dir /var/motion/cam1
-
-# File path for snapshots (jpeg or ppm) relative to target_dir
-# Default: %v-%Y%m%d%H%M%S-snapshot
-# Default value is equivalent to legacy oldlayout option
-# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot
-# File extension .jpg or .ppm is automatically added so do not include this.
-# Note: A symbolic link called lastsnap.jpg created in the target_dir will always
-# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap'
-snapshot_filename %v-%Y%m%d%H%M%S-snapshot
-
-# File path for motion triggered images (jpeg or ppm) relative to target_dir
-# Default: %v-%Y%m%d%H%M%S-%q
-# Default value is equivalent to legacy oldlayout option
-# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q
-# File extension .jpg or .ppm is automatically added so do not include this
-# Set to 'preview' together with best-preview feature enables special naming
-# convention for preview shots. See motion guide for details
-jpeg_filename %v-%Y%m%d%H%M%S-%q
-
-# File path for motion triggered ffmpeg films (mpeg) relative to target_dir
-# Default: %v-%Y%m%d%H%M%S
-# Default value is equivalent to legacy oldlayout option
-# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H%M%S
-# File extension .mpg or .avi is automatically added so do not include this
-# This option was previously called ffmpeg_filename
-movie_filename %v-%Y%m%d%H%M%S
-
-# File path for timelapse mpegs relative to target_dir
-# Default: %Y%m%d-timelapse
-# Default value is near equivalent to legacy oldlayout option
-# For Motion 3.0 compatible mode choose: %Y/%m/%d-timelapse
-# File extension .mpg is automatically added so do not include this
-timelapse_filename %Y%m%d-timelapse
-
-
-############################################################
-# Live Webcam Server
-############################################################
-
-# The mini-http server listens to this port for requests (default: 0 = disabled)
-webcam_port 2500
-
-# Quality of the jpeg images produced (default: 50)
-webcam_quality 50
-
-# Output frames at 1 fps when no motion is detected and increase to the
-# rate given by webcam_maxrate when motion is detected (default: off)
-webcam_motion off
-
-# Maximum framerate for webcam streams (default: 1)
-webcam_maxrate 1
-
-# Restrict webcam connections to localhost only (default: on)
-webcam_localhost off
-
-# Limits the number of images per connection (default: 0 = unlimited)
-# Number can be defined by multiplying actual webcam rate by desired number of seconds
-# Actual webcam rate is the smallest of the numbers framerate and webcam_maxrate
-webcam_limit 0
-
-
-############################################################
-# HTTP Based Control
-############################################################
-
-# TCP/IP port for the http server to listen on (default: 0 = disabled)
-control_port 0
-
-# Restrict control connections to localhost only (default: on)
-control_localhost on
-
-# Output for http server, select off to choose raw text plain (default: on)
-control_html_output on
-
-# Authentication for the http based control. Syntax username:password
-# Default: not defined (Disabled)
-; control_authentication username:password
-
-
-############################################################
-# Tracking (Pan/Tilt)
-############################################################
-
-# Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc, 4=generic, 5=uvcvideo)
-# The generic type enables the definition of motion center and motion size to
-# be used with the conversion specifiers for options like on_motion_detected
-track_type 0
-
-# Enable auto tracking (default: off)
-track_auto off
-
-# Serial port of motor (default: none)
-; track_port value
-
-# Motor number for x-axis (default: 0)
-track_motorx 0
-
-# Motor number for y-axis (default: 0)
-track_motory 0
-
-# Maximum value on x-axis (default: 0)
-track_maxx 0
-
-# Maximum value on y-axis (default: 0)
-track_maxy 0
-
-# ID of an iomojo camera if used (default: 0)
-track_iomojo_id 0
-
-# Angle in degrees the camera moves per step on the X-axis
-# with auto-track (default: 10)
-# Currently only used with pwc type cameras
-track_step_angle_x 10
-
-# Angle in degrees the camera moves per step on the Y-axis
-# with auto-track (default: 10)
-# Currently only used with pwc type cameras
-track_step_angle_y 10
-
-# Delay to wait for after tracking movement as number
-# of picture frames (default: 10)
-track_move_wait 10
-
-# Speed to set the motor to (stepper motor option) (default: 255)
-track_speed 255
-
-# Number of steps to make (stepper motor option) (default: 40)
-track_stepsize 40
-
-
-############################################################
-# External Commands, Warnings and Logging:
-# You can use conversion specifiers for the on_xxxx commands
-# %Y = year, %m = month, %d = date,
-# %H = hour, %M = minute, %S = second,
-# %v = event, %q = frame number, %t = thread (camera) number,
-# %D = changed pixels, %N = noise level,
-# %i and %J = width and height of motion area,
-# %K and %L = X and Y coordinates of motion center
-# %C = value defined by text_event
-# %f = filename with full path
-# %n = number indicating filetype
-# Both %f and %n are only defined for on_picture_save,
-# on_movie_start and on_movie_end
-# Quotation marks round string are allowed.
-############################################################
-
-# Do not sound beeps when detecting motion (default: on)
-# Note: Motion never beeps when running in daemon mode.
-quiet on
-
-# Command to be executed when an event starts. (default: none)
-# An event starts at first motion detected after a period of no motion defined by gap 
-; on_event_start value
-
-# Command to be executed when an event ends after a period of no motion
-# (default: none). The period of no motion is defined by option gap.
-; on_event_end value
-
-# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
-# To give the filename as an argument to a command append it with %f
-; on_picture_save value
-
-# Command to be executed when a motion frame is detected (default: none)
-; on_motion_detected value
-
-# Command to be executed when motion in a predefined area is detected
-# Check option 'area_detect'.   (default: none)
-; on_area_detected value
-
-# Command to be executed when a movie file (.mpg|.avi) is created. (default: none)
-# To give the filename as an argument to a command append it with %f
-; on_movie_start value
-
-# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
-# To give the filename as an argument to a command append it with %f
-; on_movie_end value
-
-# Command to be executed when a camera can't be opened or if it is lost
-# NOTE: There is situations when motion doesn't detect a lost camera!
-# It depends on the driver, some drivers don't detect a lost camera at all
-# Some hang the motion thread. Some even hang the PC! (default: none)
-; on_camera_lost value
-
-############################################################
-# Common Options For MySQL and PostgreSQL database features.
-# Options require the MySQL/PostgreSQL options to be active also.
-############################################################
-
-# Log to the database when creating motion triggered image file  (default: on)
-sql_log_image on
-
-# Log to the database when creating a snapshot image file (default: on)
-sql_log_snapshot on
-
-# Log to the database when creating motion triggered mpeg file (default: off)
-sql_log_mpeg off
-
-# Log to the database when creating timelapse mpeg file (default: off)
-sql_log_timelapse off
-
-# SQL query string that is sent to the database
-# Use same conversion specifiers has for text features
-# Additional special conversion specifiers are
-# %n = the number representing the file_type
-# %f = filename with full path
-# Default value:
-# insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
-sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
-
-
-############################################################
-# Database Options For MySQL
-############################################################
-
-# Mysql database to log to (default: not defined)
-; mysql_db value
-
-# The host on which the database is located (default: localhost)
-; mysql_host value
-
-# User account name for MySQL database (default: not defined)
-; mysql_user value
-
-# User password for MySQL database (default: not defined)
-; mysql_password value
-
-
-############################################################
-# Database Options For PostgreSQL
-############################################################
-
-# PostgreSQL database to log to (default: not defined)
-; pgsql_db value
-
-# The host on which the database is located (default: localhost)
-; pgsql_host value
-
-# User account name for PostgreSQL database (default: not defined)
-; pgsql_user value
-
-# User password for PostgreSQL database (default: not defined)
-; pgsql_password value
-
-# Port on which the PostgreSQL database is located (default: 5432)
-; pgsql_port 5432
-
-
-############################################################
-# Video Loopback Device (vloopback project)
-############################################################
-
-# Output images to a video4linux loopback device
-# The value '-' means next available (default: not defined)
-; video_pipe value
-
-# Output motion images to a video4linux loopback device
-# The value '-' means next available (default: not defined)
-; motion_video_pipe value
-
-
-##############################################################
-# Thread config files - One for each camera.
-# Except if only one camera - You only need this config file.
-# If you have more than one camera you MUST define one thread
-# config file for each camera in addition to this config file.
-##############################################################
-
-# Remember: If you have more than one camera you must have one
-# thread file for each camera. E.g. 2 cameras requires 3 files:
-# This motion.conf file AND thread1.conf and thread2.conf.
-# Only put the options that are unique to each camera in the
-# thread config files. 
-; thread /usr/local/etc/thread1.conf
-; thread /usr/local/etc/thread2.conf
-; thread /usr/local/etc/thread3.conf
-; thread /usr/local/etc/thread4.conf
-
index 8a389c004cdec017e930fd4e260282419ce648a8..3b82a96a7a3c422484a4a07b427aa742a1e05c60 100644 (file)
@@ -6,6 +6,8 @@ usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encod
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/README
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/big5.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/euc-kr.enc
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/ibm866.enc
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/iso-8859-15.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/iso-8859-2.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/iso-8859-3.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/iso-8859-4.enc
@@ -13,8 +15,11 @@ usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encod
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/iso-8859-7.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/iso-8859-8.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/iso-8859-9.enc
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/koi8-r.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/windows-1250.enc
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/windows-1251.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/windows-1252.enc
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/windows-1255.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/x-euc-jp-jisx0221.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/x-euc-jp-unicode.enc
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Encodings/x-sjis-cp932.enc
@@ -33,7 +38,6 @@ usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/XML/Parser/Style
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/XML/Parser
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/XML/Parser/.packlist
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/XML/Parser/Expat
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/XML/Parser/Expat/Expat.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/XML/Parser/Expat/Expat.so
 #usr/share/man/man3/XML::Parser.3
 #usr/share/man/man3/XML::Parser::Expat.3
index 800005966f5cf5006a322e9551dae7386de051b4..4e607012af8db9344fd5f5f87dc1825d683dc46a 100644 (file)
@@ -46,14 +46,12 @@ etc/rc.d/init.d/networking/orange
 etc/rc.d/init.d/networking/red
 #etc/rc.d/init.d/networking/red.down
 etc/rc.d/init.d/networking/red.down/10-ipsec
-etc/rc.d/init.d/networking/red.down/10-miniupnpd
 etc/rc.d/init.d/networking/red.down/10-ovpn
 etc/rc.d/init.d/networking/red.down/10-static-routes
 etc/rc.d/init.d/networking/red.down/20-firewall
 etc/rc.d/init.d/networking/red.down/99-beep
 #etc/rc.d/init.d/networking/red.up
 etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
-etc/rc.d/init.d/networking/red.up/10-miniupnpd
 etc/rc.d/init.d/networking/red.up/10-multicast
 etc/rc.d/init.d/networking/red.up/10-static-routes
 etc/rc.d/init.d/networking/red.up/20-firewall
@@ -93,7 +91,6 @@ etc/rc.d/init.d/template
 etc/rc.d/init.d/udev
 etc/rc.d/init.d/udev_retry
 etc/rc.d/init.d/unbound
-etc/rc.d/init.d/upnpd
 etc/rc.d/init.d/vnstat
 etc/rc.d/init.d/waitdrives
 etc/rc.d/init.d/wlanclient
@@ -114,7 +111,6 @@ etc/rc.d/rc0.d/K78suricata
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 etc/rc.d/rc0.d/K82wlanclient
-#etc/rc.d/rc0.d/K84bluetooth
 #etc/rc.d/rc0.d/K85messagebus
 etc/rc.d/rc0.d/K86unbound
 etc/rc.d/rc0.d/K87acpid
@@ -131,7 +127,6 @@ etc/rc.d/rc3.d/S11unbound
 etc/rc.d/rc3.d/S12acpid
 etc/rc.d/rc3.d/S15fireinfo
 #etc/rc.d/rc3.d/S15messagebus
-#etc/rc.d/rc3.d/S16bluetooth
 #etc/rc.d/rc3.d/S18cpufreq
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S19wlanclient
@@ -165,7 +160,6 @@ etc/rc.d/rc6.d/K78suricata
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 etc/rc.d/rc6.d/K82wlanclient
-#etc/rc.d/rc6.d/K84bluetooth
 #etc/rc.d/rc6.d/K85messagebus
 etc/rc.d/rc6.d/K86unbound
 etc/rc.d/rc6.d/K87acpid
index 4bd3e3794e3e2c7c69de2a5a417fe695b63b635a..8442446df27688ddf51df8e0c01858d66b4d2a5a 100644 (file)
@@ -422,6 +422,7 @@ srv/web/ipfire/html/captive
 #srv/web/ipfire/manual/getting-started.html
 #srv/web/ipfire/manual/getting-started.html.en
 #srv/web/ipfire/manual/getting-started.html.fr.utf8
+#srv/web/ipfire/manual/getting-started.html.ru.utf8
 #srv/web/ipfire/manual/glossary.html
 #srv/web/ipfire/manual/glossary.html.de
 #srv/web/ipfire/manual/glossary.html.en
@@ -545,6 +546,7 @@ srv/web/ipfire/html/captive
 #srv/web/ipfire/manual/index.html.ja.utf8
 #srv/web/ipfire/manual/index.html.ko.euc-kr
 #srv/web/ipfire/manual/index.html.pt-br
+#srv/web/ipfire/manual/index.html.ru.utf8
 #srv/web/ipfire/manual/index.html.tr.utf8
 #srv/web/ipfire/manual/index.html.zh-cn.utf8
 #srv/web/ipfire/manual/install.html
@@ -1174,7 +1176,6 @@ srv/web/ipfire/html/captive
 #srv/web/ipfire/manual/new_features_2_0.html.ja.utf8
 #srv/web/ipfire/manual/new_features_2_0.html.ko.euc-kr
 #srv/web/ipfire/manual/new_features_2_0.html.pt-br
-#srv/web/ipfire/manual/new_features_2_0.html.ru.koi8-r
 #srv/web/ipfire/manual/new_features_2_0.html.tr.utf8
 #srv/web/ipfire/manual/new_features_2_2.html
 #srv/web/ipfire/manual/new_features_2_2.html.en
@@ -1515,6 +1516,7 @@ usr/bin/htpasswd
 #usr/include/apache/http_main.h
 #usr/include/apache/http_protocol.h
 #usr/include/apache/http_request.h
+#usr/include/apache/http_ssl.h
 #usr/include/apache/http_vhost.h
 #usr/include/apache/httpd.h
 #usr/include/apache/mod_auth.h
index 800005966f5cf5006a322e9551dae7386de051b4..4e607012af8db9344fd5f5f87dc1825d683dc46a 100644 (file)
@@ -46,14 +46,12 @@ etc/rc.d/init.d/networking/orange
 etc/rc.d/init.d/networking/red
 #etc/rc.d/init.d/networking/red.down
 etc/rc.d/init.d/networking/red.down/10-ipsec
-etc/rc.d/init.d/networking/red.down/10-miniupnpd
 etc/rc.d/init.d/networking/red.down/10-ovpn
 etc/rc.d/init.d/networking/red.down/10-static-routes
 etc/rc.d/init.d/networking/red.down/20-firewall
 etc/rc.d/init.d/networking/red.down/99-beep
 #etc/rc.d/init.d/networking/red.up
 etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
-etc/rc.d/init.d/networking/red.up/10-miniupnpd
 etc/rc.d/init.d/networking/red.up/10-multicast
 etc/rc.d/init.d/networking/red.up/10-static-routes
 etc/rc.d/init.d/networking/red.up/20-firewall
@@ -93,7 +91,6 @@ etc/rc.d/init.d/template
 etc/rc.d/init.d/udev
 etc/rc.d/init.d/udev_retry
 etc/rc.d/init.d/unbound
-etc/rc.d/init.d/upnpd
 etc/rc.d/init.d/vnstat
 etc/rc.d/init.d/waitdrives
 etc/rc.d/init.d/wlanclient
@@ -114,7 +111,6 @@ etc/rc.d/rc0.d/K78suricata
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 etc/rc.d/rc0.d/K82wlanclient
-#etc/rc.d/rc0.d/K84bluetooth
 #etc/rc.d/rc0.d/K85messagebus
 etc/rc.d/rc0.d/K86unbound
 etc/rc.d/rc0.d/K87acpid
@@ -131,7 +127,6 @@ etc/rc.d/rc3.d/S11unbound
 etc/rc.d/rc3.d/S12acpid
 etc/rc.d/rc3.d/S15fireinfo
 #etc/rc.d/rc3.d/S15messagebus
-#etc/rc.d/rc3.d/S16bluetooth
 #etc/rc.d/rc3.d/S18cpufreq
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S19wlanclient
@@ -165,7 +160,6 @@ etc/rc.d/rc6.d/K78suricata
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 etc/rc.d/rc6.d/K82wlanclient
-#etc/rc.d/rc6.d/K84bluetooth
 #etc/rc.d/rc6.d/K85messagebus
 etc/rc.d/rc6.d/K86unbound
 etc/rc.d/rc6.d/K87acpid
index 7e1ecd48fe5936ce139c82f4bb3cf5d32b8619d0..6fb228a5aa9ac1df4d471624c814ff6009504146 100644 (file)
@@ -272,8 +272,8 @@ usr/lib/libbind9.so.161
 usr/lib/libbind9.so.161.0.4
 #usr/lib/libdns.la
 #usr/lib/libdns.so
-usr/lib/libdns.so.1113
-usr/lib/libdns.so.1113.0.2
+usr/lib/libdns.so.1115
+usr/lib/libdns.so.1115.0.0
 #usr/lib/libisc.la
 #usr/lib/libisc.so
 usr/lib/libisc.so.1107
index 8c91ca5d5d6f7219ce2a0dfaf3ae041d3defcef5..d496594bc67e70705b23a5ca02576559c5067816 100644 (file)
@@ -184,8 +184,6 @@ var/ipfire/time
 var/ipfire/updatexlrator
 var/ipfire/updatexlrator/autocheck
 var/ipfire/updatexlrator/bin
-var/ipfire/upnp
-#var/ipfire/upnp/settings
 var/ipfire/urlfilter
 #var/ipfire/urlfilter/autoupdate
 #var/ipfire/urlfilter/bin
index 27161b1fb54c2210624a2fbd3c1db5468c632ceb..b6632ec0792069fcca0cc9a01e8550973b0d9386 100644 (file)
@@ -1,24 +1,24 @@
 #usr/lib/conntrack-tools
 #usr/lib/conntrack-tools/ct_helper_amanda.la
-usr/lib/conntrack-tools/ct_helper_amanda.so
+#usr/lib/conntrack-tools/ct_helper_amanda.so
 #usr/lib/conntrack-tools/ct_helper_dhcpv6.la
 #usr/lib/conntrack-tools/ct_helper_dhcpv6.so
 #usr/lib/conntrack-tools/ct_helper_ftp.la
-usr/lib/conntrack-tools/ct_helper_ftp.so
+#usr/lib/conntrack-tools/ct_helper_ftp.so
 #usr/lib/conntrack-tools/ct_helper_mdns.la
-usr/lib/conntrack-tools/ct_helper_mdns.so
+#usr/lib/conntrack-tools/ct_helper_mdns.so
 #usr/lib/conntrack-tools/ct_helper_rpc.la
-usr/lib/conntrack-tools/ct_helper_rpc.so
+#usr/lib/conntrack-tools/ct_helper_rpc.so
 #usr/lib/conntrack-tools/ct_helper_sane.la
-usr/lib/conntrack-tools/ct_helper_sane.so
+#usr/lib/conntrack-tools/ct_helper_sane.so
 #usr/lib/conntrack-tools/ct_helper_slp.la
-usr/lib/conntrack-tools/ct_helper_slp.so
+#usr/lib/conntrack-tools/ct_helper_slp.so
 #usr/lib/conntrack-tools/ct_helper_ssdp.la
-usr/lib/conntrack-tools/ct_helper_ssdp.so
+#usr/lib/conntrack-tools/ct_helper_ssdp.so
 #usr/lib/conntrack-tools/ct_helper_tftp.la
-usr/lib/conntrack-tools/ct_helper_tftp.so
+#usr/lib/conntrack-tools/ct_helper_tftp.so
 #usr/lib/conntrack-tools/ct_helper_tns.la
-usr/lib/conntrack-tools/ct_helper_tns.so
+#usr/lib/conntrack-tools/ct_helper_tns.so
 usr/sbin/conntrack
 usr/sbin/conntrackd
 usr/sbin/nfct
index 83a85d548df190cf9f6b2f870a74be6388aedab9..b296629775ea74489ab84eca187a7dc4b1c2f76a 100644 (file)
@@ -113,6 +113,7 @@ usr/lib/libcurl.so.4.7.0
 #usr/share/man/man3/CURLOPT_AWS_SIGV4.3
 #usr/share/man/man3/CURLOPT_BUFFERSIZE.3
 #usr/share/man/man3/CURLOPT_CAINFO.3
+#usr/share/man/man3/CURLOPT_CAINFO_BLOB.3
 #usr/share/man/man3/CURLOPT_CAPATH.3
 #usr/share/man/man3/CURLOPT_CERTINFO.3
 #usr/share/man/man3/CURLOPT_CHUNK_BGN_FUNCTION.3
@@ -265,6 +266,7 @@ usr/lib/libcurl.so.4.7.0
 #usr/share/man/man3/CURLOPT_PROXYUSERNAME.3
 #usr/share/man/man3/CURLOPT_PROXYUSERPWD.3
 #usr/share/man/man3/CURLOPT_PROXY_CAINFO.3
+#usr/share/man/man3/CURLOPT_PROXY_CAINFO_BLOB.3
 #usr/share/man/man3/CURLOPT_PROXY_CAPATH.3
 #usr/share/man/man3/CURLOPT_PROXY_CRLFILE.3
 #usr/share/man/man3/CURLOPT_PROXY_ISSUERCERT.3
index 930cd05de12a3d27a5a00ac6c5fb179fcf65271a..1ffc4025db76a993a5f240e86880e268beaa91e8 100644 (file)
@@ -1,2 +1,3 @@
 usr/sbin/ethtool
+#usr/share/bash-completion/completions/ethtool
 #usr/share/man/man8/ethtool.8
index 365286f85b3441837bd0ab0c98bca74661109a18..4dcfe4a7d6460917d3c3e8f541bd6af557f20d92 100644 (file)
@@ -2,22 +2,22 @@
 #usr/include/expat.h
 #usr/include/expat_config.h
 #usr/include/expat_external.h
-#usr/lib/cmake/expat-2.3.0
-#usr/lib/cmake/expat-2.3.0/expat-config-version.cmake
-#usr/lib/cmake/expat-2.3.0/expat-config.cmake
-#usr/lib/cmake/expat-2.3.0/expat-noconfig.cmake
-#usr/lib/cmake/expat-2.3.0/expat.cmake
+#usr/lib/cmake/expat-2.4.1
+#usr/lib/cmake/expat-2.4.1/expat-config-version.cmake
+#usr/lib/cmake/expat-2.4.1/expat-config.cmake
+#usr/lib/cmake/expat-2.4.1/expat-noconfig.cmake
+#usr/lib/cmake/expat-2.4.1/expat.cmake
 #usr/lib/libexpat.a
 #usr/lib/libexpat.la
 #usr/lib/libexpat.so
 usr/lib/libexpat.so.1
-usr/lib/libexpat.so.1.7.0
+usr/lib/libexpat.so.1.8.1
 #usr/lib/pkgconfig/expat.pc
 #usr/share/doc/expat
-#usr/share/doc/expat-2.3.0
-#usr/share/doc/expat-2.3.0/expat.png
-#usr/share/doc/expat-2.3.0/reference.html
-#usr/share/doc/expat-2.3.0/style.css
-#usr/share/doc/expat-2.3.0/valid-xhtml10.png
+#usr/share/doc/expat-2.4.1
+#usr/share/doc/expat-2.4.1/ok.min.css
+#usr/share/doc/expat-2.4.1/reference.html
+#usr/share/doc/expat-2.4.1/style.css
+#usr/share/doc/expat-2.4.1/valid-xhtml10.png
 #usr/share/doc/expat/AUTHORS
 #usr/share/doc/expat/changelog
diff --git a/config/rootfiles/common/fbset b/config/rootfiles/common/fbset
deleted file mode 100644 (file)
index 15d937f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#usr/man/man5/fb.modes.5
-#usr/man/man8/fbset.8
-usr/sbin/fbset
-etc/fb.modes
index a4e209f941fdd5a04f5c5d7508f209e05e315569..11f4729438c71ed80e641d02bd4e0a58f06cee11 100644 (file)
@@ -1,27 +1,13 @@
 usr/bin/sendprofile
-usr/lib/python2.7/site-packages/fireinfo
-usr/lib/python2.7/site-packages/fireinfo/__init__.py
-usr/lib/python2.7/site-packages/fireinfo/__init__.pyc
-usr/lib/python2.7/site-packages/fireinfo/__init__.pyo
-#usr/lib/python2.7/site-packages/fireinfo/_fireinfo.la
-usr/lib/python2.7/site-packages/fireinfo/_fireinfo.so
-usr/lib/python2.7/site-packages/fireinfo/bios.py
-usr/lib/python2.7/site-packages/fireinfo/bios.pyc
-usr/lib/python2.7/site-packages/fireinfo/bios.pyo
-usr/lib/python2.7/site-packages/fireinfo/cpu.py
-usr/lib/python2.7/site-packages/fireinfo/cpu.pyc
-usr/lib/python2.7/site-packages/fireinfo/cpu.pyo
-usr/lib/python2.7/site-packages/fireinfo/device.py
-usr/lib/python2.7/site-packages/fireinfo/device.pyc
-usr/lib/python2.7/site-packages/fireinfo/device.pyo
-usr/lib/python2.7/site-packages/fireinfo/hypervisor.py
-usr/lib/python2.7/site-packages/fireinfo/hypervisor.pyc
-usr/lib/python2.7/site-packages/fireinfo/hypervisor.pyo
-usr/lib/python2.7/site-packages/fireinfo/network.py
-usr/lib/python2.7/site-packages/fireinfo/network.pyc
-usr/lib/python2.7/site-packages/fireinfo/network.pyo
-usr/lib/python2.7/site-packages/fireinfo/system.py
-usr/lib/python2.7/site-packages/fireinfo/system.pyc
-usr/lib/python2.7/site-packages/fireinfo/system.pyo
-usr/share/doc/fireinfo
-usr/share/doc/fireinfo/COPYING
+#usr/lib/python3.8/site-packages/fireinfo
+usr/lib/python3.8/site-packages/fireinfo/__init__.py
+#usr/lib/python3.8/site-packages/fireinfo/_fireinfo.la
+usr/lib/python3.8/site-packages/fireinfo/_fireinfo.so
+usr/lib/python3.8/site-packages/fireinfo/bios.py
+usr/lib/python3.8/site-packages/fireinfo/cpu.py
+usr/lib/python3.8/site-packages/fireinfo/device.py
+usr/lib/python3.8/site-packages/fireinfo/hypervisor.py
+usr/lib/python3.8/site-packages/fireinfo/network.py
+usr/lib/python3.8/site-packages/fireinfo/system.py
+#usr/share/doc/fireinfo
+#usr/share/doc/fireinfo/COPYING
index 3a0a52378f44f1194fb03b409441949c7a7c6012..86fa084fd253beec9de9af18d3c847cf27c29821 100644 (file)
@@ -12,7 +12,7 @@ usr/bin/fusermount3
 #usr/include/fuse3/fuse_opt.h
 #usr/lib/libfuse3.so
 usr/lib/libfuse3.so.3
-usr/lib/libfuse3.so.3.10.3
+usr/lib/libfuse3.so.3.10.4
 #usr/lib/pkgconfig/fuse3.pc
 #usr/share/man/man1/fusermount3.1
 #usr/share/man/man8/mount.fuse3.8
index a72b6fee872361c266e6d7084a3a338127ccfba0..d3973a99d96bcd0eb138a539e397c5b83005dad4 100644 (file)
 #usr/lib/glib-2.0/include/glibconfig.h
 #usr/lib/libgio-2.0.so
 usr/lib/libgio-2.0.so.0
-usr/lib/libgio-2.0.so.0.6800.1
+usr/lib/libgio-2.0.so.0.6800.3
 #usr/lib/libglib-2.0.so
 usr/lib/libglib-2.0.so.0
-usr/lib/libglib-2.0.so.0.6800.1
+usr/lib/libglib-2.0.so.0.6800.3
 #usr/lib/libgmodule-2.0.so
 usr/lib/libgmodule-2.0.so.0
-usr/lib/libgmodule-2.0.so.0.6800.1
+usr/lib/libgmodule-2.0.so.0.6800.3
 #usr/lib/libgobject-2.0.so
 usr/lib/libgobject-2.0.so.0
-usr/lib/libgobject-2.0.so.0.6800.1
+usr/lib/libgobject-2.0.so.0.6800.3
 #usr/lib/libgthread-2.0.so
 usr/lib/libgthread-2.0.so.0
-usr/lib/libgthread-2.0.so.0.6800.1
+usr/lib/libgthread-2.0.so.0.6800.3
 #usr/lib/pkgconfig/gio-2.0.pc
 #usr/lib/pkgconfig/gio-unix-2.0.pc
 #usr/lib/pkgconfig/glib-2.0.pc
@@ -326,8 +326,8 @@ usr/lib/libgthread-2.0.so.0.6800.1
 #usr/share/gdb/auto-load
 #usr/share/gdb/auto-load/usr
 #usr/share/gdb/auto-load/usr/lib
-#usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.6800.1-gdb.py
-#usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.6800.1-gdb.py
+#usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.6800.3-gdb.py
+#usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.6800.3-gdb.py
 #usr/share/gettext/its
 #usr/share/gettext/its/gschema.its
 #usr/share/gettext/its/gschema.loc
index cb7ecf8e5d03c5395abf3235964bb379dac3a128..e59c1a84f677e66300c90d4171ef25612d07a142 100644 (file)
@@ -33,7 +33,7 @@ usr/lib/libgnutls-dane.so.0.4.1
 #usr/lib/libgnutls.la
 #usr/lib/libgnutls.so
 usr/lib/libgnutls.so.30
-usr/lib/libgnutls.so.30.28.0
+usr/lib/libgnutls.so.30.28.2
 #usr/lib/libgnutlsxx.la
 #usr/lib/libgnutlsxx.so
 usr/lib/libgnutlsxx.so.28
index 8883958564e51d8570328a02f350684239b54c2f..5b2ba45ed829a6b467223d2a3405966817a8d30c 100644 (file)
@@ -5,6 +5,7 @@ usr/sbin/vpddecode
 #usr/share/doc/dmidecode
 #usr/share/doc/dmidecode/AUTHORS
 #usr/share/doc/dmidecode/CHANGELOG
+#usr/share/doc/dmidecode/NEWS
 #usr/share/doc/dmidecode/README
 #usr/share/man/man8/biosdecode.8
 #usr/share/man/man8/dmidecode.8
index 18c5a897a0cc89affe3351de221ffc25ad08cd1c..dba397e735aa3a0d74e390917d038351043feb7a 100644 (file)
@@ -46,14 +46,12 @@ etc/rc.d/init.d/networking/orange
 etc/rc.d/init.d/networking/red
 #etc/rc.d/init.d/networking/red.down
 etc/rc.d/init.d/networking/red.down/10-ipsec
-etc/rc.d/init.d/networking/red.down/10-miniupnpd
 etc/rc.d/init.d/networking/red.down/10-ovpn
 etc/rc.d/init.d/networking/red.down/10-static-routes
 etc/rc.d/init.d/networking/red.down/20-firewall
 etc/rc.d/init.d/networking/red.down/99-beep
 #etc/rc.d/init.d/networking/red.up
 etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
-etc/rc.d/init.d/networking/red.up/10-miniupnpd
 etc/rc.d/init.d/networking/red.up/10-multicast
 etc/rc.d/init.d/networking/red.up/10-static-routes
 etc/rc.d/init.d/networking/red.up/20-firewall
@@ -92,7 +90,6 @@ etc/rc.d/init.d/template
 etc/rc.d/init.d/udev
 etc/rc.d/init.d/udev_retry
 etc/rc.d/init.d/unbound
-etc/rc.d/init.d/upnpd
 etc/rc.d/init.d/vnstat
 etc/rc.d/init.d/waitdrives
 etc/rc.d/init.d/wlanclient
@@ -113,7 +110,6 @@ etc/rc.d/rc0.d/K78suricata
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 etc/rc.d/rc0.d/K82wlanclient
-#etc/rc.d/rc0.d/K84bluetooth
 #etc/rc.d/rc0.d/K85messagebus
 etc/rc.d/rc0.d/K86unbound
 etc/rc.d/rc0.d/K87acpid
@@ -129,7 +125,6 @@ etc/rc.d/rc3.d/S10sysklogd
 etc/rc.d/rc3.d/S12acpid
 etc/rc.d/rc3.d/S15fireinfo
 #etc/rc.d/rc3.d/S15messagebus
-#etc/rc.d/rc3.d/S16bluetooth
 #etc/rc.d/rc3.d/S18cpufreq
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S19wlanclient
@@ -164,7 +159,6 @@ etc/rc.d/rc6.d/K78suricata
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 etc/rc.d/rc6.d/K82wlanclient
-#etc/rc.d/rc6.d/K84bluetooth
 #etc/rc.d/rc6.d/K85messagebus
 etc/rc.d/rc6.d/K86unbound
 etc/rc.d/rc6.d/K87acpid
index ee43ff0154d62dd4dc85b7fa689e946a1a54bc3d..962590af5ce3e80a8f0706432d96c259146d9919 100644 (file)
@@ -67,6 +67,7 @@ lib/firmware/intel-ucode/06-4d-08
 lib/firmware/intel-ucode/06-4e-03
 lib/firmware/intel-ucode/06-55-03
 lib/firmware/intel-ucode/06-55-04
+lib/firmware/intel-ucode/06-55-05
 lib/firmware/intel-ucode/06-55-06
 lib/firmware/intel-ucode/06-55-07
 lib/firmware/intel-ucode/06-55-0b
@@ -80,14 +81,23 @@ lib/firmware/intel-ucode/06-5c-0a
 lib/firmware/intel-ucode/06-5e-03
 lib/firmware/intel-ucode/06-5f-01
 lib/firmware/intel-ucode/06-66-03
+lib/firmware/intel-ucode/06-6a-05
+lib/firmware/intel-ucode/06-6a-06
 lib/firmware/intel-ucode/06-7a-01
 lib/firmware/intel-ucode/06-7a-08
 lib/firmware/intel-ucode/06-7e-05
+lib/firmware/intel-ucode/06-86-04
+lib/firmware/intel-ucode/06-86-05
 lib/firmware/intel-ucode/06-8a-01
+lib/firmware/intel-ucode/06-8c-01
+lib/firmware/intel-ucode/06-8c-02
+lib/firmware/intel-ucode/06-8d-01
 lib/firmware/intel-ucode/06-8e-09
 lib/firmware/intel-ucode/06-8e-0a
 lib/firmware/intel-ucode/06-8e-0b
 lib/firmware/intel-ucode/06-8e-0c
+lib/firmware/intel-ucode/06-96-01
+lib/firmware/intel-ucode/06-9c-00
 lib/firmware/intel-ucode/06-9e-09
 lib/firmware/intel-ucode/06-9e-0a
 lib/firmware/intel-ucode/06-9e-0b
@@ -98,6 +108,7 @@ lib/firmware/intel-ucode/06-a5-03
 lib/firmware/intel-ucode/06-a5-05
 lib/firmware/intel-ucode/06-a6-00
 lib/firmware/intel-ucode/06-a6-01
+lib/firmware/intel-ucode/06-a7-01
 lib/firmware/intel-ucode/0f-00-07
 lib/firmware/intel-ucode/0f-00-0a
 lib/firmware/intel-ucode/0f-01-02
similarity index 69%
rename from config/rootfiles/packages/intltool
rename to config/rootfiles/common/intltool
index e1421fad7a6d326c81106f9282633ee4ae43b4c1..545c642219d554b1d522fa8f79b1705e0b506c4d 100644 (file)
@@ -1,8 +1,8 @@
-usr/bin/intltool-extract
-usr/bin/intltool-merge
-usr/bin/intltool-prepare
-usr/bin/intltool-update
-usr/bin/intltoolize
+#usr/bin/intltool-extract
+#usr/bin/intltool-merge
+#usr/bin/intltool-prepare
+#usr/bin/intltool-update
+#usr/bin/intltoolize
 #usr/share/aclocal/intltool.m4
 #usr/share/intltool
 #usr/share/intltool/Makefile.in.in
index 3484cbb244b04f177a8fef07ddf63066f1f03409..37e0cb60375a6dbccb13559b5051983e15cba56e 100644 (file)
@@ -1,3 +1,15 @@
 bin/ping
+#etc/rc.d/init.d/ninfod.sh
+#usr/bin/arping
+#usr/bin/clockdiff
 usr/bin/ping
 usr/bin/tracepath
+#usr/sbin/ninfod
+#usr/sbin/rdisc
+#usr/share/locale/de/LC_MESSAGES/iputils.mo
+#usr/share/locale/fr/LC_MESSAGES/iputils.mo
+#usr/share/locale/ja/LC_MESSAGES/iputils.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/iputils.mo
+#usr/share/locale/tr/LC_MESSAGES/iputils.mo
+#usr/share/locale/uk/LC_MESSAGES/iputils.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/iputils.mo
index a3bfbc1571053a7a7652eb4c79448c9e668d4a59..def30cb5acb363d0e9ef9e85022e56d091ffd11a 100644 (file)
@@ -1,10 +1,10 @@
 #lib/libcap.a
 lib/libcap.so.2
-lib/libcap.so.2.49
+lib/libcap.so.2.50
 #lib/libpsx.a
 #lib/libpsx.so
 #lib/libpsx.so.2
-#lib/libpsx.so.2.49
+#lib/libpsx.so.2.50
 #lib/pkgconfig/libcap.pc
 #lib/pkgconfig/libpsx.pc
 lib/security/pam_cap.so
index b0e8cf19c80f9fa0689ecef4364c04edbb761c85..2a1b8f5344efc16dcb67d328be0117c8a2d4e5c4 100644 (file)
@@ -4,7 +4,7 @@
 #usr/lib/libedit.la
 #usr/lib/libedit.so
 usr/lib/libedit.so.0
-usr/lib/libedit.so.0.0.65
+usr/lib/libedit.so.0.0.66
 #usr/lib/pkgconfig/libedit.pc
 #usr/share/man/man3/editline.3
 #usr/share/man/man3/el_deletestr.3
index 0ad3c36e2a8db24733ce9963460060a0f32a1b52..deee0591bf4c3e6713683425ec1910c972fb91d0 100644 (file)
@@ -57,7 +57,10 @@ etc/libnl/pktloc
 #usr/include/libnl3/netlink/object.h
 #usr/include/libnl3/netlink/route
 #usr/include/libnl3/netlink/route/act
+#usr/include/libnl3/netlink/route/act/gact.h
 #usr/include/libnl3/netlink/route/act/mirred.h
+#usr/include/libnl3/netlink/route/act/skbedit.h
+#usr/include/libnl3/netlink/route/act/vlan.h
 #usr/include/libnl3/netlink/route/action.h
 #usr/include/libnl3/netlink/route/addr.h
 #usr/include/libnl3/netlink/route/class.h
@@ -72,6 +75,7 @@ etc/libnl/pktloc
 #usr/include/libnl3/netlink/route/cls/ematch/nbyte.h
 #usr/include/libnl3/netlink/route/cls/ematch/text.h
 #usr/include/libnl3/netlink/route/cls/fw.h
+#usr/include/libnl3/netlink/route/cls/matchall.h
 #usr/include/libnl3/netlink/route/cls/police.h
 #usr/include/libnl3/netlink/route/cls/u32.h
 #usr/include/libnl3/netlink/route/link
@@ -80,19 +84,29 @@ etc/libnl/pktloc
 #usr/include/libnl3/netlink/route/link/bonding.h
 #usr/include/libnl3/netlink/route/link/bridge.h
 #usr/include/libnl3/netlink/route/link/can.h
+#usr/include/libnl3/netlink/route/link/geneve.h
 #usr/include/libnl3/netlink/route/link/inet.h
+#usr/include/libnl3/netlink/route/link/inet6.h
 #usr/include/libnl3/netlink/route/link/info-api.h
 #usr/include/libnl3/netlink/route/link/ip6tnl.h
 #usr/include/libnl3/netlink/route/link/ipgre.h
 #usr/include/libnl3/netlink/route/link/ipip.h
+#usr/include/libnl3/netlink/route/link/ipvlan.h
 #usr/include/libnl3/netlink/route/link/ipvti.h
+#usr/include/libnl3/netlink/route/link/macsec.h
 #usr/include/libnl3/netlink/route/link/macvlan.h
+#usr/include/libnl3/netlink/route/link/macvtap.h
+#usr/include/libnl3/netlink/route/link/ppp.h
 #usr/include/libnl3/netlink/route/link/sit.h
+#usr/include/libnl3/netlink/route/link/sriov.h
 #usr/include/libnl3/netlink/route/link/veth.h
 #usr/include/libnl3/netlink/route/link/vlan.h
+#usr/include/libnl3/netlink/route/link/vrf.h
 #usr/include/libnl3/netlink/route/link/vxlan.h
+#usr/include/libnl3/netlink/route/link/xfrmi.h
 #usr/include/libnl3/netlink/route/neighbour.h
 #usr/include/libnl3/netlink/route/neightbl.h
+#usr/include/libnl3/netlink/route/netconf.h
 #usr/include/libnl3/netlink/route/nexthop.h
 #usr/include/libnl3/netlink/route/pktloc.h
 #usr/include/libnl3/netlink/route/qdisc
@@ -101,7 +115,9 @@ etc/libnl/pktloc
 #usr/include/libnl3/netlink/route/qdisc/dsmark.h
 #usr/include/libnl3/netlink/route/qdisc/fifo.h
 #usr/include/libnl3/netlink/route/qdisc/fq_codel.h
+#usr/include/libnl3/netlink/route/qdisc/hfsc.h
 #usr/include/libnl3/netlink/route/qdisc/htb.h
+#usr/include/libnl3/netlink/route/qdisc/mqprio.h
 #usr/include/libnl3/netlink/route/qdisc/netem.h
 #usr/include/libnl3/netlink/route/qdisc/plug.h
 #usr/include/libnl3/netlink/route/qdisc/prio.h
@@ -117,73 +133,86 @@ etc/libnl/pktloc
 #usr/include/libnl3/netlink/types.h
 #usr/include/libnl3/netlink/utils.h
 #usr/include/libnl3/netlink/version.h
+#usr/include/libnl3/netlink/xfrm
+#usr/include/libnl3/netlink/xfrm/ae.h
+#usr/include/libnl3/netlink/xfrm/lifetime.h
+#usr/include/libnl3/netlink/xfrm/sa.h
+#usr/include/libnl3/netlink/xfrm/selector.h
+#usr/include/libnl3/netlink/xfrm/sp.h
+#usr/include/libnl3/netlink/xfrm/template.h
 #usr/lib/libnl
-#usr/lib/libnl-3.a
 #usr/lib/libnl-3.la
 #usr/lib/libnl-3.so
 usr/lib/libnl-3.so.200
-usr/lib/libnl-3.so.200.20.0
-#usr/lib/libnl-cli-3.a
+usr/lib/libnl-3.so.200.26.0
 #usr/lib/libnl-cli-3.la
 #usr/lib/libnl-cli-3.so
 usr/lib/libnl-cli-3.so.200
-usr/lib/libnl-cli-3.so.200.20.0
-#usr/lib/libnl-genl-3.a
+usr/lib/libnl-cli-3.so.200.26.0
 #usr/lib/libnl-genl-3.la
 #usr/lib/libnl-genl-3.so
 usr/lib/libnl-genl-3.so.200
-usr/lib/libnl-genl-3.so.200.20.0
-#usr/lib/libnl-idiag-3.a
+usr/lib/libnl-genl-3.so.200.26.0
 #usr/lib/libnl-idiag-3.la
 #usr/lib/libnl-idiag-3.so
 usr/lib/libnl-idiag-3.so.200
-usr/lib/libnl-idiag-3.so.200.20.0
-#usr/lib/libnl-nf-3.a
+usr/lib/libnl-idiag-3.so.200.26.0
 #usr/lib/libnl-nf-3.la
 #usr/lib/libnl-nf-3.so
 usr/lib/libnl-nf-3.so.200
-usr/lib/libnl-nf-3.so.200.20.0
-#usr/lib/libnl-route-3.a
+usr/lib/libnl-nf-3.so.200.26.0
 #usr/lib/libnl-route-3.la
 #usr/lib/libnl-route-3.so
 usr/lib/libnl-route-3.so.200
-usr/lib/libnl-route-3.so.200.20.0
+usr/lib/libnl-route-3.so.200.26.0
+#usr/lib/libnl-xfrm-3.la
+#usr/lib/libnl-xfrm-3.so
+usr/lib/libnl-xfrm-3.so.200
+usr/lib/libnl-xfrm-3.so.200.26.0
 #usr/lib/libnl/cli
 #usr/lib/libnl/cli/cls
-#usr/lib/libnl/cli/cls/basic.a
 #usr/lib/libnl/cli/cls/basic.la
 usr/lib/libnl/cli/cls/basic.so
-#usr/lib/libnl/cli/cls/cgroup.a
 #usr/lib/libnl/cli/cls/cgroup.la
 usr/lib/libnl/cli/cls/cgroup.so
 #usr/lib/libnl/cli/qdisc
-#usr/lib/libnl/cli/qdisc/bfifo.a
 #usr/lib/libnl/cli/qdisc/bfifo.la
 usr/lib/libnl/cli/qdisc/bfifo.so
-#usr/lib/libnl/cli/qdisc/blackhole.a
 #usr/lib/libnl/cli/qdisc/blackhole.la
 usr/lib/libnl/cli/qdisc/blackhole.so
-#usr/lib/libnl/cli/qdisc/fq_codel.a
 #usr/lib/libnl/cli/qdisc/fq_codel.la
 usr/lib/libnl/cli/qdisc/fq_codel.so
-#usr/lib/libnl/cli/qdisc/htb.a
+#usr/lib/libnl/cli/qdisc/hfsc.la
+#usr/lib/libnl/cli/qdisc/hfsc.so
 #usr/lib/libnl/cli/qdisc/htb.la
 usr/lib/libnl/cli/qdisc/htb.so
-#usr/lib/libnl/cli/qdisc/ingress.a
 #usr/lib/libnl/cli/qdisc/ingress.la
 usr/lib/libnl/cli/qdisc/ingress.so
-#usr/lib/libnl/cli/qdisc/pfifo.a
 #usr/lib/libnl/cli/qdisc/pfifo.la
 usr/lib/libnl/cli/qdisc/pfifo.so
-#usr/lib/libnl/cli/qdisc/plug.a
 #usr/lib/libnl/cli/qdisc/plug.la
 usr/lib/libnl/cli/qdisc/plug.so
 #usr/lib/pkgconfig/libnl-3.0.pc
 #usr/lib/pkgconfig/libnl-cli-3.0.pc
 #usr/lib/pkgconfig/libnl-genl-3.0.pc
+#usr/lib/pkgconfig/libnl-idiag-3.0.pc
 #usr/lib/pkgconfig/libnl-nf-3.0.pc
 #usr/lib/pkgconfig/libnl-route-3.0.pc
+#usr/lib/pkgconfig/libnl-xfrm-3.0.pc
 #usr/sbin/genl-ctrl-list
+#usr/sbin/idiag-socket-details
+#usr/sbin/nf-ct-add
+#usr/sbin/nf-ct-events
+#usr/sbin/nf-ct-list
+#usr/sbin/nf-exp-add
+#usr/sbin/nf-exp-delete
+#usr/sbin/nf-exp-list
+#usr/sbin/nf-log
+#usr/sbin/nf-monitor
+#usr/sbin/nf-queue
+#usr/sbin/nl-addr-add
+#usr/sbin/nl-addr-delete
+#usr/sbin/nl-addr-list
 usr/sbin/nl-class-add
 usr/sbin/nl-class-delete
 usr/sbin/nl-class-list
@@ -191,11 +220,32 @@ usr/sbin/nl-classid-lookup
 usr/sbin/nl-cls-add
 usr/sbin/nl-cls-delete
 usr/sbin/nl-cls-list
+#usr/sbin/nl-fib-lookup
+#usr/sbin/nl-link-enslave
+#usr/sbin/nl-link-ifindex2name
 usr/sbin/nl-link-list
+#usr/sbin/nl-link-name2ifindex
+#usr/sbin/nl-link-release
+#usr/sbin/nl-link-set
+#usr/sbin/nl-link-stats
+#usr/sbin/nl-list-caches
+#usr/sbin/nl-list-sockets
+#usr/sbin/nl-monitor
+#usr/sbin/nl-neigh-add
+#usr/sbin/nl-neigh-delete
+#usr/sbin/nl-neigh-list
+#usr/sbin/nl-neightbl-list
 usr/sbin/nl-pktloc-lookup
 usr/sbin/nl-qdisc-add
 usr/sbin/nl-qdisc-delete
 usr/sbin/nl-qdisc-list
+#usr/sbin/nl-route-add
+#usr/sbin/nl-route-delete
+#usr/sbin/nl-route-get
+#usr/sbin/nl-route-list
+#usr/sbin/nl-rule-list
+#usr/sbin/nl-tctree-list
+#usr/sbin/nl-util-addr
 #usr/share/man/man8/genl-ctrl-list.8
 #usr/share/man/man8/nl-classid-lookup.8
 #usr/share/man/man8/nl-pktloc-lookup.8
index c97b9e8c0355e6b1ea04a22d53b37ca1c8e5208b..514f57558b05d7506dcff1626330ea88ce866b78 100644 (file)
@@ -21,7 +21,7 @@
 #usr/lib/libpcap.a
 usr/lib/libpcap.so
 usr/lib/libpcap.so.1
-usr/lib/libpcap.so.1.10.0
+usr/lib/libpcap.so.1.10.1
 #usr/lib/pkgconfig/libpcap.pc
 #usr/share/man/man1/pcap-config.1
 #usr/share/man/man3/pcap.3pcap
diff --git a/config/rootfiles/common/libupnp b/config/rootfiles/common/libupnp
deleted file mode 100644 (file)
index 6b3f3e3..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#usr/include/upnp
-#usr/include/upnp/Callback.h
-#usr/include/upnp/UpnpActionComplete.h
-#usr/include/upnp/UpnpActionRequest.h
-#usr/include/upnp/UpnpDiscovery.h
-#usr/include/upnp/UpnpEvent.h
-#usr/include/upnp/UpnpEventSubscribe.h
-#usr/include/upnp/UpnpExtraHeaders.h
-#usr/include/upnp/UpnpFileInfo.h
-#usr/include/upnp/UpnpGlobal.h
-#usr/include/upnp/UpnpInet.h
-#usr/include/upnp/UpnpIntTypes.h
-#usr/include/upnp/UpnpStateVarComplete.h
-#usr/include/upnp/UpnpStateVarRequest.h
-#usr/include/upnp/UpnpStdInt.h
-#usr/include/upnp/UpnpString.h
-#usr/include/upnp/UpnpSubscriptionRequest.h
-#usr/include/upnp/UpnpUniStd.h
-#usr/include/upnp/ithread.h
-#usr/include/upnp/ixml.h
-#usr/include/upnp/ixmldebug.h
-#usr/include/upnp/list.h
-#usr/include/upnp/upnp.h
-#usr/include/upnp/upnpconfig.h
-#usr/include/upnp/upnpdebug.h
-#usr/include/upnp/upnptools.h
-#usr/lib/libixml.a
-#usr/lib/libixml.la
-#usr/lib/libixml.so
-usr/lib/libixml.so.11
-usr/lib/libixml.so.11.0.1
-#usr/lib/libupnp.a
-#usr/lib/libupnp.la
-#usr/lib/libupnp.so
-usr/lib/libupnp.so.17
-usr/lib/libupnp.so.17.0.6
-#usr/lib/pkgconfig/libupnp.pc
index 23257415930b80620f9be610c730169cd9b67617..db0215195adc98b2760ecc5847b8af107c1a2e3a 100644 (file)
@@ -5,5 +5,5 @@ etc/udev/rules.d/23-usb.rules
 #usr/lib/libusb-1.0.la
 #usr/lib/libusb-1.0.so
 usr/lib/libusb-1.0.so.0
-usr/lib/libusb-1.0.so.0.2.0
+usr/lib/libusb-1.0.so.0.3.0
 #usr/lib/pkgconfig/libusb-1.0.pc
index 02f78c0ee9633405c1461e8eae529bf7385ab693..434bad66b4727899a4633a169624fb0778ec65ca 100644 (file)
@@ -29,7 +29,18 @@ lib/firmware/amd-ucode/microcode_amd_fam15h.bin
 lib/firmware/amd-ucode/microcode_amd_fam16h.bin
 lib/firmware/amd-ucode/microcode_amd_fam17h.bin
 lib/firmware/amd/amd_sev_fam17h_model0xh.sbin
+lib/firmware/amd/amd_sev_fam17h_model3xh.sbin
 #lib/firmware/amdgpu
+lib/firmware/amdgpu/arcturus_asd.bin
+lib/firmware/amdgpu/arcturus_gpu_info.bin
+lib/firmware/amdgpu/arcturus_mec.bin
+lib/firmware/amdgpu/arcturus_mec2.bin
+lib/firmware/amdgpu/arcturus_rlc.bin
+lib/firmware/amdgpu/arcturus_sdma.bin
+lib/firmware/amdgpu/arcturus_smc.bin
+lib/firmware/amdgpu/arcturus_sos.bin
+lib/firmware/amdgpu/arcturus_ta.bin
+lib/firmware/amdgpu/arcturus_vcn.bin
 lib/firmware/amdgpu/banks_k_2_smc.bin
 lib/firmware/amdgpu/bonaire_ce.bin
 lib/firmware/amdgpu/bonaire_k_smc.bin
@@ -65,6 +76,17 @@ lib/firmware/amdgpu/fiji_sdma1.bin
 lib/firmware/amdgpu/fiji_smc.bin
 lib/firmware/amdgpu/fiji_uvd.bin
 lib/firmware/amdgpu/fiji_vce.bin
+lib/firmware/amdgpu/green_sardine_asd.bin
+lib/firmware/amdgpu/green_sardine_ce.bin
+lib/firmware/amdgpu/green_sardine_dmcub.bin
+lib/firmware/amdgpu/green_sardine_me.bin
+lib/firmware/amdgpu/green_sardine_mec.bin
+lib/firmware/amdgpu/green_sardine_mec2.bin
+lib/firmware/amdgpu/green_sardine_pfp.bin
+lib/firmware/amdgpu/green_sardine_rlc.bin
+lib/firmware/amdgpu/green_sardine_sdma.bin
+lib/firmware/amdgpu/green_sardine_ta.bin
+lib/firmware/amdgpu/green_sardine_vcn.bin
 lib/firmware/amdgpu/hainan_ce.bin
 lib/firmware/amdgpu/hainan_k_smc.bin
 lib/firmware/amdgpu/hainan_mc.bin
@@ -126,6 +148,21 @@ lib/firmware/amdgpu/navi10_smc.bin
 lib/firmware/amdgpu/navi10_sos.bin
 lib/firmware/amdgpu/navi10_ta.bin
 lib/firmware/amdgpu/navi10_vcn.bin
+lib/firmware/amdgpu/navi12_asd.bin
+lib/firmware/amdgpu/navi12_ce.bin
+lib/firmware/amdgpu/navi12_dmcu.bin
+lib/firmware/amdgpu/navi12_gpu_info.bin
+lib/firmware/amdgpu/navi12_me.bin
+lib/firmware/amdgpu/navi12_mec.bin
+lib/firmware/amdgpu/navi12_mec2.bin
+lib/firmware/amdgpu/navi12_pfp.bin
+lib/firmware/amdgpu/navi12_rlc.bin
+lib/firmware/amdgpu/navi12_sdma.bin
+lib/firmware/amdgpu/navi12_sdma1.bin
+lib/firmware/amdgpu/navi12_smc.bin
+lib/firmware/amdgpu/navi12_sos.bin
+lib/firmware/amdgpu/navi12_ta.bin
+lib/firmware/amdgpu/navi12_vcn.bin
 lib/firmware/amdgpu/navi14_asd.bin
 lib/firmware/amdgpu/navi14_ce.bin
 lib/firmware/amdgpu/navi14_ce_wks.bin
@@ -145,6 +182,18 @@ lib/firmware/amdgpu/navi14_smc.bin
 lib/firmware/amdgpu/navi14_sos.bin
 lib/firmware/amdgpu/navi14_ta.bin
 lib/firmware/amdgpu/navi14_vcn.bin
+lib/firmware/amdgpu/navy_flounder_ce.bin
+lib/firmware/amdgpu/navy_flounder_dmcub.bin
+lib/firmware/amdgpu/navy_flounder_me.bin
+lib/firmware/amdgpu/navy_flounder_mec.bin
+lib/firmware/amdgpu/navy_flounder_mec2.bin
+lib/firmware/amdgpu/navy_flounder_pfp.bin
+lib/firmware/amdgpu/navy_flounder_rlc.bin
+lib/firmware/amdgpu/navy_flounder_sdma.bin
+lib/firmware/amdgpu/navy_flounder_smc.bin
+lib/firmware/amdgpu/navy_flounder_sos.bin
+lib/firmware/amdgpu/navy_flounder_ta.bin
+lib/firmware/amdgpu/navy_flounder_vcn.bin
 lib/firmware/amdgpu/oland_ce.bin
 lib/firmware/amdgpu/oland_k_smc.bin
 lib/firmware/amdgpu/oland_mc.bin
@@ -152,6 +201,7 @@ lib/firmware/amdgpu/oland_me.bin
 lib/firmware/amdgpu/oland_pfp.bin
 lib/firmware/amdgpu/oland_rlc.bin
 lib/firmware/amdgpu/oland_smc.bin
+lib/firmware/amdgpu/oland_uvd.bin
 lib/firmware/amdgpu/picasso_asd.bin
 lib/firmware/amdgpu/picasso_ce.bin
 lib/firmware/amdgpu/picasso_gpu_info.bin
@@ -171,6 +221,7 @@ lib/firmware/amdgpu/pitcairn_me.bin
 lib/firmware/amdgpu/pitcairn_pfp.bin
 lib/firmware/amdgpu/pitcairn_rlc.bin
 lib/firmware/amdgpu/pitcairn_smc.bin
+lib/firmware/amdgpu/pitcairn_uvd.bin
 lib/firmware/amdgpu/polaris10_ce.bin
 lib/firmware/amdgpu/polaris10_ce_2.bin
 lib/firmware/amdgpu/polaris10_k2_smc.bin
@@ -213,6 +264,7 @@ lib/firmware/amdgpu/polaris11_smc.bin
 lib/firmware/amdgpu/polaris11_smc_sk.bin
 lib/firmware/amdgpu/polaris11_uvd.bin
 lib/firmware/amdgpu/polaris11_vce.bin
+lib/firmware/amdgpu/polaris12_32_mc.bin
 lib/firmware/amdgpu/polaris12_ce.bin
 lib/firmware/amdgpu/polaris12_ce_2.bin
 lib/firmware/amdgpu/polaris12_k_mc.bin
@@ -266,8 +318,21 @@ lib/firmware/amdgpu/renoir_mec2.bin
 lib/firmware/amdgpu/renoir_pfp.bin
 lib/firmware/amdgpu/renoir_rlc.bin
 lib/firmware/amdgpu/renoir_sdma.bin
+lib/firmware/amdgpu/renoir_ta.bin
 lib/firmware/amdgpu/renoir_vcn.bin
 lib/firmware/amdgpu/si58_mc.bin
+lib/firmware/amdgpu/sienna_cichlid_ce.bin
+lib/firmware/amdgpu/sienna_cichlid_dmcub.bin
+lib/firmware/amdgpu/sienna_cichlid_me.bin
+lib/firmware/amdgpu/sienna_cichlid_mec.bin
+lib/firmware/amdgpu/sienna_cichlid_mec2.bin
+lib/firmware/amdgpu/sienna_cichlid_pfp.bin
+lib/firmware/amdgpu/sienna_cichlid_rlc.bin
+lib/firmware/amdgpu/sienna_cichlid_sdma.bin
+lib/firmware/amdgpu/sienna_cichlid_smc.bin
+lib/firmware/amdgpu/sienna_cichlid_sos.bin
+lib/firmware/amdgpu/sienna_cichlid_ta.bin
+lib/firmware/amdgpu/sienna_cichlid_vcn.bin
 lib/firmware/amdgpu/stoney_ce.bin
 lib/firmware/amdgpu/stoney_me.bin
 lib/firmware/amdgpu/stoney_mec.bin
@@ -283,6 +348,7 @@ lib/firmware/amdgpu/tahiti_me.bin
 lib/firmware/amdgpu/tahiti_pfp.bin
 lib/firmware/amdgpu/tahiti_rlc.bin
 lib/firmware/amdgpu/tahiti_smc.bin
+lib/firmware/amdgpu/tahiti_uvd.bin
 lib/firmware/amdgpu/tonga_ce.bin
 lib/firmware/amdgpu/tonga_k_smc.bin
 lib/firmware/amdgpu/tonga_mc.bin
@@ -347,6 +413,7 @@ lib/firmware/amdgpu/vega20_sdma.bin
 lib/firmware/amdgpu/vega20_sdma1.bin
 lib/firmware/amdgpu/vega20_smc.bin
 lib/firmware/amdgpu/vega20_sos.bin
+lib/firmware/amdgpu/vega20_ta.bin
 lib/firmware/amdgpu/vega20_uvd.bin
 lib/firmware/amdgpu/vega20_vce.bin
 lib/firmware/amdgpu/vegam_ce.bin
@@ -367,6 +434,7 @@ lib/firmware/amdgpu/verde_me.bin
 lib/firmware/amdgpu/verde_pfp.bin
 lib/firmware/amdgpu/verde_rlc.bin
 lib/firmware/amdgpu/verde_smc.bin
+lib/firmware/amdgpu/verde_uvd.bin
 #lib/firmware/ar3k
 #lib/firmware/ar3k/1020200
 lib/firmware/ar3k/1020200/PS_ASIC.pst
@@ -432,12 +500,14 @@ lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin
 lib/firmware/ath10k/QCA6174/hw3.0/board.bin
 lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin
 lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin
+lib/firmware/ath10k/QCA6174/hw3.0/firmware-sdio-6.bin
 #lib/firmware/ath10k/QCA9377
 #lib/firmware/ath10k/QCA9377/hw1.0
 lib/firmware/ath10k/QCA9377/hw1.0/board-2.bin
 lib/firmware/ath10k/QCA9377/hw1.0/board.bin
 lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin
 lib/firmware/ath10k/QCA9377/hw1.0/firmware-6.bin
+lib/firmware/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin
 #lib/firmware/ath10k/QCA9887
 #lib/firmware/ath10k/QCA9887/hw1.0
 lib/firmware/ath10k/QCA9887/hw1.0/board.bin
@@ -463,6 +533,48 @@ lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin
 lib/firmware/ath10k/WCN3990/hw1.0
 lib/firmware/ath10k/WCN3990/hw1.0/firmware-5.bin
 lib/firmware/ath10k/WCN3990/hw1.0/wlanmdsp.mbn
+lib/firmware/ath11k
+lib/firmware/ath11k/IPQ6018
+lib/firmware/ath11k/IPQ6018/hw1.0
+lib/firmware/ath11k/IPQ6018/hw1.0/board-2.bin
+lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.b00
+lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.b01
+lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.b02
+lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.flist
+lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.mdt
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b00
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b01
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b02
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b03
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b04
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b05
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b07
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b08
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.flist
+lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.mdt
+lib/firmware/ath11k/IPQ8074
+lib/firmware/ath11k/IPQ8074/hw2.0
+lib/firmware/ath11k/IPQ8074/hw2.0/board-2.bin
+lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.b00
+lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.b01
+lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.b02
+lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.flist
+lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.mdt
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b00
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b01
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b02
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b03
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b04
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b05
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b07
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b08
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.flist
+lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.mdt
+lib/firmware/ath11k/QCA6390
+lib/firmware/ath11k/QCA6390/hw2.0
+lib/firmware/ath11k/QCA6390/hw2.0/amss.bin
+lib/firmware/ath11k/QCA6390/hw2.0/board-2.bin
+lib/firmware/ath11k/QCA6390/hw2.0/m3.bin
 lib/firmware/ath3k-1.fw
 #lib/firmware/ath6k
 #lib/firmware/ath6k/AR6002
@@ -518,6 +630,7 @@ lib/firmware/ath9k_htc/htc_9271-1.4.0.fw
 lib/firmware/atmel/wilc1000_ap_fw.bin
 lib/firmware/atmel/wilc1000_fw.bin
 lib/firmware/atmel/wilc1000_p2p_fw.bin
+lib/firmware/atmel/wilc1000_wifi_firmware-1.bin
 lib/firmware/atmel/wilc1000_wifi_firmware.bin
 lib/firmware/atmsar11.fw
 #lib/firmware/atusb
@@ -611,6 +724,8 @@ lib/firmware/brcm/BCM-0bb4-0306.hcd
 lib/firmware/brcm/bcm4329-fullmac-4.bin
 lib/firmware/brcm/bcm43xx-0.fw
 lib/firmware/brcm/bcm43xx_hdr-0.fw
+lib/firmware/brcm/brcmfmac43012-sdio.bin
+lib/firmware/brcm/brcmfmac43012-sdio.clm_blob
 lib/firmware/brcm/brcmfmac43143-sdio.bin
 lib/firmware/brcm/brcmfmac43143.bin
 lib/firmware/brcm/brcmfmac43236b.bin
@@ -625,6 +740,7 @@ lib/firmware/brcm/brcmfmac4334-sdio.bin
 lib/firmware/brcm/brcmfmac43340-sdio.bin
 lib/firmware/brcm/brcmfmac43340-sdio.meegopad-t08.txt
 lib/firmware/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt
+lib/firmware/brcm/brcmfmac43340-sdio.predia-basic.txt
 lib/firmware/brcm/brcmfmac4335-sdio.bin
 lib/firmware/brcm/brcmfmac43362-sdio.bin
 lib/firmware/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
@@ -634,22 +750,39 @@ lib/firmware/brcm/brcmfmac43430-sdio.AP6212.txt
 lib/firmware/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
 lib/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt
 lib/firmware/brcm/brcmfmac43430-sdio.bin
+lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
 lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
+lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
+lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt
+lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
+lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt
+lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt
 lib/firmware/brcm/brcmfmac43430a0-sdio.ONDA-V80_PLUS.txt
 lib/firmware/brcm/brcmfmac43430a0-sdio.bin
+lib/firmware/brcm/brcmfmac43430a0-sdio.ilife-S806.txt
 lib/firmware/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
 lib/firmware/brcm/brcmfmac43455-sdio.MINIX-NEO_Z83-4.txt
+lib/firmware/brcm/brcmfmac43455-sdio.Raspberry_Pi_Foundation-Raspberry_Pi_4_Model_B.txt
+lib/firmware/brcm/brcmfmac43455-sdio.Raspberry_Pi_Foundation-Raspberry_Pi_Compute_Module_4.txt
 lib/firmware/brcm/brcmfmac43455-sdio.bin
+lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
+lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
 lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
 lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
 lib/firmware/brcm/brcmfmac4350-pcie.bin
 lib/firmware/brcm/brcmfmac4350c2-pcie.bin
 lib/firmware/brcm/brcmfmac4354-sdio.bin
+lib/firmware/brcm/brcmfmac4354-sdio.clm_blob
 lib/firmware/brcm/brcmfmac4356-pcie.bin
+lib/firmware/brcm/brcmfmac4356-pcie.clm_blob
 lib/firmware/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt
 lib/firmware/brcm/brcmfmac4356-sdio.bin
+lib/firmware/brcm/brcmfmac4356-sdio.clm_blob
+lib/firmware/brcm/brcmfmac4356-sdio.khadas,vim2.txt
+lib/firmware/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
 lib/firmware/brcm/brcmfmac43569.bin
 lib/firmware/brcm/brcmfmac43570-pcie.bin
+lib/firmware/brcm/brcmfmac43570-pcie.clm_blob
 lib/firmware/brcm/brcmfmac4358-pcie.bin
 lib/firmware/brcm/brcmfmac43602-pcie.ap.bin
 lib/firmware/brcm/brcmfmac43602-pcie.bin
@@ -657,7 +790,10 @@ lib/firmware/brcm/brcmfmac4366b-pcie.bin
 lib/firmware/brcm/brcmfmac4366c-pcie.bin
 lib/firmware/brcm/brcmfmac4371-pcie.bin
 lib/firmware/brcm/brcmfmac4373-sdio.bin
+lib/firmware/brcm/brcmfmac4373-sdio.clm_blob
 lib/firmware/brcm/brcmfmac4373.bin
+lib/firmware/brcm/brcmfmac54591-pcie.bin
+lib/firmware/brcm/brcmfmac54591-pcie.clm_blob
 #lib/firmware/cadence
 lib/firmware/cadence/mhdp8546.bin
 lib/firmware/carl9170-1.fw
@@ -719,16 +855,38 @@ lib/firmware/cxgb4/configs/t6-config-hashfilter.txt
 lib/firmware/cxgb4/t4-config.txt
 lib/firmware/cxgb4/t4fw-1.14.4.0.bin
 lib/firmware/cxgb4/t4fw-1.15.37.0.bin
-lib/firmware/cxgb4/t4fw-1.24.14.0.bin
+lib/firmware/cxgb4/t4fw-1.25.4.0.bin
 lib/firmware/cxgb4/t4fw.bin
 lib/firmware/cxgb4/t5-config.txt
 lib/firmware/cxgb4/t5fw-1.14.4.0.bin
 lib/firmware/cxgb4/t5fw-1.15.37.0.bin
-lib/firmware/cxgb4/t5fw-1.24.14.0.bin
+lib/firmware/cxgb4/t5fw-1.25.4.0.bin
 lib/firmware/cxgb4/t5fw.bin
 lib/firmware/cxgb4/t6-config.txt
-lib/firmware/cxgb4/t6fw-1.24.14.0.bin
+lib/firmware/cxgb4/t6fw-1.25.4.0.bin
 lib/firmware/cxgb4/t6fw.bin
+lib/firmware/cypress
+lib/firmware/cypress/cyfmac43012-sdio.bin
+lib/firmware/cypress/cyfmac43012-sdio.clm_blob
+lib/firmware/cypress/cyfmac43340-sdio.bin
+lib/firmware/cypress/cyfmac43362-sdio.bin
+lib/firmware/cypress/cyfmac4339-sdio.bin
+lib/firmware/cypress/cyfmac43430-sdio.bin
+lib/firmware/cypress/cyfmac43430-sdio.clm_blob
+lib/firmware/cypress/cyfmac43455-sdio.bin
+lib/firmware/cypress/cyfmac43455-sdio.clm_blob
+lib/firmware/cypress/cyfmac4354-sdio.bin
+lib/firmware/cypress/cyfmac4354-sdio.clm_blob
+lib/firmware/cypress/cyfmac4356-pcie.bin
+lib/firmware/cypress/cyfmac4356-pcie.clm_blob
+lib/firmware/cypress/cyfmac4356-sdio.bin
+lib/firmware/cypress/cyfmac4356-sdio.clm_blob
+lib/firmware/cypress/cyfmac43570-pcie.bin
+lib/firmware/cypress/cyfmac43570-pcie.clm_blob
+lib/firmware/cypress/cyfmac4373-sdio.bin
+lib/firmware/cypress/cyfmac4373-sdio.clm_blob
+lib/firmware/cypress/cyfmac54591-pcie.bin
+lib/firmware/cypress/cyfmac54591-pcie.clm_blob
 #lib/firmware/dabusb
 lib/firmware/dabusb/bitstream.bin
 lib/firmware/dabusb/firmware.fw
@@ -806,30 +964,41 @@ lib/firmware/i2400m-fw-usb-1.4.sbcf
 lib/firmware/i2400m-fw-usb-1.5.sbcf
 lib/firmware/i6050-fw-usb-1.5.sbcf
 #lib/firmware/i915
+lib/firmware/i915/adlp_dmc_ver2_09.bin
+lib/firmware/i915/adlp_dmc_ver2_10.bin
+lib/firmware/i915/adls_dmc_ver2_01.bin
 lib/firmware/i915/bxt_dmc_ver1.bin
 lib/firmware/i915/bxt_dmc_ver1_07.bin
 lib/firmware/i915/bxt_guc_32.0.3.bin
 lib/firmware/i915/bxt_guc_33.0.0.bin
+lib/firmware/i915/bxt_guc_49.0.1.bin
 lib/firmware/i915/bxt_guc_ver8_7.bin
 lib/firmware/i915/bxt_guc_ver9_29.bin
 lib/firmware/i915/bxt_huc_2.0.0.bin
 lib/firmware/i915/bxt_huc_ver01_07_1398.bin
 lib/firmware/i915/bxt_huc_ver01_8_2893.bin
 lib/firmware/i915/cml_guc_33.0.0.bin
+lib/firmware/i915/cml_guc_49.0.1.bin
 lib/firmware/i915/cml_huc_4.0.0.bin
 lib/firmware/i915/cnl_dmc_ver1_06.bin
 lib/firmware/i915/cnl_dmc_ver1_07.bin
+lib/firmware/i915/dg1_dmc_ver2_02.bin
+lib/firmware/i915/dg1_guc_49.0.1.bin
+lib/firmware/i915/dg1_huc_7.7.1.bin
 lib/firmware/i915/ehl_guc_33.0.4.bin
+lib/firmware/i915/ehl_guc_49.0.1.bin
 lib/firmware/i915/ehl_huc_9.0.0.bin
 lib/firmware/i915/glk_dmc_ver1_04.bin
 lib/firmware/i915/glk_guc_32.0.3.bin
 lib/firmware/i915/glk_guc_33.0.0.bin
+lib/firmware/i915/glk_guc_49.0.1.bin
 lib/firmware/i915/glk_huc_4.0.0.bin
 lib/firmware/i915/glk_huc_ver03_01_2893.bin
 lib/firmware/i915/icl_dmc_ver1_07.bin
 lib/firmware/i915/icl_dmc_ver1_09.bin
 lib/firmware/i915/icl_guc_32.0.3.bin
 lib/firmware/i915/icl_guc_33.0.0.bin
+lib/firmware/i915/icl_guc_49.0.1.bin
 lib/firmware/i915/icl_huc_9.0.0.bin
 lib/firmware/i915/icl_huc_ver8_4_3238.bin
 lib/firmware/i915/kbl_dmc_ver1.bin
@@ -837,16 +1006,19 @@ lib/firmware/i915/kbl_dmc_ver1_01.bin
 lib/firmware/i915/kbl_dmc_ver1_04.bin
 lib/firmware/i915/kbl_guc_32.0.3.bin
 lib/firmware/i915/kbl_guc_33.0.0.bin
+lib/firmware/i915/kbl_guc_49.0.1.bin
 lib/firmware/i915/kbl_guc_ver9_14.bin
 lib/firmware/i915/kbl_guc_ver9_39.bin
 lib/firmware/i915/kbl_huc_4.0.0.bin
 lib/firmware/i915/kbl_huc_ver02_00_1810.bin
+lib/firmware/i915/rkl_dmc_ver2_02.bin
 lib/firmware/i915/skl_dmc_ver1.bin
 lib/firmware/i915/skl_dmc_ver1_23.bin
 lib/firmware/i915/skl_dmc_ver1_26.bin
 lib/firmware/i915/skl_dmc_ver1_27.bin
 lib/firmware/i915/skl_guc_32.0.3.bin
 lib/firmware/i915/skl_guc_33.0.0.bin
+lib/firmware/i915/skl_guc_49.0.1.bin
 lib/firmware/i915/skl_guc_ver1.bin
 lib/firmware/i915/skl_guc_ver4.bin
 lib/firmware/i915/skl_guc_ver6.bin
@@ -856,9 +1028,12 @@ lib/firmware/i915/skl_huc_2.0.0.bin
 lib/firmware/i915/skl_huc_ver01_07_1398.bin
 lib/firmware/i915/tgl_dmc_ver2_04.bin
 lib/firmware/i915/tgl_dmc_ver2_06.bin
+lib/firmware/i915/tgl_dmc_ver2_08.bin
 lib/firmware/i915/tgl_guc_35.2.0.bin
+lib/firmware/i915/tgl_guc_49.0.1.bin
 lib/firmware/i915/tgl_huc_7.0.12.bin
 lib/firmware/i915/tgl_huc_7.0.3.bin
+lib/firmware/i915/tgl_huc_7.5.0.bin
 #lib/firmware/imx
 #lib/firmware/imx/sdma
 lib/firmware/imx/sdma/sdma-imx6q.bin
@@ -895,6 +1070,8 @@ lib/firmware/intel/fw_sst_0f28.bin
 lib/firmware/intel/fw_sst_0f28.bin-48kHz_i2s_master
 lib/firmware/intel/fw_sst_0f28_ssp0.bin
 lib/firmware/intel/fw_sst_22a8.bin
+lib/firmware/intel/ibt-0041-0041.ddc
+lib/firmware/intel/ibt-0041-0041.sfi
 lib/firmware/intel/ibt-11-5.ddc
 lib/firmware/intel/ibt-11-5.sfi
 lib/firmware/intel/ibt-12-16.ddc
@@ -950,7 +1127,9 @@ lib/firmware/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq
 lib/firmware/intel/ibt-hw-37.8.bseq
 #lib/firmware/intel/ice
 #lib/firmware/intel/ice/ddp
-lib/firmware/intel/ice/ddp/ice-1.3.4.0.pkg
+lib/firmware/intel/ice/ddp-comms
+lib/firmware/intel/ice/ddp-comms/ice_comms-1.3.20.0.pkg
+lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg
 lib/firmware/intel/ice/ddp/ice.pkg
 lib/firmware/intel/ipu3-fw.bin
 lib/firmware/intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin
@@ -1046,31 +1225,48 @@ lib/firmware/iwlwifi-Qu-b0-hr-b0-48.ucode
 lib/firmware/iwlwifi-Qu-b0-hr-b0-50.ucode
 lib/firmware/iwlwifi-Qu-b0-hr-b0-53.ucode
 lib/firmware/iwlwifi-Qu-b0-hr-b0-55.ucode
+lib/firmware/iwlwifi-Qu-b0-hr-b0-59.ucode
+lib/firmware/iwlwifi-Qu-b0-hr-b0-62.ucode
 lib/firmware/iwlwifi-Qu-b0-jf-b0-48.ucode
 lib/firmware/iwlwifi-Qu-b0-jf-b0-50.ucode
 lib/firmware/iwlwifi-Qu-b0-jf-b0-53.ucode
 lib/firmware/iwlwifi-Qu-b0-jf-b0-55.ucode
+lib/firmware/iwlwifi-Qu-b0-jf-b0-59.ucode
+lib/firmware/iwlwifi-Qu-b0-jf-b0-62.ucode
 lib/firmware/iwlwifi-Qu-c0-hr-b0-48.ucode
 lib/firmware/iwlwifi-Qu-c0-hr-b0-50.ucode
 lib/firmware/iwlwifi-Qu-c0-hr-b0-53.ucode
 lib/firmware/iwlwifi-Qu-c0-hr-b0-55.ucode
+lib/firmware/iwlwifi-Qu-c0-hr-b0-59.ucode
+lib/firmware/iwlwifi-Qu-c0-hr-b0-62.ucode
 lib/firmware/iwlwifi-Qu-c0-jf-b0-48.ucode
 lib/firmware/iwlwifi-Qu-c0-jf-b0-50.ucode
 lib/firmware/iwlwifi-Qu-c0-jf-b0-53.ucode
 lib/firmware/iwlwifi-Qu-c0-jf-b0-55.ucode
+lib/firmware/iwlwifi-Qu-c0-jf-b0-59.ucode
+lib/firmware/iwlwifi-Qu-c0-jf-b0-62.ucode
 lib/firmware/iwlwifi-QuZ-a0-hr-b0-48.ucode
 lib/firmware/iwlwifi-QuZ-a0-hr-b0-50.ucode
 lib/firmware/iwlwifi-QuZ-a0-hr-b0-53.ucode
 lib/firmware/iwlwifi-QuZ-a0-hr-b0-55.ucode
+lib/firmware/iwlwifi-QuZ-a0-hr-b0-59.ucode
+lib/firmware/iwlwifi-QuZ-a0-hr-b0-62.ucode
 lib/firmware/iwlwifi-QuZ-a0-jf-b0-48.ucode
 lib/firmware/iwlwifi-QuZ-a0-jf-b0-50.ucode
 lib/firmware/iwlwifi-QuZ-a0-jf-b0-53.ucode
 lib/firmware/iwlwifi-QuZ-a0-jf-b0-55.ucode
+lib/firmware/iwlwifi-QuZ-a0-jf-b0-59.ucode
+lib/firmware/iwlwifi-QuZ-a0-jf-b0-62.ucode
 lib/firmware/iwlwifi-cc-a0-46.ucode
 lib/firmware/iwlwifi-cc-a0-48.ucode
 lib/firmware/iwlwifi-cc-a0-50.ucode
 lib/firmware/iwlwifi-cc-a0-53.ucode
 lib/firmware/iwlwifi-cc-a0-55.ucode
+lib/firmware/iwlwifi-cc-a0-59.ucode
+lib/firmware/iwlwifi-cc-a0-62.ucode
+lib/firmware/iwlwifi-ty-a0-gf-a0-59.ucode
+lib/firmware/iwlwifi-ty-a0-gf-a0-62.ucode
+lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm
 #lib/firmware/kaweth
 lib/firmware/kaweth/new_code.bin
 lib/firmware/kaweth/new_code_fix.bin
@@ -1128,10 +1324,14 @@ lib/firmware/liquidio/lio_210sv_nic.bin
 lib/firmware/liquidio/lio_23xx_nic.bin
 lib/firmware/liquidio/lio_23xx_vsw.bin
 lib/firmware/liquidio/lio_410nv_nic.bin
+lib/firmware/lt9611uxc_fw.bin
 #lib/firmware/matrox
 lib/firmware/matrox/g200_warp.fw
 lib/firmware/matrox/g400_warp.fw
 #lib/firmware/mediatek
+lib/firmware/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
+lib/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin
+lib/firmware/mediatek/WIFI_RAM_CODE_MT7961_1.bin
 lib/firmware/mediatek/mt7610e.bin
 lib/firmware/mediatek/mt7610u.bin
 lib/firmware/mediatek/mt7615_cr4.bin
@@ -1167,8 +1367,32 @@ lib/firmware/mellanox/mlxsw_spectrum-13.2000.1122.mfa2
 lib/firmware/mellanox/mlxsw_spectrum-13.2000.1886.mfa2
 lib/firmware/mellanox/mlxsw_spectrum-13.2000.2308.mfa2
 lib/firmware/mellanox/mlxsw_spectrum-13.2000.2714.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2007.1168.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2008.1036.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2008.1310.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2008.1312.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2008.2018.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2008.2304.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2008.2406.mfa2
+lib/firmware/mellanox/mlxsw_spectrum-13.2008.2438.mfa2
 lib/firmware/mellanox/mlxsw_spectrum2-29.2000.2308.mfa2
 lib/firmware/mellanox/mlxsw_spectrum2-29.2000.2714.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2007.1168.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2008.1036.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2008.1310.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2008.1312.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2018.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2304.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2406.mfa2
+lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2438.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2007.1168.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1036.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1310.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1312.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2018.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2304.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2406.mfa2
+lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2438.mfa2
 #lib/firmware/meson
 #lib/firmware/meson/vdec
 lib/firmware/meson/vdec/g12a_h264.bin
@@ -1209,6 +1433,9 @@ lib/firmware/mrvl/pcie8897_uapsta.bin
 lib/firmware/mrvl/pcie8997_wlan_v4.bin
 lib/firmware/mrvl/pcieuart8997_combo_v4.bin
 lib/firmware/mrvl/pcieusb8997_combo_v4.bin
+lib/firmware/mrvl/prestera
+lib/firmware/mrvl/prestera/mvsw_prestera_fw-v2.0.img
+lib/firmware/mrvl/prestera/mvsw_prestera_fw-v3.0.img
 lib/firmware/mrvl/sd8688.bin
 lib/firmware/mrvl/sd8688_helper.bin
 lib/firmware/mrvl/sd8787_uapsta.bin
@@ -1630,6 +1857,7 @@ lib/firmware/nvidia/tegra186/vic.bin
 lib/firmware/nvidia/tegra186/vic04_ucode.bin
 lib/firmware/nvidia/tegra186/xusb.bin
 #lib/firmware/nvidia/tegra194
+lib/firmware/nvidia/tegra194/vic.bin
 lib/firmware/nvidia/tegra194/xusb.bin
 #lib/firmware/nvidia/tegra210
 lib/firmware/nvidia/tegra210/vic.bin
@@ -1790,6 +2018,7 @@ lib/firmware/qca/crbtfw21.tlv
 lib/firmware/qca/crbtfw32.tlv
 lib/firmware/qca/crnv21.bin
 lib/firmware/qca/crnv32.bin
+lib/firmware/qca/crnv32u.bin
 lib/firmware/qca/htbtfw20.tlv
 lib/firmware/qca/htnv20.bin
 lib/firmware/qca/nvm_00130300.bin
@@ -1823,6 +2052,10 @@ lib/firmware/qcom/a530_zap.mdt
 lib/firmware/qcom/a530v3_gpmu.fw2
 lib/firmware/qcom/a630_gmu.bin
 lib/firmware/qcom/a630_sqe.fw
+lib/firmware/qcom/a650_gmu.bin
+lib/firmware/qcom/a650_sqe.fw
+lib/firmware/qcom/a660_gmu.bin
+lib/firmware/qcom/a660_sqe.fw
 #lib/firmware/qcom/sdm845
 lib/firmware/qcom/sdm845/a630_zap.mbn
 lib/firmware/qcom/sdm845/adsp.mbn
@@ -1834,6 +2067,13 @@ lib/firmware/qcom/sdm845/mba.mbn
 lib/firmware/qcom/sdm845/modem.mbn
 lib/firmware/qcom/sdm845/modemuw.jsn
 lib/firmware/qcom/sdm845/wlanmdsp.mbn
+lib/firmware/qcom/sm8250
+lib/firmware/qcom/sm8250/a650_zap.mbn
+lib/firmware/qcom/sm8250/adsp.mbn
+lib/firmware/qcom/sm8250/adspr.jsn
+lib/firmware/qcom/sm8250/adspua.jsn
+lib/firmware/qcom/sm8250/cdsp.mbn
+lib/firmware/qcom/sm8250/cdspr.jsn
 #lib/firmware/qcom/venus-1.8
 lib/firmware/qcom/venus-1.8/venus.b00
 lib/firmware/qcom/venus-1.8/venus.b01
@@ -1864,6 +2104,36 @@ lib/firmware/qcom/venus-5.4/venus.b03
 lib/firmware/qcom/venus-5.4/venus.b04
 lib/firmware/qcom/venus-5.4/venus.mbn
 lib/firmware/qcom/venus-5.4/venus.mdt
+lib/firmware/qcom/vpu-1.0
+lib/firmware/qcom/vpu-1.0/venus.b00
+lib/firmware/qcom/vpu-1.0/venus.b01
+lib/firmware/qcom/vpu-1.0/venus.b02
+lib/firmware/qcom/vpu-1.0/venus.b03
+lib/firmware/qcom/vpu-1.0/venus.b04
+lib/firmware/qcom/vpu-1.0/venus.b05
+lib/firmware/qcom/vpu-1.0/venus.b06
+lib/firmware/qcom/vpu-1.0/venus.b07
+lib/firmware/qcom/vpu-1.0/venus.b08
+lib/firmware/qcom/vpu-1.0/venus.b09
+lib/firmware/qcom/vpu-1.0/venus.b10
+lib/firmware/qcom/vpu-1.0/venus.b19
+lib/firmware/qcom/vpu-1.0/venus.mbn
+lib/firmware/qcom/vpu-1.0/venus.mdt
+lib/firmware/qcom/vpu-2.0
+lib/firmware/qcom/vpu-2.0/venus.b00
+lib/firmware/qcom/vpu-2.0/venus.b01
+lib/firmware/qcom/vpu-2.0/venus.b02
+lib/firmware/qcom/vpu-2.0/venus.b03
+lib/firmware/qcom/vpu-2.0/venus.b04
+lib/firmware/qcom/vpu-2.0/venus.b05
+lib/firmware/qcom/vpu-2.0/venus.b06
+lib/firmware/qcom/vpu-2.0/venus.b07
+lib/firmware/qcom/vpu-2.0/venus.b08
+lib/firmware/qcom/vpu-2.0/venus.b09
+lib/firmware/qcom/vpu-2.0/venus.b10
+lib/firmware/qcom/vpu-2.0/venus.b19
+lib/firmware/qcom/vpu-2.0/venus.mbn
+lib/firmware/qcom/vpu-2.0/venus.mdt
 #lib/firmware/qed
 lib/firmware/qed/qed_init_values-8.10.9.0.bin
 lib/firmware/qed/qed_init_values-8.14.6.0.bin
@@ -2174,12 +2444,14 @@ lib/firmware/rtl_bt/rtl8192ee_fw.bin
 lib/firmware/rtl_bt/rtl8192eu_fw.bin
 lib/firmware/rtl_bt/rtl8723a_fw.bin
 lib/firmware/rtl_bt/rtl8723b_fw.bin
+lib/firmware/rtl_bt/rtl8723bs_config-OBDA0623.bin
 lib/firmware/rtl_bt/rtl8723bs_config-OBDA8723.bin
 lib/firmware/rtl_bt/rtl8723bs_fw.bin
 lib/firmware/rtl_bt/rtl8723d_config.bin
 lib/firmware/rtl_bt/rtl8723d_fw.bin
 lib/firmware/rtl_bt/rtl8761a_fw.bin
 lib/firmware/rtl_bt/rtl8812ae_fw.bin
+lib/firmware/rtl_bt/rtl8821a_config.bin
 lib/firmware/rtl_bt/rtl8821a_fw.bin
 lib/firmware/rtl_bt/rtl8821c_config.bin
 lib/firmware/rtl_bt/rtl8821c_fw.bin
@@ -2189,6 +2461,8 @@ lib/firmware/rtl_bt/rtl8822cs_config.bin
 lib/firmware/rtl_bt/rtl8822cs_fw.bin
 lib/firmware/rtl_bt/rtl8822cu_config.bin
 lib/firmware/rtl_bt/rtl8822cu_fw.bin
+lib/firmware/rtl_bt/rtl8852au_config.bin
+lib/firmware/rtl_bt/rtl8852au_fw.bin
 #lib/firmware/rtl_nic
 lib/firmware/rtl_nic/rtl8105e-1.fw
 lib/firmware/rtl_nic/rtl8106e-1.fw
@@ -2196,10 +2470,15 @@ lib/firmware/rtl_nic/rtl8106e-2.fw
 lib/firmware/rtl_nic/rtl8107e-1.fw
 lib/firmware/rtl_nic/rtl8107e-2.fw
 lib/firmware/rtl_nic/rtl8125a-3.fw
+lib/firmware/rtl_nic/rtl8125b-1.fw
+lib/firmware/rtl_nic/rtl8125b-2.fw
 lib/firmware/rtl_nic/rtl8153a-2.fw
 lib/firmware/rtl_nic/rtl8153a-3.fw
 lib/firmware/rtl_nic/rtl8153a-4.fw
 lib/firmware/rtl_nic/rtl8153b-2.fw
+lib/firmware/rtl_nic/rtl8153c-1.fw
+lib/firmware/rtl_nic/rtl8156a-2.fw
+lib/firmware/rtl_nic/rtl8156b-2.fw
 lib/firmware/rtl_nic/rtl8168d-1.fw
 lib/firmware/rtl_nic/rtl8168d-2.fw
 lib/firmware/rtl_nic/rtl8168e-1.fw
@@ -2261,6 +2540,8 @@ lib/firmware/rtw88/rtw8821c_fw.bin
 lib/firmware/rtw88/rtw8822b_fw.bin
 lib/firmware/rtw88/rtw8822c_fw.bin
 lib/firmware/rtw88/rtw8822c_wow_fw.bin
+lib/firmware/rtw89
+lib/firmware/rtw89/rtw8852a_fw.bin
 lib/firmware/s2250.fw
 lib/firmware/s2250_loader.fw
 lib/firmware/s5p-mfc-v6-v2.fw
@@ -2275,6 +2556,8 @@ lib/firmware/sb16/ima_adpcm_init.csp
 lib/firmware/sb16/ima_adpcm_playback.csp
 lib/firmware/sb16/mulaw_main.csp
 lib/firmware/sdd_sagrad_1091_1098.bin
+lib/firmware/silabs
+lib/firmware/silabs/wfm_wf200_C0.sec
 #lib/firmware/slicoss
 lib/firmware/slicoss/gbdownload.sys
 lib/firmware/slicoss/gbrcvucode.sys
@@ -2294,6 +2577,7 @@ lib/firmware/sxg/saharadownloadB.sys
 lib/firmware/tdmb_nova_12mhz.inp
 #lib/firmware/tehuti
 lib/firmware/tehuti/bdx.bin
+lib/firmware/ti
 #lib/firmware/ti-connectivity
 lib/firmware/ti-connectivity/TIInit_6.2.31.bts
 lib/firmware/ti-connectivity/TIInit_6.6.15.bts
@@ -2331,6 +2615,7 @@ lib/firmware/ti-connectivity/wl18xx-fw-4.bin
 lib/firmware/ti-connectivity/wl18xx-fw.bin
 #lib/firmware/ti-keystone
 lib/firmware/ti-keystone/ks2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin
+lib/firmware/ti/vpdma-1b8.bin
 lib/firmware/ti_3410.fw
 lib/firmware/ti_5052.fw
 #lib/firmware/tigon
index 591e860c2d9c99a54198fcdebea4e9132dda1811..cf1165e805d701eff73973a6370f4d26356d489b 100644 (file)
@@ -72,9 +72,9 @@
 #usr/include/nettle/yarrow.h
 usr/lib/libhogweed.so
 usr/lib/libhogweed.so.6
-usr/lib/libhogweed.so.6.3
+usr/lib/libhogweed.so.6.4
 #usr/lib/libnettle.so
 usr/lib/libnettle.so.8
-usr/lib/libnettle.so.8.3
+usr/lib/libnettle.so.8.4
 #usr/lib/pkgconfig/hogweed.pc
 #usr/lib/pkgconfig/nettle.pc
index 440af7b0daf684f706000f289b79b161e2db0c9f..e5b02d1f7cb56cb6c32632f16efc8599a48e7f17 100644 (file)
 #usr/lib/libpcre2-16.la
 #usr/lib/libpcre2-16.so
 usr/lib/libpcre2-16.so.0
-usr/lib/libpcre2-16.so.0.10.1
+usr/lib/libpcre2-16.so.0.10.2
 #usr/lib/libpcre2-32.la
 #usr/lib/libpcre2-32.so
 usr/lib/libpcre2-32.so.0
-usr/lib/libpcre2-32.so.0.10.1
+usr/lib/libpcre2-32.so.0.10.2
 #usr/lib/libpcre2-8.la
 #usr/lib/libpcre2-8.so
 usr/lib/libpcre2-8.so.0
-usr/lib/libpcre2-8.so.0.10.1
+usr/lib/libpcre2-8.so.0.10.2
 #usr/lib/libpcre2-posix.la
 #usr/lib/libpcre2-posix.so
-usr/lib/libpcre2-posix.so.2
-usr/lib/libpcre2-posix.so.2.0.3
+usr/lib/libpcre2-posix.so.3
+usr/lib/libpcre2-posix.so.3.0.0
 #usr/lib/pkgconfig/libpcre2-16.pc
 #usr/lib/pkgconfig/libpcre2-32.pc
 #usr/lib/pkgconfig/libpcre2-8.pc
 #usr/lib/pkgconfig/libpcre2-posix.pc
-#usr/share/doc/pcre-pcre2-10.36
-#usr/share/doc/pcre-pcre2-10.36/AUTHORS
-#usr/share/doc/pcre-pcre2-10.36/COPYING
-#usr/share/doc/pcre-pcre2-10.36/ChangeLog
-#usr/share/doc/pcre-pcre2-10.36/LICENCE
-#usr/share/doc/pcre-pcre2-10.36/NEWS
-#usr/share/doc/pcre-pcre2-10.36/README
-#usr/share/doc/pcre-pcre2-10.36/html
-#usr/share/doc/pcre-pcre2-10.36/html/NON-AUTOTOOLS-BUILD.txt
-#usr/share/doc/pcre-pcre2-10.36/html/README.txt
-#usr/share/doc/pcre-pcre2-10.36/html/index.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2-config.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_callout_enumerate.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_code_copy.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_code_copy_with_tables.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_code_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_compile.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_compile_context_copy.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_compile_context_create.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_compile_context_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_config.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_convert_context_copy.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_convert_context_create.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_convert_context_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_converted_pattern_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_dfa_match.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_general_context_copy.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_general_context_create.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_general_context_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_get_error_message.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_get_mark.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_get_match_data_size.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_get_ovector_count.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_get_ovector_pointer.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_get_startchar.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_jit_compile.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_jit_free_unused_memory.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_jit_match.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_jit_stack_assign.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_jit_stack_create.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_jit_stack_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_maketables.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_maketables_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_match.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_match_context_copy.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_match_context_create.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_match_context_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_match_data_create.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_match_data_create_from_pattern.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_match_data_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_pattern_convert.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_pattern_info.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_serialize_decode.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_serialize_encode.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_serialize_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_serialize_get_number_of_codes.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_bsr.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_callout.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_character_tables.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_compile_extra_options.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_compile_recursion_guard.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_depth_limit.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_glob_escape.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_glob_separator.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_heap_limit.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_match_limit.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_max_pattern_length.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_newline.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_offset_limit.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_parens_nest_limit.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_recursion_limit.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_recursion_memory_management.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_set_substitute_callout.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substitute.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_copy_byname.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_copy_bynumber.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_get_byname.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_get_bynumber.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_length_byname.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_length_bynumber.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_list_free.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_list_get.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_nametable_scan.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2_substring_number_from_name.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2api.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2build.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2callout.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2compat.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2convert.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2demo.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2grep.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2jit.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2limits.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2matching.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2partial.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2pattern.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2perform.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2posix.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2sample.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2serialize.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2syntax.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2test.html
-#usr/share/doc/pcre-pcre2-10.36/html/pcre2unicode.html
-#usr/share/doc/pcre-pcre2-10.36/pcre2-config.txt
-#usr/share/doc/pcre-pcre2-10.36/pcre2.txt
-#usr/share/doc/pcre-pcre2-10.36/pcre2grep.txt
-#usr/share/doc/pcre-pcre2-10.36/pcre2test.txt
+#usr/share/doc/pcre-pcre2-10.37
+#usr/share/doc/pcre-pcre2-10.37/AUTHORS
+#usr/share/doc/pcre-pcre2-10.37/COPYING
+#usr/share/doc/pcre-pcre2-10.37/ChangeLog
+#usr/share/doc/pcre-pcre2-10.37/LICENCE
+#usr/share/doc/pcre-pcre2-10.37/NEWS
+#usr/share/doc/pcre-pcre2-10.37/README
+#usr/share/doc/pcre-pcre2-10.37/html
+#usr/share/doc/pcre-pcre2-10.37/html/NON-AUTOTOOLS-BUILD.txt
+#usr/share/doc/pcre-pcre2-10.37/html/README.txt
+#usr/share/doc/pcre-pcre2-10.37/html/index.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2-config.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_callout_enumerate.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_code_copy.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_code_copy_with_tables.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_code_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_compile.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_compile_context_copy.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_compile_context_create.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_compile_context_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_config.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_convert_context_copy.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_convert_context_create.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_convert_context_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_converted_pattern_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_dfa_match.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_general_context_copy.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_general_context_create.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_general_context_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_get_error_message.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_get_mark.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_get_match_data_size.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_get_ovector_count.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_get_ovector_pointer.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_get_startchar.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_jit_compile.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_jit_free_unused_memory.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_jit_match.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_jit_stack_assign.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_jit_stack_create.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_jit_stack_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_maketables.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_maketables_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_match.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_match_context_copy.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_match_context_create.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_match_context_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_match_data_create.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_match_data_create_from_pattern.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_match_data_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_pattern_convert.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_pattern_info.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_serialize_decode.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_serialize_encode.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_serialize_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_serialize_get_number_of_codes.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_bsr.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_callout.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_character_tables.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_compile_extra_options.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_compile_recursion_guard.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_depth_limit.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_glob_escape.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_glob_separator.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_heap_limit.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_match_limit.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_max_pattern_length.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_newline.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_offset_limit.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_parens_nest_limit.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_recursion_limit.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_recursion_memory_management.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_set_substitute_callout.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substitute.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_copy_byname.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_copy_bynumber.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_get_byname.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_get_bynumber.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_length_byname.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_length_bynumber.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_list_free.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_list_get.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_nametable_scan.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2_substring_number_from_name.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2api.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2build.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2callout.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2compat.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2convert.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2demo.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2grep.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2jit.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2limits.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2matching.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2partial.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2pattern.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2perform.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2posix.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2sample.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2serialize.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2syntax.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2test.html
+#usr/share/doc/pcre-pcre2-10.37/html/pcre2unicode.html
+#usr/share/doc/pcre-pcre2-10.37/pcre2-config.txt
+#usr/share/doc/pcre-pcre2-10.37/pcre2.txt
+#usr/share/doc/pcre-pcre2-10.37/pcre2grep.txt
+#usr/share/doc/pcre-pcre2-10.37/pcre2test.txt
 #usr/share/man/man1/pcre2-config.1
 #usr/share/man/man1/pcre2grep.1
 #usr/share/man/man1/pcre2test.1
diff --git a/config/rootfiles/common/perl-Data-UUID b/config/rootfiles/common/perl-Data-UUID
new file mode 100644 (file)
index 0000000..d8edcd3
--- /dev/null
@@ -0,0 +1,7 @@
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Data
+usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Data/UUID.pm
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Data
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Data/UUID
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Data/UUID/.packlist
+usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Data/UUID/UUID.so
+#usr/share/man/man3/Data::UUID.3
diff --git a/config/rootfiles/common/python-pyparsing b/config/rootfiles/common/python-pyparsing
deleted file mode 100644 (file)
index 9babda9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#usr/lib/python2.7/site-packages/pyparsing-2.2.0-py2.7.egg
index 56d1e4ba0bbc9e5b3f96aad12d47d7ba2021f693..dddf593bd2d010af07b2b4cdd0222221efff4588 100644 (file)
@@ -58,7 +58,7 @@ usr/bin/qpdf
 #usr/lib/libqpdf.la
 #usr/lib/libqpdf.so
 usr/lib/libqpdf.so.28
-usr/lib/libqpdf.so.28.3.0
+usr/lib/libqpdf.so.28.3.2
 #usr/lib/pkgconfig/libqpdf.pc
 #usr/share/doc/qpdf
 #usr/share/doc/qpdf/qpdf-manual.html
index 4d9f7b52f9ae5da466be61871cbb1d827076c1f7..452d6543af4ba705354bb717fda2dba6443436c7 100644 (file)
@@ -110,6 +110,7 @@ srv/web/ipfire/html/images/add.gif
 srv/web/ipfire/html/images/addblue.gif
 srv/web/ipfire/html/images/addgreen.gif
 srv/web/ipfire/html/images/address-book-new.png
+srv/web/ipfire/html/images/apple.png
 srv/web/ipfire/html/images/application-certificate.png
 srv/web/ipfire/html/images/application-x-executable.png
 srv/web/ipfire/html/images/applications-accessories.png
index 8883958564e51d8570328a02f350684239b54c2f..5b2ba45ed829a6b467223d2a3405966817a8d30c 100644 (file)
@@ -5,6 +5,7 @@ usr/sbin/vpddecode
 #usr/share/doc/dmidecode
 #usr/share/doc/dmidecode/AUTHORS
 #usr/share/doc/dmidecode/CHANGELOG
+#usr/share/doc/dmidecode/NEWS
 #usr/share/doc/dmidecode/README
 #usr/share/man/man8/biosdecode.8
 #usr/share/man/man8/dmidecode.8
index 18c5a897a0cc89affe3351de221ffc25ad08cd1c..dba397e735aa3a0d74e390917d038351043feb7a 100644 (file)
@@ -46,14 +46,12 @@ etc/rc.d/init.d/networking/orange
 etc/rc.d/init.d/networking/red
 #etc/rc.d/init.d/networking/red.down
 etc/rc.d/init.d/networking/red.down/10-ipsec
-etc/rc.d/init.d/networking/red.down/10-miniupnpd
 etc/rc.d/init.d/networking/red.down/10-ovpn
 etc/rc.d/init.d/networking/red.down/10-static-routes
 etc/rc.d/init.d/networking/red.down/20-firewall
 etc/rc.d/init.d/networking/red.down/99-beep
 #etc/rc.d/init.d/networking/red.up
 etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
-etc/rc.d/init.d/networking/red.up/10-miniupnpd
 etc/rc.d/init.d/networking/red.up/10-multicast
 etc/rc.d/init.d/networking/red.up/10-static-routes
 etc/rc.d/init.d/networking/red.up/20-firewall
@@ -92,7 +90,6 @@ etc/rc.d/init.d/template
 etc/rc.d/init.d/udev
 etc/rc.d/init.d/udev_retry
 etc/rc.d/init.d/unbound
-etc/rc.d/init.d/upnpd
 etc/rc.d/init.d/vnstat
 etc/rc.d/init.d/waitdrives
 etc/rc.d/init.d/wlanclient
@@ -113,7 +110,6 @@ etc/rc.d/rc0.d/K78suricata
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 etc/rc.d/rc0.d/K82wlanclient
-#etc/rc.d/rc0.d/K84bluetooth
 #etc/rc.d/rc0.d/K85messagebus
 etc/rc.d/rc0.d/K86unbound
 etc/rc.d/rc0.d/K87acpid
@@ -129,7 +125,6 @@ etc/rc.d/rc3.d/S10sysklogd
 etc/rc.d/rc3.d/S12acpid
 etc/rc.d/rc3.d/S15fireinfo
 #etc/rc.d/rc3.d/S15messagebus
-#etc/rc.d/rc3.d/S16bluetooth
 #etc/rc.d/rc3.d/S18cpufreq
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S19wlanclient
@@ -164,7 +159,6 @@ etc/rc.d/rc6.d/K78suricata
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 etc/rc.d/rc6.d/K82wlanclient
-#etc/rc.d/rc6.d/K84bluetooth
 #etc/rc.d/rc6.d/K85messagebus
 etc/rc.d/rc6.d/K86unbound
 etc/rc.d/rc6.d/K87acpid
index ee43ff0154d62dd4dc85b7fa689e946a1a54bc3d..962590af5ce3e80a8f0706432d96c259146d9919 100644 (file)
@@ -67,6 +67,7 @@ lib/firmware/intel-ucode/06-4d-08
 lib/firmware/intel-ucode/06-4e-03
 lib/firmware/intel-ucode/06-55-03
 lib/firmware/intel-ucode/06-55-04
+lib/firmware/intel-ucode/06-55-05
 lib/firmware/intel-ucode/06-55-06
 lib/firmware/intel-ucode/06-55-07
 lib/firmware/intel-ucode/06-55-0b
@@ -80,14 +81,23 @@ lib/firmware/intel-ucode/06-5c-0a
 lib/firmware/intel-ucode/06-5e-03
 lib/firmware/intel-ucode/06-5f-01
 lib/firmware/intel-ucode/06-66-03
+lib/firmware/intel-ucode/06-6a-05
+lib/firmware/intel-ucode/06-6a-06
 lib/firmware/intel-ucode/06-7a-01
 lib/firmware/intel-ucode/06-7a-08
 lib/firmware/intel-ucode/06-7e-05
+lib/firmware/intel-ucode/06-86-04
+lib/firmware/intel-ucode/06-86-05
 lib/firmware/intel-ucode/06-8a-01
+lib/firmware/intel-ucode/06-8c-01
+lib/firmware/intel-ucode/06-8c-02
+lib/firmware/intel-ucode/06-8d-01
 lib/firmware/intel-ucode/06-8e-09
 lib/firmware/intel-ucode/06-8e-0a
 lib/firmware/intel-ucode/06-8e-0b
 lib/firmware/intel-ucode/06-8e-0c
+lib/firmware/intel-ucode/06-96-01
+lib/firmware/intel-ucode/06-9c-00
 lib/firmware/intel-ucode/06-9e-09
 lib/firmware/intel-ucode/06-9e-0a
 lib/firmware/intel-ucode/06-9e-0b
@@ -98,6 +108,7 @@ lib/firmware/intel-ucode/06-a5-03
 lib/firmware/intel-ucode/06-a5-05
 lib/firmware/intel-ucode/06-a6-00
 lib/firmware/intel-ucode/06-a6-01
+lib/firmware/intel-ucode/06-a7-01
 lib/firmware/intel-ucode/0f-00-07
 lib/firmware/intel-ucode/0f-00-0a
 lib/firmware/intel-ucode/0f-01-02
index 923192f0fc8c4b372ba642976e6bed0c47479df0..83e11e4c80430190697920475371680027594e71 100644 (file)
@@ -10,7 +10,7 @@ usr/bin/zstdmt
 #usr/lib/libzstd.a
 #usr/lib/libzstd.so
 usr/lib/libzstd.so.1
-usr/lib/libzstd.so.1.4.9
+usr/lib/libzstd.so.1.5.0
 #usr/lib/pkgconfig/libzstd.pc
 #usr/share/man/man1/unzstd.1
 #usr/share/man/man1/zstd.1
diff --git a/config/rootfiles/core/158/filelists/XML-Parser b/config/rootfiles/core/158/filelists/XML-Parser
new file mode 120000 (symlink)
index 0000000..4f5be1a
--- /dev/null
@@ -0,0 +1 @@
+../../../common/XML-Parser
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/bind b/config/rootfiles/core/158/filelists/bind
new file mode 120000 (symlink)
index 0000000..48a0eba
--- /dev/null
@@ -0,0 +1 @@
+../../../common/bind
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/ca-certificates b/config/rootfiles/core/158/filelists/ca-certificates
new file mode 120000 (symlink)
index 0000000..320fea8
--- /dev/null
@@ -0,0 +1 @@
+../../../common/ca-certificates
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/ethtool b/config/rootfiles/core/158/filelists/ethtool
new file mode 120000 (symlink)
index 0000000..494a53e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/ethtool
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/files b/config/rootfiles/core/158/filelists/files
new file mode 100644 (file)
index 0000000..903ae94
--- /dev/null
@@ -0,0 +1,14 @@
+etc/rc.d/init.d/firewall
+etc/ssh/sshd_config
+opt/pakfire/lib/functions.pl
+opt/pakfire/pakfire
+usr/lib/firewall/ipsec-policy
+var/ipfire/backup/bin/backup.pl
+var/ipfire/countries.pl
+var/ipfire/general-functions.pl
+var/ipfire/graphs.pl
+var/ipfire/header.pl
+var/ipfire/ids-functions.pl
+var/ipfire/lang.pl
+var/ipfire/location-functions.pl
+var/ipfire/modem-lib.pl
diff --git a/config/rootfiles/core/158/filelists/fireinfo b/config/rootfiles/core/158/filelists/fireinfo
new file mode 120000 (symlink)
index 0000000..c461155
--- /dev/null
@@ -0,0 +1 @@
+../../../common/fireinfo
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/gnutls b/config/rootfiles/core/158/filelists/gnutls
new file mode 120000 (symlink)
index 0000000..8dbe60b
--- /dev/null
@@ -0,0 +1 @@
+../../../common/gnutls
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/gzip b/config/rootfiles/core/158/filelists/gzip
new file mode 120000 (symlink)
index 0000000..aebcccd
--- /dev/null
@@ -0,0 +1 @@
+../../../common/gzip
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/hwdata b/config/rootfiles/core/158/filelists/hwdata
new file mode 120000 (symlink)
index 0000000..ced9116
--- /dev/null
@@ -0,0 +1 @@
+../../../common/hwdata
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/i586/dmidecode b/config/rootfiles/core/158/filelists/i586/dmidecode
new file mode 120000 (symlink)
index 0000000..1add99b
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/dmidecode
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/i586/intel-microcode b/config/rootfiles/core/158/filelists/i586/intel-microcode
new file mode 120000 (symlink)
index 0000000..f03e847
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/i586/intel-microcode
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/knot b/config/rootfiles/core/158/filelists/knot
new file mode 120000 (symlink)
index 0000000..28e96f8
--- /dev/null
@@ -0,0 +1 @@
+../../../common/knot
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/libcap b/config/rootfiles/core/158/filelists/libcap
new file mode 120000 (symlink)
index 0000000..ed67d95
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libcap
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/libnl-3 b/config/rootfiles/core/158/filelists/libnl-3
new file mode 120000 (symlink)
index 0000000..00e61c2
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libnl-3
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/libpcap b/config/rootfiles/core/158/filelists/libpcap
new file mode 120000 (symlink)
index 0000000..c7f9f52
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libpcap
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/libusb b/config/rootfiles/core/158/filelists/libusb
new file mode 120000 (symlink)
index 0000000..edbe8c2
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libusb
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/linux-firmware b/config/rootfiles/core/158/filelists/linux-firmware
new file mode 100644 (file)
index 0000000..38e9ded
--- /dev/null
@@ -0,0 +1,410 @@
+/lib/firmware/amd/amd_sev_fam17h_model0xh.sbin
+/lib/firmware/amd/amd_sev_fam17h_model3xh.sbin
+/lib/firmware/amdgpu/arcturus_asd.bin
+/lib/firmware/amdgpu/arcturus_gpu_info.bin
+/lib/firmware/amdgpu/arcturus_mec2.bin
+/lib/firmware/amdgpu/arcturus_mec.bin
+/lib/firmware/amdgpu/arcturus_rlc.bin
+/lib/firmware/amdgpu/arcturus_sdma.bin
+/lib/firmware/amdgpu/arcturus_smc.bin
+/lib/firmware/amdgpu/arcturus_sos.bin
+/lib/firmware/amdgpu/arcturus_ta.bin
+/lib/firmware/amdgpu/arcturus_vcn.bin
+/lib/firmware/amdgpu/green_sardine_asd.bin
+/lib/firmware/amdgpu/green_sardine_ce.bin
+/lib/firmware/amdgpu/green_sardine_dmcub.bin
+/lib/firmware/amdgpu/green_sardine_me.bin
+/lib/firmware/amdgpu/green_sardine_mec2.bin
+/lib/firmware/amdgpu/green_sardine_mec.bin
+/lib/firmware/amdgpu/green_sardine_pfp.bin
+/lib/firmware/amdgpu/green_sardine_rlc.bin
+/lib/firmware/amdgpu/green_sardine_sdma.bin
+/lib/firmware/amdgpu/green_sardine_ta.bin
+/lib/firmware/amdgpu/green_sardine_vcn.bin
+/lib/firmware/amdgpu/navi10_asd.bin
+/lib/firmware/amdgpu/navi10_ce.bin
+/lib/firmware/amdgpu/navi10_me.bin
+/lib/firmware/amdgpu/navi10_mec2.bin
+/lib/firmware/amdgpu/navi10_mec.bin
+/lib/firmware/amdgpu/navi10_pfp.bin
+/lib/firmware/amdgpu/navi10_rlc.bin
+/lib/firmware/amdgpu/navi10_sdma1.bin
+/lib/firmware/amdgpu/navi10_sdma.bin
+/lib/firmware/amdgpu/navi10_smc.bin
+/lib/firmware/amdgpu/navi10_sos.bin
+/lib/firmware/amdgpu/navi10_ta.bin
+/lib/firmware/amdgpu/navi10_vcn.bin
+/lib/firmware/amdgpu/navi12_asd.bin
+/lib/firmware/amdgpu/navi12_ce.bin
+/lib/firmware/amdgpu/navi12_dmcu.bin
+/lib/firmware/amdgpu/navi12_gpu_info.bin
+/lib/firmware/amdgpu/navi12_me.bin
+/lib/firmware/amdgpu/navi12_mec2.bin
+/lib/firmware/amdgpu/navi12_mec.bin
+/lib/firmware/amdgpu/navi12_pfp.bin
+/lib/firmware/amdgpu/navi12_rlc.bin
+/lib/firmware/amdgpu/navi12_sdma1.bin
+/lib/firmware/amdgpu/navi12_sdma.bin
+/lib/firmware/amdgpu/navi12_smc.bin
+/lib/firmware/amdgpu/navi12_sos.bin
+/lib/firmware/amdgpu/navi12_ta.bin
+/lib/firmware/amdgpu/navi12_vcn.bin
+/lib/firmware/amdgpu/navi14_asd.bin
+/lib/firmware/amdgpu/navi14_ce.bin
+/lib/firmware/amdgpu/navi14_me.bin
+/lib/firmware/amdgpu/navi14_mec2.bin
+/lib/firmware/amdgpu/navi14_mec.bin
+/lib/firmware/amdgpu/navi14_pfp.bin
+/lib/firmware/amdgpu/navi14_rlc.bin
+/lib/firmware/amdgpu/navi14_sdma1.bin
+/lib/firmware/amdgpu/navi14_sdma.bin
+/lib/firmware/amdgpu/navi14_smc.bin
+/lib/firmware/amdgpu/navi14_sos.bin
+/lib/firmware/amdgpu/navi14_ta.bin
+/lib/firmware/amdgpu/navi14_vcn.bin
+/lib/firmware/amdgpu/navy_flounder_ce.bin
+/lib/firmware/amdgpu/navy_flounder_dmcub.bin
+/lib/firmware/amdgpu/navy_flounder_me.bin
+/lib/firmware/amdgpu/navy_flounder_mec2.bin
+/lib/firmware/amdgpu/navy_flounder_mec.bin
+/lib/firmware/amdgpu/navy_flounder_pfp.bin
+/lib/firmware/amdgpu/navy_flounder_rlc.bin
+/lib/firmware/amdgpu/navy_flounder_sdma.bin
+/lib/firmware/amdgpu/navy_flounder_smc.bin
+/lib/firmware/amdgpu/navy_flounder_sos.bin
+/lib/firmware/amdgpu/navy_flounder_ta.bin
+/lib/firmware/amdgpu/navy_flounder_vcn.bin
+/lib/firmware/amdgpu/oland_uvd.bin
+/lib/firmware/amdgpu/picasso_asd.bin
+/lib/firmware/amdgpu/picasso_ce.bin
+/lib/firmware/amdgpu/picasso_me.bin
+/lib/firmware/amdgpu/picasso_mec2.bin
+/lib/firmware/amdgpu/picasso_mec.bin
+/lib/firmware/amdgpu/picasso_pfp.bin
+/lib/firmware/amdgpu/picasso_rlc.bin
+/lib/firmware/amdgpu/picasso_sdma.bin
+/lib/firmware/amdgpu/picasso_ta.bin
+/lib/firmware/amdgpu/picasso_vcn.bin
+/lib/firmware/amdgpu/pitcairn_uvd.bin
+/lib/firmware/amdgpu/polaris12_32_mc.bin
+/lib/firmware/amdgpu/raven2_asd.bin
+/lib/firmware/amdgpu/raven2_ce.bin
+/lib/firmware/amdgpu/raven2_me.bin
+/lib/firmware/amdgpu/raven2_mec2.bin
+/lib/firmware/amdgpu/raven2_mec.bin
+/lib/firmware/amdgpu/raven2_pfp.bin
+/lib/firmware/amdgpu/raven2_sdma.bin
+/lib/firmware/amdgpu/raven2_ta.bin
+/lib/firmware/amdgpu/raven2_vcn.bin
+/lib/firmware/amdgpu/raven_asd.bin
+/lib/firmware/amdgpu/raven_ce.bin
+/lib/firmware/amdgpu/raven_me.bin
+/lib/firmware/amdgpu/raven_mec2.bin
+/lib/firmware/amdgpu/raven_mec.bin
+/lib/firmware/amdgpu/raven_pfp.bin
+/lib/firmware/amdgpu/raven_sdma.bin
+/lib/firmware/amdgpu/raven_ta.bin
+/lib/firmware/amdgpu/raven_vcn.bin
+/lib/firmware/amdgpu/renoir_asd.bin
+/lib/firmware/amdgpu/renoir_ce.bin
+/lib/firmware/amdgpu/renoir_dmcub.bin
+/lib/firmware/amdgpu/renoir_me.bin
+/lib/firmware/amdgpu/renoir_mec2.bin
+/lib/firmware/amdgpu/renoir_mec.bin
+/lib/firmware/amdgpu/renoir_pfp.bin
+/lib/firmware/amdgpu/renoir_rlc.bin
+/lib/firmware/amdgpu/renoir_sdma.bin
+/lib/firmware/amdgpu/renoir_ta.bin
+/lib/firmware/amdgpu/sienna_cichlid_ce.bin
+/lib/firmware/amdgpu/sienna_cichlid_dmcub.bin
+/lib/firmware/amdgpu/sienna_cichlid_me.bin
+/lib/firmware/amdgpu/sienna_cichlid_mec2.bin
+/lib/firmware/amdgpu/sienna_cichlid_mec.bin
+/lib/firmware/amdgpu/sienna_cichlid_pfp.bin
+/lib/firmware/amdgpu/sienna_cichlid_rlc.bin
+/lib/firmware/amdgpu/sienna_cichlid_sdma.bin
+/lib/firmware/amdgpu/sienna_cichlid_smc.bin
+/lib/firmware/amdgpu/sienna_cichlid_sos.bin
+/lib/firmware/amdgpu/sienna_cichlid_ta.bin
+/lib/firmware/amdgpu/sienna_cichlid_vcn.bin
+/lib/firmware/amdgpu/tahiti_uvd.bin
+/lib/firmware/amdgpu/vega10_asd.bin
+/lib/firmware/amdgpu/vega10_ce.bin
+/lib/firmware/amdgpu/vega10_me.bin
+/lib/firmware/amdgpu/vega10_mec2.bin
+/lib/firmware/amdgpu/vega10_mec.bin
+/lib/firmware/amdgpu/vega10_pfp.bin
+/lib/firmware/amdgpu/vega12_asd.bin
+/lib/firmware/amdgpu/vega12_ce.bin
+/lib/firmware/amdgpu/vega12_me.bin
+/lib/firmware/amdgpu/vega12_mec2.bin
+/lib/firmware/amdgpu/vega12_mec.bin
+/lib/firmware/amdgpu/vega12_pfp.bin
+/lib/firmware/amdgpu/vega12_smc.bin
+/lib/firmware/amdgpu/vega20_asd.bin
+/lib/firmware/amdgpu/vega20_ce.bin
+/lib/firmware/amdgpu/vega20_me.bin
+/lib/firmware/amdgpu/vega20_mec2.bin
+/lib/firmware/amdgpu/vega20_mec.bin
+/lib/firmware/amdgpu/vega20_pfp.bin
+/lib/firmware/amdgpu/vega20_sdma1.bin
+/lib/firmware/amdgpu/vega20_sdma.bin
+/lib/firmware/amdgpu/vega20_smc.bin
+/lib/firmware/amdgpu/vega20_sos.bin
+/lib/firmware/amdgpu/vega20_ta.bin
+/lib/firmware/amdgpu/verde_uvd.bin
+/lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin
+/lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin
+/lib/firmware/ath10k/QCA6174/hw3.0/firmware-sdio-6.bin
+/lib/firmware/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin
+/lib/firmware/ath10k/QCA9888/hw2.0/firmware-5.bin
+/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
+/lib/firmware/ath11k/IPQ6018/hw1.0/board-2.bin
+/lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.b00
+/lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.b01
+/lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.b02
+/lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.flist
+/lib/firmware/ath11k/IPQ6018/hw1.0/m3_fw.mdt
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b00
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b01
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b02
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b03
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b04
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b05
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b07
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.b08
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.flist
+/lib/firmware/ath11k/IPQ6018/hw1.0/q6_fw.mdt
+/lib/firmware/ath11k/IPQ8074/hw2.0/board-2.bin
+/lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.b00
+/lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.b01
+/lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.b02
+/lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.flist
+/lib/firmware/ath11k/IPQ8074/hw2.0/m3_fw.mdt
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b00
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b01
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b02
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b03
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b04
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b05
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b07
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.b08
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.flist
+/lib/firmware/ath11k/IPQ8074/hw2.0/q6_fw.mdt
+/lib/firmware/ath11k/QCA6390/hw2.0/amss.bin
+/lib/firmware/ath11k/QCA6390/hw2.0/board-2.bin
+/lib/firmware/ath11k/QCA6390/hw2.0/m3.bin
+/lib/firmware/atmel/wilc1000_wifi_firmware-1.bin
+/lib/firmware/brcm/brcmfmac43340-sdio.predia-basic.txt
+/lib/firmware/brcm/brcmfmac43430a0-sdio.ilife-S806.txt
+/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
+/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
+/lib/firmware/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
+/lib/firmware/cadence/mhdp8546.bin
+/lib/firmware/cxgb4/configs/t6-config-default.txt
+/lib/firmware/cxgb4/t4fw-1.25.4.0.bin
+/lib/firmware/cxgb4/t5fw-1.25.4.0.bin
+/lib/firmware/cxgb4/t6fw-1.25.4.0.bin
+/lib/firmware/cypress/cyfmac43012-sdio.bin
+/lib/firmware/cypress/cyfmac43012-sdio.clm_blob
+/lib/firmware/cypress/cyfmac43340-sdio.bin
+/lib/firmware/cypress/cyfmac43362-sdio.bin
+/lib/firmware/cypress/cyfmac4339-sdio.bin
+/lib/firmware/cypress/cyfmac43430-sdio.bin
+/lib/firmware/cypress/cyfmac43430-sdio.clm_blob
+/lib/firmware/cypress/cyfmac43455-sdio.bin
+/lib/firmware/cypress/cyfmac43455-sdio.clm_blob
+/lib/firmware/cypress/cyfmac4354-sdio.bin
+/lib/firmware/cypress/cyfmac4354-sdio.clm_blob
+/lib/firmware/cypress/cyfmac4356-pcie.bin
+/lib/firmware/cypress/cyfmac4356-pcie.clm_blob
+/lib/firmware/cypress/cyfmac4356-sdio.bin
+/lib/firmware/cypress/cyfmac4356-sdio.clm_blob
+/lib/firmware/cypress/cyfmac43570-pcie.bin
+/lib/firmware/cypress/cyfmac43570-pcie.clm_blob
+/lib/firmware/cypress/cyfmac4373-sdio.bin
+/lib/firmware/cypress/cyfmac4373-sdio.clm_blob
+/lib/firmware/cypress/cyfmac54591-pcie.bin
+/lib/firmware/cypress/cyfmac54591-pcie.clm_blob
+/lib/firmware/i915/adlp_dmc_ver2_09.bin
+/lib/firmware/i915/adlp_dmc_ver2_10.bin
+/lib/firmware/i915/adls_dmc_ver2_01.bin
+/lib/firmware/i915/bxt_guc_49.0.1.bin
+/lib/firmware/i915/cml_guc_49.0.1.bin
+/lib/firmware/i915/dg1_dmc_ver2_02.bin
+/lib/firmware/i915/dg1_guc_49.0.1.bin
+/lib/firmware/i915/dg1_huc_7.7.1.bin
+/lib/firmware/i915/ehl_guc_49.0.1.bin
+/lib/firmware/i915/glk_guc_49.0.1.bin
+/lib/firmware/i915/icl_guc_49.0.1.bin
+/lib/firmware/i915/kbl_guc_49.0.1.bin
+/lib/firmware/i915/rkl_dmc_ver2_02.bin
+/lib/firmware/i915/skl_guc_49.0.1.bin
+/lib/firmware/i915/tgl_dmc_ver2_08.bin
+/lib/firmware/i915/tgl_guc_49.0.1.bin
+/lib/firmware/i915/tgl_huc_7.5.0.bin
+/lib/firmware/intel/ibt-0041-0041.ddc
+/lib/firmware/intel/ibt-0041-0041.sfi
+/lib/firmware/intel/ibt-12-16.sfi
+/lib/firmware/intel/ibt-17-16-1.sfi
+/lib/firmware/intel/ibt-17-2.sfi
+/lib/firmware/intel/ibt-18-16-1.sfi
+/lib/firmware/intel/ibt-18-2.sfi
+/lib/firmware/intel/ibt-19-0-0.sfi
+/lib/firmware/intel/ibt-19-0-1.sfi
+/lib/firmware/intel/ibt-19-0-4.sfi
+/lib/firmware/intel/ibt-19-16-4.sfi
+/lib/firmware/intel/ibt-19-240-1.sfi
+/lib/firmware/intel/ibt-19-240-4.sfi
+/lib/firmware/intel/ibt-19-32-0.sfi
+/lib/firmware/intel/ibt-19-32-1.sfi
+/lib/firmware/intel/ibt-19-32-4.sfi
+/lib/firmware/intel/ibt-20-0-3.sfi
+/lib/firmware/intel/ibt-20-1-3.sfi
+/lib/firmware/intel/ibt-20-1-4.sfi
+/lib/firmware/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq
+/lib/firmware/intel/ice/ddp-comms/ice_comms-1.3.20.0.pkg
+/lib/firmware/intel/ice/ddp/ice-1.3.16.0.pkg
+/lib/firmware/iwlwifi-3168-29.ucode
+/lib/firmware/iwlwifi-7265D-29.ucode
+/lib/firmware/iwlwifi-8000C-36.ucode
+/lib/firmware/iwlwifi-8265-36.ucode
+/lib/firmware/iwlwifi-9000-pu-b0-jf-b0-46.ucode
+/lib/firmware/iwlwifi-9260-th-b0-jf-b0-46.ucode
+/lib/firmware/iwlwifi-cc-a0-59.ucode
+/lib/firmware/iwlwifi-cc-a0-62.ucode
+/lib/firmware/iwlwifi-Qu-b0-hr-b0-59.ucode
+/lib/firmware/iwlwifi-Qu-b0-hr-b0-62.ucode
+/lib/firmware/iwlwifi-Qu-b0-jf-b0-59.ucode
+/lib/firmware/iwlwifi-Qu-b0-jf-b0-62.ucode
+/lib/firmware/iwlwifi-Qu-c0-hr-b0-59.ucode
+/lib/firmware/iwlwifi-Qu-c0-hr-b0-62.ucode
+/lib/firmware/iwlwifi-Qu-c0-jf-b0-59.ucode
+/lib/firmware/iwlwifi-Qu-c0-jf-b0-62.ucode
+/lib/firmware/iwlwifi-QuZ-a0-hr-b0-59.ucode
+/lib/firmware/iwlwifi-QuZ-a0-hr-b0-62.ucode
+/lib/firmware/iwlwifi-QuZ-a0-jf-b0-59.ucode
+/lib/firmware/iwlwifi-QuZ-a0-jf-b0-62.ucode
+/lib/firmware/iwlwifi-ty-a0-gf-a0-59.ucode
+/lib/firmware/iwlwifi-ty-a0-gf-a0-62.ucode
+/lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm
+/lib/firmware/lt9611uxc_fw.bin
+/lib/firmware/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
+/lib/firmware/mediatek/mt7615_n9.bin
+/lib/firmware/mediatek/mt7663_n9_v3.bin
+/lib/firmware/mediatek/mt7663pr2h.bin
+/lib/firmware/mediatek/mt7915_rom_patch.bin
+/lib/firmware/mediatek/mt7915_wa.bin
+/lib/firmware/mediatek/mt7915_wm.bin
+/lib/firmware/mediatek/mt8173/vpu_d.bin
+/lib/firmware/mediatek/mt8173/vpu_p.bin
+/lib/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin
+/lib/firmware/mediatek/WIFI_RAM_CODE_MT7961_1.bin
+/lib/firmware/mellanox/mlxsw_spectrum-13.2007.1168.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum-13.2008.1036.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum-13.2008.1310.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum-13.2008.1312.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum-13.2008.2018.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum-13.2008.2304.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum-13.2008.2406.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum-13.2008.2438.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2007.1168.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2008.1036.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2008.1310.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2008.1312.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2018.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2304.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2406.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum2-29.2008.2438.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2007.1168.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1036.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1310.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2008.1312.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2018.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2304.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2406.mfa2
+/lib/firmware/mellanox/mlxsw_spectrum3-30.2008.2438.mfa2
+/lib/firmware/mrvl/prestera/mvsw_prestera_fw-v2.0.img
+/lib/firmware/mrvl/prestera/mvsw_prestera_fw-v3.0.img
+/lib/firmware/mrvl/sdsd8997_combo_v4.bin
+/lib/firmware/netronome/flower/nic_AMDA0058.nffw
+/lib/firmware/netronome/flower/nic_AMDA0096.nffw
+/lib/firmware/netronome/flower/nic_AMDA0097.nffw
+/lib/firmware/netronome/flower/nic_AMDA0099.nffw
+/lib/firmware/nvidia/tegra186/xusb.bin
+/lib/firmware/nvidia/tegra194/vic.bin
+/lib/firmware/nvidia/tegra194/xusb.bin
+/lib/firmware/nvidia/tegra210/xusb.bin
+/lib/firmware/qca/crbtfw32.tlv
+/lib/firmware/qca/crnv32.bin
+/lib/firmware/qca/crnv32u.bin
+/lib/firmware/qca/htbtfw20.tlv
+/lib/firmware/qca/htnv20.bin
+/lib/firmware/qca/nvm_usb_00000302.bin
+/lib/firmware/qca/rampatch_usb_00000302.bin
+/lib/firmware/qcom/a530_pfp.fw
+/lib/firmware/qcom/a630_sqe.fw
+/lib/firmware/qcom/a650_gmu.bin
+/lib/firmware/qcom/a650_sqe.fw
+/lib/firmware/qcom/a660_gmu.bin
+/lib/firmware/qcom/a660_sqe.fw
+/lib/firmware/qcom/sm8250/a650_zap.mbn
+/lib/firmware/qcom/sm8250/adsp.mbn
+/lib/firmware/qcom/sm8250/adspr.jsn
+/lib/firmware/qcom/sm8250/adspua.jsn
+/lib/firmware/qcom/sm8250/cdsp.mbn
+/lib/firmware/qcom/sm8250/cdspr.jsn
+/lib/firmware/qcom/venus-5.4/venus.b00
+/lib/firmware/qcom/venus-5.4/venus.b01
+/lib/firmware/qcom/venus-5.4/venus.b02
+/lib/firmware/qcom/venus-5.4/venus.b03
+/lib/firmware/qcom/venus-5.4/venus.mbn
+/lib/firmware/qcom/venus-5.4/venus.mdt
+/lib/firmware/qcom/vpu-1.0/venus.b00
+/lib/firmware/qcom/vpu-1.0/venus.b01
+/lib/firmware/qcom/vpu-1.0/venus.b02
+/lib/firmware/qcom/vpu-1.0/venus.b03
+/lib/firmware/qcom/vpu-1.0/venus.b04
+/lib/firmware/qcom/vpu-1.0/venus.b05
+/lib/firmware/qcom/vpu-1.0/venus.b06
+/lib/firmware/qcom/vpu-1.0/venus.b07
+/lib/firmware/qcom/vpu-1.0/venus.b08
+/lib/firmware/qcom/vpu-1.0/venus.b09
+/lib/firmware/qcom/vpu-1.0/venus.b10
+/lib/firmware/qcom/vpu-1.0/venus.b19
+/lib/firmware/qcom/vpu-1.0/venus.mbn
+/lib/firmware/qcom/vpu-1.0/venus.mdt
+/lib/firmware/qcom/vpu-2.0/venus.b00
+/lib/firmware/qcom/vpu-2.0/venus.b01
+/lib/firmware/qcom/vpu-2.0/venus.b02
+/lib/firmware/qcom/vpu-2.0/venus.b03
+/lib/firmware/qcom/vpu-2.0/venus.b04
+/lib/firmware/qcom/vpu-2.0/venus.b05
+/lib/firmware/qcom/vpu-2.0/venus.b06
+/lib/firmware/qcom/vpu-2.0/venus.b07
+/lib/firmware/qcom/vpu-2.0/venus.b08
+/lib/firmware/qcom/vpu-2.0/venus.b09
+/lib/firmware/qcom/vpu-2.0/venus.b10
+/lib/firmware/qcom/vpu-2.0/venus.b19
+/lib/firmware/qcom/vpu-2.0/venus.mbn
+/lib/firmware/qcom/vpu-2.0/venus.mdt
+/lib/firmware/rtl_bt/rtl8821c_fw.bin
+/lib/firmware/rtl_bt/rtl8822cs_fw.bin
+/lib/firmware/rtl_bt/rtl8822cu_fw.bin
+/lib/firmware/rtl_bt/rtl8852au_config.bin
+/lib/firmware/rtl_bt/rtl8852au_fw.bin
+/lib/firmware/rtl_nic/rtl8125b-1.fw
+/lib/firmware/rtl_nic/rtl8125b-2.fw
+/lib/firmware/rtl_nic/rtl8153c-1.fw
+/lib/firmware/rtl_nic/rtl8156a-2.fw
+/lib/firmware/rtl_nic/rtl8156b-2.fw
+/lib/firmware/rtlwifi/rtl8192cufw_A.bin
+/lib/firmware/rtlwifi/rtl8192cufw_B.bin
+/lib/firmware/rtlwifi/rtl8192cufw_TMSC.bin
+/lib/firmware/rtw88/rtw8821c_fw.bin
+/lib/firmware/rtw88/rtw8822c_fw.bin
+/lib/firmware/rtw88/rtw8822c_wow_fw.bin
+/lib/firmware/rtw89/rtw8852a_fw.bin
+/lib/firmware/silabs/wfm_wf200_C0.sec
+/lib/firmware/ti-connectivity/wl18xx-fw-4.bin
+/lib/firmware/ti/vpdma-1b8.bin
diff --git a/config/rootfiles/core/158/filelists/nettle b/config/rootfiles/core/158/filelists/nettle
new file mode 120000 (symlink)
index 0000000..f0dba7a
--- /dev/null
@@ -0,0 +1 @@
+../../../common/nettle
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/pcre2 b/config/rootfiles/core/158/filelists/pcre2
new file mode 120000 (symlink)
index 0000000..4482cae
--- /dev/null
@@ -0,0 +1 @@
+../../../common/pcre2
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/perl-CGI b/config/rootfiles/core/158/filelists/perl-CGI
new file mode 120000 (symlink)
index 0000000..9296566
--- /dev/null
@@ -0,0 +1 @@
+../../../common/perl-CGI
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/perl-Data-UUID b/config/rootfiles/core/158/filelists/perl-Data-UUID
new file mode 120000 (symlink)
index 0000000..0f89b3b
--- /dev/null
@@ -0,0 +1 @@
+../../../common/perl-Data-UUID
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/qpdf b/config/rootfiles/core/158/filelists/qpdf
new file mode 120000 (symlink)
index 0000000..2d6c43d
--- /dev/null
@@ -0,0 +1 @@
+../../../common/qpdf
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/rng-tools b/config/rootfiles/core/158/filelists/rng-tools
new file mode 120000 (symlink)
index 0000000..a7853e4
--- /dev/null
@@ -0,0 +1 @@
+../../../common/rng-tools
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/smartmontools b/config/rootfiles/core/158/filelists/smartmontools
new file mode 120000 (symlink)
index 0000000..fb66daf
--- /dev/null
@@ -0,0 +1 @@
+../../../common/smartmontools
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/vnstat b/config/rootfiles/core/158/filelists/vnstat
new file mode 120000 (symlink)
index 0000000..2e2e610
--- /dev/null
@@ -0,0 +1 @@
+../../../common/vnstat
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/web-user-interface b/config/rootfiles/core/158/filelists/web-user-interface
new file mode 120000 (symlink)
index 0000000..70c74b4
--- /dev/null
@@ -0,0 +1 @@
+../../../common/web-user-interface
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/x86_64/dmidecode b/config/rootfiles/core/158/filelists/x86_64/dmidecode
new file mode 120000 (symlink)
index 0000000..88f5f0a
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/x86_64/dmidecode
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/x86_64/intel-microcode b/config/rootfiles/core/158/filelists/x86_64/intel-microcode
new file mode 120000 (symlink)
index 0000000..d5ac074
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/x86_64/intel-microcode
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/zd1211-firmware b/config/rootfiles/core/158/filelists/zd1211-firmware
new file mode 120000 (symlink)
index 0000000..33985ce
--- /dev/null
@@ -0,0 +1 @@
+../../../common/zd1211-firmware
\ No newline at end of file
diff --git a/config/rootfiles/core/158/filelists/zstd b/config/rootfiles/core/158/filelists/zstd
new file mode 120000 (symlink)
index 0000000..d6d4a3b
--- /dev/null
@@ -0,0 +1 @@
+../../../common/zstd
\ No newline at end of file
similarity index 53%
rename from src/paks/motion/install.sh
rename to config/rootfiles/core/158/update.sh
index fbdab43ac6db1401bc5121c7112075e2558aba32..b8ff724f54ae5027082da0d5c5a4f2327f6ffe94 100644 (file)
@@ -5,7 +5,7 @@
 #                                                                          #
 # IPFire 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        #
+# the Free Software Foundation; either version 3 of the License, or        #
 # (at your option) any later version.                                      #
 #                                                                          #
 # IPFire is distributed in the hope that it will be useful,                #
 # along with IPFire; if not, write to the Free Software                    #
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
 #                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+# Copyright (C) 2020 IPFire-Team <info@ipfire.org>.                        #
 #                                                                          #
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+core=158
+
+# Remove old core updates from pakfire cache to save space...
+for (( i=1; i<=$core; i++ )); do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Remove files
+rm -vrf \
+       /etc/rc.d/init.d/upnpd \
+       /etc/rc.d/init.d/networking/red.down/10-miniupnpd \
+       /etc/rc.d/init.d/networking/red.up/10-miniupnpd \
+       /usr/lib/conntrack-tools \
+       /usr/lib/libixml.so.* \
+       /usr/lib/libupnp.so.* \
+       /var/ipfire/upnp \
+       /lib/firmware/cxgb4/t4fw-1.24.14.0.bin \
+       /lib/firmware/cxgb4/t5fw-1.24.14.0.bin \
+       /lib/firmware/cxgb4/t6fw-1.24.14.0.bin \
+       /lib/firmware/intel/ice/ddp/ice-1.3.4.0.pkg
+
+# Stop services
+
+# Extract files
 extract_files
-restore_backup ${NAME}
-useradd -s /bin/false video
-#Ignore error if the user already exist
+
+# update linker config
+ldconfig
+
+# Update Language cache
+/usr/local/bin/update-lang-cache
+
+# Filesytem cleanup
+/usr/local/bin/filesystem-cleanup
+
+# Start services
+/etc/init.d/apache restart
+/etc/init.d/vnstatd restart
+/etc/init.d/rngd restart
+
+# This update needs a reboot...
+#touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Update grub config to display new core version
+if [ -e /boot/grub/grub.cfg ]; then
+       grub-mkconfig -o /boot/grub/grub.cfg
+fi
+
+sync
+
+# Don't report the exitcode last command
 exit 0
diff --git a/config/rootfiles/oldcore/157/exclude b/config/rootfiles/oldcore/157/exclude
new file mode 100644 (file)
index 0000000..818039f
--- /dev/null
@@ -0,0 +1,34 @@
+boot/config.txt
+boot/grub/grub.cfg
+boot/grub/grubenv
+etc/alternatives
+etc/collectd.custom
+etc/default/grub
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/snort/snort.conf
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+usr/share/xt_geoip
+var/ipfire/dma
+var/ipfire/time
+var/ipfire/firewall/locationblock
+var/ipfire/fwhosts/customlocationgrp
+var/ipfire/ovpn
+var/ipfire/urlfilter/blacklist
+var/ipfire/urlfilter/settings
+var/lib/alternatives
+var/lib/location/database.db
+var/log/cache
+var/log/dhcpcd.log
+var/log/messages
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/oldcore/157/filelists/apache2 b/config/rootfiles/oldcore/157/filelists/apache2
new file mode 120000 (symlink)
index 0000000..eef95ef
--- /dev/null
@@ -0,0 +1 @@
+../../../common/apache2
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/boost b/config/rootfiles/oldcore/157/filelists/boost
new file mode 120000 (symlink)
index 0000000..05246f0
--- /dev/null
@@ -0,0 +1 @@
+../../../common/boost
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/curl b/config/rootfiles/oldcore/157/filelists/curl
new file mode 120000 (symlink)
index 0000000..4b84bef
--- /dev/null
@@ -0,0 +1 @@
+../../../common/curl
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/expat b/config/rootfiles/oldcore/157/filelists/expat
new file mode 120000 (symlink)
index 0000000..e1923cf
--- /dev/null
@@ -0,0 +1 @@
+../../../common/expat
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/fuse b/config/rootfiles/oldcore/157/filelists/fuse
new file mode 120000 (symlink)
index 0000000..570edaa
--- /dev/null
@@ -0,0 +1 @@
+../../../common/fuse
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/glib b/config/rootfiles/oldcore/157/filelists/glib
new file mode 120000 (symlink)
index 0000000..4466574
--- /dev/null
@@ -0,0 +1 @@
+../../../common/glib
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/iputils b/config/rootfiles/oldcore/157/filelists/iputils
new file mode 120000 (symlink)
index 0000000..361c28f
--- /dev/null
@@ -0,0 +1 @@
+../../../common/iputils
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/libedit b/config/rootfiles/oldcore/157/filelists/libedit
new file mode 120000 (symlink)
index 0000000..03fc483
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libedit
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/libxcrypt b/config/rootfiles/oldcore/157/filelists/libxcrypt
new file mode 120000 (symlink)
index 0000000..ad93616
--- /dev/null
@@ -0,0 +1 @@
+../../../common/libxcrypt
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/release-files b/config/rootfiles/oldcore/157/filelists/release-files
new file mode 100644 (file)
index 0000000..0dec37e
--- /dev/null
@@ -0,0 +1,5 @@
+etc/system-release
+etc/issue
+etc/os-release
+srv/web/ipfire/cgi-bin/credits.cgi
+var/ipfire/langs
diff --git a/config/rootfiles/oldcore/157/filelists/sudo b/config/rootfiles/oldcore/157/filelists/sudo
new file mode 120000 (symlink)
index 0000000..0d3c45e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/sudo
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/157/filelists/xfsprogs b/config/rootfiles/oldcore/157/filelists/xfsprogs
new file mode 120000 (symlink)
index 0000000..9103296
--- /dev/null
@@ -0,0 +1 @@
+../../../common/xfsprogs
\ No newline at end of file
diff --git a/config/rootfiles/packages/aarch64/sane b/config/rootfiles/packages/aarch64/sane
deleted file mode 100644 (file)
index 91b5de3..0000000
+++ /dev/null
@@ -1,653 +0,0 @@
-etc/rc.d/init.d/sane
-etc/rc.d/rc0.d/K10sane
-etc/rc.d/rc3.d/S95sane
-etc/rc.d/rc6.d/K10sane
-#etc/sane.d
-etc/sane.d/abaton.conf
-etc/sane.d/agfafocus.conf
-etc/sane.d/apple.conf
-etc/sane.d/artec.conf
-etc/sane.d/artec_eplus48u.conf
-etc/sane.d/avision.conf
-etc/sane.d/bh.conf
-etc/sane.d/canon.conf
-etc/sane.d/canon630u.conf
-etc/sane.d/canon_dr.conf
-etc/sane.d/cardscan.conf
-etc/sane.d/coolscan.conf
-etc/sane.d/coolscan2.conf
-etc/sane.d/coolscan3.conf
-etc/sane.d/dc210.conf
-etc/sane.d/dc240.conf
-etc/sane.d/dc25.conf
-etc/sane.d/dell1600n_net.conf
-etc/sane.d/dll.conf
-etc/sane.d/dll.d
-etc/sane.d/dmc.conf
-etc/sane.d/epjitsu.conf
-etc/sane.d/epson.conf
-etc/sane.d/epson2.conf
-etc/sane.d/epsonds.conf
-etc/sane.d/fujitsu.conf
-etc/sane.d/genesys.conf
-etc/sane.d/gt68xx.conf
-etc/sane.d/hp.conf
-etc/sane.d/hp3900.conf
-etc/sane.d/hp4200.conf
-etc/sane.d/hp5400.conf
-etc/sane.d/hs2p.conf
-etc/sane.d/ibm.conf
-etc/sane.d/kodak.conf
-etc/sane.d/kodakaio.conf
-etc/sane.d/kvs1025.conf
-etc/sane.d/leo.conf
-etc/sane.d/lexmark.conf
-etc/sane.d/ma1509.conf
-etc/sane.d/magicolor.conf
-etc/sane.d/matsushita.conf
-etc/sane.d/microtek.conf
-etc/sane.d/microtek2.conf
-etc/sane.d/mustek.conf
-etc/sane.d/mustek_pp.conf
-etc/sane.d/mustek_usb.conf
-etc/sane.d/nec.conf
-etc/sane.d/net.conf
-etc/sane.d/p5.conf
-etc/sane.d/pie.conf
-etc/sane.d/pieusb.conf
-etc/sane.d/pixma.conf
-etc/sane.d/plustek.conf
-etc/sane.d/plustek_pp.conf
-etc/sane.d/ricoh.conf
-etc/sane.d/rts8891.conf
-etc/sane.d/s9036.conf
-etc/sane.d/saned.conf
-etc/sane.d/sceptre.conf
-etc/sane.d/sharp.conf
-etc/sane.d/sm3840.conf
-etc/sane.d/snapscan.conf
-etc/sane.d/sp15c.conf
-etc/sane.d/st400.conf
-etc/sane.d/stv680.conf
-etc/sane.d/tamarack.conf
-etc/sane.d/teco1.conf
-etc/sane.d/teco2.conf
-etc/sane.d/teco3.conf
-etc/sane.d/test.conf
-etc/sane.d/u12.conf
-etc/sane.d/umax.conf
-etc/sane.d/umax1220u.conf
-etc/sane.d/umax_pp.conf
-etc/sane.d/xerox_mfp.conf
-usr/bin/gamma4scanimage
-usr/bin/sane-config
-usr/bin/sane-find-scanner
-usr/bin/scanimage
-usr/bin/umax_pp
-#usr/include/sane
-usr/include/sane/sane.h
-usr/include/sane/saneopts.h
-#usr/lib/libsane.la
-usr/lib/libsane.so
-usr/lib/libsane.so.1
-usr/lib/libsane.so.1.0.28
-#usr/lib/pkgconfig/sane-backends.pc
-#usr/lib/sane
-#usr/lib/sane/libsane-abaton.la
-usr/lib/sane/libsane-abaton.so
-usr/lib/sane/libsane-abaton.so.1
-usr/lib/sane/libsane-abaton.so.1.0.28
-#usr/lib/sane/libsane-agfafocus.la
-usr/lib/sane/libsane-agfafocus.so
-usr/lib/sane/libsane-agfafocus.so.1
-usr/lib/sane/libsane-agfafocus.so.1.0.28
-#usr/lib/sane/libsane-apple.la
-usr/lib/sane/libsane-apple.so
-usr/lib/sane/libsane-apple.so.1
-usr/lib/sane/libsane-apple.so.1.0.28
-#usr/lib/sane/libsane-artec.la
-usr/lib/sane/libsane-artec.so
-usr/lib/sane/libsane-artec.so.1
-usr/lib/sane/libsane-artec.so.1.0.28
-#usr/lib/sane/libsane-artec_eplus48u.la
-usr/lib/sane/libsane-artec_eplus48u.so
-usr/lib/sane/libsane-artec_eplus48u.so.1
-usr/lib/sane/libsane-artec_eplus48u.so.1.0.28
-#usr/lib/sane/libsane-as6e.la
-usr/lib/sane/libsane-as6e.so
-usr/lib/sane/libsane-as6e.so.1
-usr/lib/sane/libsane-as6e.so.1.0.28
-#usr/lib/sane/libsane-avision.la
-usr/lib/sane/libsane-avision.so
-usr/lib/sane/libsane-avision.so.1
-usr/lib/sane/libsane-avision.so.1.0.28
-#usr/lib/sane/libsane-bh.la
-usr/lib/sane/libsane-bh.so
-usr/lib/sane/libsane-bh.so.1
-usr/lib/sane/libsane-bh.so.1.0.28
-#usr/lib/sane/libsane-canon.la
-usr/lib/sane/libsane-canon.so
-usr/lib/sane/libsane-canon.so.1
-usr/lib/sane/libsane-canon.so.1.0.28
-#usr/lib/sane/libsane-canon630u.la
-usr/lib/sane/libsane-canon630u.so
-usr/lib/sane/libsane-canon630u.so.1
-usr/lib/sane/libsane-canon630u.so.1.0.28
-#usr/lib/sane/libsane-canon_dr.la
-usr/lib/sane/libsane-canon_dr.so
-usr/lib/sane/libsane-canon_dr.so.1
-usr/lib/sane/libsane-canon_dr.so.1.0.28
-#usr/lib/sane/libsane-cardscan.la
-usr/lib/sane/libsane-cardscan.so
-usr/lib/sane/libsane-cardscan.so.1
-usr/lib/sane/libsane-cardscan.so.1.0.28
-#usr/lib/sane/libsane-coolscan.la
-usr/lib/sane/libsane-coolscan.so
-usr/lib/sane/libsane-coolscan.so.1
-usr/lib/sane/libsane-coolscan.so.1.0.28
-#usr/lib/sane/libsane-coolscan2.la
-usr/lib/sane/libsane-coolscan2.so
-usr/lib/sane/libsane-coolscan2.so.1
-usr/lib/sane/libsane-coolscan2.so.1.0.28
-#usr/lib/sane/libsane-coolscan3.la
-usr/lib/sane/libsane-coolscan3.so
-usr/lib/sane/libsane-coolscan3.so.1
-usr/lib/sane/libsane-coolscan3.so.1.0.28
-#usr/lib/sane/libsane-dc210.la
-usr/lib/sane/libsane-dc210.so
-usr/lib/sane/libsane-dc210.so.1
-usr/lib/sane/libsane-dc210.so.1.0.28
-#usr/lib/sane/libsane-dc240.la
-usr/lib/sane/libsane-dc240.so
-usr/lib/sane/libsane-dc240.so.1
-usr/lib/sane/libsane-dc240.so.1.0.28
-#usr/lib/sane/libsane-dc25.la
-usr/lib/sane/libsane-dc25.so
-usr/lib/sane/libsane-dc25.so.1
-usr/lib/sane/libsane-dc25.so.1.0.28
-#usr/lib/sane/libsane-dell1600n_net.la
-usr/lib/sane/libsane-dell1600n_net.so
-usr/lib/sane/libsane-dell1600n_net.so.1
-usr/lib/sane/libsane-dell1600n_net.so.1.0.28
-#usr/lib/sane/libsane-dll.la
-usr/lib/sane/libsane-dll.so
-usr/lib/sane/libsane-dll.so.1
-usr/lib/sane/libsane-dll.so.1.0.28
-#usr/lib/sane/libsane-dmc.la
-usr/lib/sane/libsane-dmc.so
-usr/lib/sane/libsane-dmc.so.1
-usr/lib/sane/libsane-dmc.so.1.0.28
-#usr/lib/sane/libsane-epjitsu.la
-usr/lib/sane/libsane-epjitsu.so
-usr/lib/sane/libsane-epjitsu.so.1
-usr/lib/sane/libsane-epjitsu.so.1.0.28
-#usr/lib/sane/libsane-epson.la
-usr/lib/sane/libsane-epson.so
-usr/lib/sane/libsane-epson.so.1
-usr/lib/sane/libsane-epson.so.1.0.28
-#usr/lib/sane/libsane-epson2.la
-usr/lib/sane/libsane-epson2.so
-usr/lib/sane/libsane-epson2.so.1
-usr/lib/sane/libsane-epson2.so.1.0.28
-#usr/lib/sane/libsane-epsonds.la
-usr/lib/sane/libsane-epsonds.so
-usr/lib/sane/libsane-epsonds.so.1
-usr/lib/sane/libsane-epsonds.so.1.0.28
-#usr/lib/sane/libsane-fujitsu.la
-usr/lib/sane/libsane-fujitsu.so
-usr/lib/sane/libsane-fujitsu.so.1
-usr/lib/sane/libsane-fujitsu.so.1.0.28
-#usr/lib/sane/libsane-genesys.la
-usr/lib/sane/libsane-genesys.so
-usr/lib/sane/libsane-genesys.so.1
-usr/lib/sane/libsane-genesys.so.1.0.28
-#usr/lib/sane/libsane-gt68xx.la
-usr/lib/sane/libsane-gt68xx.so
-usr/lib/sane/libsane-gt68xx.so.1
-usr/lib/sane/libsane-gt68xx.so.1.0.28
-#usr/lib/sane/libsane-hp.la
-usr/lib/sane/libsane-hp.so
-usr/lib/sane/libsane-hp.so.1
-usr/lib/sane/libsane-hp.so.1.0.28
-#usr/lib/sane/libsane-hp3500.la
-usr/lib/sane/libsane-hp3500.so
-usr/lib/sane/libsane-hp3500.so.1
-usr/lib/sane/libsane-hp3500.so.1.0.28
-#usr/lib/sane/libsane-hp3900.la
-usr/lib/sane/libsane-hp3900.so
-usr/lib/sane/libsane-hp3900.so.1
-usr/lib/sane/libsane-hp3900.so.1.0.28
-#usr/lib/sane/libsane-hp4200.la
-usr/lib/sane/libsane-hp4200.so
-usr/lib/sane/libsane-hp4200.so.1
-usr/lib/sane/libsane-hp4200.so.1.0.28
-#usr/lib/sane/libsane-hp5400.la
-usr/lib/sane/libsane-hp5400.so
-usr/lib/sane/libsane-hp5400.so.1
-usr/lib/sane/libsane-hp5400.so.1.0.28
-#usr/lib/sane/libsane-hp5590.la
-usr/lib/sane/libsane-hp5590.so
-usr/lib/sane/libsane-hp5590.so.1
-usr/lib/sane/libsane-hp5590.so.1.0.28
-#usr/lib/sane/libsane-hpljm1005.la
-usr/lib/sane/libsane-hpljm1005.so
-usr/lib/sane/libsane-hpljm1005.so.1
-usr/lib/sane/libsane-hpljm1005.so.1.0.28
-#usr/lib/sane/libsane-hs2p.la
-usr/lib/sane/libsane-hs2p.so
-usr/lib/sane/libsane-hs2p.so.1
-usr/lib/sane/libsane-hs2p.so.1.0.28
-#usr/lib/sane/libsane-ibm.la
-usr/lib/sane/libsane-ibm.so
-usr/lib/sane/libsane-ibm.so.1
-usr/lib/sane/libsane-ibm.so.1.0.28
-#usr/lib/sane/libsane-kodak.la
-usr/lib/sane/libsane-kodak.so
-usr/lib/sane/libsane-kodak.so.1
-usr/lib/sane/libsane-kodak.so.1.0.28
-#usr/lib/sane/libsane-kodakaio.la
-usr/lib/sane/libsane-kodakaio.so
-usr/lib/sane/libsane-kodakaio.so.1
-usr/lib/sane/libsane-kodakaio.so.1.0.28
-#usr/lib/sane/libsane-kvs1025.la
-usr/lib/sane/libsane-kvs1025.so
-usr/lib/sane/libsane-kvs1025.so.1
-usr/lib/sane/libsane-kvs1025.so.1.0.28
-#usr/lib/sane/libsane-kvs20xx.la
-usr/lib/sane/libsane-kvs20xx.so
-usr/lib/sane/libsane-kvs20xx.so.1
-usr/lib/sane/libsane-kvs20xx.so.1.0.28
-#usr/lib/sane/libsane-kvs40xx.la
-usr/lib/sane/libsane-kvs40xx.so
-usr/lib/sane/libsane-kvs40xx.so.1
-usr/lib/sane/libsane-kvs40xx.so.1.0.28
-#usr/lib/sane/libsane-leo.la
-usr/lib/sane/libsane-leo.so
-usr/lib/sane/libsane-leo.so.1
-usr/lib/sane/libsane-leo.so.1.0.28
-#usr/lib/sane/libsane-lexmark.la
-usr/lib/sane/libsane-lexmark.so
-usr/lib/sane/libsane-lexmark.so.1
-usr/lib/sane/libsane-lexmark.so.1.0.28
-#usr/lib/sane/libsane-ma1509.la
-usr/lib/sane/libsane-ma1509.so
-usr/lib/sane/libsane-ma1509.so.1
-usr/lib/sane/libsane-ma1509.so.1.0.28
-#usr/lib/sane/libsane-magicolor.la
-usr/lib/sane/libsane-magicolor.so
-usr/lib/sane/libsane-magicolor.so.1
-usr/lib/sane/libsane-magicolor.so.1.0.28
-#usr/lib/sane/libsane-matsushita.la
-usr/lib/sane/libsane-matsushita.so
-usr/lib/sane/libsane-matsushita.so.1
-usr/lib/sane/libsane-matsushita.so.1.0.28
-#usr/lib/sane/libsane-microtek.la
-usr/lib/sane/libsane-microtek.so
-usr/lib/sane/libsane-microtek.so.1
-usr/lib/sane/libsane-microtek.so.1.0.28
-#usr/lib/sane/libsane-microtek2.la
-usr/lib/sane/libsane-microtek2.so
-usr/lib/sane/libsane-microtek2.so.1
-usr/lib/sane/libsane-microtek2.so.1.0.28
-#usr/lib/sane/libsane-mustek.la
-usr/lib/sane/libsane-mustek.so
-usr/lib/sane/libsane-mustek.so.1
-usr/lib/sane/libsane-mustek.so.1.0.28
-#usr/lib/sane/libsane-mustek_pp.la
-usr/lib/sane/libsane-mustek_pp.so
-usr/lib/sane/libsane-mustek_pp.so.1
-usr/lib/sane/libsane-mustek_pp.so.1.0.28
-#usr/lib/sane/libsane-mustek_usb.la
-usr/lib/sane/libsane-mustek_usb.so
-usr/lib/sane/libsane-mustek_usb.so.1
-usr/lib/sane/libsane-mustek_usb.so.1.0.28
-#usr/lib/sane/libsane-mustek_usb2.la
-usr/lib/sane/libsane-mustek_usb2.so
-usr/lib/sane/libsane-mustek_usb2.so.1
-usr/lib/sane/libsane-mustek_usb2.so.1.0.28
-#usr/lib/sane/libsane-nec.la
-usr/lib/sane/libsane-nec.so
-usr/lib/sane/libsane-nec.so.1
-usr/lib/sane/libsane-nec.so.1.0.28
-#usr/lib/sane/libsane-net.la
-usr/lib/sane/libsane-net.so
-usr/lib/sane/libsane-net.so.1
-usr/lib/sane/libsane-net.so.1.0.28
-#usr/lib/sane/libsane-niash.la
-usr/lib/sane/libsane-niash.so
-usr/lib/sane/libsane-niash.so.1
-usr/lib/sane/libsane-niash.so.1.0.28
-#usr/lib/sane/libsane-p5.la
-usr/lib/sane/libsane-p5.so
-usr/lib/sane/libsane-p5.so.1
-usr/lib/sane/libsane-p5.so.1.0.28
-#usr/lib/sane/libsane-pie.la
-usr/lib/sane/libsane-pie.so
-usr/lib/sane/libsane-pie.so.1
-usr/lib/sane/libsane-pie.so.1.0.28
-#usr/lib/sane/libsane-pieusb.la
-usr/lib/sane/libsane-pieusb.so
-usr/lib/sane/libsane-pieusb.so.1
-usr/lib/sane/libsane-pieusb.so.1.0.28
-#usr/lib/sane/libsane-pixma.la
-usr/lib/sane/libsane-pixma.so
-usr/lib/sane/libsane-pixma.so.1
-usr/lib/sane/libsane-pixma.so.1.0.28
-#usr/lib/sane/libsane-plustek.la
-usr/lib/sane/libsane-plustek.so
-usr/lib/sane/libsane-plustek.so.1
-usr/lib/sane/libsane-plustek.so.1.0.28
-#usr/lib/sane/libsane-plustek_pp.la
-usr/lib/sane/libsane-plustek_pp.so
-usr/lib/sane/libsane-plustek_pp.so.1
-usr/lib/sane/libsane-plustek_pp.so.1.0.28
-#usr/lib/sane/libsane-ricoh.la
-usr/lib/sane/libsane-ricoh.so
-usr/lib/sane/libsane-ricoh.so.1
-usr/lib/sane/libsane-ricoh.so.1.0.28
-#usr/lib/sane/libsane-ricoh2.la
-usr/lib/sane/libsane-ricoh2.so
-usr/lib/sane/libsane-ricoh2.so.1
-usr/lib/sane/libsane-ricoh2.so.1.0.28
-#usr/lib/sane/libsane-rts8891.la
-usr/lib/sane/libsane-rts8891.so
-usr/lib/sane/libsane-rts8891.so.1
-usr/lib/sane/libsane-rts8891.so.1.0.28
-#usr/lib/sane/libsane-s9036.la
-usr/lib/sane/libsane-s9036.so
-usr/lib/sane/libsane-s9036.so.1
-usr/lib/sane/libsane-s9036.so.1.0.28
-#usr/lib/sane/libsane-sceptre.la
-usr/lib/sane/libsane-sceptre.so
-usr/lib/sane/libsane-sceptre.so.1
-usr/lib/sane/libsane-sceptre.so.1.0.28
-#usr/lib/sane/libsane-sharp.la
-usr/lib/sane/libsane-sharp.so
-usr/lib/sane/libsane-sharp.so.1
-usr/lib/sane/libsane-sharp.so.1.0.28
-#usr/lib/sane/libsane-sm3600.la
-usr/lib/sane/libsane-sm3600.so
-usr/lib/sane/libsane-sm3600.so.1
-usr/lib/sane/libsane-sm3600.so.1.0.28
-#usr/lib/sane/libsane-sm3840.la
-usr/lib/sane/libsane-sm3840.so
-usr/lib/sane/libsane-sm3840.so.1
-usr/lib/sane/libsane-sm3840.so.1.0.28
-#usr/lib/sane/libsane-snapscan.la
-usr/lib/sane/libsane-snapscan.so
-usr/lib/sane/libsane-snapscan.so.1
-usr/lib/sane/libsane-snapscan.so.1.0.28
-#usr/lib/sane/libsane-sp15c.la
-usr/lib/sane/libsane-sp15c.so
-usr/lib/sane/libsane-sp15c.so.1
-usr/lib/sane/libsane-sp15c.so.1.0.28
-#usr/lib/sane/libsane-st400.la
-usr/lib/sane/libsane-st400.so
-usr/lib/sane/libsane-st400.so.1
-usr/lib/sane/libsane-st400.so.1.0.28
-#usr/lib/sane/libsane-stv680.la
-usr/lib/sane/libsane-stv680.so
-usr/lib/sane/libsane-stv680.so.1
-usr/lib/sane/libsane-stv680.so.1.0.28
-#usr/lib/sane/libsane-tamarack.la
-usr/lib/sane/libsane-tamarack.so
-usr/lib/sane/libsane-tamarack.so.1
-usr/lib/sane/libsane-tamarack.so.1.0.28
-#usr/lib/sane/libsane-teco1.la
-usr/lib/sane/libsane-teco1.so
-usr/lib/sane/libsane-teco1.so.1
-usr/lib/sane/libsane-teco1.so.1.0.28
-#usr/lib/sane/libsane-teco2.la
-usr/lib/sane/libsane-teco2.so
-usr/lib/sane/libsane-teco2.so.1
-usr/lib/sane/libsane-teco2.so.1.0.28
-#usr/lib/sane/libsane-teco3.la
-usr/lib/sane/libsane-teco3.so
-usr/lib/sane/libsane-teco3.so.1
-usr/lib/sane/libsane-teco3.so.1.0.28
-#usr/lib/sane/libsane-test.la
-usr/lib/sane/libsane-test.so
-usr/lib/sane/libsane-test.so.1
-usr/lib/sane/libsane-test.so.1.0.28
-#usr/lib/sane/libsane-u12.la
-usr/lib/sane/libsane-u12.so
-usr/lib/sane/libsane-u12.so.1
-usr/lib/sane/libsane-u12.so.1.0.28
-#usr/lib/sane/libsane-umax.la
-usr/lib/sane/libsane-umax.so
-usr/lib/sane/libsane-umax.so.1
-usr/lib/sane/libsane-umax.so.1.0.28
-#usr/lib/sane/libsane-umax1220u.la
-usr/lib/sane/libsane-umax1220u.so
-usr/lib/sane/libsane-umax1220u.so.1
-usr/lib/sane/libsane-umax1220u.so.1.0.28
-#usr/lib/sane/libsane-umax_pp.la
-usr/lib/sane/libsane-umax_pp.so
-usr/lib/sane/libsane-umax_pp.so.1
-usr/lib/sane/libsane-umax_pp.so.1.0.28
-#usr/lib/sane/libsane-xerox_mfp.la
-usr/lib/sane/libsane-xerox_mfp.so
-usr/lib/sane/libsane-xerox_mfp.so.1
-usr/lib/sane/libsane-xerox_mfp.so.1.0.28
-usr/sbin/saned
-#usr/share/doc/sane-backends
-#usr/share/doc/sane-backends/AUTHORS
-#usr/share/doc/sane-backends/COPYING
-#usr/share/doc/sane-backends/ChangeLog
-#usr/share/doc/sane-backends/LICENSE
-#usr/share/doc/sane-backends/NEWS
-#usr/share/doc/sane-backends/PROBLEMS
-#usr/share/doc/sane-backends/PROJECTS
-#usr/share/doc/sane-backends/README
-#usr/share/doc/sane-backends/README.aix
-#usr/share/doc/sane-backends/README.beos
-#usr/share/doc/sane-backends/README.darwin
-#usr/share/doc/sane-backends/README.djpeg
-#usr/share/doc/sane-backends/README.freebsd
-#usr/share/doc/sane-backends/README.hp-ux
-#usr/share/doc/sane-backends/README.linux
-#usr/share/doc/sane-backends/README.netbsd
-#usr/share/doc/sane-backends/README.openbsd
-#usr/share/doc/sane-backends/README.os2
-#usr/share/doc/sane-backends/README.solaris
-#usr/share/doc/sane-backends/README.unixware2
-#usr/share/doc/sane-backends/README.unixware7
-#usr/share/doc/sane-backends/README.windows
-#usr/share/doc/sane-backends/README.zeta
-#usr/share/doc/sane-backends/backend-writing.txt
-#usr/share/doc/sane-backends/canon
-#usr/share/doc/sane-backends/canon/canon.changes
-#usr/share/doc/sane-backends/canon/canon.install2700F.txt
-#usr/share/doc/sane-backends/gt68xx
-#usr/share/doc/sane-backends/gt68xx/gt68xx.CHANGES
-#usr/share/doc/sane-backends/gt68xx/gt68xx.TODO
-#usr/share/doc/sane-backends/leo
-#usr/share/doc/sane-backends/leo/leo.txt
-#usr/share/doc/sane-backends/matsushita
-#usr/share/doc/sane-backends/matsushita/matsushita.txt
-#usr/share/doc/sane-backends/mustek
-#usr/share/doc/sane-backends/mustek/mustek.CHANGES
-#usr/share/doc/sane-backends/mustek_usb
-#usr/share/doc/sane-backends/mustek_usb/mustek_usb.CHANGES
-#usr/share/doc/sane-backends/mustek_usb/mustek_usb.TODO
-#usr/share/doc/sane-backends/mustek_usb2
-#usr/share/doc/sane-backends/mustek_usb2/mustek_usb2.CHANGES
-#usr/share/doc/sane-backends/mustek_usb2/mustek_usb2.TODO
-#usr/share/doc/sane-backends/niash
-#usr/share/doc/sane-backends/niash/niash.TODO
-#usr/share/doc/sane-backends/plustek
-#usr/share/doc/sane-backends/plustek/FAQ
-#usr/share/doc/sane-backends/plustek/MakeModule.sh
-#usr/share/doc/sane-backends/plustek/Makefile.kernel24
-#usr/share/doc/sane-backends/plustek/Makefile.kernel26
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT-TODO.txt
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT.changes
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT.txt
-#usr/share/doc/sane-backends/plustek/Plustek-USB-TODO.txt
-#usr/share/doc/sane-backends/plustek/Plustek-USB.changes
-#usr/share/doc/sane-backends/plustek/Plustek-USB.txt
-#usr/share/doc/sane-backends/sane-backends-external.html
-#usr/share/doc/sane-backends/sane-backends.html
-#usr/share/doc/sane-backends/sane-mfgs-external.html
-#usr/share/doc/sane-backends/sane-mfgs.html
-#usr/share/doc/sane-backends/sceptre
-#usr/share/doc/sane-backends/sceptre/s1200.txt
-#usr/share/doc/sane-backends/teco
-#usr/share/doc/sane-backends/teco/teco1.txt
-#usr/share/doc/sane-backends/teco/teco2.txt
-#usr/share/doc/sane-backends/teco/teco3.txt
-#usr/share/doc/sane-backends/u12
-#usr/share/doc/sane-backends/u12/U12.changes
-#usr/share/doc/sane-backends/u12/U12.todo
-#usr/share/doc/sane-backends/umax
-#usr/share/doc/sane-backends/umax/negative-types.txt
-#usr/share/doc/sane-backends/umax/sane-logo.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-advanced-options-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-advanced.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-astra-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-config-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-histogram.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-mirage-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-not-listed-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-others-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-parport-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-powerlook-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-scanner-clones-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-speed-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-standard-options-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-standard.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text2.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text4.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-uc-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-vista-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax.jpg
-#usr/share/doc/sane-backends/umax/umax.BUGS
-#usr/share/doc/sane-backends/umax/umax.CHANGES
-#usr/share/doc/sane-backends/umax/umax.FAQ
-#usr/share/doc/sane-backends/umax/umax.TODO
-#usr/share/locale/bg/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ca/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ca@valencia/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/cs/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/da/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/de/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en@boldquot/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en@quot/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en_GB/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/eo/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/es/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/fi/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/fr/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/gl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/he/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/hu/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/it/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ja/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/nb/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/nl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/pl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/pt/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ru/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/sv/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/uk/LC_MESSAGES/sane-backends.mo
-#usr/share/man/man1/gamma4scanimage.1
-#usr/share/man/man1/sane-config.1
-#usr/share/man/man1/sane-find-scanner.1
-#usr/share/man/man1/scanimage.1
-#usr/share/man/man5/sane-abaton.5
-#usr/share/man/man5/sane-agfafocus.5
-#usr/share/man/man5/sane-apple.5
-#usr/share/man/man5/sane-artec.5
-#usr/share/man/man5/sane-artec_eplus48u.5
-#usr/share/man/man5/sane-as6e.5
-#usr/share/man/man5/sane-avision.5
-#usr/share/man/man5/sane-bh.5
-#usr/share/man/man5/sane-canon.5
-#usr/share/man/man5/sane-canon630u.5
-#usr/share/man/man5/sane-canon_dr.5
-#usr/share/man/man5/sane-cardscan.5
-#usr/share/man/man5/sane-coolscan.5
-#usr/share/man/man5/sane-coolscan2.5
-#usr/share/man/man5/sane-coolscan3.5
-#usr/share/man/man5/sane-dc210.5
-#usr/share/man/man5/sane-dc240.5
-#usr/share/man/man5/sane-dc25.5
-#usr/share/man/man5/sane-dll.5
-#usr/share/man/man5/sane-dmc.5
-#usr/share/man/man5/sane-epjitsu.5
-#usr/share/man/man5/sane-epson.5
-#usr/share/man/man5/sane-epson2.5
-#usr/share/man/man5/sane-epsonds.5
-#usr/share/man/man5/sane-fujitsu.5
-#usr/share/man/man5/sane-genesys.5
-#usr/share/man/man5/sane-gt68xx.5
-#usr/share/man/man5/sane-hp.5
-#usr/share/man/man5/sane-hp3500.5
-#usr/share/man/man5/sane-hp3900.5
-#usr/share/man/man5/sane-hp4200.5
-#usr/share/man/man5/sane-hp5400.5
-#usr/share/man/man5/sane-hp5590.5
-#usr/share/man/man5/sane-hpljm1005.5
-#usr/share/man/man5/sane-hs2p.5
-#usr/share/man/man5/sane-ibm.5
-#usr/share/man/man5/sane-kodak.5
-#usr/share/man/man5/sane-kodakaio.5
-#usr/share/man/man5/sane-kvs1025.5
-#usr/share/man/man5/sane-kvs20xx.5
-#usr/share/man/man5/sane-kvs40xx.5
-#usr/share/man/man5/sane-leo.5
-#usr/share/man/man5/sane-lexmark.5
-#usr/share/man/man5/sane-ma1509.5
-#usr/share/man/man5/sane-magicolor.5
-#usr/share/man/man5/sane-matsushita.5
-#usr/share/man/man5/sane-microtek.5
-#usr/share/man/man5/sane-microtek2.5
-#usr/share/man/man5/sane-mustek.5
-#usr/share/man/man5/sane-mustek_pp.5
-#usr/share/man/man5/sane-mustek_usb.5
-#usr/share/man/man5/sane-mustek_usb2.5
-#usr/share/man/man5/sane-nec.5
-#usr/share/man/man5/sane-net.5
-#usr/share/man/man5/sane-niash.5
-#usr/share/man/man5/sane-p5.5
-#usr/share/man/man5/sane-pie.5
-#usr/share/man/man5/sane-pieusb.5
-#usr/share/man/man5/sane-pixma.5
-#usr/share/man/man5/sane-plustek.5
-#usr/share/man/man5/sane-plustek_pp.5
-#usr/share/man/man5/sane-ricoh.5
-#usr/share/man/man5/sane-rts8891.5
-#usr/share/man/man5/sane-s9036.5
-#usr/share/man/man5/sane-sceptre.5
-#usr/share/man/man5/sane-scsi.5
-#usr/share/man/man5/sane-sharp.5
-#usr/share/man/man5/sane-sm3600.5
-#usr/share/man/man5/sane-sm3840.5
-#usr/share/man/man5/sane-snapscan.5
-#usr/share/man/man5/sane-sp15c.5
-#usr/share/man/man5/sane-st400.5
-#usr/share/man/man5/sane-stv680.5
-#usr/share/man/man5/sane-tamarack.5
-#usr/share/man/man5/sane-teco1.5
-#usr/share/man/man5/sane-teco2.5
-#usr/share/man/man5/sane-teco3.5
-#usr/share/man/man5/sane-test.5
-#usr/share/man/man5/sane-u12.5
-#usr/share/man/man5/sane-umax.5
-#usr/share/man/man5/sane-umax1220u.5
-#usr/share/man/man5/sane-umax_pp.5
-#usr/share/man/man5/sane-usb.5
-#usr/share/man/man5/sane-xerox_mfp.5
-#usr/share/man/man7/sane.7
-#usr/share/man/man8/saned.8
-#usr/share/sane
-usr/share/sane/artec_eplus48u
-usr/share/sane/epjitsu
-usr/share/sane/gt68xx
-usr/share/sane/snapscan
-#usr/var
-#usr/var/lock
-usr/var/lock/sane
-var/ipfire/backup/addons/includes/sane
diff --git a/config/rootfiles/packages/armv5tel/sane b/config/rootfiles/packages/armv5tel/sane
deleted file mode 100644 (file)
index 91b5de3..0000000
+++ /dev/null
@@ -1,653 +0,0 @@
-etc/rc.d/init.d/sane
-etc/rc.d/rc0.d/K10sane
-etc/rc.d/rc3.d/S95sane
-etc/rc.d/rc6.d/K10sane
-#etc/sane.d
-etc/sane.d/abaton.conf
-etc/sane.d/agfafocus.conf
-etc/sane.d/apple.conf
-etc/sane.d/artec.conf
-etc/sane.d/artec_eplus48u.conf
-etc/sane.d/avision.conf
-etc/sane.d/bh.conf
-etc/sane.d/canon.conf
-etc/sane.d/canon630u.conf
-etc/sane.d/canon_dr.conf
-etc/sane.d/cardscan.conf
-etc/sane.d/coolscan.conf
-etc/sane.d/coolscan2.conf
-etc/sane.d/coolscan3.conf
-etc/sane.d/dc210.conf
-etc/sane.d/dc240.conf
-etc/sane.d/dc25.conf
-etc/sane.d/dell1600n_net.conf
-etc/sane.d/dll.conf
-etc/sane.d/dll.d
-etc/sane.d/dmc.conf
-etc/sane.d/epjitsu.conf
-etc/sane.d/epson.conf
-etc/sane.d/epson2.conf
-etc/sane.d/epsonds.conf
-etc/sane.d/fujitsu.conf
-etc/sane.d/genesys.conf
-etc/sane.d/gt68xx.conf
-etc/sane.d/hp.conf
-etc/sane.d/hp3900.conf
-etc/sane.d/hp4200.conf
-etc/sane.d/hp5400.conf
-etc/sane.d/hs2p.conf
-etc/sane.d/ibm.conf
-etc/sane.d/kodak.conf
-etc/sane.d/kodakaio.conf
-etc/sane.d/kvs1025.conf
-etc/sane.d/leo.conf
-etc/sane.d/lexmark.conf
-etc/sane.d/ma1509.conf
-etc/sane.d/magicolor.conf
-etc/sane.d/matsushita.conf
-etc/sane.d/microtek.conf
-etc/sane.d/microtek2.conf
-etc/sane.d/mustek.conf
-etc/sane.d/mustek_pp.conf
-etc/sane.d/mustek_usb.conf
-etc/sane.d/nec.conf
-etc/sane.d/net.conf
-etc/sane.d/p5.conf
-etc/sane.d/pie.conf
-etc/sane.d/pieusb.conf
-etc/sane.d/pixma.conf
-etc/sane.d/plustek.conf
-etc/sane.d/plustek_pp.conf
-etc/sane.d/ricoh.conf
-etc/sane.d/rts8891.conf
-etc/sane.d/s9036.conf
-etc/sane.d/saned.conf
-etc/sane.d/sceptre.conf
-etc/sane.d/sharp.conf
-etc/sane.d/sm3840.conf
-etc/sane.d/snapscan.conf
-etc/sane.d/sp15c.conf
-etc/sane.d/st400.conf
-etc/sane.d/stv680.conf
-etc/sane.d/tamarack.conf
-etc/sane.d/teco1.conf
-etc/sane.d/teco2.conf
-etc/sane.d/teco3.conf
-etc/sane.d/test.conf
-etc/sane.d/u12.conf
-etc/sane.d/umax.conf
-etc/sane.d/umax1220u.conf
-etc/sane.d/umax_pp.conf
-etc/sane.d/xerox_mfp.conf
-usr/bin/gamma4scanimage
-usr/bin/sane-config
-usr/bin/sane-find-scanner
-usr/bin/scanimage
-usr/bin/umax_pp
-#usr/include/sane
-usr/include/sane/sane.h
-usr/include/sane/saneopts.h
-#usr/lib/libsane.la
-usr/lib/libsane.so
-usr/lib/libsane.so.1
-usr/lib/libsane.so.1.0.28
-#usr/lib/pkgconfig/sane-backends.pc
-#usr/lib/sane
-#usr/lib/sane/libsane-abaton.la
-usr/lib/sane/libsane-abaton.so
-usr/lib/sane/libsane-abaton.so.1
-usr/lib/sane/libsane-abaton.so.1.0.28
-#usr/lib/sane/libsane-agfafocus.la
-usr/lib/sane/libsane-agfafocus.so
-usr/lib/sane/libsane-agfafocus.so.1
-usr/lib/sane/libsane-agfafocus.so.1.0.28
-#usr/lib/sane/libsane-apple.la
-usr/lib/sane/libsane-apple.so
-usr/lib/sane/libsane-apple.so.1
-usr/lib/sane/libsane-apple.so.1.0.28
-#usr/lib/sane/libsane-artec.la
-usr/lib/sane/libsane-artec.so
-usr/lib/sane/libsane-artec.so.1
-usr/lib/sane/libsane-artec.so.1.0.28
-#usr/lib/sane/libsane-artec_eplus48u.la
-usr/lib/sane/libsane-artec_eplus48u.so
-usr/lib/sane/libsane-artec_eplus48u.so.1
-usr/lib/sane/libsane-artec_eplus48u.so.1.0.28
-#usr/lib/sane/libsane-as6e.la
-usr/lib/sane/libsane-as6e.so
-usr/lib/sane/libsane-as6e.so.1
-usr/lib/sane/libsane-as6e.so.1.0.28
-#usr/lib/sane/libsane-avision.la
-usr/lib/sane/libsane-avision.so
-usr/lib/sane/libsane-avision.so.1
-usr/lib/sane/libsane-avision.so.1.0.28
-#usr/lib/sane/libsane-bh.la
-usr/lib/sane/libsane-bh.so
-usr/lib/sane/libsane-bh.so.1
-usr/lib/sane/libsane-bh.so.1.0.28
-#usr/lib/sane/libsane-canon.la
-usr/lib/sane/libsane-canon.so
-usr/lib/sane/libsane-canon.so.1
-usr/lib/sane/libsane-canon.so.1.0.28
-#usr/lib/sane/libsane-canon630u.la
-usr/lib/sane/libsane-canon630u.so
-usr/lib/sane/libsane-canon630u.so.1
-usr/lib/sane/libsane-canon630u.so.1.0.28
-#usr/lib/sane/libsane-canon_dr.la
-usr/lib/sane/libsane-canon_dr.so
-usr/lib/sane/libsane-canon_dr.so.1
-usr/lib/sane/libsane-canon_dr.so.1.0.28
-#usr/lib/sane/libsane-cardscan.la
-usr/lib/sane/libsane-cardscan.so
-usr/lib/sane/libsane-cardscan.so.1
-usr/lib/sane/libsane-cardscan.so.1.0.28
-#usr/lib/sane/libsane-coolscan.la
-usr/lib/sane/libsane-coolscan.so
-usr/lib/sane/libsane-coolscan.so.1
-usr/lib/sane/libsane-coolscan.so.1.0.28
-#usr/lib/sane/libsane-coolscan2.la
-usr/lib/sane/libsane-coolscan2.so
-usr/lib/sane/libsane-coolscan2.so.1
-usr/lib/sane/libsane-coolscan2.so.1.0.28
-#usr/lib/sane/libsane-coolscan3.la
-usr/lib/sane/libsane-coolscan3.so
-usr/lib/sane/libsane-coolscan3.so.1
-usr/lib/sane/libsane-coolscan3.so.1.0.28
-#usr/lib/sane/libsane-dc210.la
-usr/lib/sane/libsane-dc210.so
-usr/lib/sane/libsane-dc210.so.1
-usr/lib/sane/libsane-dc210.so.1.0.28
-#usr/lib/sane/libsane-dc240.la
-usr/lib/sane/libsane-dc240.so
-usr/lib/sane/libsane-dc240.so.1
-usr/lib/sane/libsane-dc240.so.1.0.28
-#usr/lib/sane/libsane-dc25.la
-usr/lib/sane/libsane-dc25.so
-usr/lib/sane/libsane-dc25.so.1
-usr/lib/sane/libsane-dc25.so.1.0.28
-#usr/lib/sane/libsane-dell1600n_net.la
-usr/lib/sane/libsane-dell1600n_net.so
-usr/lib/sane/libsane-dell1600n_net.so.1
-usr/lib/sane/libsane-dell1600n_net.so.1.0.28
-#usr/lib/sane/libsane-dll.la
-usr/lib/sane/libsane-dll.so
-usr/lib/sane/libsane-dll.so.1
-usr/lib/sane/libsane-dll.so.1.0.28
-#usr/lib/sane/libsane-dmc.la
-usr/lib/sane/libsane-dmc.so
-usr/lib/sane/libsane-dmc.so.1
-usr/lib/sane/libsane-dmc.so.1.0.28
-#usr/lib/sane/libsane-epjitsu.la
-usr/lib/sane/libsane-epjitsu.so
-usr/lib/sane/libsane-epjitsu.so.1
-usr/lib/sane/libsane-epjitsu.so.1.0.28
-#usr/lib/sane/libsane-epson.la
-usr/lib/sane/libsane-epson.so
-usr/lib/sane/libsane-epson.so.1
-usr/lib/sane/libsane-epson.so.1.0.28
-#usr/lib/sane/libsane-epson2.la
-usr/lib/sane/libsane-epson2.so
-usr/lib/sane/libsane-epson2.so.1
-usr/lib/sane/libsane-epson2.so.1.0.28
-#usr/lib/sane/libsane-epsonds.la
-usr/lib/sane/libsane-epsonds.so
-usr/lib/sane/libsane-epsonds.so.1
-usr/lib/sane/libsane-epsonds.so.1.0.28
-#usr/lib/sane/libsane-fujitsu.la
-usr/lib/sane/libsane-fujitsu.so
-usr/lib/sane/libsane-fujitsu.so.1
-usr/lib/sane/libsane-fujitsu.so.1.0.28
-#usr/lib/sane/libsane-genesys.la
-usr/lib/sane/libsane-genesys.so
-usr/lib/sane/libsane-genesys.so.1
-usr/lib/sane/libsane-genesys.so.1.0.28
-#usr/lib/sane/libsane-gt68xx.la
-usr/lib/sane/libsane-gt68xx.so
-usr/lib/sane/libsane-gt68xx.so.1
-usr/lib/sane/libsane-gt68xx.so.1.0.28
-#usr/lib/sane/libsane-hp.la
-usr/lib/sane/libsane-hp.so
-usr/lib/sane/libsane-hp.so.1
-usr/lib/sane/libsane-hp.so.1.0.28
-#usr/lib/sane/libsane-hp3500.la
-usr/lib/sane/libsane-hp3500.so
-usr/lib/sane/libsane-hp3500.so.1
-usr/lib/sane/libsane-hp3500.so.1.0.28
-#usr/lib/sane/libsane-hp3900.la
-usr/lib/sane/libsane-hp3900.so
-usr/lib/sane/libsane-hp3900.so.1
-usr/lib/sane/libsane-hp3900.so.1.0.28
-#usr/lib/sane/libsane-hp4200.la
-usr/lib/sane/libsane-hp4200.so
-usr/lib/sane/libsane-hp4200.so.1
-usr/lib/sane/libsane-hp4200.so.1.0.28
-#usr/lib/sane/libsane-hp5400.la
-usr/lib/sane/libsane-hp5400.so
-usr/lib/sane/libsane-hp5400.so.1
-usr/lib/sane/libsane-hp5400.so.1.0.28
-#usr/lib/sane/libsane-hp5590.la
-usr/lib/sane/libsane-hp5590.so
-usr/lib/sane/libsane-hp5590.so.1
-usr/lib/sane/libsane-hp5590.so.1.0.28
-#usr/lib/sane/libsane-hpljm1005.la
-usr/lib/sane/libsane-hpljm1005.so
-usr/lib/sane/libsane-hpljm1005.so.1
-usr/lib/sane/libsane-hpljm1005.so.1.0.28
-#usr/lib/sane/libsane-hs2p.la
-usr/lib/sane/libsane-hs2p.so
-usr/lib/sane/libsane-hs2p.so.1
-usr/lib/sane/libsane-hs2p.so.1.0.28
-#usr/lib/sane/libsane-ibm.la
-usr/lib/sane/libsane-ibm.so
-usr/lib/sane/libsane-ibm.so.1
-usr/lib/sane/libsane-ibm.so.1.0.28
-#usr/lib/sane/libsane-kodak.la
-usr/lib/sane/libsane-kodak.so
-usr/lib/sane/libsane-kodak.so.1
-usr/lib/sane/libsane-kodak.so.1.0.28
-#usr/lib/sane/libsane-kodakaio.la
-usr/lib/sane/libsane-kodakaio.so
-usr/lib/sane/libsane-kodakaio.so.1
-usr/lib/sane/libsane-kodakaio.so.1.0.28
-#usr/lib/sane/libsane-kvs1025.la
-usr/lib/sane/libsane-kvs1025.so
-usr/lib/sane/libsane-kvs1025.so.1
-usr/lib/sane/libsane-kvs1025.so.1.0.28
-#usr/lib/sane/libsane-kvs20xx.la
-usr/lib/sane/libsane-kvs20xx.so
-usr/lib/sane/libsane-kvs20xx.so.1
-usr/lib/sane/libsane-kvs20xx.so.1.0.28
-#usr/lib/sane/libsane-kvs40xx.la
-usr/lib/sane/libsane-kvs40xx.so
-usr/lib/sane/libsane-kvs40xx.so.1
-usr/lib/sane/libsane-kvs40xx.so.1.0.28
-#usr/lib/sane/libsane-leo.la
-usr/lib/sane/libsane-leo.so
-usr/lib/sane/libsane-leo.so.1
-usr/lib/sane/libsane-leo.so.1.0.28
-#usr/lib/sane/libsane-lexmark.la
-usr/lib/sane/libsane-lexmark.so
-usr/lib/sane/libsane-lexmark.so.1
-usr/lib/sane/libsane-lexmark.so.1.0.28
-#usr/lib/sane/libsane-ma1509.la
-usr/lib/sane/libsane-ma1509.so
-usr/lib/sane/libsane-ma1509.so.1
-usr/lib/sane/libsane-ma1509.so.1.0.28
-#usr/lib/sane/libsane-magicolor.la
-usr/lib/sane/libsane-magicolor.so
-usr/lib/sane/libsane-magicolor.so.1
-usr/lib/sane/libsane-magicolor.so.1.0.28
-#usr/lib/sane/libsane-matsushita.la
-usr/lib/sane/libsane-matsushita.so
-usr/lib/sane/libsane-matsushita.so.1
-usr/lib/sane/libsane-matsushita.so.1.0.28
-#usr/lib/sane/libsane-microtek.la
-usr/lib/sane/libsane-microtek.so
-usr/lib/sane/libsane-microtek.so.1
-usr/lib/sane/libsane-microtek.so.1.0.28
-#usr/lib/sane/libsane-microtek2.la
-usr/lib/sane/libsane-microtek2.so
-usr/lib/sane/libsane-microtek2.so.1
-usr/lib/sane/libsane-microtek2.so.1.0.28
-#usr/lib/sane/libsane-mustek.la
-usr/lib/sane/libsane-mustek.so
-usr/lib/sane/libsane-mustek.so.1
-usr/lib/sane/libsane-mustek.so.1.0.28
-#usr/lib/sane/libsane-mustek_pp.la
-usr/lib/sane/libsane-mustek_pp.so
-usr/lib/sane/libsane-mustek_pp.so.1
-usr/lib/sane/libsane-mustek_pp.so.1.0.28
-#usr/lib/sane/libsane-mustek_usb.la
-usr/lib/sane/libsane-mustek_usb.so
-usr/lib/sane/libsane-mustek_usb.so.1
-usr/lib/sane/libsane-mustek_usb.so.1.0.28
-#usr/lib/sane/libsane-mustek_usb2.la
-usr/lib/sane/libsane-mustek_usb2.so
-usr/lib/sane/libsane-mustek_usb2.so.1
-usr/lib/sane/libsane-mustek_usb2.so.1.0.28
-#usr/lib/sane/libsane-nec.la
-usr/lib/sane/libsane-nec.so
-usr/lib/sane/libsane-nec.so.1
-usr/lib/sane/libsane-nec.so.1.0.28
-#usr/lib/sane/libsane-net.la
-usr/lib/sane/libsane-net.so
-usr/lib/sane/libsane-net.so.1
-usr/lib/sane/libsane-net.so.1.0.28
-#usr/lib/sane/libsane-niash.la
-usr/lib/sane/libsane-niash.so
-usr/lib/sane/libsane-niash.so.1
-usr/lib/sane/libsane-niash.so.1.0.28
-#usr/lib/sane/libsane-p5.la
-usr/lib/sane/libsane-p5.so
-usr/lib/sane/libsane-p5.so.1
-usr/lib/sane/libsane-p5.so.1.0.28
-#usr/lib/sane/libsane-pie.la
-usr/lib/sane/libsane-pie.so
-usr/lib/sane/libsane-pie.so.1
-usr/lib/sane/libsane-pie.so.1.0.28
-#usr/lib/sane/libsane-pieusb.la
-usr/lib/sane/libsane-pieusb.so
-usr/lib/sane/libsane-pieusb.so.1
-usr/lib/sane/libsane-pieusb.so.1.0.28
-#usr/lib/sane/libsane-pixma.la
-usr/lib/sane/libsane-pixma.so
-usr/lib/sane/libsane-pixma.so.1
-usr/lib/sane/libsane-pixma.so.1.0.28
-#usr/lib/sane/libsane-plustek.la
-usr/lib/sane/libsane-plustek.so
-usr/lib/sane/libsane-plustek.so.1
-usr/lib/sane/libsane-plustek.so.1.0.28
-#usr/lib/sane/libsane-plustek_pp.la
-usr/lib/sane/libsane-plustek_pp.so
-usr/lib/sane/libsane-plustek_pp.so.1
-usr/lib/sane/libsane-plustek_pp.so.1.0.28
-#usr/lib/sane/libsane-ricoh.la
-usr/lib/sane/libsane-ricoh.so
-usr/lib/sane/libsane-ricoh.so.1
-usr/lib/sane/libsane-ricoh.so.1.0.28
-#usr/lib/sane/libsane-ricoh2.la
-usr/lib/sane/libsane-ricoh2.so
-usr/lib/sane/libsane-ricoh2.so.1
-usr/lib/sane/libsane-ricoh2.so.1.0.28
-#usr/lib/sane/libsane-rts8891.la
-usr/lib/sane/libsane-rts8891.so
-usr/lib/sane/libsane-rts8891.so.1
-usr/lib/sane/libsane-rts8891.so.1.0.28
-#usr/lib/sane/libsane-s9036.la
-usr/lib/sane/libsane-s9036.so
-usr/lib/sane/libsane-s9036.so.1
-usr/lib/sane/libsane-s9036.so.1.0.28
-#usr/lib/sane/libsane-sceptre.la
-usr/lib/sane/libsane-sceptre.so
-usr/lib/sane/libsane-sceptre.so.1
-usr/lib/sane/libsane-sceptre.so.1.0.28
-#usr/lib/sane/libsane-sharp.la
-usr/lib/sane/libsane-sharp.so
-usr/lib/sane/libsane-sharp.so.1
-usr/lib/sane/libsane-sharp.so.1.0.28
-#usr/lib/sane/libsane-sm3600.la
-usr/lib/sane/libsane-sm3600.so
-usr/lib/sane/libsane-sm3600.so.1
-usr/lib/sane/libsane-sm3600.so.1.0.28
-#usr/lib/sane/libsane-sm3840.la
-usr/lib/sane/libsane-sm3840.so
-usr/lib/sane/libsane-sm3840.so.1
-usr/lib/sane/libsane-sm3840.so.1.0.28
-#usr/lib/sane/libsane-snapscan.la
-usr/lib/sane/libsane-snapscan.so
-usr/lib/sane/libsane-snapscan.so.1
-usr/lib/sane/libsane-snapscan.so.1.0.28
-#usr/lib/sane/libsane-sp15c.la
-usr/lib/sane/libsane-sp15c.so
-usr/lib/sane/libsane-sp15c.so.1
-usr/lib/sane/libsane-sp15c.so.1.0.28
-#usr/lib/sane/libsane-st400.la
-usr/lib/sane/libsane-st400.so
-usr/lib/sane/libsane-st400.so.1
-usr/lib/sane/libsane-st400.so.1.0.28
-#usr/lib/sane/libsane-stv680.la
-usr/lib/sane/libsane-stv680.so
-usr/lib/sane/libsane-stv680.so.1
-usr/lib/sane/libsane-stv680.so.1.0.28
-#usr/lib/sane/libsane-tamarack.la
-usr/lib/sane/libsane-tamarack.so
-usr/lib/sane/libsane-tamarack.so.1
-usr/lib/sane/libsane-tamarack.so.1.0.28
-#usr/lib/sane/libsane-teco1.la
-usr/lib/sane/libsane-teco1.so
-usr/lib/sane/libsane-teco1.so.1
-usr/lib/sane/libsane-teco1.so.1.0.28
-#usr/lib/sane/libsane-teco2.la
-usr/lib/sane/libsane-teco2.so
-usr/lib/sane/libsane-teco2.so.1
-usr/lib/sane/libsane-teco2.so.1.0.28
-#usr/lib/sane/libsane-teco3.la
-usr/lib/sane/libsane-teco3.so
-usr/lib/sane/libsane-teco3.so.1
-usr/lib/sane/libsane-teco3.so.1.0.28
-#usr/lib/sane/libsane-test.la
-usr/lib/sane/libsane-test.so
-usr/lib/sane/libsane-test.so.1
-usr/lib/sane/libsane-test.so.1.0.28
-#usr/lib/sane/libsane-u12.la
-usr/lib/sane/libsane-u12.so
-usr/lib/sane/libsane-u12.so.1
-usr/lib/sane/libsane-u12.so.1.0.28
-#usr/lib/sane/libsane-umax.la
-usr/lib/sane/libsane-umax.so
-usr/lib/sane/libsane-umax.so.1
-usr/lib/sane/libsane-umax.so.1.0.28
-#usr/lib/sane/libsane-umax1220u.la
-usr/lib/sane/libsane-umax1220u.so
-usr/lib/sane/libsane-umax1220u.so.1
-usr/lib/sane/libsane-umax1220u.so.1.0.28
-#usr/lib/sane/libsane-umax_pp.la
-usr/lib/sane/libsane-umax_pp.so
-usr/lib/sane/libsane-umax_pp.so.1
-usr/lib/sane/libsane-umax_pp.so.1.0.28
-#usr/lib/sane/libsane-xerox_mfp.la
-usr/lib/sane/libsane-xerox_mfp.so
-usr/lib/sane/libsane-xerox_mfp.so.1
-usr/lib/sane/libsane-xerox_mfp.so.1.0.28
-usr/sbin/saned
-#usr/share/doc/sane-backends
-#usr/share/doc/sane-backends/AUTHORS
-#usr/share/doc/sane-backends/COPYING
-#usr/share/doc/sane-backends/ChangeLog
-#usr/share/doc/sane-backends/LICENSE
-#usr/share/doc/sane-backends/NEWS
-#usr/share/doc/sane-backends/PROBLEMS
-#usr/share/doc/sane-backends/PROJECTS
-#usr/share/doc/sane-backends/README
-#usr/share/doc/sane-backends/README.aix
-#usr/share/doc/sane-backends/README.beos
-#usr/share/doc/sane-backends/README.darwin
-#usr/share/doc/sane-backends/README.djpeg
-#usr/share/doc/sane-backends/README.freebsd
-#usr/share/doc/sane-backends/README.hp-ux
-#usr/share/doc/sane-backends/README.linux
-#usr/share/doc/sane-backends/README.netbsd
-#usr/share/doc/sane-backends/README.openbsd
-#usr/share/doc/sane-backends/README.os2
-#usr/share/doc/sane-backends/README.solaris
-#usr/share/doc/sane-backends/README.unixware2
-#usr/share/doc/sane-backends/README.unixware7
-#usr/share/doc/sane-backends/README.windows
-#usr/share/doc/sane-backends/README.zeta
-#usr/share/doc/sane-backends/backend-writing.txt
-#usr/share/doc/sane-backends/canon
-#usr/share/doc/sane-backends/canon/canon.changes
-#usr/share/doc/sane-backends/canon/canon.install2700F.txt
-#usr/share/doc/sane-backends/gt68xx
-#usr/share/doc/sane-backends/gt68xx/gt68xx.CHANGES
-#usr/share/doc/sane-backends/gt68xx/gt68xx.TODO
-#usr/share/doc/sane-backends/leo
-#usr/share/doc/sane-backends/leo/leo.txt
-#usr/share/doc/sane-backends/matsushita
-#usr/share/doc/sane-backends/matsushita/matsushita.txt
-#usr/share/doc/sane-backends/mustek
-#usr/share/doc/sane-backends/mustek/mustek.CHANGES
-#usr/share/doc/sane-backends/mustek_usb
-#usr/share/doc/sane-backends/mustek_usb/mustek_usb.CHANGES
-#usr/share/doc/sane-backends/mustek_usb/mustek_usb.TODO
-#usr/share/doc/sane-backends/mustek_usb2
-#usr/share/doc/sane-backends/mustek_usb2/mustek_usb2.CHANGES
-#usr/share/doc/sane-backends/mustek_usb2/mustek_usb2.TODO
-#usr/share/doc/sane-backends/niash
-#usr/share/doc/sane-backends/niash/niash.TODO
-#usr/share/doc/sane-backends/plustek
-#usr/share/doc/sane-backends/plustek/FAQ
-#usr/share/doc/sane-backends/plustek/MakeModule.sh
-#usr/share/doc/sane-backends/plustek/Makefile.kernel24
-#usr/share/doc/sane-backends/plustek/Makefile.kernel26
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT-TODO.txt
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT.changes
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT.txt
-#usr/share/doc/sane-backends/plustek/Plustek-USB-TODO.txt
-#usr/share/doc/sane-backends/plustek/Plustek-USB.changes
-#usr/share/doc/sane-backends/plustek/Plustek-USB.txt
-#usr/share/doc/sane-backends/sane-backends-external.html
-#usr/share/doc/sane-backends/sane-backends.html
-#usr/share/doc/sane-backends/sane-mfgs-external.html
-#usr/share/doc/sane-backends/sane-mfgs.html
-#usr/share/doc/sane-backends/sceptre
-#usr/share/doc/sane-backends/sceptre/s1200.txt
-#usr/share/doc/sane-backends/teco
-#usr/share/doc/sane-backends/teco/teco1.txt
-#usr/share/doc/sane-backends/teco/teco2.txt
-#usr/share/doc/sane-backends/teco/teco3.txt
-#usr/share/doc/sane-backends/u12
-#usr/share/doc/sane-backends/u12/U12.changes
-#usr/share/doc/sane-backends/u12/U12.todo
-#usr/share/doc/sane-backends/umax
-#usr/share/doc/sane-backends/umax/negative-types.txt
-#usr/share/doc/sane-backends/umax/sane-logo.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-advanced-options-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-advanced.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-astra-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-config-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-histogram.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-mirage-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-not-listed-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-others-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-parport-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-powerlook-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-scanner-clones-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-speed-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-standard-options-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-standard.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text2.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text4.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-uc-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-vista-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax.jpg
-#usr/share/doc/sane-backends/umax/umax.BUGS
-#usr/share/doc/sane-backends/umax/umax.CHANGES
-#usr/share/doc/sane-backends/umax/umax.FAQ
-#usr/share/doc/sane-backends/umax/umax.TODO
-#usr/share/locale/bg/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ca/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ca@valencia/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/cs/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/da/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/de/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en@boldquot/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en@quot/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en_GB/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/eo/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/es/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/fi/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/fr/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/gl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/he/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/hu/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/it/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ja/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/nb/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/nl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/pl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/pt/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ru/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/sv/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/uk/LC_MESSAGES/sane-backends.mo
-#usr/share/man/man1/gamma4scanimage.1
-#usr/share/man/man1/sane-config.1
-#usr/share/man/man1/sane-find-scanner.1
-#usr/share/man/man1/scanimage.1
-#usr/share/man/man5/sane-abaton.5
-#usr/share/man/man5/sane-agfafocus.5
-#usr/share/man/man5/sane-apple.5
-#usr/share/man/man5/sane-artec.5
-#usr/share/man/man5/sane-artec_eplus48u.5
-#usr/share/man/man5/sane-as6e.5
-#usr/share/man/man5/sane-avision.5
-#usr/share/man/man5/sane-bh.5
-#usr/share/man/man5/sane-canon.5
-#usr/share/man/man5/sane-canon630u.5
-#usr/share/man/man5/sane-canon_dr.5
-#usr/share/man/man5/sane-cardscan.5
-#usr/share/man/man5/sane-coolscan.5
-#usr/share/man/man5/sane-coolscan2.5
-#usr/share/man/man5/sane-coolscan3.5
-#usr/share/man/man5/sane-dc210.5
-#usr/share/man/man5/sane-dc240.5
-#usr/share/man/man5/sane-dc25.5
-#usr/share/man/man5/sane-dll.5
-#usr/share/man/man5/sane-dmc.5
-#usr/share/man/man5/sane-epjitsu.5
-#usr/share/man/man5/sane-epson.5
-#usr/share/man/man5/sane-epson2.5
-#usr/share/man/man5/sane-epsonds.5
-#usr/share/man/man5/sane-fujitsu.5
-#usr/share/man/man5/sane-genesys.5
-#usr/share/man/man5/sane-gt68xx.5
-#usr/share/man/man5/sane-hp.5
-#usr/share/man/man5/sane-hp3500.5
-#usr/share/man/man5/sane-hp3900.5
-#usr/share/man/man5/sane-hp4200.5
-#usr/share/man/man5/sane-hp5400.5
-#usr/share/man/man5/sane-hp5590.5
-#usr/share/man/man5/sane-hpljm1005.5
-#usr/share/man/man5/sane-hs2p.5
-#usr/share/man/man5/sane-ibm.5
-#usr/share/man/man5/sane-kodak.5
-#usr/share/man/man5/sane-kodakaio.5
-#usr/share/man/man5/sane-kvs1025.5
-#usr/share/man/man5/sane-kvs20xx.5
-#usr/share/man/man5/sane-kvs40xx.5
-#usr/share/man/man5/sane-leo.5
-#usr/share/man/man5/sane-lexmark.5
-#usr/share/man/man5/sane-ma1509.5
-#usr/share/man/man5/sane-magicolor.5
-#usr/share/man/man5/sane-matsushita.5
-#usr/share/man/man5/sane-microtek.5
-#usr/share/man/man5/sane-microtek2.5
-#usr/share/man/man5/sane-mustek.5
-#usr/share/man/man5/sane-mustek_pp.5
-#usr/share/man/man5/sane-mustek_usb.5
-#usr/share/man/man5/sane-mustek_usb2.5
-#usr/share/man/man5/sane-nec.5
-#usr/share/man/man5/sane-net.5
-#usr/share/man/man5/sane-niash.5
-#usr/share/man/man5/sane-p5.5
-#usr/share/man/man5/sane-pie.5
-#usr/share/man/man5/sane-pieusb.5
-#usr/share/man/man5/sane-pixma.5
-#usr/share/man/man5/sane-plustek.5
-#usr/share/man/man5/sane-plustek_pp.5
-#usr/share/man/man5/sane-ricoh.5
-#usr/share/man/man5/sane-rts8891.5
-#usr/share/man/man5/sane-s9036.5
-#usr/share/man/man5/sane-sceptre.5
-#usr/share/man/man5/sane-scsi.5
-#usr/share/man/man5/sane-sharp.5
-#usr/share/man/man5/sane-sm3600.5
-#usr/share/man/man5/sane-sm3840.5
-#usr/share/man/man5/sane-snapscan.5
-#usr/share/man/man5/sane-sp15c.5
-#usr/share/man/man5/sane-st400.5
-#usr/share/man/man5/sane-stv680.5
-#usr/share/man/man5/sane-tamarack.5
-#usr/share/man/man5/sane-teco1.5
-#usr/share/man/man5/sane-teco2.5
-#usr/share/man/man5/sane-teco3.5
-#usr/share/man/man5/sane-test.5
-#usr/share/man/man5/sane-u12.5
-#usr/share/man/man5/sane-umax.5
-#usr/share/man/man5/sane-umax1220u.5
-#usr/share/man/man5/sane-umax_pp.5
-#usr/share/man/man5/sane-usb.5
-#usr/share/man/man5/sane-xerox_mfp.5
-#usr/share/man/man7/sane.7
-#usr/share/man/man8/saned.8
-#usr/share/sane
-usr/share/sane/artec_eplus48u
-usr/share/sane/epjitsu
-usr/share/sane/gt68xx
-usr/share/sane/snapscan
-#usr/var
-#usr/var/lock
-usr/var/lock/sane
-var/ipfire/backup/addons/includes/sane
diff --git a/config/rootfiles/packages/asterisk b/config/rootfiles/packages/asterisk
deleted file mode 100644 (file)
index f84bd35..0000000
+++ /dev/null
@@ -1,2990 +0,0 @@
-etc/asterisk
-etc/logrotate.d/asterisk
-etc/rc.d/init.d/asterisk
-etc/rc.d/rc0.d/K30asterisk
-etc/rc.d/rc3.d/S30asterisk
-etc/rc.d/rc6.d/K30asterisk
-#usr/include/asterisk
-#usr/include/asterisk.h
-#usr/include/asterisk/_private.h
-#usr/include/asterisk/abstract_jb.h
-#usr/include/asterisk/acl.h
-#usr/include/asterisk/adsi.h
-#usr/include/asterisk/ael_structs.h
-#usr/include/asterisk/agi.h
-#usr/include/asterisk/alaw.h
-#usr/include/asterisk/alertpipe.h
-#usr/include/asterisk/aoc.h
-#usr/include/asterisk/app.h
-#usr/include/asterisk/ari.h
-#usr/include/asterisk/ast_expr.h
-#usr/include/asterisk/ast_version.h
-#usr/include/asterisk/astdb.h
-#usr/include/asterisk/astmm.h
-#usr/include/asterisk/astobj.h
-#usr/include/asterisk/astobj2.h
-#usr/include/asterisk/astosp.h
-#usr/include/asterisk/audiohook.h
-#usr/include/asterisk/autochan.h
-#usr/include/asterisk/autoconfig.h
-#usr/include/asterisk/backtrace.h
-#usr/include/asterisk/beep.h
-#usr/include/asterisk/bridge.h
-#usr/include/asterisk/bridge_after.h
-#usr/include/asterisk/bridge_basic.h
-#usr/include/asterisk/bridge_channel.h
-#usr/include/asterisk/bridge_channel_internal.h
-#usr/include/asterisk/bridge_features.h
-#usr/include/asterisk/bridge_internal.h
-#usr/include/asterisk/bridge_roles.h
-#usr/include/asterisk/bridge_technology.h
-#usr/include/asterisk/bucket.h
-#usr/include/asterisk/build.h
-#usr/include/asterisk/buildinfo.h
-#usr/include/asterisk/buildopts.h
-#usr/include/asterisk/calendar.h
-#usr/include/asterisk/callerid.h
-#usr/include/asterisk/causes.h
-#usr/include/asterisk/ccss.h
-#usr/include/asterisk/cdr.h
-#usr/include/asterisk/cel.h
-#usr/include/asterisk/celt.h
-#usr/include/asterisk/channel.h
-#usr/include/asterisk/channel_internal.h
-#usr/include/asterisk/channelstate.h
-#usr/include/asterisk/chanvars.h
-#usr/include/asterisk/cli.h
-#usr/include/asterisk/codec.h
-#usr/include/asterisk/compat.h
-#usr/include/asterisk/compiler.h
-#usr/include/asterisk/config.h
-#usr/include/asterisk/config_options.h
-#usr/include/asterisk/core_local.h
-#usr/include/asterisk/core_unreal.h
-#usr/include/asterisk/crypto.h
-#usr/include/asterisk/data.h
-#usr/include/asterisk/datastore.h
-#usr/include/asterisk/devicestate.h
-#usr/include/asterisk/dial.h
-#usr/include/asterisk/dlinkedlists.h
-#usr/include/asterisk/dns.h
-#usr/include/asterisk/dnsmgr.h
-#usr/include/asterisk/doxygen
-#usr/include/asterisk/doxygen/architecture.h
-#usr/include/asterisk/doxygen/asterisk-git-howto.h
-#usr/include/asterisk/doxygen/commits.h
-#usr/include/asterisk/doxygen/licensing.h
-#usr/include/asterisk/doxygen/releases.h
-#usr/include/asterisk/doxygen/reviewboard.h
-#usr/include/asterisk/doxyref.h
-#usr/include/asterisk/dsp.h
-#usr/include/asterisk/dundi.h
-#usr/include/asterisk/endian.h
-#usr/include/asterisk/endpoints.h
-#usr/include/asterisk/enum.h
-#usr/include/asterisk/event.h
-#usr/include/asterisk/event_defs.h
-#usr/include/asterisk/extconf.h
-#usr/include/asterisk/features.h
-#usr/include/asterisk/features_config.h
-#usr/include/asterisk/file.h
-#usr/include/asterisk/format.h
-#usr/include/asterisk/format_cache.h
-#usr/include/asterisk/format_cap.h
-#usr/include/asterisk/format_compatibility.h
-#usr/include/asterisk/frame.h
-#usr/include/asterisk/framehook.h
-#usr/include/asterisk/fskmodem.h
-#usr/include/asterisk/fskmodem_float.h
-#usr/include/asterisk/fskmodem_int.h
-#usr/include/asterisk/global_datastores.h
-#usr/include/asterisk/hashtab.h
-#usr/include/asterisk/heap.h
-#usr/include/asterisk/http.h
-#usr/include/asterisk/http_websocket.h
-#usr/include/asterisk/image.h
-#usr/include/asterisk/indications.h
-#usr/include/asterisk/inline_api.h
-#usr/include/asterisk/io.h
-#usr/include/asterisk/json.h
-#usr/include/asterisk/linkedlists.h
-#usr/include/asterisk/localtime.h
-#usr/include/asterisk/lock.h
-#usr/include/asterisk/logger.h
-#usr/include/asterisk/manager.h
-#usr/include/asterisk/max_forwards.h
-#usr/include/asterisk/md5.h
-#usr/include/asterisk/media_index.h
-#usr/include/asterisk/message.h
-#usr/include/asterisk/mixmonitor.h
-#usr/include/asterisk/mod_format.h
-#usr/include/asterisk/module.h
-#usr/include/asterisk/monitor.h
-#usr/include/asterisk/multicast_rtp.h
-#usr/include/asterisk/musiconhold.h
-#usr/include/asterisk/named_locks.h
-#usr/include/asterisk/netsock.h
-#usr/include/asterisk/netsock2.h
-#usr/include/asterisk/network.h
-#usr/include/asterisk/optional_api.h
-#usr/include/asterisk/options.h
-#usr/include/asterisk/opus.h
-#usr/include/asterisk/parking.h
-#usr/include/asterisk/paths.h
-#usr/include/asterisk/pbx.h
-#usr/include/asterisk/phoneprov.h
-#usr/include/asterisk/pickup.h
-#usr/include/asterisk/pktccops.h
-#usr/include/asterisk/plc.h
-#usr/include/asterisk/poll-compat.h
-#usr/include/asterisk/presencestate.h
-#usr/include/asterisk/privacy.h
-#usr/include/asterisk/pval.h
-#usr/include/asterisk/res_fax.h
-#usr/include/asterisk/res_hep.h
-#usr/include/asterisk/res_mwi_external.h
-#usr/include/asterisk/res_odbc.h
-#usr/include/asterisk/res_odbc_transaction.h
-#usr/include/asterisk/res_pjproject.h
-#usr/include/asterisk/res_pjsip.h
-#usr/include/asterisk/res_pjsip_body_generator_types.h
-#usr/include/asterisk/res_pjsip_cli.h
-#usr/include/asterisk/res_pjsip_outbound_publish.h
-#usr/include/asterisk/res_pjsip_presence_xml.h
-#usr/include/asterisk/res_pjsip_pubsub.h
-#usr/include/asterisk/res_pjsip_session.h
-#usr/include/asterisk/res_srtp.h
-#usr/include/asterisk/rtp_engine.h
-#usr/include/asterisk/say.h
-#usr/include/asterisk/sched.h
-#usr/include/asterisk/sdp_srtp.h
-#usr/include/asterisk/security_events.h
-#usr/include/asterisk/security_events_defs.h
-#usr/include/asterisk/select.h
-#usr/include/asterisk/sem.h
-#usr/include/asterisk/sha1.h
-#usr/include/asterisk/silk.h
-#usr/include/asterisk/sip_api.h
-#usr/include/asterisk/slin.h
-#usr/include/asterisk/slinfactory.h
-#usr/include/asterisk/smdi.h
-#usr/include/asterisk/smoother.h
-#usr/include/asterisk/sorcery.h
-#usr/include/asterisk/sounds_index.h
-#usr/include/asterisk/speech.h
-#usr/include/asterisk/spinlock.h
-#usr/include/asterisk/srv.h
-#usr/include/asterisk/stasis.h
-#usr/include/asterisk/stasis_app.h
-#usr/include/asterisk/stasis_app_device_state.h
-#usr/include/asterisk/stasis_app_impl.h
-#usr/include/asterisk/stasis_app_mailbox.h
-#usr/include/asterisk/stasis_app_playback.h
-#usr/include/asterisk/stasis_app_recording.h
-#usr/include/asterisk/stasis_app_snoop.h
-#usr/include/asterisk/stasis_bridges.h
-#usr/include/asterisk/stasis_cache_pattern.h
-#usr/include/asterisk/stasis_channels.h
-#usr/include/asterisk/stasis_endpoints.h
-#usr/include/asterisk/stasis_internal.h
-#usr/include/asterisk/stasis_message_router.h
-#usr/include/asterisk/stasis_system.h
-#usr/include/asterisk/stasis_test.h
-#usr/include/asterisk/statsd.h
-#usr/include/asterisk/stringfields.h
-#usr/include/asterisk/strings.h
-#usr/include/asterisk/stun.h
-#usr/include/asterisk/syslog.h
-#usr/include/asterisk/taskprocessor.h
-#usr/include/asterisk/tcptls.h
-#usr/include/asterisk/tdd.h
-#usr/include/asterisk/term.h
-#usr/include/asterisk/test.h
-#usr/include/asterisk/threadpool.h
-#usr/include/asterisk/threadstorage.h
-#usr/include/asterisk/time.h
-#usr/include/asterisk/timing.h
-#usr/include/asterisk/transcap.h
-#usr/include/asterisk/translate.h
-#usr/include/asterisk/udptl.h
-#usr/include/asterisk/ulaw.h
-#usr/include/asterisk/unaligned.h
-#usr/include/asterisk/uri.h
-#usr/include/asterisk/utils.h
-#usr/include/asterisk/uuid.h
-#usr/include/asterisk/vector.h
-#usr/include/asterisk/version.h
-#usr/include/asterisk/xml.h
-#usr/include/asterisk/xmldoc.h
-#usr/include/asterisk/xmpp.h
-#usr/lib/asterisk
-#usr/lib/asterisk/modules
-usr/lib/asterisk/modules/app_adsiprog.so
-usr/lib/asterisk/modules/app_agent_pool.so
-usr/lib/asterisk/modules/app_alarmreceiver.so
-usr/lib/asterisk/modules/app_amd.so
-usr/lib/asterisk/modules/app_authenticate.so
-usr/lib/asterisk/modules/app_bridgewait.so
-usr/lib/asterisk/modules/app_cdr.so
-usr/lib/asterisk/modules/app_celgenuserevent.so
-usr/lib/asterisk/modules/app_chanisavail.so
-usr/lib/asterisk/modules/app_channelredirect.so
-usr/lib/asterisk/modules/app_chanspy.so
-usr/lib/asterisk/modules/app_confbridge.so
-usr/lib/asterisk/modules/app_controlplayback.so
-usr/lib/asterisk/modules/app_db.so
-usr/lib/asterisk/modules/app_dial.so
-usr/lib/asterisk/modules/app_dictate.so
-usr/lib/asterisk/modules/app_directed_pickup.so
-usr/lib/asterisk/modules/app_directory.so
-usr/lib/asterisk/modules/app_disa.so
-usr/lib/asterisk/modules/app_dumpchan.so
-usr/lib/asterisk/modules/app_echo.so
-usr/lib/asterisk/modules/app_exec.so
-usr/lib/asterisk/modules/app_externalivr.so
-usr/lib/asterisk/modules/app_festival.so
-usr/lib/asterisk/modules/app_followme.so
-usr/lib/asterisk/modules/app_forkcdr.so
-usr/lib/asterisk/modules/app_getcpeid.so
-usr/lib/asterisk/modules/app_ices.so
-usr/lib/asterisk/modules/app_image.so
-usr/lib/asterisk/modules/app_macro.so
-usr/lib/asterisk/modules/app_milliwatt.so
-usr/lib/asterisk/modules/app_minivm.so
-usr/lib/asterisk/modules/app_mixmonitor.so
-usr/lib/asterisk/modules/app_morsecode.so
-usr/lib/asterisk/modules/app_mp3.so
-usr/lib/asterisk/modules/app_nbscat.so
-usr/lib/asterisk/modules/app_originate.so
-usr/lib/asterisk/modules/app_page.so
-usr/lib/asterisk/modules/app_playback.so
-usr/lib/asterisk/modules/app_playtones.so
-usr/lib/asterisk/modules/app_privacy.so
-usr/lib/asterisk/modules/app_queue.so
-usr/lib/asterisk/modules/app_read.so
-usr/lib/asterisk/modules/app_readexten.so
-usr/lib/asterisk/modules/app_record.so
-usr/lib/asterisk/modules/app_sayunixtime.so
-usr/lib/asterisk/modules/app_senddtmf.so
-usr/lib/asterisk/modules/app_sendtext.so
-usr/lib/asterisk/modules/app_sms.so
-usr/lib/asterisk/modules/app_softhangup.so
-usr/lib/asterisk/modules/app_speech_utils.so
-usr/lib/asterisk/modules/app_stack.so
-usr/lib/asterisk/modules/app_stasis.so
-usr/lib/asterisk/modules/app_system.so
-usr/lib/asterisk/modules/app_talkdetect.so
-usr/lib/asterisk/modules/app_test.so
-usr/lib/asterisk/modules/app_transfer.so
-usr/lib/asterisk/modules/app_url.so
-usr/lib/asterisk/modules/app_userevent.so
-usr/lib/asterisk/modules/app_verbose.so
-usr/lib/asterisk/modules/app_voicemail.so
-usr/lib/asterisk/modules/app_waitforring.so
-usr/lib/asterisk/modules/app_waitforsilence.so
-usr/lib/asterisk/modules/app_waituntil.so
-usr/lib/asterisk/modules/app_while.so
-usr/lib/asterisk/modules/app_zapateller.so
-usr/lib/asterisk/modules/bridge_builtin_features.so
-usr/lib/asterisk/modules/bridge_builtin_interval_features.so
-usr/lib/asterisk/modules/bridge_holding.so
-usr/lib/asterisk/modules/bridge_native_rtp.so
-usr/lib/asterisk/modules/bridge_simple.so
-usr/lib/asterisk/modules/bridge_softmix.so
-usr/lib/asterisk/modules/cdr_csv.so
-usr/lib/asterisk/modules/cdr_custom.so
-usr/lib/asterisk/modules/cdr_manager.so
-usr/lib/asterisk/modules/cdr_sqlite3_custom.so
-usr/lib/asterisk/modules/cdr_syslog.so
-usr/lib/asterisk/modules/cel_custom.so
-usr/lib/asterisk/modules/cel_manager.so
-usr/lib/asterisk/modules/cel_sqlite3_custom.so
-usr/lib/asterisk/modules/chan_alsa.so
-usr/lib/asterisk/modules/chan_bridge_media.so
-usr/lib/asterisk/modules/chan_iax2.so
-usr/lib/asterisk/modules/chan_mgcp.so
-usr/lib/asterisk/modules/chan_phone.so
-usr/lib/asterisk/modules/chan_rtp.so
-usr/lib/asterisk/modules/chan_sip.so
-usr/lib/asterisk/modules/chan_skinny.so
-usr/lib/asterisk/modules/chan_unistim.so
-usr/lib/asterisk/modules/codec_a_mu.so
-usr/lib/asterisk/modules/codec_adpcm.so
-usr/lib/asterisk/modules/codec_alaw.so
-usr/lib/asterisk/modules/codec_g722.so
-usr/lib/asterisk/modules/codec_g726.so
-usr/lib/asterisk/modules/codec_gsm.so
-usr/lib/asterisk/modules/codec_ilbc.so
-usr/lib/asterisk/modules/codec_lpc10.so
-usr/lib/asterisk/modules/codec_resample.so
-usr/lib/asterisk/modules/codec_ulaw.so
-usr/lib/asterisk/modules/format_g719.so
-usr/lib/asterisk/modules/format_g723.so
-usr/lib/asterisk/modules/format_g726.so
-usr/lib/asterisk/modules/format_g729.so
-usr/lib/asterisk/modules/format_gsm.so
-usr/lib/asterisk/modules/format_h263.so
-usr/lib/asterisk/modules/format_h264.so
-usr/lib/asterisk/modules/format_ilbc.so
-usr/lib/asterisk/modules/format_jpeg.so
-usr/lib/asterisk/modules/format_pcm.so
-usr/lib/asterisk/modules/format_siren14.so
-usr/lib/asterisk/modules/format_siren7.so
-usr/lib/asterisk/modules/format_sln.so
-usr/lib/asterisk/modules/format_vox.so
-usr/lib/asterisk/modules/format_wav.so
-usr/lib/asterisk/modules/format_wav_gsm.so
-usr/lib/asterisk/modules/func_aes.so
-usr/lib/asterisk/modules/func_audiohookinherit.so
-usr/lib/asterisk/modules/func_base64.so
-usr/lib/asterisk/modules/func_blacklist.so
-usr/lib/asterisk/modules/func_callcompletion.so
-usr/lib/asterisk/modules/func_callerid.so
-usr/lib/asterisk/modules/func_cdr.so
-usr/lib/asterisk/modules/func_channel.so
-usr/lib/asterisk/modules/func_config.so
-usr/lib/asterisk/modules/func_curl.so
-usr/lib/asterisk/modules/func_cut.so
-usr/lib/asterisk/modules/func_db.so
-usr/lib/asterisk/modules/func_devstate.so
-usr/lib/asterisk/modules/func_dialgroup.so
-usr/lib/asterisk/modules/func_dialplan.so
-usr/lib/asterisk/modules/func_enum.so
-usr/lib/asterisk/modules/func_env.so
-usr/lib/asterisk/modules/func_extstate.so
-usr/lib/asterisk/modules/func_frame_trace.so
-usr/lib/asterisk/modules/func_global.so
-usr/lib/asterisk/modules/func_groupcount.so
-usr/lib/asterisk/modules/func_hangupcause.so
-usr/lib/asterisk/modules/func_holdintercept.so
-usr/lib/asterisk/modules/func_iconv.so
-usr/lib/asterisk/modules/func_jitterbuffer.so
-usr/lib/asterisk/modules/func_lock.so
-usr/lib/asterisk/modules/func_logic.so
-usr/lib/asterisk/modules/func_math.so
-usr/lib/asterisk/modules/func_md5.so
-usr/lib/asterisk/modules/func_module.so
-usr/lib/asterisk/modules/func_periodic_hook.so
-usr/lib/asterisk/modules/func_pitchshift.so
-usr/lib/asterisk/modules/func_presencestate.so
-usr/lib/asterisk/modules/func_rand.so
-usr/lib/asterisk/modules/func_realtime.so
-usr/lib/asterisk/modules/func_sha1.so
-usr/lib/asterisk/modules/func_shell.so
-usr/lib/asterisk/modules/func_sorcery.so
-usr/lib/asterisk/modules/func_sprintf.so
-usr/lib/asterisk/modules/func_srv.so
-usr/lib/asterisk/modules/func_strings.so
-usr/lib/asterisk/modules/func_sysinfo.so
-usr/lib/asterisk/modules/func_talkdetect.so
-usr/lib/asterisk/modules/func_timeout.so
-usr/lib/asterisk/modules/func_uri.so
-usr/lib/asterisk/modules/func_version.so
-usr/lib/asterisk/modules/func_vmcount.so
-usr/lib/asterisk/modules/func_volume.so
-usr/lib/asterisk/modules/pbx_ael.so
-usr/lib/asterisk/modules/pbx_config.so
-usr/lib/asterisk/modules/pbx_dundi.so
-usr/lib/asterisk/modules/pbx_loopback.so
-usr/lib/asterisk/modules/pbx_realtime.so
-usr/lib/asterisk/modules/pbx_spool.so
-usr/lib/asterisk/modules/res_adsi.so
-usr/lib/asterisk/modules/res_ael_share.so
-usr/lib/asterisk/modules/res_agi.so
-usr/lib/asterisk/modules/res_ari.so
-usr/lib/asterisk/modules/res_ari_applications.so
-usr/lib/asterisk/modules/res_ari_asterisk.so
-usr/lib/asterisk/modules/res_ari_bridges.so
-usr/lib/asterisk/modules/res_ari_channels.so
-usr/lib/asterisk/modules/res_ari_device_states.so
-usr/lib/asterisk/modules/res_ari_endpoints.so
-usr/lib/asterisk/modules/res_ari_events.so
-usr/lib/asterisk/modules/res_ari_model.so
-usr/lib/asterisk/modules/res_ari_playbacks.so
-usr/lib/asterisk/modules/res_ari_recordings.so
-usr/lib/asterisk/modules/res_ari_sounds.so
-usr/lib/asterisk/modules/res_calendar.so
-usr/lib/asterisk/modules/res_clialiases.so
-usr/lib/asterisk/modules/res_clioriginate.so
-usr/lib/asterisk/modules/res_config_curl.so
-usr/lib/asterisk/modules/res_config_ldap.so
-usr/lib/asterisk/modules/res_config_sqlite3.so
-usr/lib/asterisk/modules/res_convert.so
-usr/lib/asterisk/modules/res_crypto.so
-usr/lib/asterisk/modules/res_curl.so
-usr/lib/asterisk/modules/res_fax.so
-usr/lib/asterisk/modules/res_fax_spandsp.so
-usr/lib/asterisk/modules/res_format_attr_celt.so
-usr/lib/asterisk/modules/res_format_attr_g729.so
-usr/lib/asterisk/modules/res_format_attr_h263.so
-usr/lib/asterisk/modules/res_format_attr_h264.so
-usr/lib/asterisk/modules/res_format_attr_opus.so
-usr/lib/asterisk/modules/res_format_attr_silk.so
-usr/lib/asterisk/modules/res_format_attr_siren14.so
-usr/lib/asterisk/modules/res_format_attr_siren7.so
-usr/lib/asterisk/modules/res_format_attr_vp8.so
-usr/lib/asterisk/modules/res_hep.so
-usr/lib/asterisk/modules/res_hep_rtcp.so
-usr/lib/asterisk/modules/res_http_websocket.so
-usr/lib/asterisk/modules/res_limit.so
-usr/lib/asterisk/modules/res_manager_devicestate.so
-usr/lib/asterisk/modules/res_manager_presencestate.so
-usr/lib/asterisk/modules/res_monitor.so
-usr/lib/asterisk/modules/res_musiconhold.so
-usr/lib/asterisk/modules/res_mutestream.so
-usr/lib/asterisk/modules/res_parking.so
-usr/lib/asterisk/modules/res_phoneprov.so
-usr/lib/asterisk/modules/res_realtime.so
-usr/lib/asterisk/modules/res_rtp_asterisk.so
-usr/lib/asterisk/modules/res_rtp_multicast.so
-usr/lib/asterisk/modules/res_security_log.so
-usr/lib/asterisk/modules/res_smdi.so
-usr/lib/asterisk/modules/res_sorcery_astdb.so
-usr/lib/asterisk/modules/res_sorcery_config.so
-usr/lib/asterisk/modules/res_sorcery_memory.so
-usr/lib/asterisk/modules/res_sorcery_memory_cache.so
-usr/lib/asterisk/modules/res_sorcery_realtime.so
-usr/lib/asterisk/modules/res_speech.so
-usr/lib/asterisk/modules/res_srtp.so
-usr/lib/asterisk/modules/res_stasis.so
-usr/lib/asterisk/modules/res_stasis_answer.so
-usr/lib/asterisk/modules/res_stasis_device_state.so
-usr/lib/asterisk/modules/res_stasis_playback.so
-usr/lib/asterisk/modules/res_stasis_recording.so
-usr/lib/asterisk/modules/res_stasis_snoop.so
-usr/lib/asterisk/modules/res_statsd.so
-usr/lib/asterisk/modules/res_stun_monitor.so
-usr/lib/asterisk/modules/res_timing_pthread.so
-usr/lib/asterisk/modules/res_timing_timerfd.so
-usr/lib/libasteriskssl.so
-usr/lib/libasteriskssl.so.1
-#usr/lib/pkgconfig/asterisk.pc
-usr/sbin/astcanary
-usr/sbin/astdb2bdb
-usr/sbin/astdb2sqlite3
-usr/sbin/asterisk
-usr/sbin/astgenkey
-usr/sbin/astversion
-usr/sbin/autosupport
-usr/sbin/rasterisk
-usr/sbin/safe_asterisk
-#usr/share/man/man8/astdb2bdb.8
-#usr/share/man/man8/astdb2sqlite3.8
-#usr/share/man/man8/asterisk.8
-#usr/share/man/man8/astgenkey.8
-#usr/share/man/man8/autosupport.8
-#usr/share/man/man8/safe_asterisk.8
-#var/ipfire/asterisk
-var/ipfire/asterisk/acl.conf
-var/ipfire/asterisk/adsi.conf
-var/ipfire/asterisk/agents.conf
-var/ipfire/asterisk/alarmreceiver.conf
-var/ipfire/asterisk/alsa.conf
-var/ipfire/asterisk/amd.conf
-var/ipfire/asterisk/app_mysql.conf
-var/ipfire/asterisk/app_skel.conf
-var/ipfire/asterisk/ari.conf
-var/ipfire/asterisk/ast_debug_tools.conf
-var/ipfire/asterisk/asterisk.adsi
-var/ipfire/asterisk/asterisk.conf
-var/ipfire/asterisk/asterisk.logrotate
-var/ipfire/asterisk/calendar.conf
-var/ipfire/asterisk/ccss.conf
-var/ipfire/asterisk/cdr.conf
-var/ipfire/asterisk/cdr_adaptive_odbc.conf
-var/ipfire/asterisk/cdr_custom.conf
-var/ipfire/asterisk/cdr_manager.conf
-var/ipfire/asterisk/cdr_mysql.conf
-var/ipfire/asterisk/cdr_odbc.conf
-var/ipfire/asterisk/cdr_pgsql.conf
-var/ipfire/asterisk/cdr_sqlite3_custom.conf
-var/ipfire/asterisk/cdr_syslog.conf
-var/ipfire/asterisk/cdr_tds.conf
-var/ipfire/asterisk/cel.conf
-var/ipfire/asterisk/cel_custom.conf
-var/ipfire/asterisk/cel_odbc.conf
-var/ipfire/asterisk/cel_pgsql.conf
-var/ipfire/asterisk/cel_sqlite3_custom.conf
-var/ipfire/asterisk/cel_tds.conf
-var/ipfire/asterisk/chan_dahdi.conf
-var/ipfire/asterisk/chan_mobile.conf
-var/ipfire/asterisk/cli.conf
-var/ipfire/asterisk/cli_aliases.conf
-var/ipfire/asterisk/cli_permissions.conf
-var/ipfire/asterisk/codecs.conf
-var/ipfire/asterisk/confbridge.conf
-var/ipfire/asterisk/config_test.conf
-var/ipfire/asterisk/console.conf
-var/ipfire/asterisk/dbsep.conf
-var/ipfire/asterisk/dnsmgr.conf
-var/ipfire/asterisk/dsp.conf
-var/ipfire/asterisk/dundi.conf
-var/ipfire/asterisk/enum.conf
-var/ipfire/asterisk/extconfig.conf
-var/ipfire/asterisk/extensions.ael
-var/ipfire/asterisk/extensions.conf
-var/ipfire/asterisk/extensions.lua
-var/ipfire/asterisk/extensions_minivm.conf
-var/ipfire/asterisk/features.conf
-var/ipfire/asterisk/festival.conf
-var/ipfire/asterisk/followme.conf
-var/ipfire/asterisk/func_odbc.conf
-var/ipfire/asterisk/hep.conf
-var/ipfire/asterisk/http.conf
-var/ipfire/asterisk/iax.conf
-var/ipfire/asterisk/iaxprov.conf
-var/ipfire/asterisk/indications.conf
-var/ipfire/asterisk/logger.conf
-var/ipfire/asterisk/manager.conf
-var/ipfire/asterisk/meetme.conf
-var/ipfire/asterisk/mgcp.conf
-var/ipfire/asterisk/minivm.conf
-var/ipfire/asterisk/misdn.conf
-var/ipfire/asterisk/modules.conf
-var/ipfire/asterisk/motif.conf
-var/ipfire/asterisk/musiconhold.conf
-var/ipfire/asterisk/muted.conf
-var/ipfire/asterisk/ooh323.conf
-var/ipfire/asterisk/osp.conf
-var/ipfire/asterisk/oss.conf
-var/ipfire/asterisk/phone.conf
-var/ipfire/asterisk/phoneprov.conf
-var/ipfire/asterisk/pjproject.conf
-var/ipfire/asterisk/pjsip.conf
-var/ipfire/asterisk/pjsip_notify.conf
-var/ipfire/asterisk/pjsip_wizard.conf
-var/ipfire/asterisk/queuerules.conf
-var/ipfire/asterisk/queues.conf
-var/ipfire/asterisk/res_config_mysql.conf
-var/ipfire/asterisk/res_config_sqlite.conf
-var/ipfire/asterisk/res_config_sqlite3.conf
-var/ipfire/asterisk/res_corosync.conf
-var/ipfire/asterisk/res_curl.conf
-var/ipfire/asterisk/res_fax.conf
-var/ipfire/asterisk/res_ldap.conf
-var/ipfire/asterisk/res_odbc.conf
-var/ipfire/asterisk/res_parking.conf
-var/ipfire/asterisk/res_pgsql.conf
-var/ipfire/asterisk/res_pktccops.conf
-var/ipfire/asterisk/res_snmp.conf
-var/ipfire/asterisk/res_stun_monitor.conf
-var/ipfire/asterisk/rtp.conf
-var/ipfire/asterisk/say.conf
-var/ipfire/asterisk/sip.conf
-var/ipfire/asterisk/sip_notify.conf
-var/ipfire/asterisk/skinny.conf
-var/ipfire/asterisk/sla.conf
-var/ipfire/asterisk/smdi.conf
-var/ipfire/asterisk/sorcery.conf
-var/ipfire/asterisk/ss7.timers
-var/ipfire/asterisk/stasis.conf
-var/ipfire/asterisk/statsd.conf
-var/ipfire/asterisk/telcordia-1.adsi
-var/ipfire/asterisk/test_sorcery.conf
-var/ipfire/asterisk/udptl.conf
-var/ipfire/asterisk/unistim.conf
-var/ipfire/asterisk/users.conf
-var/ipfire/asterisk/voicemail.conf
-var/ipfire/asterisk/vpb.conf
-var/ipfire/asterisk/xmpp.conf
-var/ipfire/backup/addons/includes/asterisk
-#var/lib/asterisk
-var/lib/asterisk/agi-bin
-#var/lib/asterisk/documentation
-var/lib/asterisk/documentation/appdocsxml.dtd
-var/lib/asterisk/documentation/appdocsxml.xslt
-var/lib/asterisk/documentation/core-en_US.xml
-var/lib/asterisk/documentation/thirdparty
-#var/lib/asterisk/firmware
-var/lib/asterisk/firmware/iax
-#var/lib/asterisk/images
-#var/lib/asterisk/images/asterisk-intro.jpg
-#var/lib/asterisk/images/kpad2.jpg
-var/lib/asterisk/keys
-#var/lib/asterisk/moh
-var/lib/asterisk/moh/.asterisk-moh-opsound-gsm-2.03
-var/lib/asterisk/moh/.asterisk-moh-opsound-wav-2.03
-var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-gsm
-var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-wav
-var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-gsm
-var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-wav
-var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-gsm
-var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-wav
-var/lib/asterisk/moh/macroform-cold_day.gsm
-var/lib/asterisk/moh/macroform-cold_day.wav
-var/lib/asterisk/moh/macroform-robot_dity.gsm
-var/lib/asterisk/moh/macroform-robot_dity.wav
-var/lib/asterisk/moh/macroform-the_simplicity.gsm
-var/lib/asterisk/moh/macroform-the_simplicity.wav
-var/lib/asterisk/moh/manolo_camp-morning_coffee.gsm
-var/lib/asterisk/moh/manolo_camp-morning_coffee.wav
-var/lib/asterisk/moh/reno_project-system.gsm
-var/lib/asterisk/moh/reno_project-system.wav
-var/lib/asterisk/phoneprov
-var/lib/asterisk/phoneprov/000000000000-directory.xml
-var/lib/asterisk/phoneprov/000000000000-phone.cfg
-var/lib/asterisk/phoneprov/000000000000.cfg
-var/lib/asterisk/phoneprov/polycom.xml
-var/lib/asterisk/phoneprov/polycom_line.xml
-var/lib/asterisk/phoneprov/snom-mac.xml
-var/lib/asterisk/rest-api
-#var/lib/asterisk/rest-api/applications.json
-#var/lib/asterisk/rest-api/asterisk.json
-#var/lib/asterisk/rest-api/bridges.json
-#var/lib/asterisk/rest-api/channels.json
-#var/lib/asterisk/rest-api/deviceStates.json
-#var/lib/asterisk/rest-api/endpoints.json
-#var/lib/asterisk/rest-api/events.json
-#var/lib/asterisk/rest-api/mailboxes.json
-#var/lib/asterisk/rest-api/playbacks.json
-#var/lib/asterisk/rest-api/recordings.json
-#var/lib/asterisk/rest-api/resources.json
-#var/lib/asterisk/rest-api/sounds.json
-var/lib/asterisk/scripts
-#var/lib/asterisk/scripts/ast_coredumper
-#var/lib/asterisk/scripts/ast_logescalator
-#var/lib/asterisk/scripts/ast_loggrabber
-#var/lib/asterisk/scripts/refcounter.py
-#var/lib/asterisk/sounds
-#var/lib/asterisk/sounds/de
-var/lib/asterisk/sounds/de/.DS_Store
-var/lib/asterisk/sounds/de/agent-alreadyon.gsm
-var/lib/asterisk/sounds/de/agent-incorrect.gsm
-var/lib/asterisk/sounds/de/agent-loggedoff.gsm
-var/lib/asterisk/sounds/de/agent-loginok.gsm
-var/lib/asterisk/sounds/de/agent-newlocation.gsm
-var/lib/asterisk/sounds/de/agent-pass.gsm
-var/lib/asterisk/sounds/de/agent-user.gsm
-var/lib/asterisk/sounds/de/auth-incorrect.gsm
-var/lib/asterisk/sounds/de/auth-thankyou.gsm
-var/lib/asterisk/sounds/de/beep.gsm
-var/lib/asterisk/sounds/de/beeperr.gsm
-var/lib/asterisk/sounds/de/conf-adminmenu.gsm
-var/lib/asterisk/sounds/de/conf-enteringno.gsm
-var/lib/asterisk/sounds/de/conf-errormenu.gsm
-var/lib/asterisk/sounds/de/conf-getchannel.gsm
-var/lib/asterisk/sounds/de/conf-getconfno.gsm
-var/lib/asterisk/sounds/de/conf-getpin.gsm
-var/lib/asterisk/sounds/de/conf-hasjoin.gsm
-var/lib/asterisk/sounds/de/conf-hasleft.gsm
-var/lib/asterisk/sounds/de/conf-invalid.gsm
-var/lib/asterisk/sounds/de/conf-invalidpin.gsm
-var/lib/asterisk/sounds/de/conf-kicked.gsm
-var/lib/asterisk/sounds/de/conf-leaderhasleft.gsm
-var/lib/asterisk/sounds/de/conf-locked.gsm
-var/lib/asterisk/sounds/de/conf-lockednow.gsm
-var/lib/asterisk/sounds/de/conf-muted.gsm
-var/lib/asterisk/sounds/de/conf-noempty.gsm
-var/lib/asterisk/sounds/de/conf-onlyone.gsm
-var/lib/asterisk/sounds/de/conf-onlyperson.gsm
-var/lib/asterisk/sounds/de/conf-otherinparty.gsm
-var/lib/asterisk/sounds/de/conf-placeintoconf.gsm
-var/lib/asterisk/sounds/de/conf-thereare.gsm
-var/lib/asterisk/sounds/de/conf-unlockednow.gsm
-var/lib/asterisk/sounds/de/conf-unmuted.gsm
-var/lib/asterisk/sounds/de/conf-usermenu.gsm
-var/lib/asterisk/sounds/de/conf-userswilljoin.gsm
-var/lib/asterisk/sounds/de/conf-userwilljoin.gsm
-var/lib/asterisk/sounds/de/conf-waitforleader.gsm
-var/lib/asterisk/sounds/de/demo-abouttotry.gsm
-var/lib/asterisk/sounds/de/demo-congrats.gsm
-var/lib/asterisk/sounds/de/demo-echodone.gsm
-var/lib/asterisk/sounds/de/demo-echotest.gsm
-var/lib/asterisk/sounds/de/demo-enterkeywords.gsm
-var/lib/asterisk/sounds/de/demo-instruct.gsm
-var/lib/asterisk/sounds/de/demo-moreinfo.gsm
-var/lib/asterisk/sounds/de/demo-nogo.gsm
-var/lib/asterisk/sounds/de/demo-nomatch.gsm
-var/lib/asterisk/sounds/de/demo-thanks.gsm
-var/lib/asterisk/sounds/de/dir-instr.gsm
-var/lib/asterisk/sounds/de/dir-intro-fn.gsm
-var/lib/asterisk/sounds/de/dir-intro.gsm
-var/lib/asterisk/sounds/de/dir-nomatch.gsm
-var/lib/asterisk/sounds/de/dir-nomore.gsm
-var/lib/asterisk/sounds/de/dollars.gsm
-var/lib/asterisk/sounds/de/hello-world.gsm
-var/lib/asterisk/sounds/de/hours.gsm
-var/lib/asterisk/sounds/de/invalid.gsm
-var/lib/asterisk/sounds/de/minutes.gsm
-var/lib/asterisk/sounds/de/pbx-invalid.gsm
-var/lib/asterisk/sounds/de/pbx-invalidpark.gsm
-var/lib/asterisk/sounds/de/pbx-transfer.gsm
-var/lib/asterisk/sounds/de/priv-callee-options.gsm
-var/lib/asterisk/sounds/de/priv-callpending.gsm
-var/lib/asterisk/sounds/de/priv-introsaved.gsm
-var/lib/asterisk/sounds/de/priv-recordintro.gsm
-var/lib/asterisk/sounds/de/privacy-incorrect.gsm
-var/lib/asterisk/sounds/de/privacy-prompt.gsm
-var/lib/asterisk/sounds/de/privacy-thankyou.gsm
-var/lib/asterisk/sounds/de/privacy-unident.gsm
-var/lib/asterisk/sounds/de/queue-callswaiting.gsm
-var/lib/asterisk/sounds/de/queue-holdtime.gsm
-var/lib/asterisk/sounds/de/queue-less-than.gsm
-var/lib/asterisk/sounds/de/queue-minutes.gsm
-var/lib/asterisk/sounds/de/queue-periodic-announce.gsm
-var/lib/asterisk/sounds/de/queue-reporthold.gsm
-var/lib/asterisk/sounds/de/queue-seconds.gsm
-var/lib/asterisk/sounds/de/queue-thankyou.gsm
-var/lib/asterisk/sounds/de/queue-thereare.gsm
-var/lib/asterisk/sounds/de/queue-youarenext.gsm
-var/lib/asterisk/sounds/de/screen-callee-options.gsm
-var/lib/asterisk/sounds/de/seconds.gsm
-var/lib/asterisk/sounds/de/spy-agent.gsm
-var/lib/asterisk/sounds/de/spy-h323.gsm
-var/lib/asterisk/sounds/de/spy-iax.gsm
-var/lib/asterisk/sounds/de/spy-iax2.gsm
-var/lib/asterisk/sounds/de/spy-mgcp.gsm
-var/lib/asterisk/sounds/de/spy-sip.gsm
-var/lib/asterisk/sounds/de/spy-skinny.gsm
-var/lib/asterisk/sounds/de/spy-zap.gsm
-var/lib/asterisk/sounds/de/ss-noservice.gsm
-var/lib/asterisk/sounds/de/transfer.gsm
-var/lib/asterisk/sounds/de/tt-allbusy.gsm
-var/lib/asterisk/sounds/de/tt-monkeys.gsm
-var/lib/asterisk/sounds/de/tt-monkeysintro.gsm
-var/lib/asterisk/sounds/de/tt-somethingwrong.gsm
-var/lib/asterisk/sounds/de/tt-weasels.gsm
-var/lib/asterisk/sounds/de/vm-Cust1.gsm
-var/lib/asterisk/sounds/de/vm-Cust2.gsm
-var/lib/asterisk/sounds/de/vm-Cust3.gsm
-var/lib/asterisk/sounds/de/vm-Cust4.gsm
-var/lib/asterisk/sounds/de/vm-Cust5.gsm
-var/lib/asterisk/sounds/de/vm-Family.gsm
-var/lib/asterisk/sounds/de/vm-Friends.gsm
-var/lib/asterisk/sounds/de/vm-INBOX.gsm
-var/lib/asterisk/sounds/de/vm-Old.gsm
-var/lib/asterisk/sounds/de/vm-Work.gsm
-var/lib/asterisk/sounds/de/vm-advopts.gsm
-var/lib/asterisk/sounds/de/vm-and.gsm
-var/lib/asterisk/sounds/de/vm-calldiffnum.gsm
-var/lib/asterisk/sounds/de/vm-changeto.gsm
-var/lib/asterisk/sounds/de/vm-delete.gsm
-var/lib/asterisk/sounds/de/vm-deleted.gsm
-var/lib/asterisk/sounds/de/vm-dialout.gsm
-var/lib/asterisk/sounds/de/vm-enter-num-to-call.gsm
-var/lib/asterisk/sounds/de/vm-extension.gsm
-var/lib/asterisk/sounds/de/vm-first.gsm
-var/lib/asterisk/sounds/de/vm-for.gsm
-var/lib/asterisk/sounds/de/vm-forward.gsm
-var/lib/asterisk/sounds/de/vm-forwardoptions.gsm
-var/lib/asterisk/sounds/de/vm-from-extension.gsm
-var/lib/asterisk/sounds/de/vm-from-phonenumber.gsm
-var/lib/asterisk/sounds/de/vm-from.gsm
-var/lib/asterisk/sounds/de/vm-goodbye.gsm
-var/lib/asterisk/sounds/de/vm-helpexit.gsm
-var/lib/asterisk/sounds/de/vm-incorrect-mailbox.gsm
-var/lib/asterisk/sounds/de/vm-incorrect.gsm
-var/lib/asterisk/sounds/de/vm-instructions.gsm
-var/lib/asterisk/sounds/de/vm-intro.gsm
-var/lib/asterisk/sounds/de/vm-isonphone.gsm
-var/lib/asterisk/sounds/de/vm-isunavail.gsm
-var/lib/asterisk/sounds/de/vm-last.gsm
-var/lib/asterisk/sounds/de/vm-leavemsg.gsm
-var/lib/asterisk/sounds/de/vm-login.gsm
-var/lib/asterisk/sounds/de/vm-mailboxfull.gsm
-var/lib/asterisk/sounds/de/vm-message.gsm
-var/lib/asterisk/sounds/de/vm-messages.gsm
-var/lib/asterisk/sounds/de/vm-minutes.gsm
-var/lib/asterisk/sounds/de/vm-mismatch.gsm
-var/lib/asterisk/sounds/de/vm-msginstruct.gsm
-var/lib/asterisk/sounds/de/vm-msgsaved.gsm
-var/lib/asterisk/sounds/de/vm-newpassword.gsm
-var/lib/asterisk/sounds/de/vm-newuser.gsm
-var/lib/asterisk/sounds/de/vm-next.gsm
-var/lib/asterisk/sounds/de/vm-no.gsm
-var/lib/asterisk/sounds/de/vm-nobodyavail.gsm
-var/lib/asterisk/sounds/de/vm-nobox.gsm
-var/lib/asterisk/sounds/de/vm-nomore.gsm
-var/lib/asterisk/sounds/de/vm-nonumber.gsm
-var/lib/asterisk/sounds/de/vm-num-i-have.gsm
-var/lib/asterisk/sounds/de/vm-onefor.gsm
-var/lib/asterisk/sounds/de/vm-options.gsm
-var/lib/asterisk/sounds/de/vm-opts.gsm
-var/lib/asterisk/sounds/de/vm-passchanged.gsm
-var/lib/asterisk/sounds/de/vm-password.gsm
-var/lib/asterisk/sounds/de/vm-press.gsm
-var/lib/asterisk/sounds/de/vm-prev.gsm
-var/lib/asterisk/sounds/de/vm-reachoper.gsm
-var/lib/asterisk/sounds/de/vm-rec-busy.gsm
-var/lib/asterisk/sounds/de/vm-rec-name.gsm
-var/lib/asterisk/sounds/de/vm-rec-temp.gsm
-var/lib/asterisk/sounds/de/vm-rec-unv.gsm
-var/lib/asterisk/sounds/de/vm-received.gsm
-var/lib/asterisk/sounds/de/vm-reenterpassword.gsm
-var/lib/asterisk/sounds/de/vm-repeat.gsm
-var/lib/asterisk/sounds/de/vm-review.gsm
-var/lib/asterisk/sounds/de/vm-saved.gsm
-var/lib/asterisk/sounds/de/vm-savedto.gsm
-var/lib/asterisk/sounds/de/vm-savefolder.gsm
-var/lib/asterisk/sounds/de/vm-savemessage.gsm
-var/lib/asterisk/sounds/de/vm-saveoper.gsm
-var/lib/asterisk/sounds/de/vm-sorry.gsm
-var/lib/asterisk/sounds/de/vm-star-cancel.gsm
-var/lib/asterisk/sounds/de/vm-starmain.gsm
-var/lib/asterisk/sounds/de/vm-tempgreetactive.gsm
-var/lib/asterisk/sounds/de/vm-tempgreeting.gsm
-var/lib/asterisk/sounds/de/vm-tempgreeting2.gsm
-var/lib/asterisk/sounds/de/vm-tempremoved.gsm
-var/lib/asterisk/sounds/de/vm-then-pound.gsm
-var/lib/asterisk/sounds/de/vm-theperson.gsm
-var/lib/asterisk/sounds/de/vm-tocallback.gsm
-var/lib/asterisk/sounds/de/vm-tocallnum.gsm
-var/lib/asterisk/sounds/de/vm-tocancel.gsm
-var/lib/asterisk/sounds/de/vm-tocancelmsg.gsm
-var/lib/asterisk/sounds/de/vm-toenternumber.gsm
-var/lib/asterisk/sounds/de/vm-toforward.gsm
-var/lib/asterisk/sounds/de/vm-tohearenv.gsm
-var/lib/asterisk/sounds/de/vm-tomakecall.gsm
-var/lib/asterisk/sounds/de/vm-tooshort.gsm
-var/lib/asterisk/sounds/de/vm-toreply.gsm
-var/lib/asterisk/sounds/de/vm-torerecord.gsm
-var/lib/asterisk/sounds/de/vm-undelete.gsm
-var/lib/asterisk/sounds/de/vm-undeleted.gsm
-var/lib/asterisk/sounds/de/vm-unknown-caller.gsm
-var/lib/asterisk/sounds/de/vm-whichbox.gsm
-var/lib/asterisk/sounds/de/vm-youhave.gsm
-#var/lib/asterisk/sounds/dictate
-#var/lib/asterisk/sounds/dictate/de
-var/lib/asterisk/sounds/dictate/de/both_help.gsm
-var/lib/asterisk/sounds/dictate/de/enter_filename.gsm
-var/lib/asterisk/sounds/dictate/de/forhelp.gsm
-var/lib/asterisk/sounds/dictate/de/pause.gsm
-var/lib/asterisk/sounds/dictate/de/paused.gsm
-var/lib/asterisk/sounds/dictate/de/play_help.gsm
-var/lib/asterisk/sounds/dictate/de/playback.gsm
-var/lib/asterisk/sounds/dictate/de/playback_mode.gsm
-var/lib/asterisk/sounds/dictate/de/record.gsm
-var/lib/asterisk/sounds/dictate/de/record_help.gsm
-var/lib/asterisk/sounds/dictate/de/record_mode.gsm
-var/lib/asterisk/sounds/dictate/de/truncating_audio.gsm
-#var/lib/asterisk/sounds/digits
-#var/lib/asterisk/sounds/digits/de
-var/lib/asterisk/sounds/digits/de/0.gsm
-var/lib/asterisk/sounds/digits/de/1.gsm
-var/lib/asterisk/sounds/digits/de/10.gsm
-var/lib/asterisk/sounds/digits/de/11.gsm
-var/lib/asterisk/sounds/digits/de/12.gsm
-var/lib/asterisk/sounds/digits/de/13.gsm
-var/lib/asterisk/sounds/digits/de/14.gsm
-var/lib/asterisk/sounds/digits/de/15.gsm
-var/lib/asterisk/sounds/digits/de/16.gsm
-var/lib/asterisk/sounds/digits/de/17.gsm
-var/lib/asterisk/sounds/digits/de/18.gsm
-var/lib/asterisk/sounds/digits/de/19.gsm
-var/lib/asterisk/sounds/digits/de/1F.gsm
-var/lib/asterisk/sounds/digits/de/2.gsm
-var/lib/asterisk/sounds/digits/de/20.gsm
-var/lib/asterisk/sounds/digits/de/3.gsm
-var/lib/asterisk/sounds/digits/de/30.gsm
-var/lib/asterisk/sounds/digits/de/4.gsm
-var/lib/asterisk/sounds/digits/de/40.gsm
-var/lib/asterisk/sounds/digits/de/5.gsm
-var/lib/asterisk/sounds/digits/de/50.gsm
-var/lib/asterisk/sounds/digits/de/6.gsm
-var/lib/asterisk/sounds/digits/de/60.gsm
-var/lib/asterisk/sounds/digits/de/7.gsm
-var/lib/asterisk/sounds/digits/de/70.gsm
-var/lib/asterisk/sounds/digits/de/8.gsm
-var/lib/asterisk/sounds/digits/de/80.gsm
-var/lib/asterisk/sounds/digits/de/9.gsm
-var/lib/asterisk/sounds/digits/de/90.gsm
-var/lib/asterisk/sounds/digits/de/a-m.gsm
-var/lib/asterisk/sounds/digits/de/day-0.gsm
-var/lib/asterisk/sounds/digits/de/day-1.gsm
-var/lib/asterisk/sounds/digits/de/day-2.gsm
-var/lib/asterisk/sounds/digits/de/day-3.gsm
-var/lib/asterisk/sounds/digits/de/day-4.gsm
-var/lib/asterisk/sounds/digits/de/day-5.gsm
-var/lib/asterisk/sounds/digits/de/day-6.gsm
-var/lib/asterisk/sounds/digits/de/h-1.gsm
-var/lib/asterisk/sounds/digits/de/h-10.gsm
-var/lib/asterisk/sounds/digits/de/h-11.gsm
-var/lib/asterisk/sounds/digits/de/h-12.gsm
-var/lib/asterisk/sounds/digits/de/h-13.gsm
-var/lib/asterisk/sounds/digits/de/h-14.gsm
-var/lib/asterisk/sounds/digits/de/h-15.gsm
-var/lib/asterisk/sounds/digits/de/h-16.gsm
-var/lib/asterisk/sounds/digits/de/h-17.gsm
-var/lib/asterisk/sounds/digits/de/h-18.gsm
-var/lib/asterisk/sounds/digits/de/h-19.gsm
-var/lib/asterisk/sounds/digits/de/h-2.gsm
-var/lib/asterisk/sounds/digits/de/h-20.gsm
-var/lib/asterisk/sounds/digits/de/h-3.gsm
-var/lib/asterisk/sounds/digits/de/h-30.gsm
-var/lib/asterisk/sounds/digits/de/h-4.gsm
-var/lib/asterisk/sounds/digits/de/h-5.gsm
-var/lib/asterisk/sounds/digits/de/h-6.gsm
-var/lib/asterisk/sounds/digits/de/h-7.gsm
-var/lib/asterisk/sounds/digits/de/h-8.gsm
-var/lib/asterisk/sounds/digits/de/h-9.gsm
-var/lib/asterisk/sounds/digits/de/hundred.gsm
-var/lib/asterisk/sounds/digits/de/million.gsm
-var/lib/asterisk/sounds/digits/de/minus.gsm
-var/lib/asterisk/sounds/digits/de/mon-0.gsm
-var/lib/asterisk/sounds/digits/de/mon-1.gsm
-var/lib/asterisk/sounds/digits/de/mon-10.gsm
-var/lib/asterisk/sounds/digits/de/mon-11.gsm
-var/lib/asterisk/sounds/digits/de/mon-2.gsm
-var/lib/asterisk/sounds/digits/de/mon-3.gsm
-var/lib/asterisk/sounds/digits/de/mon-4.gsm
-var/lib/asterisk/sounds/digits/de/mon-5.gsm
-var/lib/asterisk/sounds/digits/de/mon-6.gsm
-var/lib/asterisk/sounds/digits/de/mon-7.gsm
-var/lib/asterisk/sounds/digits/de/mon-8.gsm
-var/lib/asterisk/sounds/digits/de/mon-9.gsm
-var/lib/asterisk/sounds/digits/de/oclock.gsm
-var/lib/asterisk/sounds/digits/de/oh.gsm
-var/lib/asterisk/sounds/digits/de/p-m.gsm
-var/lib/asterisk/sounds/digits/de/pound.gsm
-var/lib/asterisk/sounds/digits/de/star.gsm
-var/lib/asterisk/sounds/digits/de/thousand.gsm
-var/lib/asterisk/sounds/digits/de/today.gsm
-var/lib/asterisk/sounds/digits/de/tomorrow.gsm
-var/lib/asterisk/sounds/digits/de/xh-10x.gsm
-var/lib/asterisk/sounds/digits/de/xh-11x.gsm
-var/lib/asterisk/sounds/digits/de/xh-12x.gsm
-var/lib/asterisk/sounds/digits/de/xh-13x.gsm
-var/lib/asterisk/sounds/digits/de/xh-14x.gsm
-var/lib/asterisk/sounds/digits/de/xh-15x.gsm
-var/lib/asterisk/sounds/digits/de/xh-16x.gsm
-var/lib/asterisk/sounds/digits/de/xh-17x.gsm
-var/lib/asterisk/sounds/digits/de/xh-18x.gsm
-var/lib/asterisk/sounds/digits/de/xh-19x.gsm
-var/lib/asterisk/sounds/digits/de/xh-1x.gsm
-var/lib/asterisk/sounds/digits/de/xh-20x.gsm
-var/lib/asterisk/sounds/digits/de/xh-2x.gsm
-var/lib/asterisk/sounds/digits/de/xh-30x.gsm
-var/lib/asterisk/sounds/digits/de/xh-3x.gsm
-var/lib/asterisk/sounds/digits/de/xh-4x.gsm
-var/lib/asterisk/sounds/digits/de/xh-5x.gsm
-var/lib/asterisk/sounds/digits/de/xh-6x.gsm
-var/lib/asterisk/sounds/digits/de/xh-7x.gsm
-var/lib/asterisk/sounds/digits/de/xh-8x.gsm
-var/lib/asterisk/sounds/digits/de/xh-9x.gsm
-var/lib/asterisk/sounds/digits/de/yesterday.gsm
-var/lib/asterisk/sounds/en
-#var/lib/asterisk/sounds/en/.asterisk-core-sounds-en-gsm-1.6
-#var/lib/asterisk/sounds/en/.asterisk-extra-sounds-en-gsm-1.5.1
-var/lib/asterisk/sounds/en/1-for-am-2-for-pm.gsm
-var/lib/asterisk/sounds/en/1-yes-2-no.gsm
-#var/lib/asterisk/sounds/en/CHANGES-asterisk-core-en-1.6
-#var/lib/asterisk/sounds/en/CHANGES-asterisk-extra-en-1.5.1
-#var/lib/asterisk/sounds/en/CREDITS-asterisk-core-en-1.6
-#var/lib/asterisk/sounds/en/CREDITS-asterisk-extra-en-1.5.1
-#var/lib/asterisk/sounds/en/LICENSE-asterisk-core-en-1.6
-#var/lib/asterisk/sounds/en/LICENSE-asterisk-extra-en-1.5.1
-var/lib/asterisk/sounds/en/OfficeSpace.gsm
-var/lib/asterisk/sounds/en/Randulo-allison.gsm
-var/lib/asterisk/sounds/en/SIP_Test_Failure.gsm
-var/lib/asterisk/sounds/en/SIP_Test_Success.gsm
-var/lib/asterisk/sounds/en/T-changed-to.gsm
-var/lib/asterisk/sounds/en/T-is-not-available.gsm
-var/lib/asterisk/sounds/en/T-to-disable-ancmnt.gsm
-var/lib/asterisk/sounds/en/T-to-enable-ancmnt.gsm
-var/lib/asterisk/sounds/en/T-to-hear-cur-ancmnt.gsm
-var/lib/asterisk/sounds/en/T-to-leave-msg.gsm
-var/lib/asterisk/sounds/en/T-to-reach-main-office.gsm
-var/lib/asterisk/sounds/en/T-to-rec-ancmnt.gsm
-var/lib/asterisk/sounds/en/T-to-rtrn-to-main-menu.gsm
-var/lib/asterisk/sounds/en/a-charge-for-this-svc.gsm
-var/lib/asterisk/sounds/en/a-collect-charge-of.gsm
-var/lib/asterisk/sounds/en/a-collect-charge.gsm
-var/lib/asterisk/sounds/en/a-connect-charge-of.gsm
-var/lib/asterisk/sounds/en/a-connect-charge.gsm
-var/lib/asterisk/sounds/en/abandon-all-hope.gsm
-var/lib/asterisk/sounds/en/abandons.gsm
-var/lib/asterisk/sounds/en/academic-support.gsm
-var/lib/asterisk/sounds/en/access-code.gsm
-var/lib/asterisk/sounds/en/access-denied.gsm
-var/lib/asterisk/sounds/en/access-granted.gsm
-var/lib/asterisk/sounds/en/accessible-through-system.gsm
-var/lib/asterisk/sounds/en/account-balance-is.gsm
-var/lib/asterisk/sounds/en/account_number.gsm
-var/lib/asterisk/sounds/en/accounting.gsm
-var/lib/asterisk/sounds/en/accounts-payable.gsm
-var/lib/asterisk/sounds/en/accounts-receivable.gsm
-var/lib/asterisk/sounds/en/activated.gsm
-var/lib/asterisk/sounds/en/added-to.gsm
-var/lib/asterisk/sounds/en/added.gsm
-var/lib/asterisk/sounds/en/address.gsm
-var/lib/asterisk/sounds/en/administration.gsm
-var/lib/asterisk/sounds/en/advised-to-seek-shelter.gsm
-var/lib/asterisk/sounds/en/after-the-tone.gsm
-var/lib/asterisk/sounds/en/after_tone.gsm
-var/lib/asterisk/sounds/en/afternoon.gsm
-var/lib/asterisk/sounds/en/agent-alreadyon.gsm
-var/lib/asterisk/sounds/en/agent-incorrect.gsm
-var/lib/asterisk/sounds/en/agent-loggedoff.gsm
-var/lib/asterisk/sounds/en/agent-loginok.gsm
-var/lib/asterisk/sounds/en/agent-newlocation.gsm
-var/lib/asterisk/sounds/en/agent-pass.gsm
-var/lib/asterisk/sounds/en/agent-user.gsm
-var/lib/asterisk/sounds/en/airport.gsm
-var/lib/asterisk/sounds/en/alabama.gsm
-var/lib/asterisk/sounds/en/alaska.gsm
-var/lib/asterisk/sounds/en/albuquerque.gsm
-var/lib/asterisk/sounds/en/alert.gsm
-var/lib/asterisk/sounds/en/all-circuits-busy-now.gsm
-var/lib/asterisk/sounds/en/all-outgoing-lines-unavailable.gsm
-var/lib/asterisk/sounds/en/all-reps-busy.gsm
-var/lib/asterisk/sounds/en/all-your-base.gsm
-var/lib/asterisk/sounds/en/altitude.gsm
-var/lib/asterisk/sounds/en/ampersand.gsm
-var/lib/asterisk/sounds/en/an-error-has-occurred.gsm
-var/lib/asterisk/sounds/en/and-area-code.gsm
-var/lib/asterisk/sounds/en/and-or.gsm
-var/lib/asterisk/sounds/en/and-prs-pound-whn-finished.gsm
-var/lib/asterisk/sounds/en/and.gsm
-var/lib/asterisk/sounds/en/andnowstandby.gsm
-var/lib/asterisk/sounds/en/another-time.gsm
-var/lib/asterisk/sounds/en/approaching.gsm
-var/lib/asterisk/sounds/en/approximately.gsm
-var/lib/asterisk/sounds/en/are-you-still-there.gsm
-var/lib/asterisk/sounds/en/are-you-still-there2.gsm
-var/lib/asterisk/sounds/en/arizona.gsm
-var/lib/asterisk/sounds/en/arkansas.gsm
-var/lib/asterisk/sounds/en/arlington.gsm
-var/lib/asterisk/sounds/en/ascending-2tone.gsm
-var/lib/asterisk/sounds/en/astcc-account-balance-is.gsm
-var/lib/asterisk/sounds/en/astcc-account-number-invalid.gsm
-var/lib/asterisk/sounds/en/astcc-balance-of-account-is.gsm
-var/lib/asterisk/sounds/en/astcc-card-number-invalid.gsm
-var/lib/asterisk/sounds/en/astcc-digit-account-number.gsm
-var/lib/asterisk/sounds/en/astcc-followed-by-the-hash-key.gsm
-var/lib/asterisk/sounds/en/astcc-followed-by-the-pound-key.gsm
-var/lib/asterisk/sounds/en/astcc-login12pound.gsm
-var/lib/asterisk/sounds/en/astcc-please-enter-your.gsm
-var/lib/asterisk/sounds/en/astcc-skipping-any-punctuation.gsm
-var/lib/asterisk/sounds/en/asterisk-friend.gsm
-var/lib/asterisk/sounds/en/at-any-time.gsm
-var/lib/asterisk/sounds/en/at-customers-request.gsm
-var/lib/asterisk/sounds/en/at-following-number.gsm
-var/lib/asterisk/sounds/en/at-sign.gsm
-var/lib/asterisk/sounds/en/at-tone-time-exactly.gsm
-var/lib/asterisk/sounds/en/at_tone.gsm
-var/lib/asterisk/sounds/en/athletics.gsm
-var/lib/asterisk/sounds/en/atlanta.gsm
-var/lib/asterisk/sounds/en/atlantic.gsm
-var/lib/asterisk/sounds/en/attention-required.gsm
-var/lib/asterisk/sounds/en/auditing.gsm
-var/lib/asterisk/sounds/en/austin.gsm
-var/lib/asterisk/sounds/en/auth-incorrect.gsm
-var/lib/asterisk/sounds/en/auth-thankyou.gsm
-var/lib/asterisk/sounds/en/available-options.gsm
-var/lib/asterisk/sounds/en/available.gsm
-var/lib/asterisk/sounds/en/avg-speed-answer.gsm
-var/lib/asterisk/sounds/en/away-naughty-boy.gsm
-var/lib/asterisk/sounds/en/away-naughty-girl.gsm
-var/lib/asterisk/sounds/en/awkward.gsm
-var/lib/asterisk/sounds/en/backslash.gsm
-var/lib/asterisk/sounds/en/bad.gsm
-var/lib/asterisk/sounds/en/baltimore.gsm
-var/lib/asterisk/sounds/en/bar.gsm
-var/lib/asterisk/sounds/en/barn.gsm
-var/lib/asterisk/sounds/en/barns.gsm
-var/lib/asterisk/sounds/en/barometric.gsm
-var/lib/asterisk/sounds/en/basic-pbx-ivr-main.gsm
-var/lib/asterisk/sounds/en/bearing.gsm
-var/lib/asterisk/sounds/en/beaufort.gsm
-var/lib/asterisk/sounds/en/because-paranoid.gsm
-var/lib/asterisk/sounds/en/beep.gsm
-var/lib/asterisk/sounds/en/beeperr.gsm
-var/lib/asterisk/sounds/en/before-the-number.gsm
-var/lib/asterisk/sounds/en/believe-its-free.gsm
-var/lib/asterisk/sounds/en/billing-and-collections.gsm
-var/lib/asterisk/sounds/en/billing.gsm
-var/lib/asterisk/sounds/en/billionth.gsm
-var/lib/asterisk/sounds/en/binary.gsm
-var/lib/asterisk/sounds/en/bits.gsm
-var/lib/asterisk/sounds/en/blue-eyed-polar-bear.gsm
-var/lib/asterisk/sounds/en/bombsquad.gsm
-var/lib/asterisk/sounds/en/bookstore.gsm
-var/lib/asterisk/sounds/en/boston.gsm
-var/lib/asterisk/sounds/en/box.gsm
-var/lib/asterisk/sounds/en/brian.gsm
-var/lib/asterisk/sounds/en/business-development.gsm
-var/lib/asterisk/sounds/en/busy-hangovers.gsm
-var/lib/asterisk/sounds/en/busy-pls-hold.gsm
-var/lib/asterisk/sounds/en/but.gsm
-var/lib/asterisk/sounds/en/by.gsm
-var/lib/asterisk/sounds/en/bytes.gsm
-var/lib/asterisk/sounds/en/cafeteria.gsm
-var/lib/asterisk/sounds/en/california.gsm
-var/lib/asterisk/sounds/en/call-forward.gsm
-var/lib/asterisk/sounds/en/call-forwarding.gsm
-var/lib/asterisk/sounds/en/call-fwd-cancelled.gsm
-var/lib/asterisk/sounds/en/call-fwd-no-ans.gsm
-var/lib/asterisk/sounds/en/call-fwd-on-busy.gsm
-var/lib/asterisk/sounds/en/call-fwd-parallel.gsm
-var/lib/asterisk/sounds/en/call-fwd-unconditional.gsm
-var/lib/asterisk/sounds/en/call-preempted.gsm
-var/lib/asterisk/sounds/en/call-quality-menu.gsm
-var/lib/asterisk/sounds/en/call-requres.gsm
-var/lib/asterisk/sounds/en/call-terminated.gsm
-var/lib/asterisk/sounds/en/call-waiting.gsm
-var/lib/asterisk/sounds/en/call.gsm
-var/lib/asterisk/sounds/en/calling.gsm
-var/lib/asterisk/sounds/en/calls-taken-by.gsm
-var/lib/asterisk/sounds/en/calls-waiting-for-rep.gsm
-var/lib/asterisk/sounds/en/calls.gsm
-var/lib/asterisk/sounds/en/campground-office.gsm
-var/lib/asterisk/sounds/en/cancelled.gsm
-var/lib/asterisk/sounds/en/cannot-complete-as-dialed.gsm
-var/lib/asterisk/sounds/en/cannot-complete-network-error.gsm
-var/lib/asterisk/sounds/en/cannot-complete-otherend-error.gsm
-var/lib/asterisk/sounds/en/cannot-complete-temp-error.gsm
-var/lib/asterisk/sounds/en/card-balance-is.gsm
-var/lib/asterisk/sounds/en/card-is-invalid.gsm
-var/lib/asterisk/sounds/en/card-number.gsm
-var/lib/asterisk/sounds/en/carried-away-by-monkeys.gsm
-var/lib/asterisk/sounds/en/cause-code.gsm
-var/lib/asterisk/sounds/en/cc-amex.gsm
-var/lib/asterisk/sounds/en/cc-discover.gsm
-var/lib/asterisk/sounds/en/cc-mastercard.gsm
-var/lib/asterisk/sounds/en/cc-visa.gsm
-var/lib/asterisk/sounds/en/celsius.gsm
-var/lib/asterisk/sounds/en/cent.gsm
-var/lib/asterisk/sounds/en/central.gsm
-var/lib/asterisk/sounds/en/cents-per-minute.gsm
-var/lib/asterisk/sounds/en/cents.gsm
-var/lib/asterisk/sounds/en/ceo-office.gsm
-var/lib/asterisk/sounds/en/challenge_try_again.gsm
-var/lib/asterisk/sounds/en/chance-of.gsm
-var/lib/asterisk/sounds/en/changing.gsm
-var/lib/asterisk/sounds/en/channel-insecure-warn.gsm
-var/lib/asterisk/sounds/en/channel-secure.gsm
-var/lib/asterisk/sounds/en/channel.gsm
-var/lib/asterisk/sounds/en/charlotte.gsm
-var/lib/asterisk/sounds/en/chat-room.gsm
-var/lib/asterisk/sounds/en/check-number-dial-again.gsm
-var/lib/asterisk/sounds/en/chemistry.gsm
-var/lib/asterisk/sounds/en/chicago.gsm
-var/lib/asterisk/sounds/en/chris.gsm
-var/lib/asterisk/sounds/en/claims.gsm
-var/lib/asterisk/sounds/en/clear.gsm
-var/lib/asterisk/sounds/en/clearing.gsm
-var/lib/asterisk/sounds/en/cleveland.gsm
-var/lib/asterisk/sounds/en/clli.gsm
-var/lib/asterisk/sounds/en/close-parenthesis.gsm
-var/lib/asterisk/sounds/en/closed.gsm
-var/lib/asterisk/sounds/en/clouds.gsm
-var/lib/asterisk/sounds/en/cloudy.gsm
-var/lib/asterisk/sounds/en/collections.gsm
-var/lib/asterisk/sounds/en/colorado-springs.gsm
-var/lib/asterisk/sounds/en/colorado.gsm
-var/lib/asterisk/sounds/en/columbus.gsm
-var/lib/asterisk/sounds/en/comedyclub.gsm
-var/lib/asterisk/sounds/en/comma.gsm
-var/lib/asterisk/sounds/en/communications.gsm
-var/lib/asterisk/sounds/en/company-dir-411.gsm
-var/lib/asterisk/sounds/en/complaint.gsm
-var/lib/asterisk/sounds/en/compliance.gsm
-var/lib/asterisk/sounds/en/computer-friend1.gsm
-var/lib/asterisk/sounds/en/computer-friend2.gsm
-var/lib/asterisk/sounds/en/conditions.gsm
-var/lib/asterisk/sounds/en/conf-1-to-list-users.gsm
-var/lib/asterisk/sounds/en/conf-2-to-kick-nonadmin.gsm
-var/lib/asterisk/sounds/en/conf-3-mute-or-unmute-nonadmin.gsm
-var/lib/asterisk/sounds/en/conf-4-to-record-conf.gsm
-var/lib/asterisk/sounds/en/conf-8-for-more-options.gsm
-var/lib/asterisk/sounds/en/conf-8-to-exit-return-to-conf.gsm
-var/lib/asterisk/sounds/en/conf-adminmenu-162.gsm
-var/lib/asterisk/sounds/en/conf-adminmenu-18.gsm
-var/lib/asterisk/sounds/en/conf-adminmenu-menu8.gsm
-var/lib/asterisk/sounds/en/conf-adminmenu.gsm
-var/lib/asterisk/sounds/en/conf-banned.gsm
-var/lib/asterisk/sounds/en/conf-enteringno.gsm
-var/lib/asterisk/sounds/en/conf-errormenu.gsm
-var/lib/asterisk/sounds/en/conf-extended.gsm
-var/lib/asterisk/sounds/en/conf-full.gsm
-var/lib/asterisk/sounds/en/conf-getchannel.gsm
-var/lib/asterisk/sounds/en/conf-getconfno.gsm
-var/lib/asterisk/sounds/en/conf-getpin.gsm
-var/lib/asterisk/sounds/en/conf-hasentered.gsm
-var/lib/asterisk/sounds/en/conf-hasjoin.gsm
-var/lib/asterisk/sounds/en/conf-hasleft.gsm
-var/lib/asterisk/sounds/en/conf-invalid.gsm
-var/lib/asterisk/sounds/en/conf-invalidpin.gsm
-var/lib/asterisk/sounds/en/conf-kicked.gsm
-var/lib/asterisk/sounds/en/conf-leaderhasleft.gsm
-var/lib/asterisk/sounds/en/conf-locked.gsm
-var/lib/asterisk/sounds/en/conf-lockednow.gsm
-var/lib/asterisk/sounds/en/conf-muted.gsm
-var/lib/asterisk/sounds/en/conf-noempty.gsm
-var/lib/asterisk/sounds/en/conf-nonextended.gsm
-var/lib/asterisk/sounds/en/conf-now-muted.gsm
-var/lib/asterisk/sounds/en/conf-now-recording.gsm
-var/lib/asterisk/sounds/en/conf-now-unmuted.gsm
-var/lib/asterisk/sounds/en/conf-onlyone.gsm
-var/lib/asterisk/sounds/en/conf-onlyperson.gsm
-var/lib/asterisk/sounds/en/conf-onlypersonleft.gsm
-var/lib/asterisk/sounds/en/conf-otherinparty.gsm
-var/lib/asterisk/sounds/en/conf-peopleinconf.gsm
-var/lib/asterisk/sounds/en/conf-placeintoconf.gsm
-var/lib/asterisk/sounds/en/conf-roll-callcomplete.gsm
-var/lib/asterisk/sounds/en/conf-sysop.gsm
-var/lib/asterisk/sounds/en/conf-sysopreq.gsm
-var/lib/asterisk/sounds/en/conf-sysopreqcancelled.gsm
-var/lib/asterisk/sounds/en/conf-thereare.gsm
-var/lib/asterisk/sounds/en/conf-unlockednow.gsm
-var/lib/asterisk/sounds/en/conf-unmuted.gsm
-var/lib/asterisk/sounds/en/conf-usermenu-162.gsm
-var/lib/asterisk/sounds/en/conf-usermenu.gsm
-var/lib/asterisk/sounds/en/conf-userswilljoin.gsm
-var/lib/asterisk/sounds/en/conf-userwilljoin.gsm
-var/lib/asterisk/sounds/en/conf-waitforleader.gsm
-var/lib/asterisk/sounds/en/conf-youareinconfnum.gsm
-var/lib/asterisk/sounds/en/confbridge-begin-glorious-a.gsm
-var/lib/asterisk/sounds/en/confbridge-begin-glorious-b.gsm
-var/lib/asterisk/sounds/en/confbridge-begin-glorious-c.gsm
-var/lib/asterisk/sounds/en/confbridge-begin-leader.gsm
-var/lib/asterisk/sounds/en/confbridge-binaural-off.gsm
-var/lib/asterisk/sounds/en/confbridge-binaural-on.gsm
-var/lib/asterisk/sounds/en/confbridge-conf-begin.gsm
-var/lib/asterisk/sounds/en/confbridge-conf-end.gsm
-var/lib/asterisk/sounds/en/confbridge-dec-list-vol-in.gsm
-var/lib/asterisk/sounds/en/confbridge-dec-list-vol-out.gsm
-var/lib/asterisk/sounds/en/confbridge-dec-talk-vol-in.gsm
-var/lib/asterisk/sounds/en/confbridge-dec-talk-vol-out.gsm
-var/lib/asterisk/sounds/en/confbridge-has-joined.gsm
-var/lib/asterisk/sounds/en/confbridge-has-left.gsm
-var/lib/asterisk/sounds/en/confbridge-inc-list-vol-in.gsm
-var/lib/asterisk/sounds/en/confbridge-inc-list-vol-out.gsm
-var/lib/asterisk/sounds/en/confbridge-inc-talk-vol-in.gsm
-var/lib/asterisk/sounds/en/confbridge-inc-talk-vol-out.gsm
-var/lib/asterisk/sounds/en/confbridge-invalid.gsm
-var/lib/asterisk/sounds/en/confbridge-join.gsm
-var/lib/asterisk/sounds/en/confbridge-leave-in.gsm
-var/lib/asterisk/sounds/en/confbridge-leave-out.gsm
-var/lib/asterisk/sounds/en/confbridge-leave.gsm
-var/lib/asterisk/sounds/en/confbridge-lock-extended.gsm
-var/lib/asterisk/sounds/en/confbridge-lock-in.gsm
-var/lib/asterisk/sounds/en/confbridge-lock-no-join.gsm
-var/lib/asterisk/sounds/en/confbridge-lock-out.gsm
-var/lib/asterisk/sounds/en/confbridge-locked.gsm
-var/lib/asterisk/sounds/en/confbridge-menu-exit-in.gsm
-var/lib/asterisk/sounds/en/confbridge-menu-exit-out.gsm
-var/lib/asterisk/sounds/en/confbridge-mute-extended.gsm
-var/lib/asterisk/sounds/en/confbridge-mute-in.gsm
-var/lib/asterisk/sounds/en/confbridge-mute-out.gsm
-var/lib/asterisk/sounds/en/confbridge-muted.gsm
-var/lib/asterisk/sounds/en/confbridge-only-one.gsm
-var/lib/asterisk/sounds/en/confbridge-only-participant.gsm
-var/lib/asterisk/sounds/en/confbridge-participants.gsm
-var/lib/asterisk/sounds/en/confbridge-pin-bad.gsm
-var/lib/asterisk/sounds/en/confbridge-pin.gsm
-var/lib/asterisk/sounds/en/confbridge-remove-last-in.gsm
-var/lib/asterisk/sounds/en/confbridge-remove-last-out.gsm
-var/lib/asterisk/sounds/en/confbridge-removed.gsm
-var/lib/asterisk/sounds/en/confbridge-rest-list-vol-in.gsm
-var/lib/asterisk/sounds/en/confbridge-rest-list-vol-out.gsm
-var/lib/asterisk/sounds/en/confbridge-rest-talk-vol-in.gsm
-var/lib/asterisk/sounds/en/confbridge-rest-talk-vol-out.gsm
-var/lib/asterisk/sounds/en/confbridge-there-are.gsm
-var/lib/asterisk/sounds/en/confbridge-unlocked.gsm
-var/lib/asterisk/sounds/en/confbridge-unmuted.gsm
-var/lib/asterisk/sounds/en/conference-call.gsm
-var/lib/asterisk/sounds/en/conference-reservations.gsm
-var/lib/asterisk/sounds/en/conference.gsm
-var/lib/asterisk/sounds/en/confirm-number-is.gsm
-var/lib/asterisk/sounds/en/connected.gsm
-var/lib/asterisk/sounds/en/connecticut.gsm
-var/lib/asterisk/sounds/en/connecting.gsm
-var/lib/asterisk/sounds/en/connection-failed.gsm
-var/lib/asterisk/sounds/en/connection-timed-out.gsm
-var/lib/asterisk/sounds/en/continue-english-press.gsm
-var/lib/asterisk/sounds/en/continue-in-english.gsm
-var/lib/asterisk/sounds/en/copy-center.gsm
-var/lib/asterisk/sounds/en/core-sounds-en.txt
-var/lib/asterisk/sounds/en/could-lose-a-few-pounds.gsm
-var/lib/asterisk/sounds/en/counseling-services.gsm
-var/lib/asterisk/sounds/en/count.gsm
-var/lib/asterisk/sounds/en/countdown.gsm
-var/lib/asterisk/sounds/en/crash.gsm
-var/lib/asterisk/sounds/en/crashing_conf.gsm
-var/lib/asterisk/sounds/en/current-time-is.gsm
-var/lib/asterisk/sounds/en/current_account_balance.gsm
-var/lib/asterisk/sounds/en/currently.gsm
-var/lib/asterisk/sounds/en/customer-accounts.gsm
-var/lib/asterisk/sounds/en/customer-relations.gsm
-var/lib/asterisk/sounds/en/customer-service.gsm
-var/lib/asterisk/sounds/en/cyclone.gsm
-var/lib/asterisk/sounds/en/dallas.gsm
-var/lib/asterisk/sounds/en/date.gsm
-var/lib/asterisk/sounds/en/day.gsm
-var/lib/asterisk/sounds/en/daylight.gsm
-var/lib/asterisk/sounds/en/days.gsm
-var/lib/asterisk/sounds/en/de-activated.gsm
-var/lib/asterisk/sounds/en/deadbeat.gsm
-var/lib/asterisk/sounds/en/decode.gsm
-var/lib/asterisk/sounds/en/default-attendant.gsm
-var/lib/asterisk/sounds/en/degrees.gsm
-var/lib/asterisk/sounds/en/delaware.gsm
-var/lib/asterisk/sounds/en/demo-abouttotry.gsm
-var/lib/asterisk/sounds/en/demo-congrats.gsm
-var/lib/asterisk/sounds/en/demo-echodone.gsm
-var/lib/asterisk/sounds/en/demo-echotest.gsm
-var/lib/asterisk/sounds/en/demo-enterkeywords.gsm
-var/lib/asterisk/sounds/en/demo-instruct.gsm
-var/lib/asterisk/sounds/en/demo-moreinfo.gsm
-var/lib/asterisk/sounds/en/demo-nogo.gsm
-var/lib/asterisk/sounds/en/demo-nomatch.gsm
-var/lib/asterisk/sounds/en/demo-thanks.gsm
-var/lib/asterisk/sounds/en/denial-of-service.gsm
-var/lib/asterisk/sounds/en/denver.gsm
-var/lib/asterisk/sounds/en/department-administrator.gsm
-var/lib/asterisk/sounds/en/department.gsm
-var/lib/asterisk/sounds/en/deposit.gsm
-var/lib/asterisk/sounds/en/descending-2tone.gsm
-var/lib/asterisk/sounds/en/design.gsm
-var/lib/asterisk/sounds/en/detroit.gsm
-var/lib/asterisk/sounds/en/development.gsm
-var/lib/asterisk/sounds/en/dial-here-often.gsm
-var/lib/asterisk/sounds/en/dictate
-var/lib/asterisk/sounds/en/dictate/both_help.gsm
-var/lib/asterisk/sounds/en/dictate/enter_filename.gsm
-var/lib/asterisk/sounds/en/dictate/forhelp.gsm
-var/lib/asterisk/sounds/en/dictate/pause.gsm
-var/lib/asterisk/sounds/en/dictate/paused.gsm
-var/lib/asterisk/sounds/en/dictate/play_help.gsm
-var/lib/asterisk/sounds/en/dictate/playback.gsm
-var/lib/asterisk/sounds/en/dictate/playback_mode.gsm
-var/lib/asterisk/sounds/en/dictate/record.gsm
-var/lib/asterisk/sounds/en/dictate/record_help.gsm
-var/lib/asterisk/sounds/en/dictate/record_mode.gsm
-var/lib/asterisk/sounds/en/dictate/truncating_audio.gsm
-var/lib/asterisk/sounds/en/digit.gsm
-var/lib/asterisk/sounds/en/digits
-var/lib/asterisk/sounds/en/digits.gsm
-var/lib/asterisk/sounds/en/digits/0.gsm
-var/lib/asterisk/sounds/en/digits/1.gsm
-var/lib/asterisk/sounds/en/digits/10.gsm
-var/lib/asterisk/sounds/en/digits/11.gsm
-var/lib/asterisk/sounds/en/digits/12.gsm
-var/lib/asterisk/sounds/en/digits/13.gsm
-var/lib/asterisk/sounds/en/digits/14.gsm
-var/lib/asterisk/sounds/en/digits/15.gsm
-var/lib/asterisk/sounds/en/digits/16.gsm
-var/lib/asterisk/sounds/en/digits/17.gsm
-var/lib/asterisk/sounds/en/digits/18.gsm
-var/lib/asterisk/sounds/en/digits/19.gsm
-var/lib/asterisk/sounds/en/digits/2.gsm
-var/lib/asterisk/sounds/en/digits/20.gsm
-var/lib/asterisk/sounds/en/digits/3.gsm
-var/lib/asterisk/sounds/en/digits/30.gsm
-var/lib/asterisk/sounds/en/digits/4.gsm
-var/lib/asterisk/sounds/en/digits/40.gsm
-var/lib/asterisk/sounds/en/digits/5.gsm
-var/lib/asterisk/sounds/en/digits/50.gsm
-var/lib/asterisk/sounds/en/digits/6.gsm
-var/lib/asterisk/sounds/en/digits/60.gsm
-var/lib/asterisk/sounds/en/digits/7.gsm
-var/lib/asterisk/sounds/en/digits/70.gsm
-var/lib/asterisk/sounds/en/digits/8.gsm
-var/lib/asterisk/sounds/en/digits/80.gsm
-var/lib/asterisk/sounds/en/digits/9.gsm
-var/lib/asterisk/sounds/en/digits/90.gsm
-var/lib/asterisk/sounds/en/digits/a-m.gsm
-var/lib/asterisk/sounds/en/digits/at.gsm
-var/lib/asterisk/sounds/en/digits/billion.gsm
-var/lib/asterisk/sounds/en/digits/day-0.gsm
-var/lib/asterisk/sounds/en/digits/day-1.gsm
-var/lib/asterisk/sounds/en/digits/day-2.gsm
-var/lib/asterisk/sounds/en/digits/day-3.gsm
-var/lib/asterisk/sounds/en/digits/day-4.gsm
-var/lib/asterisk/sounds/en/digits/day-5.gsm
-var/lib/asterisk/sounds/en/digits/day-6.gsm
-var/lib/asterisk/sounds/en/digits/dollars.gsm
-var/lib/asterisk/sounds/en/digits/h-1.gsm
-var/lib/asterisk/sounds/en/digits/h-10.gsm
-var/lib/asterisk/sounds/en/digits/h-11.gsm
-var/lib/asterisk/sounds/en/digits/h-12.gsm
-var/lib/asterisk/sounds/en/digits/h-13.gsm
-var/lib/asterisk/sounds/en/digits/h-14.gsm
-var/lib/asterisk/sounds/en/digits/h-15.gsm
-var/lib/asterisk/sounds/en/digits/h-16.gsm
-var/lib/asterisk/sounds/en/digits/h-17.gsm
-var/lib/asterisk/sounds/en/digits/h-18.gsm
-var/lib/asterisk/sounds/en/digits/h-19.gsm
-var/lib/asterisk/sounds/en/digits/h-2.gsm
-var/lib/asterisk/sounds/en/digits/h-20.gsm
-var/lib/asterisk/sounds/en/digits/h-3.gsm
-var/lib/asterisk/sounds/en/digits/h-30.gsm
-var/lib/asterisk/sounds/en/digits/h-4.gsm
-var/lib/asterisk/sounds/en/digits/h-40.gsm
-var/lib/asterisk/sounds/en/digits/h-5.gsm
-var/lib/asterisk/sounds/en/digits/h-50.gsm
-var/lib/asterisk/sounds/en/digits/h-6.gsm
-var/lib/asterisk/sounds/en/digits/h-60.gsm
-var/lib/asterisk/sounds/en/digits/h-7.gsm
-var/lib/asterisk/sounds/en/digits/h-70.gsm
-var/lib/asterisk/sounds/en/digits/h-8.gsm
-var/lib/asterisk/sounds/en/digits/h-80.gsm
-var/lib/asterisk/sounds/en/digits/h-9.gsm
-var/lib/asterisk/sounds/en/digits/h-90.gsm
-var/lib/asterisk/sounds/en/digits/h-billion.gsm
-var/lib/asterisk/sounds/en/digits/h-hundred.gsm
-var/lib/asterisk/sounds/en/digits/h-million.gsm
-var/lib/asterisk/sounds/en/digits/h-thousand.gsm
-var/lib/asterisk/sounds/en/digits/hundred.gsm
-var/lib/asterisk/sounds/en/digits/million.gsm
-var/lib/asterisk/sounds/en/digits/minus.gsm
-var/lib/asterisk/sounds/en/digits/mon-0.gsm
-var/lib/asterisk/sounds/en/digits/mon-1.gsm
-var/lib/asterisk/sounds/en/digits/mon-10.gsm
-var/lib/asterisk/sounds/en/digits/mon-11.gsm
-var/lib/asterisk/sounds/en/digits/mon-2.gsm
-var/lib/asterisk/sounds/en/digits/mon-3.gsm
-var/lib/asterisk/sounds/en/digits/mon-4.gsm
-var/lib/asterisk/sounds/en/digits/mon-5.gsm
-var/lib/asterisk/sounds/en/digits/mon-6.gsm
-var/lib/asterisk/sounds/en/digits/mon-7.gsm
-var/lib/asterisk/sounds/en/digits/mon-8.gsm
-var/lib/asterisk/sounds/en/digits/mon-9.gsm
-var/lib/asterisk/sounds/en/digits/oclock.gsm
-var/lib/asterisk/sounds/en/digits/oh.gsm
-var/lib/asterisk/sounds/en/digits/p-m.gsm
-var/lib/asterisk/sounds/en/digits/pound.gsm
-var/lib/asterisk/sounds/en/digits/star.gsm
-var/lib/asterisk/sounds/en/digits/thousand.gsm
-var/lib/asterisk/sounds/en/digits/today.gsm
-var/lib/asterisk/sounds/en/digits/tomorrow.gsm
-var/lib/asterisk/sounds/en/digits/yesterday.gsm
-var/lib/asterisk/sounds/en/dir-first.gsm
-var/lib/asterisk/sounds/en/dir-firstlast.gsm
-var/lib/asterisk/sounds/en/dir-instr.gsm
-var/lib/asterisk/sounds/en/dir-intro-fn.gsm
-var/lib/asterisk/sounds/en/dir-intro.gsm
-var/lib/asterisk/sounds/en/dir-last.gsm
-var/lib/asterisk/sounds/en/dir-multi1.gsm
-var/lib/asterisk/sounds/en/dir-multi2.gsm
-var/lib/asterisk/sounds/en/dir-multi3.gsm
-var/lib/asterisk/sounds/en/dir-multi9.gsm
-var/lib/asterisk/sounds/en/dir-nomatch.gsm
-var/lib/asterisk/sounds/en/dir-nomore.gsm
-var/lib/asterisk/sounds/en/dir-pls-enter.gsm
-var/lib/asterisk/sounds/en/dir-usingkeypad.gsm
-var/lib/asterisk/sounds/en/dir-welcome.gsm
-var/lib/asterisk/sounds/en/directory-assistance.gsm
-var/lib/asterisk/sounds/en/directory.gsm
-var/lib/asterisk/sounds/en/disabled.gsm
-var/lib/asterisk/sounds/en/discon-or-out-of-service.gsm
-var/lib/asterisk/sounds/en/disconnected.gsm
-var/lib/asterisk/sounds/en/disk.gsm
-var/lib/asterisk/sounds/en/distribution.gsm
-var/lib/asterisk/sounds/en/divided-by.gsm
-var/lib/asterisk/sounds/en/dns.gsm
-var/lib/asterisk/sounds/en/do-not-disturb.gsm
-var/lib/asterisk/sounds/en/doing-enum-lookup.gsm
-var/lib/asterisk/sounds/en/donotcall1.gsm
-var/lib/asterisk/sounds/en/donotcall2.gsm
-var/lib/asterisk/sounds/en/dont-know-who-sent.gsm
-var/lib/asterisk/sounds/en/doppler-radar.gsm
-var/lib/asterisk/sounds/en/down.gsm
-var/lib/asterisk/sounds/en/driving-directions.gsm
-var/lib/asterisk/sounds/en/duplex.gsm
-var/lib/asterisk/sounds/en/duplication.gsm
-var/lib/asterisk/sounds/en/early.gsm
-var/lib/asterisk/sounds/en/east.gsm
-var/lib/asterisk/sounds/en/easterly.gsm
-var/lib/asterisk/sounds/en/eastern.gsm
-var/lib/asterisk/sounds/en/echo-test.gsm
-var/lib/asterisk/sounds/en/ed.gsm
-var/lib/asterisk/sounds/en/eighteenth.gsm
-var/lib/asterisk/sounds/en/eighth.gsm
-var/lib/asterisk/sounds/en/eightieth.gsm
-var/lib/asterisk/sounds/en/el-paso.gsm
-var/lib/asterisk/sounds/en/eletelephony.gsm
-var/lib/asterisk/sounds/en/eleventh.gsm
-var/lib/asterisk/sounds/en/email.gsm
-var/lib/asterisk/sounds/en/emergency.gsm
-var/lib/asterisk/sounds/en/enabled.gsm
-var/lib/asterisk/sounds/en/encode.gsm
-var/lib/asterisk/sounds/en/engineering.gsm
-var/lib/asterisk/sounds/en/ent-target-attendant.gsm
-var/lib/asterisk/sounds/en/enter-a-time.gsm
-var/lib/asterisk/sounds/en/enter-conf-call-number.gsm
-var/lib/asterisk/sounds/en/enter-conf-pin-number.gsm
-var/lib/asterisk/sounds/en/enter-ext-of-person.gsm
-var/lib/asterisk/sounds/en/enter-num-blacklist.gsm
-var/lib/asterisk/sounds/en/enter-password.gsm
-var/lib/asterisk/sounds/en/enter-phone-number10.gsm
-var/lib/asterisk/sounds/en/enter_account.gsm
-var/lib/asterisk/sounds/en/entering-conf-number.gsm
-var/lib/asterisk/sounds/en/entr-num-rmv-blklist.gsm
-var/lib/asterisk/sounds/en/enum-lookup-failed.gsm
-var/lib/asterisk/sounds/en/enum-lookup-successful.gsm
-var/lib/asterisk/sounds/en/error-number.gsm
-var/lib/asterisk/sounds/en/error.gsm
-var/lib/asterisk/sounds/en/est-hold-time-is.gsm
-var/lib/asterisk/sounds/en/euro.gsm
-var/lib/asterisk/sounds/en/european.gsm
-var/lib/asterisk/sounds/en/euros.gsm
-var/lib/asterisk/sounds/en/evening.gsm
-var/lib/asterisk/sounds/en/explanation.gsm
-var/lib/asterisk/sounds/en/ext-or-zero.gsm
-var/lib/asterisk/sounds/en/extension.gsm
-var/lib/asterisk/sounds/en/extensions.gsm
-var/lib/asterisk/sounds/en/extra-sounds-en.txt
-var/lib/asterisk/sounds/en/facilities.gsm
-var/lib/asterisk/sounds/en/fahrenheit.gsm
-var/lib/asterisk/sounds/en/falling.gsm
-var/lib/asterisk/sounds/en/fast.gsm
-var/lib/asterisk/sounds/en/feature-not-avail-line.gsm
-var/lib/asterisk/sounds/en/feeling_lucky_punk.gsm
-var/lib/asterisk/sounds/en/feet.gsm
-var/lib/asterisk/sounds/en/female.gsm
-var/lib/asterisk/sounds/en/fifteenth.gsm
-var/lib/asterisk/sounds/en/fifth.gsm
-var/lib/asterisk/sounds/en/fiftieth.gsm
-var/lib/asterisk/sounds/en/finals.gsm
-var/lib/asterisk/sounds/en/finance.gsm
-var/lib/asterisk/sounds/en/first-in-line.gsm
-var/lib/asterisk/sounds/en/first.gsm
-var/lib/asterisk/sounds/en/flagged-for-lea.gsm
-var/lib/asterisk/sounds/en/flooding.gsm
-var/lib/asterisk/sounds/en/florida.gsm
-var/lib/asterisk/sounds/en/fog.gsm
-var/lib/asterisk/sounds/en/foggy.gsm
-var/lib/asterisk/sounds/en/followed-by.gsm
-var/lib/asterisk/sounds/en/followed_hash.gsm
-var/lib/asterisk/sounds/en/followed_pound.gsm
-var/lib/asterisk/sounds/en/followme
-var/lib/asterisk/sounds/en/followme/call-from.gsm
-var/lib/asterisk/sounds/en/followme/no-recording.gsm
-var/lib/asterisk/sounds/en/followme/options.gsm
-var/lib/asterisk/sounds/en/followme/pls-hold-while-try.gsm
-var/lib/asterisk/sounds/en/followme/sorry.gsm
-var/lib/asterisk/sounds/en/followme/status.gsm
-var/lib/asterisk/sounds/en/food-service.gsm
-var/lib/asterisk/sounds/en/food-services.gsm
-var/lib/asterisk/sounds/en/for-a-daily-wakeup-call.gsm
-var/lib/asterisk/sounds/en/for-a-list-of.gsm
-var/lib/asterisk/sounds/en/for-accounting.gsm
-var/lib/asterisk/sounds/en/for-billing.gsm
-var/lib/asterisk/sounds/en/for-english-press.gsm
-var/lib/asterisk/sounds/en/for-investor-relations.gsm
-var/lib/asterisk/sounds/en/for-louie-louie.gsm
-var/lib/asterisk/sounds/en/for-no-press.gsm
-var/lib/asterisk/sounds/en/for-qc-and-training-purposes.gsm
-var/lib/asterisk/sounds/en/for-quality-purposes.gsm
-var/lib/asterisk/sounds/en/for-sales.gsm
-var/lib/asterisk/sounds/en/for-service.gsm
-var/lib/asterisk/sounds/en/for-tech-support.gsm
-var/lib/asterisk/sounds/en/for-the-first.gsm
-var/lib/asterisk/sounds/en/for-the-weather.gsm
-var/lib/asterisk/sounds/en/for-wakeup-call.gsm
-var/lib/asterisk/sounds/en/for-yes-press.gsm
-var/lib/asterisk/sounds/en/for.gsm
-var/lib/asterisk/sounds/en/forget_about_it.gsm
-var/lib/asterisk/sounds/en/fort-worth.gsm
-var/lib/asterisk/sounds/en/fortieth.gsm
-var/lib/asterisk/sounds/en/fourteenth.gsm
-var/lib/asterisk/sounds/en/fourth.gsm
-var/lib/asterisk/sounds/en/freeze.gsm
-var/lib/asterisk/sounds/en/freezing.gsm
-var/lib/asterisk/sounds/en/frequency.gsm
-var/lib/asterisk/sounds/en/fresno.gsm
-var/lib/asterisk/sounds/en/from-unknown-caller.gsm
-var/lib/asterisk/sounds/en/from.gsm
-var/lib/asterisk/sounds/en/ftp.gsm
-var/lib/asterisk/sounds/en/gale.gsm
-var/lib/asterisk/sounds/en/gambling-drunk.gsm
-var/lib/asterisk/sounds/en/georgia.gsm
-var/lib/asterisk/sounds/en/get-in-line-sales-guy.gsm
-var/lib/asterisk/sounds/en/get_bleep_outta.gsm
-var/lib/asterisk/sounds/en/get_information.gsm
-var/lib/asterisk/sounds/en/get_information_first.gsm
-var/lib/asterisk/sounds/en/gigabits.gsm
-var/lib/asterisk/sounds/en/gigabytes.gsm
-var/lib/asterisk/sounds/en/gigahertz.gsm
-var/lib/asterisk/sounds/en/giggle1.gsm
-var/lib/asterisk/sounds/en/gmt.gsm
-var/lib/asterisk/sounds/en/go-away1.gsm
-var/lib/asterisk/sounds/en/go-away2.gsm
-var/lib/asterisk/sounds/en/good-afternoon.gsm
-var/lib/asterisk/sounds/en/good-evening.gsm
-var/lib/asterisk/sounds/en/good-morning.gsm
-var/lib/asterisk/sounds/en/good.gsm
-var/lib/asterisk/sounds/en/goodbye.gsm
-var/lib/asterisk/sounds/en/goodbye_for_the_best.gsm
-var/lib/asterisk/sounds/en/goodbye_love.gsm
-var/lib/asterisk/sounds/en/got_kidding.gsm
-var/lib/asterisk/sounds/en/grammar.gsm
-var/lib/asterisk/sounds/en/greater-than.gsm
-var/lib/asterisk/sounds/en/groovy.gsm
-var/lib/asterisk/sounds/en/ha
-var/lib/asterisk/sounds/en/ha/ac.gsm
-var/lib/asterisk/sounds/en/ha/air-conditioner.gsm
-var/lib/asterisk/sounds/en/ha/alarm.gsm
-var/lib/asterisk/sounds/en/ha/amp.gsm
-var/lib/asterisk/sounds/en/ha/amps.gsm
-var/lib/asterisk/sounds/en/ha/attic.gsm
-var/lib/asterisk/sounds/en/ha/baby-sleeping-mode.gsm
-var/lib/asterisk/sounds/en/ha/back.gsm
-var/lib/asterisk/sounds/en/ha/basement.gsm
-var/lib/asterisk/sounds/en/ha/bathroom.gsm
-var/lib/asterisk/sounds/en/ha/bedroom.gsm
-var/lib/asterisk/sounds/en/ha/bright.gsm
-var/lib/asterisk/sounds/en/ha/callerid.gsm
-var/lib/asterisk/sounds/en/ha/carport.gsm
-var/lib/asterisk/sounds/en/ha/closet.gsm
-var/lib/asterisk/sounds/en/ha/coffee-pot.gsm
-var/lib/asterisk/sounds/en/ha/cool.gsm
-var/lib/asterisk/sounds/en/ha/cooling.gsm
-var/lib/asterisk/sounds/en/ha/dc.gsm
-var/lib/asterisk/sounds/en/ha/decibel.gsm
-var/lib/asterisk/sounds/en/ha/decibels.gsm
-var/lib/asterisk/sounds/en/ha/deck.gsm
-var/lib/asterisk/sounds/en/ha/degree.gsm
-var/lib/asterisk/sounds/en/ha/degrees.gsm
-var/lib/asterisk/sounds/en/ha/den.gsm
-var/lib/asterisk/sounds/en/ha/dim.gsm
-var/lib/asterisk/sounds/en/ha/dining-room.gsm
-var/lib/asterisk/sounds/en/ha/door.gsm
-var/lib/asterisk/sounds/en/ha/doors.gsm
-var/lib/asterisk/sounds/en/ha/down.gsm
-var/lib/asterisk/sounds/en/ha/driveway.gsm
-var/lib/asterisk/sounds/en/ha/dryer.gsm
-var/lib/asterisk/sounds/en/ha/fan.gsm
-var/lib/asterisk/sounds/en/ha/farad.gsm
-var/lib/asterisk/sounds/en/ha/farads.gsm
-var/lib/asterisk/sounds/en/ha/first-floor.gsm
-var/lib/asterisk/sounds/en/ha/floor.gsm
-var/lib/asterisk/sounds/en/ha/floors.gsm
-var/lib/asterisk/sounds/en/ha/for-extended-status-report.gsm
-var/lib/asterisk/sounds/en/ha/for-quick-status-report.gsm
-var/lib/asterisk/sounds/en/ha/for-wx-report.gsm
-var/lib/asterisk/sounds/en/ha/fountain.gsm
-var/lib/asterisk/sounds/en/ha/foyer.gsm
-var/lib/asterisk/sounds/en/ha/front.gsm
-var/lib/asterisk/sounds/en/ha/furnace.gsm
-var/lib/asterisk/sounds/en/ha/game-room.gsm
-var/lib/asterisk/sounds/en/ha/garage.gsm
-var/lib/asterisk/sounds/en/ha/great-room.gsm
-var/lib/asterisk/sounds/en/ha/guest-room.gsm
-var/lib/asterisk/sounds/en/ha/hall.gsm
-var/lib/asterisk/sounds/en/ha/has-been-left.gsm
-var/lib/asterisk/sounds/en/ha/heat-pump.gsm
-var/lib/asterisk/sounds/en/ha/heat.gsm
-var/lib/asterisk/sounds/en/ha/heating.gsm
-var/lib/asterisk/sounds/en/ha/hot-tub.gsm
-var/lib/asterisk/sounds/en/ha/house.gsm
-var/lib/asterisk/sounds/en/ha/intruder.gsm
-var/lib/asterisk/sounds/en/ha/is.gsm
-var/lib/asterisk/sounds/en/ha/kelvin.gsm
-var/lib/asterisk/sounds/en/ha/kitchen.gsm
-var/lib/asterisk/sounds/en/ha/lamp.gsm
-var/lib/asterisk/sounds/en/ha/lamps.gsm
-var/lib/asterisk/sounds/en/ha/landscape.gsm
-var/lib/asterisk/sounds/en/ha/laundry.gsm
-var/lib/asterisk/sounds/en/ha/library.gsm
-var/lib/asterisk/sounds/en/ha/light.gsm
-var/lib/asterisk/sounds/en/ha/lights.gsm
-var/lib/asterisk/sounds/en/ha/living-room.gsm
-var/lib/asterisk/sounds/en/ha/locked.gsm
-var/lib/asterisk/sounds/en/ha/locking.gsm
-var/lib/asterisk/sounds/en/ha/mailbox.gsm
-var/lib/asterisk/sounds/en/ha/master.gsm
-var/lib/asterisk/sounds/en/ha/off.gsm
-var/lib/asterisk/sounds/en/ha/office.gsm
-var/lib/asterisk/sounds/en/ha/ohm.gsm
-var/lib/asterisk/sounds/en/ha/ohms.gsm
-var/lib/asterisk/sounds/en/ha/on.gsm
-var/lib/asterisk/sounds/en/ha/open.gsm
-var/lib/asterisk/sounds/en/ha/patio.gsm
-var/lib/asterisk/sounds/en/ha/phone.gsm
-var/lib/asterisk/sounds/en/ha/play-room.gsm
-var/lib/asterisk/sounds/en/ha/play.gsm
-var/lib/asterisk/sounds/en/ha/pool.gsm
-var/lib/asterisk/sounds/en/ha/porch.gsm
-var/lib/asterisk/sounds/en/ha/power-failure.gsm
-var/lib/asterisk/sounds/en/ha/pressure.gsm
-var/lib/asterisk/sounds/en/ha/psi.gsm
-var/lib/asterisk/sounds/en/ha/quiet-mode.gsm
-var/lib/asterisk/sounds/en/ha/reset.gsm
-var/lib/asterisk/sounds/en/ha/roof.gsm
-var/lib/asterisk/sounds/en/ha/room.gsm
-var/lib/asterisk/sounds/en/ha/rooms.gsm
-var/lib/asterisk/sounds/en/ha/second-floor.gsm
-var/lib/asterisk/sounds/en/ha/secure.gsm
-var/lib/asterisk/sounds/en/ha/security-system.gsm
-var/lib/asterisk/sounds/en/ha/set.gsm
-var/lib/asterisk/sounds/en/ha/side.gsm
-var/lib/asterisk/sounds/en/ha/solar.gsm
-var/lib/asterisk/sounds/en/ha/sprinklers.gsm
-var/lib/asterisk/sounds/en/ha/still.gsm
-var/lib/asterisk/sounds/en/ha/stove.gsm
-var/lib/asterisk/sounds/en/ha/sump-pump.gsm
-var/lib/asterisk/sounds/en/ha/sun-room.gsm
-var/lib/asterisk/sounds/en/ha/system.gsm
-var/lib/asterisk/sounds/en/ha/systems.gsm
-var/lib/asterisk/sounds/en/ha/thermostat.gsm
-var/lib/asterisk/sounds/en/ha/to-control-environ-sys.gsm
-var/lib/asterisk/sounds/en/ha/to-control-lights-appl.gsm
-var/lib/asterisk/sounds/en/ha/tower.gsm
-var/lib/asterisk/sounds/en/ha/unlocked.gsm
-var/lib/asterisk/sounds/en/ha/unlocking.gsm
-var/lib/asterisk/sounds/en/ha/up.gsm
-var/lib/asterisk/sounds/en/ha/volt.gsm
-var/lib/asterisk/sounds/en/ha/volts.gsm
-var/lib/asterisk/sounds/en/ha/washing-machine.gsm
-var/lib/asterisk/sounds/en/ha/water-heater.gsm
-var/lib/asterisk/sounds/en/ha/watt.gsm
-var/lib/asterisk/sounds/en/ha/watts.gsm
-var/lib/asterisk/sounds/en/ha/well-pump.gsm
-var/lib/asterisk/sounds/en/ha/window.gsm
-var/lib/asterisk/sounds/en/ha/windows.gsm
-var/lib/asterisk/sounds/en/ha/xmas-lights.gsm
-var/lib/asterisk/sounds/en/ha/xmas-tree.gsm
-var/lib/asterisk/sounds/en/ha/yard.gsm
-var/lib/asterisk/sounds/en/hail.gsm
-var/lib/asterisk/sounds/en/hal_goodbye.gsm
-var/lib/asterisk/sounds/en/half.gsm
-var/lib/asterisk/sounds/en/hang-on-a-second-angry.gsm
-var/lib/asterisk/sounds/en/hang-on-a-second.gsm
-var/lib/asterisk/sounds/en/hangup-try-again.gsm
-var/lib/asterisk/sounds/en/happy_saved.gsm
-var/lib/asterisk/sounds/en/has-arrived-at.gsm
-var/lib/asterisk/sounds/en/has-been-changed-to.gsm
-var/lib/asterisk/sounds/en/has-been-cleared.gsm
-var/lib/asterisk/sounds/en/has-been-disconnected.gsm
-var/lib/asterisk/sounds/en/has-been-set-to.gsm
-var/lib/asterisk/sounds/en/has-been.gsm
-var/lib/asterisk/sounds/en/has-expired.gsm
-var/lib/asterisk/sounds/en/has-issued-a.gsm
-var/lib/asterisk/sounds/en/has-not-been-seen-for.gsm
-var/lib/asterisk/sounds/en/has.gsm
-var/lib/asterisk/sounds/en/hash.gsm
-var/lib/asterisk/sounds/en/hawaii.gsm
-var/lib/asterisk/sounds/en/headed-towards.gsm
-var/lib/asterisk/sounds/en/heading.gsm
-var/lib/asterisk/sounds/en/health-center.gsm
-var/lib/asterisk/sounds/en/hear-odd-noise.gsm
-var/lib/asterisk/sounds/en/hear-toilet-flush.gsm
-var/lib/asterisk/sounds/en/hectopascal.gsm
-var/lib/asterisk/sounds/en/hello-world.gsm
-var/lib/asterisk/sounds/en/hello.gsm
-var/lib/asterisk/sounds/en/helpdesk.gsm
-var/lib/asterisk/sounds/en/hertz.gsm
-var/lib/asterisk/sounds/en/high.gsm
-var/lib/asterisk/sounds/en/highway.gsm
-var/lib/asterisk/sounds/en/hit.gsm
-var/lib/asterisk/sounds/en/hold-or-dial-0.gsm
-var/lib/asterisk/sounds/en/home.gsm
-var/lib/asterisk/sounds/en/honolulu.gsm
-var/lib/asterisk/sounds/en/hours.gsm
-var/lib/asterisk/sounds/en/housekeeping.gsm
-var/lib/asterisk/sounds/en/houston.gsm
-var/lib/asterisk/sounds/en/http.gsm
-var/lib/asterisk/sounds/en/human-resources.gsm
-var/lib/asterisk/sounds/en/humidity.gsm
-var/lib/asterisk/sounds/en/hundredth.gsm
-var/lib/asterisk/sounds/en/hurricane.gsm
-var/lib/asterisk/sounds/en/hz.gsm
-var/lib/asterisk/sounds/en/i-dont-understand.gsm
-var/lib/asterisk/sounds/en/i-dont-understand2.gsm
-var/lib/asterisk/sounds/en/i-dont-understand3.gsm
-var/lib/asterisk/sounds/en/i-dont-understand4.gsm
-var/lib/asterisk/sounds/en/i-dont-understand5.gsm
-var/lib/asterisk/sounds/en/i-grow-bored.gsm
-var/lib/asterisk/sounds/en/ice.gsm
-var/lib/asterisk/sounds/en/icmp.gsm
-var/lib/asterisk/sounds/en/icy.gsm
-var/lib/asterisk/sounds/en/idaho.gsm
-var/lib/asterisk/sounds/en/if-correct-press.gsm
-var/lib/asterisk/sounds/en/if-grtg-played-indefinately.gsm
-var/lib/asterisk/sounds/en/if-grtg-should-expire-at.gsm
-var/lib/asterisk/sounds/en/if-maint-contract-or-emergency.gsm
-var/lib/asterisk/sounds/en/if-rotary-phone.gsm
-var/lib/asterisk/sounds/en/if-this-is-correct-press.gsm
-var/lib/asterisk/sounds/en/if-this-is-correct.gsm
-var/lib/asterisk/sounds/en/if-this-is-not-correct.gsm
-var/lib/asterisk/sounds/en/if-u-know-ext-dial.gsm
-var/lib/asterisk/sounds/en/if-unsuccessful-speak-to.gsm
-var/lib/asterisk/sounds/en/if-you-know-the.gsm
-var/lib/asterisk/sounds/en/if-you-need-help.gsm
-var/lib/asterisk/sounds/en/if-youd-like-to-make-a-call.gsm
-var/lib/asterisk/sounds/en/illinois.gsm
-var/lib/asterisk/sounds/en/im-sorry-unable-to-connect-to-eng.gsm
-var/lib/asterisk/sounds/en/im-sorry.gsm
-var/lib/asterisk/sounds/en/imap.gsm
-var/lib/asterisk/sounds/en/in-service.gsm
-var/lib/asterisk/sounds/en/in-the-line.gsm
-var/lib/asterisk/sounds/en/in-the-queue.gsm
-var/lib/asterisk/sounds/en/in-the.gsm
-var/lib/asterisk/sounds/en/in-your-city.gsm
-var/lib/asterisk/sounds/en/in-your-zip-code.gsm
-var/lib/asterisk/sounds/en/inbound.gsm
-var/lib/asterisk/sounds/en/indiana.gsm
-var/lib/asterisk/sounds/en/indianapolis.gsm
-var/lib/asterisk/sounds/en/indicated.gsm
-var/lib/asterisk/sounds/en/info-about-last-call.gsm
-var/lib/asterisk/sounds/en/information-technology.gsm
-var/lib/asterisk/sounds/en/information.gsm
-var/lib/asterisk/sounds/en/infuriate-tech-staff.gsm
-var/lib/asterisk/sounds/en/initiated.gsm
-var/lib/asterisk/sounds/en/initiating.gsm
-var/lib/asterisk/sounds/en/inside-sales.gsm
-var/lib/asterisk/sounds/en/internal-audit.gsm
-var/lib/asterisk/sounds/en/international-call.gsm
-var/lib/asterisk/sounds/en/interstate.gsm
-var/lib/asterisk/sounds/en/invalid-date.gsm
-var/lib/asterisk/sounds/en/invalid-featurecode.gsm
-var/lib/asterisk/sounds/en/invalid.gsm
-var/lib/asterisk/sounds/en/investor-relations.gsm
-var/lib/asterisk/sounds/en/iowa.gsm
-var/lib/asterisk/sounds/en/is-at.gsm
-var/lib/asterisk/sounds/en/is-curntly-busy.gsm
-var/lib/asterisk/sounds/en/is-curntly-unavail.gsm
-var/lib/asterisk/sounds/en/is-currently.gsm
-var/lib/asterisk/sounds/en/is-in-use.gsm
-var/lib/asterisk/sounds/en/is-not-in-the.gsm
-var/lib/asterisk/sounds/en/is-not-set.gsm
-var/lib/asterisk/sounds/en/is-now-being-recorded.gsm
-var/lib/asterisk/sounds/en/is-set-to.gsm
-var/lib/asterisk/sounds/en/is.gsm
-var/lib/asterisk/sounds/en/it-now.gsm
-var/lib/asterisk/sounds/en/it-services.gsm
-var/lib/asterisk/sounds/en/jacksonville.gsm
-var/lib/asterisk/sounds/en/janitorial.gsm
-var/lib/asterisk/sounds/en/jason.gsm
-var/lib/asterisk/sounds/en/jedi-extension-trick.gsm
-var/lib/asterisk/sounds/en/john.gsm
-var/lib/asterisk/sounds/en/just-kidding-not-upset.gsm
-var/lib/asterisk/sounds/en/just-kidding-not-upset2.gsm
-var/lib/asterisk/sounds/en/kansas-city.gsm
-var/lib/asterisk/sounds/en/kansas.gsm
-var/lib/asterisk/sounds/en/kentucky.gsm
-var/lib/asterisk/sounds/en/keywords_cross_fingers.gsm
-var/lib/asterisk/sounds/en/kilobits.gsm
-var/lib/asterisk/sounds/en/kilobytes.gsm
-var/lib/asterisk/sounds/en/kilohertz.gsm
-var/lib/asterisk/sounds/en/kilometer.gsm
-var/lib/asterisk/sounds/en/kilometers-per-hour.gsm
-var/lib/asterisk/sounds/en/knock-knock.gsm
-var/lib/asterisk/sounds/en/knots.gsm
-var/lib/asterisk/sounds/en/language.gsm
-var/lib/asterisk/sounds/en/las-vegas.gsm
-var/lib/asterisk/sounds/en/last-error-was.gsm
-var/lib/asterisk/sounds/en/last-num-to-call.gsm
-var/lib/asterisk/sounds/en/late.gsm
-var/lib/asterisk/sounds/en/later.gsm
-var/lib/asterisk/sounds/en/lea-may-request-info.gsm
-var/lib/asterisk/sounds/en/left-bracket.gsm
-var/lib/asterisk/sounds/en/legal.gsm
-var/lib/asterisk/sounds/en/len.gsm
-var/lib/asterisk/sounds/en/less-than.gsm
-var/lib/asterisk/sounds/en/letters
-var/lib/asterisk/sounds/en/letters/a.gsm
-var/lib/asterisk/sounds/en/letters/ascii123.gsm
-var/lib/asterisk/sounds/en/letters/ascii124.gsm
-var/lib/asterisk/sounds/en/letters/ascii125.gsm
-var/lib/asterisk/sounds/en/letters/ascii126.gsm
-var/lib/asterisk/sounds/en/letters/ascii34.gsm
-var/lib/asterisk/sounds/en/letters/ascii36.gsm
-var/lib/asterisk/sounds/en/letters/ascii37.gsm
-var/lib/asterisk/sounds/en/letters/ascii38.gsm
-var/lib/asterisk/sounds/en/letters/ascii39.gsm
-var/lib/asterisk/sounds/en/letters/ascii40.gsm
-var/lib/asterisk/sounds/en/letters/ascii41.gsm
-var/lib/asterisk/sounds/en/letters/ascii42.gsm
-var/lib/asterisk/sounds/en/letters/ascii44.gsm
-var/lib/asterisk/sounds/en/letters/ascii58.gsm
-var/lib/asterisk/sounds/en/letters/ascii59.gsm
-var/lib/asterisk/sounds/en/letters/ascii60.gsm
-var/lib/asterisk/sounds/en/letters/ascii62.gsm
-var/lib/asterisk/sounds/en/letters/ascii63.gsm
-var/lib/asterisk/sounds/en/letters/ascii91.gsm
-var/lib/asterisk/sounds/en/letters/ascii92.gsm
-var/lib/asterisk/sounds/en/letters/ascii93.gsm
-var/lib/asterisk/sounds/en/letters/ascii94.gsm
-var/lib/asterisk/sounds/en/letters/ascii95.gsm
-var/lib/asterisk/sounds/en/letters/ascii96.gsm
-var/lib/asterisk/sounds/en/letters/asterisk.gsm
-var/lib/asterisk/sounds/en/letters/at.gsm
-var/lib/asterisk/sounds/en/letters/b.gsm
-var/lib/asterisk/sounds/en/letters/c.gsm
-var/lib/asterisk/sounds/en/letters/d.gsm
-var/lib/asterisk/sounds/en/letters/dash.gsm
-var/lib/asterisk/sounds/en/letters/dollar.gsm
-var/lib/asterisk/sounds/en/letters/dot.gsm
-var/lib/asterisk/sounds/en/letters/e.gsm
-var/lib/asterisk/sounds/en/letters/equals.gsm
-var/lib/asterisk/sounds/en/letters/exclaimation-point.gsm
-var/lib/asterisk/sounds/en/letters/f.gsm
-var/lib/asterisk/sounds/en/letters/g.gsm
-var/lib/asterisk/sounds/en/letters/h.gsm
-var/lib/asterisk/sounds/en/letters/i.gsm
-var/lib/asterisk/sounds/en/letters/j.gsm
-var/lib/asterisk/sounds/en/letters/k.gsm
-var/lib/asterisk/sounds/en/letters/l.gsm
-var/lib/asterisk/sounds/en/letters/m.gsm
-var/lib/asterisk/sounds/en/letters/n.gsm
-var/lib/asterisk/sounds/en/letters/o.gsm
-var/lib/asterisk/sounds/en/letters/p.gsm
-var/lib/asterisk/sounds/en/letters/plus.gsm
-var/lib/asterisk/sounds/en/letters/q.gsm
-var/lib/asterisk/sounds/en/letters/r.gsm
-var/lib/asterisk/sounds/en/letters/s.gsm
-var/lib/asterisk/sounds/en/letters/slash.gsm
-var/lib/asterisk/sounds/en/letters/space.gsm
-var/lib/asterisk/sounds/en/letters/t.gsm
-var/lib/asterisk/sounds/en/letters/u.gsm
-var/lib/asterisk/sounds/en/letters/v.gsm
-var/lib/asterisk/sounds/en/letters/w.gsm
-var/lib/asterisk/sounds/en/letters/x.gsm
-var/lib/asterisk/sounds/en/letters/y.gsm
-var/lib/asterisk/sounds/en/letters/z.gsm
-var/lib/asterisk/sounds/en/letters/zed.gsm
-var/lib/asterisk/sounds/en/library.gsm
-var/lib/asterisk/sounds/en/lightning.gsm
-var/lib/asterisk/sounds/en/like_to_tell_valid_ext.gsm
-var/lib/asterisk/sounds/en/limit-simul-calls.gsm
-var/lib/asterisk/sounds/en/lines-complaining-customers.gsm
-var/lib/asterisk/sounds/en/linux.gsm
-var/lib/asterisk/sounds/en/list.gsm
-var/lib/asterisk/sounds/en/load-average.gsm
-var/lib/asterisk/sounds/en/local-authorities.gsm
-var/lib/asterisk/sounds/en/location.gsm
-var/lib/asterisk/sounds/en/login-fail.gsm
-var/lib/asterisk/sounds/en/long-beach.gsm
-var/lib/asterisk/sounds/en/los-angeles.gsm
-var/lib/asterisk/sounds/en/loss-prevention.gsm
-var/lib/asterisk/sounds/en/loss.gsm
-var/lib/asterisk/sounds/en/lots-o-monkeys.gsm
-var/lib/asterisk/sounds/en/louisiana.gsm
-var/lib/asterisk/sounds/en/low.gsm
-var/lib/asterisk/sounds/en/lowercase.gsm
-var/lib/asterisk/sounds/en/lunch.gsm
-var/lib/asterisk/sounds/en/lyrics-louie-louie.gsm
-var/lib/asterisk/sounds/en/machine.gsm
-var/lib/asterisk/sounds/en/made-it-up.gsm
-var/lib/asterisk/sounds/en/mail.gsm
-var/lib/asterisk/sounds/en/mailroom.gsm
-var/lib/asterisk/sounds/en/main-menu.gsm
-var/lib/asterisk/sounds/en/maine.gsm
-var/lib/asterisk/sounds/en/maintenance.gsm
-var/lib/asterisk/sounds/en/male.gsm
-var/lib/asterisk/sounds/en/management.gsm
-var/lib/asterisk/sounds/en/manufacturing.gsm
-var/lib/asterisk/sounds/en/marketing.gsm
-var/lib/asterisk/sounds/en/marryme.gsm
-var/lib/asterisk/sounds/en/martini.gsm
-var/lib/asterisk/sounds/en/maryland.gsm
-var/lib/asterisk/sounds/en/massachusetts.gsm
-var/lib/asterisk/sounds/en/mathematics.gsm
-var/lib/asterisk/sounds/en/maximum.gsm
-var/lib/asterisk/sounds/en/megabits.gsm
-var/lib/asterisk/sounds/en/megabytes.gsm
-var/lib/asterisk/sounds/en/megahertz.gsm
-var/lib/asterisk/sounds/en/memory.gsm
-var/lib/asterisk/sounds/en/memphis.gsm
-var/lib/asterisk/sounds/en/menu.gsm
-var/lib/asterisk/sounds/en/mesa.gsm
-var/lib/asterisk/sounds/en/message-from.gsm
-var/lib/asterisk/sounds/en/message-number.gsm
-var/lib/asterisk/sounds/en/messages_curious.gsm
-var/lib/asterisk/sounds/en/meter.gsm
-var/lib/asterisk/sounds/en/meters.gsm
-var/lib/asterisk/sounds/en/miami.gsm
-var/lib/asterisk/sounds/en/michigan.gsm
-var/lib/asterisk/sounds/en/midnight-tomorrow-night.gsm
-var/lib/asterisk/sounds/en/midnight-tonight.gsm
-var/lib/asterisk/sounds/en/midnight.gsm
-var/lib/asterisk/sounds/en/mike.gsm
-var/lib/asterisk/sounds/en/miles-per-hour.gsm
-var/lib/asterisk/sounds/en/miles.gsm
-var/lib/asterisk/sounds/en/millionth.gsm
-var/lib/asterisk/sounds/en/milwaukee.gsm
-var/lib/asterisk/sounds/en/mind_repeating.gsm
-var/lib/asterisk/sounds/en/minimum.gsm
-var/lib/asterisk/sounds/en/minions-not-answering-leave-message.gsm
-var/lib/asterisk/sounds/en/minneapolis.gsm
-var/lib/asterisk/sounds/en/minnesota.gsm
-var/lib/asterisk/sounds/en/minute.gsm
-var/lib/asterisk/sounds/en/minutes.gsm
-var/lib/asterisk/sounds/en/missed.gsm
-var/lib/asterisk/sounds/en/mississippi.gsm
-var/lib/asterisk/sounds/en/missouri.gsm
-var/lib/asterisk/sounds/en/misty.gsm
-var/lib/asterisk/sounds/en/mode.gsm
-var/lib/asterisk/sounds/en/monitored.gsm
-var/lib/asterisk/sounds/en/montana.gsm
-var/lib/asterisk/sounds/en/month.gsm
-var/lib/asterisk/sounds/en/months.gsm
-var/lib/asterisk/sounds/en/moo1.gsm
-var/lib/asterisk/sounds/en/moo2.gsm
-var/lib/asterisk/sounds/en/morning.gsm
-var/lib/asterisk/sounds/en/moron.gsm
-var/lib/asterisk/sounds/en/mostly.gsm
-var/lib/asterisk/sounds/en/motor-pool.gsm
-var/lib/asterisk/sounds/en/mountain.gsm
-var/lib/asterisk/sounds/en/moving.gsm
-var/lib/asterisk/sounds/en/ms.gsm
-var/lib/asterisk/sounds/en/nashville.gsm
-var/lib/asterisk/sounds/en/national-weather-service.gsm
-var/lib/asterisk/sounds/en/nautical-miles.gsm
-var/lib/asterisk/sounds/en/nbdy-avail-to-take-call.gsm
-var/lib/asterisk/sounds/en/near.gsm
-var/lib/asterisk/sounds/en/nebraska.gsm
-var/lib/asterisk/sounds/en/negative.gsm
-var/lib/asterisk/sounds/en/network-operations-center.gsm
-var/lib/asterisk/sounds/en/network-operations.gsm
-var/lib/asterisk/sounds/en/nevada.gsm
-var/lib/asterisk/sounds/en/new-accounts.gsm
-var/lib/asterisk/sounds/en/new-hampshire.gsm
-var/lib/asterisk/sounds/en/new-jersey.gsm
-var/lib/asterisk/sounds/en/new-mexico.gsm
-var/lib/asterisk/sounds/en/new-orleans.gsm
-var/lib/asterisk/sounds/en/new-york.gsm
-var/lib/asterisk/sounds/en/night.gsm
-var/lib/asterisk/sounds/en/nineteenth.gsm
-var/lib/asterisk/sounds/en/ninetieth.gsm
-var/lib/asterisk/sounds/en/ninth.gsm
-var/lib/asterisk/sounds/en/no-112-1.gsm
-var/lib/asterisk/sounds/en/no-112-2.gsm
-var/lib/asterisk/sounds/en/no-911-1.gsm
-var/lib/asterisk/sounds/en/no-911-2.gsm
-var/lib/asterisk/sounds/en/no-empty-conferences.gsm
-var/lib/asterisk/sounds/en/no-info-about-number.gsm
-var/lib/asterisk/sounds/en/no-longer-in-service.gsm
-var/lib/asterisk/sounds/en/no-reply-no-mailbox.gsm
-var/lib/asterisk/sounds/en/no-route-exists-to-dest.gsm
-var/lib/asterisk/sounds/en/no_invite_to_conf.gsm
-var/lib/asterisk/sounds/en/no_longer_conf.gsm
-var/lib/asterisk/sounds/en/no_problem_help.gsm
-var/lib/asterisk/sounds/en/no_worries_try_again.gsm
-var/lib/asterisk/sounds/en/nobody-but-chickens.gsm
-var/lib/asterisk/sounds/en/node.gsm
-var/lib/asterisk/sounds/en/none_of_my_business1.gsm
-var/lib/asterisk/sounds/en/none_of_my_business2.gsm
-var/lib/asterisk/sounds/en/north-carolina.gsm
-var/lib/asterisk/sounds/en/north-dakota.gsm
-var/lib/asterisk/sounds/en/north.gsm
-var/lib/asterisk/sounds/en/northerly.gsm
-var/lib/asterisk/sounds/en/not-auth-pstn.gsm
-var/lib/asterisk/sounds/en/not-enough-credit.gsm
-var/lib/asterisk/sounds/en/not-necessary-1.gsm
-var/lib/asterisk/sounds/en/not-necessary-ac.gsm
-var/lib/asterisk/sounds/en/not-necessary-dial-1-or-ac.gsm
-var/lib/asterisk/sounds/en/not-rqsted-wakeup.gsm
-var/lib/asterisk/sounds/en/not-taking-your-call.gsm
-var/lib/asterisk/sounds/en/not-yet-assigned.gsm
-var/lib/asterisk/sounds/en/not-yet-connected.gsm
-var/lib/asterisk/sounds/en/not_me.gsm
-var/lib/asterisk/sounds/en/not_pass.gsm
-var/lib/asterisk/sounds/en/not_siri.gsm
-var/lib/asterisk/sounds/en/not_you.gsm
-var/lib/asterisk/sounds/en/nothing-recorded.gsm
-var/lib/asterisk/sounds/en/now.gsm
-var/lib/asterisk/sounds/en/num-not-in-db.gsm
-var/lib/asterisk/sounds/en/num-outside-area.gsm
-var/lib/asterisk/sounds/en/num-was-successfully.gsm
-var/lib/asterisk/sounds/en/number-not-answering.gsm
-var/lib/asterisk/sounds/en/number.gsm
-var/lib/asterisk/sounds/en/oakland.gsm
-var/lib/asterisk/sounds/en/octothorpe.gsm
-var/lib/asterisk/sounds/en/off-duty.gsm
-var/lib/asterisk/sounds/en/off.gsm
-var/lib/asterisk/sounds/en/office-code.gsm
-var/lib/asterisk/sounds/en/office-iguanas.gsm
-var/lib/asterisk/sounds/en/office.gsm
-var/lib/asterisk/sounds/en/ogm_home.gsm
-var/lib/asterisk/sounds/en/ohio.gsm
-var/lib/asterisk/sounds/en/oklahoma-city.gsm
-var/lib/asterisk/sounds/en/oklahoma.gsm
-var/lib/asterisk/sounds/en/omaha.gsm
-var/lib/asterisk/sounds/en/on-busy.gsm
-var/lib/asterisk/sounds/en/on-monthly-tel-stment.gsm
-var/lib/asterisk/sounds/en/on-no-answer.gsm
-var/lib/asterisk/sounds/en/on.gsm
-var/lib/asterisk/sounds/en/one-moment-please.gsm
-var/lib/asterisk/sounds/en/one-small-step.gsm
-var/lib/asterisk/sounds/en/one-small-step2.gsm
-var/lib/asterisk/sounds/en/oops1.gsm
-var/lib/asterisk/sounds/en/oops2.gsm
-var/lib/asterisk/sounds/en/oops3.gsm
-var/lib/asterisk/sounds/en/open-parenthesis.gsm
-var/lib/asterisk/sounds/en/open.gsm
-var/lib/asterisk/sounds/en/operations.gsm
-var/lib/asterisk/sounds/en/option-is-invalid.gsm
-var/lib/asterisk/sounds/en/option-not-implemented.gsm
-var/lib/asterisk/sounds/en/or-press.gsm
-var/lib/asterisk/sounds/en/or.gsm
-var/lib/asterisk/sounds/en/order-desk.gsm
-var/lib/asterisk/sounds/en/orders.gsm
-var/lib/asterisk/sounds/en/oregon.gsm
-var/lib/asterisk/sounds/en/other-options-exercise.gsm
-var/lib/asterisk/sounds/en/otherwise-press.gsm
-var/lib/asterisk/sounds/en/otherwise.gsm
-var/lib/asterisk/sounds/en/our-business-hours-are.gsm
-var/lib/asterisk/sounds/en/outbound.gsm
-var/lib/asterisk/sounds/en/outside-sales.gsm
-var/lib/asterisk/sounds/en/outside-transfer.gsm
-var/lib/asterisk/sounds/en/pacific.gsm
-var/lib/asterisk/sounds/en/packet.gsm
-var/lib/asterisk/sounds/en/panic.gsm
-var/lib/asterisk/sounds/en/partially.gsm
-var/lib/asterisk/sounds/en/partly.gsm
-var/lib/asterisk/sounds/en/pascal.gsm
-var/lib/asterisk/sounds/en/pascal2.gsm
-var/lib/asterisk/sounds/en/passwords_not_match.gsm
-var/lib/asterisk/sounds/en/patchy.gsm
-var/lib/asterisk/sounds/en/pbx-invalid.gsm
-var/lib/asterisk/sounds/en/pbx-invalidpark.gsm
-var/lib/asterisk/sounds/en/pbx-parkingfailed.gsm
-var/lib/asterisk/sounds/en/pbx-transfer.gsm
-var/lib/asterisk/sounds/en/pence.gsm
-var/lib/asterisk/sounds/en/pennies.gsm
-var/lib/asterisk/sounds/en/pennsylvania.gsm
-var/lib/asterisk/sounds/en/penny.gsm
-var/lib/asterisk/sounds/en/percent.gsm
-var/lib/asterisk/sounds/en/perhaps-we-are.gsm
-var/lib/asterisk/sounds/en/perhaps-we-are2.gsm
-var/lib/asterisk/sounds/en/period.gsm
-var/lib/asterisk/sounds/en/personnel.gsm
-var/lib/asterisk/sounds/en/persons-in-path-of.gsm
-var/lib/asterisk/sounds/en/philadelphia.gsm
-var/lib/asterisk/sounds/en/phoenix.gsm
-var/lib/asterisk/sounds/en/phonetic
-var/lib/asterisk/sounds/en/phonetic/9_p.gsm
-var/lib/asterisk/sounds/en/phonetic/a_p.gsm
-var/lib/asterisk/sounds/en/phonetic/b_p.gsm
-var/lib/asterisk/sounds/en/phonetic/c_p.gsm
-var/lib/asterisk/sounds/en/phonetic/d_p.gsm
-var/lib/asterisk/sounds/en/phonetic/e_p.gsm
-var/lib/asterisk/sounds/en/phonetic/f_p.gsm
-var/lib/asterisk/sounds/en/phonetic/g_p.gsm
-var/lib/asterisk/sounds/en/phonetic/h_p.gsm
-var/lib/asterisk/sounds/en/phonetic/i_p.gsm
-var/lib/asterisk/sounds/en/phonetic/j_p.gsm
-var/lib/asterisk/sounds/en/phonetic/k_p.gsm
-var/lib/asterisk/sounds/en/phonetic/l_p.gsm
-var/lib/asterisk/sounds/en/phonetic/m_p.gsm
-var/lib/asterisk/sounds/en/phonetic/n_p.gsm
-var/lib/asterisk/sounds/en/phonetic/o_p.gsm
-var/lib/asterisk/sounds/en/phonetic/p_p.gsm
-var/lib/asterisk/sounds/en/phonetic/q_p.gsm
-var/lib/asterisk/sounds/en/phonetic/r_p.gsm
-var/lib/asterisk/sounds/en/phonetic/s_p.gsm
-var/lib/asterisk/sounds/en/phonetic/t_p.gsm
-var/lib/asterisk/sounds/en/phonetic/u_p.gsm
-var/lib/asterisk/sounds/en/phonetic/v_p.gsm
-var/lib/asterisk/sounds/en/phonetic/w_p.gsm
-var/lib/asterisk/sounds/en/phonetic/x_p.gsm
-var/lib/asterisk/sounds/en/phonetic/y_p.gsm
-var/lib/asterisk/sounds/en/phonetic/z_p.gsm
-var/lib/asterisk/sounds/en/physics.gsm
-var/lib/asterisk/sounds/en/pin-invalid.gsm
-var/lib/asterisk/sounds/en/pin-number-accepted.gsm
-var/lib/asterisk/sounds/en/pin_number.gsm
-var/lib/asterisk/sounds/en/ping.gsm
-var/lib/asterisk/sounds/en/pipe.gsm
-var/lib/asterisk/sounds/en/planning.gsm
-var/lib/asterisk/sounds/en/please-answer-the-following.gsm
-var/lib/asterisk/sounds/en/please-contact-tech-supt.gsm
-var/lib/asterisk/sounds/en/please-enter-first-three-letters.gsm
-var/lib/asterisk/sounds/en/please-enter-the.gsm
-var/lib/asterisk/sounds/en/please-enter-your.gsm
-var/lib/asterisk/sounds/en/please-hang-up-and-dial-operator.gsm
-var/lib/asterisk/sounds/en/please-hang-up-and-try-again.gsm
-var/lib/asterisk/sounds/en/please-hold-minion-connect.gsm
-var/lib/asterisk/sounds/en/please-hold-while-minion.gsm
-var/lib/asterisk/sounds/en/please-try-again-later.gsm
-var/lib/asterisk/sounds/en/please-try-again.gsm
-var/lib/asterisk/sounds/en/please-try-call-later.gsm
-var/lib/asterisk/sounds/en/please-try.gsm
-var/lib/asterisk/sounds/en/please-wait-connect-oncall-eng.gsm
-var/lib/asterisk/sounds/en/pls-ent-num-transfer.gsm
-var/lib/asterisk/sounds/en/pls-enter-conf-password.gsm
-var/lib/asterisk/sounds/en/pls-enter-num-message-after-tone.gsm
-var/lib/asterisk/sounds/en/pls-enter-vm-password.gsm
-var/lib/asterisk/sounds/en/pls-entr-num-uwish2-call.gsm
-var/lib/asterisk/sounds/en/pls-hold-process-tx.gsm
-var/lib/asterisk/sounds/en/pls-hold-silent30.gsm
-var/lib/asterisk/sounds/en/pls-hold-while-try.gsm
-var/lib/asterisk/sounds/en/pls-listen-options-changed.gsm
-var/lib/asterisk/sounds/en/pls-lv-msg-will-contact.gsm
-var/lib/asterisk/sounds/en/pls-rcrd-name-at-tone.gsm
-var/lib/asterisk/sounds/en/pls-stay-on-line.gsm
-var/lib/asterisk/sounds/en/pls-try-again.gsm
-var/lib/asterisk/sounds/en/pls-try-area-code.gsm
-var/lib/asterisk/sounds/en/pls-try-manually.gsm
-var/lib/asterisk/sounds/en/pls-wait-connect-call.gsm
-var/lib/asterisk/sounds/en/plugh.gsm
-var/lib/asterisk/sounds/en/pm-announcement-number.gsm
-var/lib/asterisk/sounds/en/pm-invalid-option.gsm
-var/lib/asterisk/sounds/en/pm-phrase-management.gsm
-var/lib/asterisk/sounds/en/pm-prompt-number.gsm
-var/lib/asterisk/sounds/en/pm-to-record-phrase.gsm
-var/lib/asterisk/sounds/en/pm-to-review-phrase.gsm
-var/lib/asterisk/sounds/en/point.gsm
-var/lib/asterisk/sounds/en/pop.gsm
-var/lib/asterisk/sounds/en/port.gsm
-var/lib/asterisk/sounds/en/portland.gsm
-var/lib/asterisk/sounds/en/portnumber.gsm
-var/lib/asterisk/sounds/en/position.gsm
-var/lib/asterisk/sounds/en/post-entry-pound.gsm
-var/lib/asterisk/sounds/en/pounds.gsm
-var/lib/asterisk/sounds/en/presales-support.gsm
-var/lib/asterisk/sounds/en/presidents-office.gsm
-var/lib/asterisk/sounds/en/press-0.gsm
-var/lib/asterisk/sounds/en/press-1.gsm
-var/lib/asterisk/sounds/en/press-2.gsm
-var/lib/asterisk/sounds/en/press-3.gsm
-var/lib/asterisk/sounds/en/press-4.gsm
-var/lib/asterisk/sounds/en/press-5.gsm
-var/lib/asterisk/sounds/en/press-6-to-eject.gsm
-var/lib/asterisk/sounds/en/press-6.gsm
-var/lib/asterisk/sounds/en/press-7.gsm
-var/lib/asterisk/sounds/en/press-8.gsm
-var/lib/asterisk/sounds/en/press-9.gsm
-var/lib/asterisk/sounds/en/press-button-again.gsm
-var/lib/asterisk/sounds/en/press-enter.gsm
-var/lib/asterisk/sounds/en/press-escape.gsm
-var/lib/asterisk/sounds/en/press-hash.gsm
-var/lib/asterisk/sounds/en/press-or-say-0.gsm
-var/lib/asterisk/sounds/en/press-or-say-1.gsm
-var/lib/asterisk/sounds/en/press-or-say-2.gsm
-var/lib/asterisk/sounds/en/press-or-say-3.gsm
-var/lib/asterisk/sounds/en/press-or-say-4.gsm
-var/lib/asterisk/sounds/en/press-or-say-5.gsm
-var/lib/asterisk/sounds/en/press-or-say-6.gsm
-var/lib/asterisk/sounds/en/press-or-say-7.gsm
-var/lib/asterisk/sounds/en/press-or-say-8.gsm
-var/lib/asterisk/sounds/en/press-or-say-9.gsm
-var/lib/asterisk/sounds/en/press-pound-save-changes.gsm
-var/lib/asterisk/sounds/en/press-pound-to-login-star-to-hangup.gsm
-var/lib/asterisk/sounds/en/press-pound.gsm
-var/lib/asterisk/sounds/en/press-return.gsm
-var/lib/asterisk/sounds/en/press-star-cancel.gsm
-var/lib/asterisk/sounds/en/press-star.gsm
-var/lib/asterisk/sounds/en/press-the-space-bar.gsm
-var/lib/asterisk/sounds/en/press-tilde.gsm
-var/lib/asterisk/sounds/en/press.gsm
-var/lib/asterisk/sounds/en/press_pound_hash.gsm
-var/lib/asterisk/sounds/en/press_pound_hash_key.gsm
-var/lib/asterisk/sounds/en/pressure.gsm
-var/lib/asterisk/sounds/en/prime_number.gsm
-var/lib/asterisk/sounds/en/printing.gsm
-var/lib/asterisk/sounds/en/priv-callee-options.gsm
-var/lib/asterisk/sounds/en/priv-callpending.gsm
-var/lib/asterisk/sounds/en/priv-introsaved.gsm
-var/lib/asterisk/sounds/en/priv-recordintro.gsm
-var/lib/asterisk/sounds/en/privacy-blacklisted.gsm
-var/lib/asterisk/sounds/en/privacy-blocked.gsm
-var/lib/asterisk/sounds/en/privacy-if-error-leave-message-or-hangup.gsm
-var/lib/asterisk/sounds/en/privacy-if-error.gsm
-var/lib/asterisk/sounds/en/privacy-if-sales-call-contact-in-writing.gsm
-var/lib/asterisk/sounds/en/privacy-incorrect.gsm
-var/lib/asterisk/sounds/en/privacy-last-caller-was.gsm
-var/lib/asterisk/sounds/en/privacy-not.gsm
-var/lib/asterisk/sounds/en/privacy-please-dial.gsm
-var/lib/asterisk/sounds/en/privacy-please-stay-on-line-to-be-connected.gsm
-var/lib/asterisk/sounds/en/privacy-prompt.gsm
-var/lib/asterisk/sounds/en/privacy-restricted-by-req.gsm
-var/lib/asterisk/sounds/en/privacy-screening-unidentified-calls.gsm
-var/lib/asterisk/sounds/en/privacy-stop-calling-not-welcome.gsm
-var/lib/asterisk/sounds/en/privacy-stop-calling-not-welcome2.gsm
-var/lib/asterisk/sounds/en/privacy-thankyou.gsm
-var/lib/asterisk/sounds/en/privacy-this-number-is.gsm
-var/lib/asterisk/sounds/en/privacy-to-blacklist-last-caller.gsm
-var/lib/asterisk/sounds/en/privacy-to-blacklist-this-number.gsm
-var/lib/asterisk/sounds/en/privacy-to-hear-our-contact-details.gsm
-var/lib/asterisk/sounds/en/privacy-to-whitelist-last-caller.gsm
-var/lib/asterisk/sounds/en/privacy-to-whitelist-this-number.gsm
-var/lib/asterisk/sounds/en/privacy-unident.gsm
-var/lib/asterisk/sounds/en/privacy-whitelisted.gsm
-var/lib/asterisk/sounds/en/privacy-you-are-blacklisted.gsm
-var/lib/asterisk/sounds/en/privacy-you-are-calling-from.gsm
-var/lib/asterisk/sounds/en/privacy-your-callerid-is.gsm
-var/lib/asterisk/sounds/en/product.gsm
-var/lib/asterisk/sounds/en/production.gsm
-var/lib/asterisk/sounds/en/projects.gsm
-var/lib/asterisk/sounds/en/prompt-not-found.gsm
-var/lib/asterisk/sounds/en/protocol.gsm
-var/lib/asterisk/sounds/en/public-relations.gsm
-var/lib/asterisk/sounds/en/purchasing.gsm
-var/lib/asterisk/sounds/en/purposes.gsm
-var/lib/asterisk/sounds/en/q-dot-931.gsm
-var/lib/asterisk/sounds/en/q-dot-9thirty1.gsm
-var/lib/asterisk/sounds/en/quality-assurance.gsm
-var/lib/asterisk/sounds/en/quality-control.gsm
-var/lib/asterisk/sounds/en/quality_control.gsm
-var/lib/asterisk/sounds/en/quarter.gsm
-var/lib/asterisk/sounds/en/queue-callswaiting.gsm
-var/lib/asterisk/sounds/en/queue-holdtime.gsm
-var/lib/asterisk/sounds/en/queue-less-than.gsm
-var/lib/asterisk/sounds/en/queue-minute.gsm
-var/lib/asterisk/sounds/en/queue-minutes.gsm
-var/lib/asterisk/sounds/en/queue-periodic-announce.gsm
-var/lib/asterisk/sounds/en/queue-quantity1.gsm
-var/lib/asterisk/sounds/en/queue-quantity2.gsm
-var/lib/asterisk/sounds/en/queue-reporthold.gsm
-var/lib/asterisk/sounds/en/queue-seconds.gsm
-var/lib/asterisk/sounds/en/queue-thankyou.gsm
-var/lib/asterisk/sounds/en/queue-thereare.gsm
-var/lib/asterisk/sounds/en/queue-youarenext.gsm
-var/lib/asterisk/sounds/en/quickly.gsm
-var/lib/asterisk/sounds/en/quote.gsm
-var/lib/asterisk/sounds/en/race.gsm
-var/lib/asterisk/sounds/en/rain.gsm
-var/lib/asterisk/sounds/en/rainfall.gsm
-var/lib/asterisk/sounds/en/rainy.gsm
-var/lib/asterisk/sounds/en/range.gsm
-var/lib/asterisk/sounds/en/reassigned-new-areacode.gsm
-var/lib/asterisk/sounds/en/rebates.gsm
-var/lib/asterisk/sounds/en/received.gsm
-var/lib/asterisk/sounds/en/receiving.gsm
-var/lib/asterisk/sounds/en/reception.gsm
-var/lib/asterisk/sounds/en/recorded.gsm
-var/lib/asterisk/sounds/en/registrar.gsm
-var/lib/asterisk/sounds/en/regret_not_saved.gsm
-var/lib/asterisk/sounds/en/remote-already-in-this-mode-2.gsm
-var/lib/asterisk/sounds/en/remote-already-in-this-mode.gsm
-var/lib/asterisk/sounds/en/remote-base.gsm
-var/lib/asterisk/sounds/en/removed.gsm
-var/lib/asterisk/sounds/en/repair.gsm
-var/lib/asterisk/sounds/en/repeat-only.gsm
-var/lib/asterisk/sounds/en/repeat_pin.gsm
-var/lib/asterisk/sounds/en/repeater.gsm
-var/lib/asterisk/sounds/en/research-and-development.gsm
-var/lib/asterisk/sounds/en/research.gsm
-var/lib/asterisk/sounds/en/reservations.gsm
-var/lib/asterisk/sounds/en/restarting.gsm
-var/lib/asterisk/sounds/en/rhode-island.gsm
-var/lib/asterisk/sounds/en/right-bracket.gsm
-var/lib/asterisk/sounds/en/rising.gsm
-var/lib/asterisk/sounds/en/risk-management.gsm
-var/lib/asterisk/sounds/en/roaming.gsm
-var/lib/asterisk/sounds/en/room-service.gsm
-var/lib/asterisk/sounds/en/route-sip.gsm
-var/lib/asterisk/sounds/en/rqsted-wakeup-for.gsm
-var/lib/asterisk/sounds/en/sacramento.gsm
-var/lib/asterisk/sounds/en/said_hold_on.gsm
-var/lib/asterisk/sounds/en/saint-louis.gsm
-var/lib/asterisk/sounds/en/sales-floor.gsm
-var/lib/asterisk/sounds/en/sales.gsm
-var/lib/asterisk/sounds/en/saleshell.gsm
-var/lib/asterisk/sounds/en/san-antonio.gsm
-var/lib/asterisk/sounds/en/san-diego.gsm
-var/lib/asterisk/sounds/en/san-francisco.gsm
-var/lib/asterisk/sounds/en/san-jose.gsm
-var/lib/asterisk/sounds/en/save-announce-press.gsm
-var/lib/asterisk/sounds/en/say-temp-msg-prs-pound.gsm
-var/lib/asterisk/sounds/en/says-thats-stupid.gsm
-var/lib/asterisk/sounds/en/scattered.gsm
-var/lib/asterisk/sounds/en/sciences.gsm
-var/lib/asterisk/sounds/en/screen-callee-options.gsm
-var/lib/asterisk/sounds/en/seattle.gsm
-var/lib/asterisk/sounds/en/second.gsm
-var/lib/asterisk/sounds/en/seconds.gsm
-var/lib/asterisk/sounds/en/secretary.gsm
-var/lib/asterisk/sounds/en/security.gsm
-var/lib/asterisk/sounds/en/self-destruct-in.gsm
-var/lib/asterisk/sounds/en/self-destruct.gsm
-var/lib/asterisk/sounds/en/sendhelp.gsm
-var/lib/asterisk/sounds/en/server.gsm
-var/lib/asterisk/sounds/en/service-not-implemented.gsm
-var/lib/asterisk/sounds/en/service.gsm
-var/lib/asterisk/sounds/en/seventeenth.gsm
-var/lib/asterisk/sounds/en/seventh.gsm
-var/lib/asterisk/sounds/en/seventieth.gsm
-var/lib/asterisk/sounds/en/severe.gsm
-var/lib/asterisk/sounds/en/shall-i-try-again.gsm
-var/lib/asterisk/sounds/en/shiny-brass-lamp.gsm
-var/lib/asterisk/sounds/en/shipping.gsm
-var/lib/asterisk/sounds/en/shop.gsm
-var/lib/asterisk/sounds/en/show-office.gsm
-var/lib/asterisk/sounds/en/sighted.gsm
-var/lib/asterisk/sounds/en/silence
-var/lib/asterisk/sounds/en/silence/1.gsm
-var/lib/asterisk/sounds/en/silence/10.gsm
-var/lib/asterisk/sounds/en/silence/2.gsm
-var/lib/asterisk/sounds/en/silence/3.gsm
-var/lib/asterisk/sounds/en/silence/4.gsm
-var/lib/asterisk/sounds/en/silence/5.gsm
-var/lib/asterisk/sounds/en/silence/6.gsm
-var/lib/asterisk/sounds/en/silence/7.gsm
-var/lib/asterisk/sounds/en/silence/8.gsm
-var/lib/asterisk/sounds/en/silence/9.gsm
-var/lib/asterisk/sounds/en/simplex.gsm
-var/lib/asterisk/sounds/en/simul-call-limit-reached.gsm
-var/lib/asterisk/sounds/en/sixteenth.gsm
-var/lib/asterisk/sounds/en/sixth.gsm
-var/lib/asterisk/sounds/en/sixtieth.gsm
-var/lib/asterisk/sounds/en/sleet.gsm
-var/lib/asterisk/sounds/en/sleeting.gsm
-var/lib/asterisk/sounds/en/slow.gsm
-var/lib/asterisk/sounds/en/slowly.gsm
-var/lib/asterisk/sounds/en/snow.gsm
-var/lib/asterisk/sounds/en/snowing.gsm
-var/lib/asterisk/sounds/en/snowy.gsm
-var/lib/asterisk/sounds/en/software.gsm
-var/lib/asterisk/sounds/en/someone-you-trust1.gsm
-var/lib/asterisk/sounds/en/someone-you-trust2.gsm
-var/lib/asterisk/sounds/en/someone-you-trust3.gsm
-var/lib/asterisk/sounds/en/something-terribly-wrong.gsm
-var/lib/asterisk/sounds/en/sorry-cant-let-you-do-that.gsm
-var/lib/asterisk/sounds/en/sorry-cant-let-you-do-that2.gsm
-var/lib/asterisk/sounds/en/sorry-cant-let-you-do-that3.gsm
-var/lib/asterisk/sounds/en/sorry-mailbox-full.gsm
-var/lib/asterisk/sounds/en/sorry-youre-having-problems.gsm
-var/lib/asterisk/sounds/en/sorry.gsm
-var/lib/asterisk/sounds/en/sorry2.gsm
-var/lib/asterisk/sounds/en/sorry_caller_number.gsm
-var/lib/asterisk/sounds/en/sorry_didnt_get.gsm
-var/lib/asterisk/sounds/en/sorry_didnt_quite_get.gsm
-var/lib/asterisk/sounds/en/sorry_login_incorrect.gsm
-var/lib/asterisk/sounds/en/sorry_missed.gsm
-var/lib/asterisk/sounds/en/sorry_no_messages.gsm
-var/lib/asterisk/sounds/en/sorrydave.gsm
-var/lib/asterisk/sounds/en/south-carolina.gsm
-var/lib/asterisk/sounds/en/south-dakota.gsm
-var/lib/asterisk/sounds/en/south.gsm
-var/lib/asterisk/sounds/en/southerly.gsm
-var/lib/asterisk/sounds/en/spam.gsm
-var/lib/asterisk/sounds/en/spam2.gsm
-var/lib/asterisk/sounds/en/speak-louder-into-phone.gsm
-var/lib/asterisk/sounds/en/speak-louder.gsm
-var/lib/asterisk/sounds/en/speak-to-the-operator.gsm
-var/lib/asterisk/sounds/en/speed-dial-empty.gsm
-var/lib/asterisk/sounds/en/speed-dial.gsm
-var/lib/asterisk/sounds/en/speed.gsm
-var/lib/asterisk/sounds/en/splat.gsm
-var/lib/asterisk/sounds/en/spy-agent.gsm
-var/lib/asterisk/sounds/en/spy-console.gsm
-var/lib/asterisk/sounds/en/spy-dahdi.gsm
-var/lib/asterisk/sounds/en/spy-h323.gsm
-var/lib/asterisk/sounds/en/spy-iax.gsm
-var/lib/asterisk/sounds/en/spy-iax2.gsm
-var/lib/asterisk/sounds/en/spy-jingle.gsm
-var/lib/asterisk/sounds/en/spy-local.gsm
-var/lib/asterisk/sounds/en/spy-mgcp.gsm
-var/lib/asterisk/sounds/en/spy-misdn.gsm
-var/lib/asterisk/sounds/en/spy-mobile.gsm
-var/lib/asterisk/sounds/en/spy-nbs.gsm
-var/lib/asterisk/sounds/en/spy-sip.gsm
-var/lib/asterisk/sounds/en/spy-skinny.gsm
-var/lib/asterisk/sounds/en/spy-unistim.gsm
-var/lib/asterisk/sounds/en/spy-usbradio.gsm
-var/lib/asterisk/sounds/en/spy-zap.gsm
-var/lib/asterisk/sounds/en/ss-noservice.gsm
-var/lib/asterisk/sounds/en/ssh.gsm
-var/lib/asterisk/sounds/en/staff.gsm
-var/lib/asterisk/sounds/en/staffing.gsm
-var/lib/asterisk/sounds/en/standard.gsm
-var/lib/asterisk/sounds/en/star-for-menu-again.gsm
-var/lib/asterisk/sounds/en/starting-with-either.gsm
-var/lib/asterisk/sounds/en/station.gsm
-var/lib/asterisk/sounds/en/status.gsm
-var/lib/asterisk/sounds/en/step-in-stream.gsm
-var/lib/asterisk/sounds/en/sterling.gsm
-var/lib/asterisk/sounds/en/still_on_phone.gsm
-var/lib/asterisk/sounds/en/store-accounting.gsm
-var/lib/asterisk/sounds/en/storm.gsm
-var/lib/asterisk/sounds/en/sun.gsm
-var/lib/asterisk/sounds/en/sunny.gsm
-var/lib/asterisk/sounds/en/support.gsm
-var/lib/asterisk/sounds/en/sure_help.gsm
-var/lib/asterisk/sounds/en/swap.gsm
-var/lib/asterisk/sounds/en/system-crashed.gsm
-var/lib/asterisk/sounds/en/system-status-msg.gsm
-var/lib/asterisk/sounds/en/system.gsm
-var/lib/asterisk/sounds/en/systems.gsm
-var/lib/asterisk/sounds/en/talkin_me.gsm
-var/lib/asterisk/sounds/en/talking-to-myself.gsm
-var/lib/asterisk/sounds/en/target-attendant.gsm
-var/lib/asterisk/sounds/en/tcp.gsm
-var/lib/asterisk/sounds/en/technical-support.gsm
-var/lib/asterisk/sounds/en/telemarketercalling.gsm
-var/lib/asterisk/sounds/en/telephone-in-your-pocket.gsm
-var/lib/asterisk/sounds/en/telephone-in-your-pocket2.gsm
-var/lib/asterisk/sounds/en/telephone-number.gsm
-var/lib/asterisk/sounds/en/telesales.gsm
-var/lib/asterisk/sounds/en/teletubbie-murder.gsm
-var/lib/asterisk/sounds/en/telnet.gsm
-var/lib/asterisk/sounds/en/temp-disconnected.gsm
-var/lib/asterisk/sounds/en/temperature.gsm
-var/lib/asterisk/sounds/en/tennessee.gsm
-var/lib/asterisk/sounds/en/tenth.gsm
-var/lib/asterisk/sounds/en/terabits.gsm
-var/lib/asterisk/sounds/en/terabytes.gsm
-var/lib/asterisk/sounds/en/terminated.gsm
-var/lib/asterisk/sounds/en/terminating.gsm
-var/lib/asterisk/sounds/en/test-tones-follow.gsm
-var/lib/asterisk/sounds/en/texas.gsm
-var/lib/asterisk/sounds/en/thank-you-cooperation.gsm
-var/lib/asterisk/sounds/en/thank-you-for-calling.gsm
-var/lib/asterisk/sounds/en/thank_you_calling.gsm
-var/lib/asterisk/sounds/en/thanks-annoyance.gsm
-var/lib/asterisk/sounds/en/thanks-for-calling-today.gsm
-var/lib/asterisk/sounds/en/thanks-for-using.gsm
-var/lib/asterisk/sounds/en/that-is-not-rec-phn-num.gsm
-var/lib/asterisk/sounds/en/that-number.gsm
-var/lib/asterisk/sounds/en/that-tickles.gsm
-var/lib/asterisk/sounds/en/that-you-require.gsm
-var/lib/asterisk/sounds/en/the-mailbox.gsm
-var/lib/asterisk/sounds/en/the-monkeys-twice.gsm
-var/lib/asterisk/sounds/en/the-new-number-is.gsm
-var/lib/asterisk/sounds/en/the-next.gsm
-var/lib/asterisk/sounds/en/the-num-i-have-is.gsm
-var/lib/asterisk/sounds/en/the-number-u-dialed.gsm
-var/lib/asterisk/sounds/en/the-party-you-are-calling.gsm
-var/lib/asterisk/sounds/en/the-weather-at.gsm
-var/lib/asterisk/sounds/en/then-press-pound.gsm
-var/lib/asterisk/sounds/en/there-are.gsm
-var/lib/asterisk/sounds/en/there-is-no-customer-support.gsm
-var/lib/asterisk/sounds/en/these-are-currently.gsm
-var/lib/asterisk/sounds/en/third.gsm
-var/lib/asterisk/sounds/en/thirteenth.gsm
-var/lib/asterisk/sounds/en/thirtieth.gsm
-var/lib/asterisk/sounds/en/this-call-may-be-monitored-or-recorded.gsm
-var/lib/asterisk/sounds/en/this-call-may-be.gsm
-var/lib/asterisk/sounds/en/this-call-will-cost.gsm
-var/lib/asterisk/sounds/en/this-call-will-end-in.gsm
-var/lib/asterisk/sounds/en/this-is-the-voice-mail-system.gsm
-var/lib/asterisk/sounds/en/this-is-yr-wakeup-call.gsm
-var/lib/asterisk/sounds/en/this.gsm
-var/lib/asterisk/sounds/en/thnk-u-for-patience.gsm
-var/lib/asterisk/sounds/en/thousandth.gsm
-var/lib/asterisk/sounds/en/through.gsm
-var/lib/asterisk/sounds/en/thunderstorm.gsm
-var/lib/asterisk/sounds/en/tide.gsm
-var/lib/asterisk/sounds/en/time.gsm
-var/lib/asterisk/sounds/en/times.gsm
-var/lib/asterisk/sounds/en/timewarp.gsm
-var/lib/asterisk/sounds/en/to-accept-recording.gsm
-var/lib/asterisk/sounds/en/to-be-called-back.gsm
-var/lib/asterisk/sounds/en/to-blklist-last-caller.gsm
-var/lib/asterisk/sounds/en/to-blklist-last-num.gsm
-var/lib/asterisk/sounds/en/to-call-num-press.gsm
-var/lib/asterisk/sounds/en/to-call-prson-w-sent-msg.gsm
-var/lib/asterisk/sounds/en/to-call-this-number.gsm
-var/lib/asterisk/sounds/en/to-cancel-this-msg.gsm
-var/lib/asterisk/sounds/en/to-cancel-wakeup.gsm
-var/lib/asterisk/sounds/en/to-change-exp-date.gsm
-var/lib/asterisk/sounds/en/to-change-your-pin-number.gsm
-var/lib/asterisk/sounds/en/to-collect-voicemail.gsm
-var/lib/asterisk/sounds/en/to-compose-a-message.gsm
-var/lib/asterisk/sounds/en/to-confirm-wakeup.gsm
-var/lib/asterisk/sounds/en/to-dial-by-name-press.gsm
-var/lib/asterisk/sounds/en/to-dial-by-name.gsm
-var/lib/asterisk/sounds/en/to-enter-a-diff-number.gsm
-var/lib/asterisk/sounds/en/to-enter-a-number.gsm
-var/lib/asterisk/sounds/en/to-erase-yr-temp-grtg.gsm
-var/lib/asterisk/sounds/en/to-extension.gsm
-var/lib/asterisk/sounds/en/to-hang-up-2.gsm
-var/lib/asterisk/sounds/en/to-hang-up.gsm
-var/lib/asterisk/sounds/en/to-hear-callerid.gsm
-var/lib/asterisk/sounds/en/to-hear-menu-again.gsm
-var/lib/asterisk/sounds/en/to-hear-msg-again.gsm
-var/lib/asterisk/sounds/en/to-hear-msg-envelope.gsm
-var/lib/asterisk/sounds/en/to-hear-net-status.gsm
-var/lib/asterisk/sounds/en/to-hear-weather-status.gsm
-var/lib/asterisk/sounds/en/to-hear-your-account-balance.gsm
-var/lib/asterisk/sounds/en/to-join-a-meeting.gsm
-var/lib/asterisk/sounds/en/to-leave-message-for.gsm
-var/lib/asterisk/sounds/en/to-listen-to-it.gsm
-var/lib/asterisk/sounds/en/to-log-in-to-voice-mail.gsm
-var/lib/asterisk/sounds/en/to-place-outgoing-call.gsm
-var/lib/asterisk/sounds/en/to-reach-first-rep.gsm
-var/lib/asterisk/sounds/en/to-reach-operator.gsm
-var/lib/asterisk/sounds/en/to-rec-yr-temp-grtg.gsm
-var/lib/asterisk/sounds/en/to-record-call.gsm
-var/lib/asterisk/sounds/en/to-redial-the-last-number-you-called.gsm
-var/lib/asterisk/sounds/en/to-report-emergency.gsm
-var/lib/asterisk/sounds/en/to-report-system-network-down.gsm
-var/lib/asterisk/sounds/en/to-rerecord-announce.gsm
-var/lib/asterisk/sounds/en/to-rerecord-it.gsm
-var/lib/asterisk/sounds/en/to-rerecord-yr-message.gsm
-var/lib/asterisk/sounds/en/to-rmv-num-blklist.gsm
-var/lib/asterisk/sounds/en/to-rqst-wakeup-call.gsm
-var/lib/asterisk/sounds/en/to-send-a-reply.gsm
-var/lib/asterisk/sounds/en/to-snooze-for.gsm
-var/lib/asterisk/sounds/en/to-use-def-attendant.gsm
-var/lib/asterisk/sounds/en/tomorrow-night.gsm
-var/lib/asterisk/sounds/en/tone_time.gsm
-var/lib/asterisk/sounds/en/tones-that-follow-are-for-the-deaf.gsm
-var/lib/asterisk/sounds/en/tonight.gsm
-var/lib/asterisk/sounds/en/too-low.gsm
-var/lib/asterisk/sounds/en/tornado.gsm
-var/lib/asterisk/sounds/en/touchtone1.gsm
-var/lib/asterisk/sounds/en/touchtone2.gsm
-var/lib/asterisk/sounds/en/touchtone3.gsm
-var/lib/asterisk/sounds/en/towards.gsm
-var/lib/asterisk/sounds/en/trading-desk.gsm
-var/lib/asterisk/sounds/en/traffic.gsm
-var/lib/asterisk/sounds/en/training.gsm
-var/lib/asterisk/sounds/en/transfer.gsm
-var/lib/asterisk/sounds/en/transfer_to_agent.gsm
-var/lib/asterisk/sounds/en/transportation.gsm
-var/lib/asterisk/sounds/en/travel.gsm
-var/lib/asterisk/sounds/en/treasury.gsm
-var/lib/asterisk/sounds/en/tt-allbusy.gsm
-var/lib/asterisk/sounds/en/tt-codezone.gsm
-var/lib/asterisk/sounds/en/tt-codezone_MIXDOWN.gsm
-var/lib/asterisk/sounds/en/tt-hangup.gsm
-var/lib/asterisk/sounds/en/tt-monkeys.gsm
-var/lib/asterisk/sounds/en/tt-monkeysintro.gsm
-var/lib/asterisk/sounds/en/tt-monty-knights.gsm
-var/lib/asterisk/sounds/en/tt-somethingwrong.gsm
-var/lib/asterisk/sounds/en/tt-weasels.gsm
-var/lib/asterisk/sounds/en/tucson.gsm
-var/lib/asterisk/sounds/en/tulsa.gsm
-var/lib/asterisk/sounds/en/turn-off-recording.gsm
-var/lib/asterisk/sounds/en/turning-to.gsm
-var/lib/asterisk/sounds/en/twelveth.gsm
-var/lib/asterisk/sounds/en/twentieth.gsm
-var/lib/asterisk/sounds/en/twisty-maze.gsm
-var/lib/asterisk/sounds/en/tx-has-been-approved.gsm
-var/lib/asterisk/sounds/en/typhoon.gsm
-var/lib/asterisk/sounds/en/udp.gsm
-var/lib/asterisk/sounds/en/uh-oh1.gsm
-var/lib/asterisk/sounds/en/uh-oh2.gsm
-var/lib/asterisk/sounds/en/uk.gsm
-var/lib/asterisk/sounds/en/unavailable.gsm
-var/lib/asterisk/sounds/en/unconditional.gsm
-var/lib/asterisk/sounds/en/unicorn_blood.gsm
-var/lib/asterisk/sounds/en/unicorn_blood_MIXDOWN.gsm
-var/lib/asterisk/sounds/en/unidentified-no-callback.gsm
-var/lib/asterisk/sounds/en/units.gsm
-var/lib/asterisk/sounds/en/unix.gsm
-var/lib/asterisk/sounds/en/unwelcomecall.gsm
-var/lib/asterisk/sounds/en/up.gsm
-var/lib/asterisk/sounds/en/uppercase.gsm
-var/lib/asterisk/sounds/en/uptime.gsm
-var/lib/asterisk/sounds/en/user.gsm
-var/lib/asterisk/sounds/en/users.gsm
-var/lib/asterisk/sounds/en/utah.gsm
-var/lib/asterisk/sounds/en/variable.gsm
-var/lib/asterisk/sounds/en/vermont.gsm
-var/lib/asterisk/sounds/en/virginia-beach.gsm
-var/lib/asterisk/sounds/en/virginia.gsm
-var/lib/asterisk/sounds/en/visibility.gsm
-var/lib/asterisk/sounds/en/visit-asterisk-website.gsm
-var/lib/asterisk/sounds/en/vm-Cust1.gsm
-var/lib/asterisk/sounds/en/vm-Cust2.gsm
-var/lib/asterisk/sounds/en/vm-Cust3.gsm
-var/lib/asterisk/sounds/en/vm-Cust4.gsm
-var/lib/asterisk/sounds/en/vm-Cust5.gsm
-var/lib/asterisk/sounds/en/vm-Family.gsm
-var/lib/asterisk/sounds/en/vm-Friends.gsm
-var/lib/asterisk/sounds/en/vm-INBOX.gsm
-var/lib/asterisk/sounds/en/vm-Old.gsm
-var/lib/asterisk/sounds/en/vm-Urgent.gsm
-var/lib/asterisk/sounds/en/vm-Work.gsm
-var/lib/asterisk/sounds/en/vm-advopts.gsm
-var/lib/asterisk/sounds/en/vm-and.gsm
-var/lib/asterisk/sounds/en/vm-calldiffnum.gsm
-var/lib/asterisk/sounds/en/vm-changeto.gsm
-var/lib/asterisk/sounds/en/vm-delete.gsm
-var/lib/asterisk/sounds/en/vm-deleted.gsm
-var/lib/asterisk/sounds/en/vm-dialout.gsm
-var/lib/asterisk/sounds/en/vm-duration.gsm
-var/lib/asterisk/sounds/en/vm-enter-num-to-call.gsm
-var/lib/asterisk/sounds/en/vm-extension.gsm
-var/lib/asterisk/sounds/en/vm-first.gsm
-var/lib/asterisk/sounds/en/vm-for.gsm
-var/lib/asterisk/sounds/en/vm-forward-multiple.gsm
-var/lib/asterisk/sounds/en/vm-forward.gsm
-var/lib/asterisk/sounds/en/vm-forwardoptions.gsm
-var/lib/asterisk/sounds/en/vm-from-extension.gsm
-var/lib/asterisk/sounds/en/vm-from-phonenumber.gsm
-var/lib/asterisk/sounds/en/vm-from.gsm
-var/lib/asterisk/sounds/en/vm-goodbye.gsm
-var/lib/asterisk/sounds/en/vm-helpexit.gsm
-var/lib/asterisk/sounds/en/vm-incorrect-mailbox.gsm
-var/lib/asterisk/sounds/en/vm-incorrect.gsm
-var/lib/asterisk/sounds/en/vm-instructions.gsm
-var/lib/asterisk/sounds/en/vm-intro.gsm
-var/lib/asterisk/sounds/en/vm-invalid-password.gsm
-var/lib/asterisk/sounds/en/vm-invalidpassword.gsm
-var/lib/asterisk/sounds/en/vm-isonphone.gsm
-var/lib/asterisk/sounds/en/vm-isunavail.gsm
-var/lib/asterisk/sounds/en/vm-last.gsm
-var/lib/asterisk/sounds/en/vm-leavemsg.gsm
-var/lib/asterisk/sounds/en/vm-login.gsm
-var/lib/asterisk/sounds/en/vm-mailboxfull.gsm
-var/lib/asterisk/sounds/en/vm-marked-nonurgent.gsm
-var/lib/asterisk/sounds/en/vm-marked-urgent.gsm
-var/lib/asterisk/sounds/en/vm-message.gsm
-var/lib/asterisk/sounds/en/vm-messages.gsm
-var/lib/asterisk/sounds/en/vm-minutes.gsm
-var/lib/asterisk/sounds/en/vm-mismatch.gsm
-var/lib/asterisk/sounds/en/vm-msgforwarded.gsm
-var/lib/asterisk/sounds/en/vm-msginstruct.gsm
-var/lib/asterisk/sounds/en/vm-msgsaved.gsm
-var/lib/asterisk/sounds/en/vm-newpassword.gsm
-var/lib/asterisk/sounds/en/vm-newuser.gsm
-var/lib/asterisk/sounds/en/vm-next.gsm
-var/lib/asterisk/sounds/en/vm-no.gsm
-var/lib/asterisk/sounds/en/vm-nobodyavail.gsm
-var/lib/asterisk/sounds/en/vm-nobox.gsm
-var/lib/asterisk/sounds/en/vm-nomore.gsm
-var/lib/asterisk/sounds/en/vm-nonumber.gsm
-var/lib/asterisk/sounds/en/vm-num-i-have.gsm
-var/lib/asterisk/sounds/en/vm-onefor-full.gsm
-var/lib/asterisk/sounds/en/vm-onefor.gsm
-var/lib/asterisk/sounds/en/vm-options.gsm
-var/lib/asterisk/sounds/en/vm-opts-full.gsm
-var/lib/asterisk/sounds/en/vm-opts.gsm
-var/lib/asterisk/sounds/en/vm-passchanged.gsm
-var/lib/asterisk/sounds/en/vm-password.gsm
-var/lib/asterisk/sounds/en/vm-pls-try-again.gsm
-var/lib/asterisk/sounds/en/vm-press.gsm
-var/lib/asterisk/sounds/en/vm-prev.gsm
-var/lib/asterisk/sounds/en/vm-reachoper.gsm
-var/lib/asterisk/sounds/en/vm-rec-busy.gsm
-var/lib/asterisk/sounds/en/vm-rec-name.gsm
-var/lib/asterisk/sounds/en/vm-rec-temp.gsm
-var/lib/asterisk/sounds/en/vm-rec-unv.gsm
-var/lib/asterisk/sounds/en/vm-received.gsm
-var/lib/asterisk/sounds/en/vm-record-prepend.gsm
-var/lib/asterisk/sounds/en/vm-reenterpassword.gsm
-var/lib/asterisk/sounds/en/vm-repeat.gsm
-var/lib/asterisk/sounds/en/vm-review-nonurgent.gsm
-var/lib/asterisk/sounds/en/vm-review-urgent.gsm
-var/lib/asterisk/sounds/en/vm-review.gsm
-var/lib/asterisk/sounds/en/vm-saved.gsm
-var/lib/asterisk/sounds/en/vm-savedto.gsm
-var/lib/asterisk/sounds/en/vm-savefolder.gsm
-var/lib/asterisk/sounds/en/vm-savemessage.gsm
-var/lib/asterisk/sounds/en/vm-saveoper.gsm
-var/lib/asterisk/sounds/en/vm-sorry.gsm
-var/lib/asterisk/sounds/en/vm-star-cancel.gsm
-var/lib/asterisk/sounds/en/vm-starmain.gsm
-var/lib/asterisk/sounds/en/vm-tempgreetactive.gsm
-var/lib/asterisk/sounds/en/vm-tempgreeting.gsm
-var/lib/asterisk/sounds/en/vm-tempgreeting2.gsm
-var/lib/asterisk/sounds/en/vm-tempremoved.gsm
-var/lib/asterisk/sounds/en/vm-then-pound.gsm
-var/lib/asterisk/sounds/en/vm-theperson.gsm
-var/lib/asterisk/sounds/en/vm-tmpexists.gsm
-var/lib/asterisk/sounds/en/vm-tocallback.gsm
-var/lib/asterisk/sounds/en/vm-tocallnum.gsm
-var/lib/asterisk/sounds/en/vm-tocancel.gsm
-var/lib/asterisk/sounds/en/vm-tocancelmsg.gsm
-var/lib/asterisk/sounds/en/vm-toenternumber.gsm
-var/lib/asterisk/sounds/en/vm-toforward.gsm
-var/lib/asterisk/sounds/en/vm-tohearenv.gsm
-var/lib/asterisk/sounds/en/vm-tomakecall.gsm
-var/lib/asterisk/sounds/en/vm-tooshort.gsm
-var/lib/asterisk/sounds/en/vm-toreply.gsm
-var/lib/asterisk/sounds/en/vm-torerecord.gsm
-var/lib/asterisk/sounds/en/vm-undelete.gsm
-var/lib/asterisk/sounds/en/vm-undeleted.gsm
-var/lib/asterisk/sounds/en/vm-unknown-caller.gsm
-var/lib/asterisk/sounds/en/vm-whichbox.gsm
-var/lib/asterisk/sounds/en/vm-youhave.gsm
-var/lib/asterisk/sounds/en/voice-mail-system.gsm
-var/lib/asterisk/sounds/en/wait-moment.gsm
-var/lib/asterisk/sounds/en/wait-offensive-sounds.gsm
-var/lib/asterisk/sounds/en/wakeup-call-cancelled.gsm
-var/lib/asterisk/sounds/en/wakeup-call.gsm
-var/lib/asterisk/sounds/en/wakeup-daily.gsm
-var/lib/asterisk/sounds/en/wakeup-for-daily.gsm
-var/lib/asterisk/sounds/en/wakeup-for-one-time.gsm
-var/lib/asterisk/sounds/en/wakeup-onetime.gsm
-var/lib/asterisk/sounds/en/walks-into-bar-mail.gsm
-var/lib/asterisk/sounds/en/warning.gsm
-var/lib/asterisk/sounds/en/was-last-seen.gsm
-var/lib/asterisk/sounds/en/was.gsm
-var/lib/asterisk/sounds/en/washington-dc.gsm
-var/lib/asterisk/sounds/en/washington.gsm
-var/lib/asterisk/sounds/en/watch.gsm
-var/lib/asterisk/sounds/en/watson.gsm
-var/lib/asterisk/sounds/en/we-apologize.gsm
-var/lib/asterisk/sounds/en/we-dont-have-tech-support.gsm
-var/lib/asterisk/sounds/en/weasels-eaten-phonesys.gsm
-var/lib/asterisk/sounds/en/weather-station.gsm
-var/lib/asterisk/sounds/en/weather.gsm
-var/lib/asterisk/sounds/en/web.gsm
-var/lib/asterisk/sounds/en/weeks.gsm
-var/lib/asterisk/sounds/en/welcome.gsm
-var/lib/asterisk/sounds/en/were-sorry.gsm
-var/lib/asterisk/sounds/en/west-virginia.gsm
-var/lib/asterisk/sounds/en/west.gsm
-var/lib/asterisk/sounds/en/westerly.gsm
-var/lib/asterisk/sounds/en/what-are-you-wearing.gsm
-var/lib/asterisk/sounds/en/what-time-it-is.gsm
-var/lib/asterisk/sounds/en/what-time-it-is2.gsm
-var/lib/asterisk/sounds/en/when-dialing-this-number.gsm
-var/lib/asterisk/sounds/en/who-would-you-like-to-call.gsm
-var/lib/asterisk/sounds/en/whoareyou.gsm
-var/lib/asterisk/sounds/en/why-no-answer-mystery.gsm
-var/lib/asterisk/sounds/en/wichita.gsm
-var/lib/asterisk/sounds/en/will-apply.gsm
-var/lib/asterisk/sounds/en/will-expire.gsm
-var/lib/asterisk/sounds/en/will-not-expire.gsm
-var/lib/asterisk/sounds/en/will-reflect-charge-of.gsm
-var/lib/asterisk/sounds/en/wind.gsm
-var/lib/asterisk/sounds/en/windows.gsm
-var/lib/asterisk/sounds/en/windy.gsm
-var/lib/asterisk/sounds/en/wisconsin.gsm
-var/lib/asterisk/sounds/en/wish-to-continue.gsm
-var/lib/asterisk/sounds/en/wish_command_totally.gsm
-var/lib/asterisk/sounds/en/with.gsm
-var/lib/asterisk/sounds/en/within.gsm
-var/lib/asterisk/sounds/en/woo_hoo_call_first.gsm
-var/lib/asterisk/sounds/en/work.gsm
-var/lib/asterisk/sounds/en/wrong-try-again-smarty.gsm
-var/lib/asterisk/sounds/en/wtng-to-spk-w-rep.gsm
-var/lib/asterisk/sounds/en/www-switchboard-com.gsm
-var/lib/asterisk/sounds/en/wx
-var/lib/asterisk/sounds/en/wx/around.gsm
-var/lib/asterisk/sounds/en/wx/barometer.gsm
-var/lib/asterisk/sounds/en/wx/ceiling.gsm
-var/lib/asterisk/sounds/en/wx/dew-point.gsm
-var/lib/asterisk/sounds/en/wx/falling.gsm
-var/lib/asterisk/sounds/en/wx/feet.gsm
-var/lib/asterisk/sounds/en/wx/foot.gsm
-var/lib/asterisk/sounds/en/wx/gust.gsm
-var/lib/asterisk/sounds/en/wx/gusting-to.gsm
-var/lib/asterisk/sounds/en/wx/gusts.gsm
-var/lib/asterisk/sounds/en/wx/gusty.gsm
-var/lib/asterisk/sounds/en/wx/heat-index.gsm
-var/lib/asterisk/sounds/en/wx/humidity.gsm
-var/lib/asterisk/sounds/en/wx/inch.gsm
-var/lib/asterisk/sounds/en/wx/inches.gsm
-var/lib/asterisk/sounds/en/wx/kilometer.gsm
-var/lib/asterisk/sounds/en/wx/large.gsm
-var/lib/asterisk/sounds/en/wx/meter.gsm
-var/lib/asterisk/sounds/en/wx/mist.gsm
-var/lib/asterisk/sounds/en/wx/northeast.gsm
-var/lib/asterisk/sounds/en/wx/northwest.gsm
-var/lib/asterisk/sounds/en/wx/percent.gsm
-var/lib/asterisk/sounds/en/wx/point.gsm
-var/lib/asterisk/sounds/en/wx/rising.gsm
-var/lib/asterisk/sounds/en/wx/southeast.gsm
-var/lib/asterisk/sounds/en/wx/southwest.gsm
-var/lib/asterisk/sounds/en/wx/steady.gsm
-var/lib/asterisk/sounds/en/wx/temperature.gsm
-var/lib/asterisk/sounds/en/wx/wind-chill.gsm
-var/lib/asterisk/sounds/en/wx/winds.gsm
-var/lib/asterisk/sounds/en/wyoming.gsm
-var/lib/asterisk/sounds/en/yeah.gsm
-var/lib/asterisk/sounds/en/year.gsm
-var/lib/asterisk/sounds/en/years.gsm
-var/lib/asterisk/sounds/en/yes-dear.gsm
-var/lib/asterisk/sounds/en/yes-dear2.gsm
-var/lib/asterisk/sounds/en/you-are-caller-num.gsm
-var/lib/asterisk/sounds/en/you-are-curr-call-num.gsm
-var/lib/asterisk/sounds/en/you-can-press.gsm
-var/lib/asterisk/sounds/en/you-dialed-wrong-number.gsm
-var/lib/asterisk/sounds/en/you-entered.gsm
-var/lib/asterisk/sounds/en/you-have-dialed.gsm
-var/lib/asterisk/sounds/en/you-have-reached-a-test-number.gsm
-var/lib/asterisk/sounds/en/you-have-these-options.gsm
-var/lib/asterisk/sounds/en/you-must-first-dial.gsm
-var/lib/asterisk/sounds/en/you-seem-impatient.gsm
-var/lib/asterisk/sounds/en/you-sound-cute.gsm
-var/lib/asterisk/sounds/en/you-wish-to-join.gsm
-var/lib/asterisk/sounds/en/you_say_yes.gsm
-var/lib/asterisk/sounds/en/your-account.gsm
-var/lib/asterisk/sounds/en/your-msg-has-been-saved.gsm
-var/lib/asterisk/sounds/en/your-msg-is-too-short.gsm
-var/lib/asterisk/sounds/en/your-notifications.gsm
-var/lib/asterisk/sounds/en/your-req-notification.gsm
-var/lib/asterisk/sounds/en/your-temp-greeting.gsm
-var/lib/asterisk/sounds/en/your.gsm
-var/lib/asterisk/sounds/en/yourcallisimportant.gsm
-var/lib/asterisk/sounds/en/yourcallisimpotent.gsm
-var/lib/asterisk/sounds/en/zip-code.gsm
-var/lib/asterisk/sounds/en/zombies.gsm
-#var/lib/asterisk/sounds/letters
-#var/lib/asterisk/sounds/letters/de
-var/lib/asterisk/sounds/letters/de/a.gsm
-var/lib/asterisk/sounds/letters/de/at.gsm
-var/lib/asterisk/sounds/letters/de/b.gsm
-var/lib/asterisk/sounds/letters/de/c.gsm
-var/lib/asterisk/sounds/letters/de/d.gsm
-var/lib/asterisk/sounds/letters/de/dash.gsm
-var/lib/asterisk/sounds/letters/de/dollar.gsm
-var/lib/asterisk/sounds/letters/de/dot.gsm
-var/lib/asterisk/sounds/letters/de/e.gsm
-var/lib/asterisk/sounds/letters/de/equals.gsm
-var/lib/asterisk/sounds/letters/de/exclaimation-point.gsm
-var/lib/asterisk/sounds/letters/de/f.gsm
-var/lib/asterisk/sounds/letters/de/g.gsm
-var/lib/asterisk/sounds/letters/de/h.gsm
-var/lib/asterisk/sounds/letters/de/i.gsm
-var/lib/asterisk/sounds/letters/de/j.gsm
-var/lib/asterisk/sounds/letters/de/k.gsm
-var/lib/asterisk/sounds/letters/de/l.gsm
-var/lib/asterisk/sounds/letters/de/m.gsm
-var/lib/asterisk/sounds/letters/de/n.gsm
-var/lib/asterisk/sounds/letters/de/o.gsm
-var/lib/asterisk/sounds/letters/de/p.gsm
-var/lib/asterisk/sounds/letters/de/plus.gsm
-var/lib/asterisk/sounds/letters/de/q.gsm
-var/lib/asterisk/sounds/letters/de/r.gsm
-var/lib/asterisk/sounds/letters/de/s.gsm
-var/lib/asterisk/sounds/letters/de/slash.gsm
-var/lib/asterisk/sounds/letters/de/space.gsm
-var/lib/asterisk/sounds/letters/de/t.gsm
-var/lib/asterisk/sounds/letters/de/u.gsm
-var/lib/asterisk/sounds/letters/de/v.gsm
-var/lib/asterisk/sounds/letters/de/w.gsm
-var/lib/asterisk/sounds/letters/de/x.gsm
-var/lib/asterisk/sounds/letters/de/y.gsm
-var/lib/asterisk/sounds/letters/de/z.gsm
-var/lib/asterisk/sounds/letters/de/zed.gsm
-#var/lib/asterisk/sounds/phonetic
-#var/lib/asterisk/sounds/phonetic/de
-var/lib/asterisk/sounds/phonetic/de/9_p.gsm
-var/lib/asterisk/sounds/phonetic/de/a_p.gsm
-var/lib/asterisk/sounds/phonetic/de/b_p.gsm
-var/lib/asterisk/sounds/phonetic/de/c_p.gsm
-var/lib/asterisk/sounds/phonetic/de/d_p.gsm
-var/lib/asterisk/sounds/phonetic/de/e_p.gsm
-var/lib/asterisk/sounds/phonetic/de/f_p.gsm
-var/lib/asterisk/sounds/phonetic/de/g_p.gsm
-var/lib/asterisk/sounds/phonetic/de/h_p.gsm
-var/lib/asterisk/sounds/phonetic/de/i_p.gsm
-var/lib/asterisk/sounds/phonetic/de/j_p.gsm
-var/lib/asterisk/sounds/phonetic/de/k_p.gsm
-var/lib/asterisk/sounds/phonetic/de/l_p.gsm
-var/lib/asterisk/sounds/phonetic/de/m_p.gsm
-var/lib/asterisk/sounds/phonetic/de/n_p.gsm
-var/lib/asterisk/sounds/phonetic/de/niner.gsm
-var/lib/asterisk/sounds/phonetic/de/o_p.gsm
-var/lib/asterisk/sounds/phonetic/de/p_p.gsm
-var/lib/asterisk/sounds/phonetic/de/q_p.gsm
-var/lib/asterisk/sounds/phonetic/de/r_p.gsm
-var/lib/asterisk/sounds/phonetic/de/s_p.gsm
-var/lib/asterisk/sounds/phonetic/de/t_p.gsm
-var/lib/asterisk/sounds/phonetic/de/u_p.gsm
-var/lib/asterisk/sounds/phonetic/de/v_p.gsm
-var/lib/asterisk/sounds/phonetic/de/w_p.gsm
-var/lib/asterisk/sounds/phonetic/de/x_p.gsm
-var/lib/asterisk/sounds/phonetic/de/y_p.gsm
-var/lib/asterisk/sounds/phonetic/de/z_p.gsm
-#var/lib/asterisk/static-http
-#var/lib/asterisk/static-http/ajamdemo.html
-#var/lib/asterisk/static-http/appdocsxml.xslt
-#var/lib/asterisk/static-http/astman.css
-#var/lib/asterisk/static-http/astman.js
-#var/lib/asterisk/static-http/core-en_US.xml
-#var/lib/asterisk/static-http/mantest.html
-#var/lib/asterisk/static-http/prototype.js
-#var/lib/asterisk/third-party
-#var/log/asterisk
-var/log/asterisk/cdr-csv
-var/log/asterisk/cdr-custom
-var/log/asterisk/cel-custom
-#var/spool/asterisk
-var/spool/asterisk/dictate
-var/spool/asterisk/meetme
-var/spool/asterisk/monitor
-var/spool/asterisk/recording
-var/spool/asterisk/system
-var/spool/asterisk/tmp
-#var/spool/asterisk/voicemail
-#var/spool/asterisk/voicemail/default
-#var/spool/asterisk/voicemail/default/1234
-var/spool/asterisk/voicemail/default/1234/INBOX
-var/spool/asterisk/voicemail/default/1234/en
-var/spool/asterisk/voicemail/default/1234/en/busy.gsm
-var/spool/asterisk/voicemail/default/1234/en/unavail.gsm
diff --git a/config/rootfiles/packages/bluetooth b/config/rootfiles/packages/bluetooth
deleted file mode 100644 (file)
index 267e40e..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#etc/bluetooth
-etc/bluetooth/audio.conf
-etc/bluetooth/hcid.conf
-etc/bluetooth/input.conf
-etc/bluetooth/main.conf
-etc/bluetooth/network.conf
-etc/bluetooth/rfcomm.conf
-etc/dbus-1/system.d/bluetooth.conf
-#lib/udev/rules.d/24-bluetooth.rules
-lib/firmware/BCM-LEGAL.txt
-lib/firmware/BCM2033-FW.bin
-lib/firmware/BCM2033-MD.hex
-lib/firmware/STLC2500_R4_00_03.ptc
-lib/firmware/STLC2500_R4_00_06.ssf
-lib/firmware/STLC2500_R4_02_02_WLAN.ssf
-lib/firmware/STLC2500_R4_02_04.ptc
-lib/udev/bluetooth_serial
-usr/bin/ciptool
-usr/bin/dfutool
-usr/bin/dund
-usr/bin/hcitool
-usr/bin/hidd
-usr/bin/l2ping
-usr/bin/l2test
-usr/bin/pand
-usr/bin/passkey-agent
-usr/bin/rctest
-usr/bin/rfcomm
-usr/bin/sdptool
-#usr/include/bluetooth
-#usr/include/bluetooth/bluetooth.h
-#usr/include/bluetooth/bnep.h
-#usr/include/bluetooth/cmtp.h
-#usr/include/bluetooth/hci.h
-#usr/include/bluetooth/hci_lib.h
-#usr/include/bluetooth/hidp.h
-#usr/include/bluetooth/l2cap.h
-#usr/include/bluetooth/rfcomm.h
-#usr/include/bluetooth/sco.h
-#usr/include/bluetooth/sdp.h
-#usr/include/bluetooth/sdp_lib.h
-#usr/lib/alsa-lib/libasound_module_ctl_bluetooth.la
-usr/lib/alsa-lib/libasound_module_ctl_bluetooth.so
-#usr/lib/alsa-lib/libasound_module_pcm_bluetooth.la
-usr/lib/alsa-lib/libasound_module_pcm_bluetooth.so
-#usr/lib/bluetooth
-#usr/lib/bluetooth/plugins
-#usr/lib/bluetooth/plugins/audio.la
-usr/lib/bluetooth/plugins/audio.so
-#usr/lib/bluetooth/plugins/input.la
-usr/lib/bluetooth/plugins/input.so
-#usr/lib/bluetooth/plugins/netlink.la
-usr/lib/bluetooth/plugins/netlink.so
-#usr/lib/bluetooth/plugins/network.la
-usr/lib/bluetooth/plugins/network.so
-#usr/lib/bluetooth/plugins/serial.la
-usr/lib/bluetooth/plugins/serial.so
-usr/lib/cups/backend/bluetooth
-#usr/lib/libbluetooth.a
-#usr/lib/libbluetooth.la
-usr/lib/libbluetooth.so
-usr/lib/libbluetooth.so.2
-usr/lib/libbluetooth.so.2.11.2
-#usr/lib/pkgconfig/bluez.pc
-usr/sbin/bccmd
-usr/sbin/hciattach
-usr/sbin/hciconfig
-usr/sbin/hcid
-usr/sbin/hcidump
-#usr/sbin/hciemu
-usr/sbin/hid2hci
-#usr/share/aclocal/bluez.m4
-#usr/share/man/man1/ciptool.1
-#usr/share/man/man1/dfutool.1
-#usr/share/man/man1/dund.1
-#usr/share/man/man1/hcitool.1
-#usr/share/man/man1/hidd.1
-#usr/share/man/man1/l2ping.1
-#usr/share/man/man1/pand.1
-#usr/share/man/man1/rfcomm.1
-#usr/share/man/man1/sdptool.1
-#usr/share/man/man5/hcid.conf.5
-#usr/share/man/man8/bccmd.8
-#usr/share/man/man8/hciattach.8
-#usr/share/man/man8/hciconfig.8
-#usr/share/man/man8/hcid.8
-#usr/share/man/man8/hcidump.8
-#usr/share/man/man8/hid2hci.8
-var/ipfire/backup/addons/includes/bluetooth
-#var/ipfire/bluetooth
-var/ipfire/bluetooth/settings
-var/lib/bluetooth
-srv/web/ipfire/cgi-bin/bluetooth.cgi
-var/ipfire/menu.d/EX-bluetooth.menu
-etc/rc.d/init.d/bluetooth
-etc/rc.d/rc3.d/S16bluetooth
-etc/rc.d/rc0.d/K84bluetooth
-etc/rc.d/rc6.d/K84bluetooth
diff --git a/config/rootfiles/packages/dpfhack b/config/rootfiles/packages/dpfhack
deleted file mode 100644 (file)
index b79791c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#usr/include/dpf.h
-#usr/include/usbuser.h
-usr/lib/libdpf.so
index c96267c269fb1f9d55eed133f0f6de81e5598dc4..d5db41fc701c0ae2be1b2448ba04d413a7fc23fe 100644 (file)
@@ -27,15 +27,15 @@ usr/bin/eu-unstrip
 #usr/include/gelf.h
 #usr/include/libelf.h
 #usr/include/nlist.h
-usr/lib/libasm-0.184.so
+usr/lib/libasm-0.185.so
 #usr/lib/libasm.a
 #usr/lib/libasm.so
 usr/lib/libasm.so.1
-usr/lib/libdw-0.184.so
+usr/lib/libdw-0.185.so
 #usr/lib/libdw.a
 #usr/lib/libdw.so
 usr/lib/libdw.so.1
-usr/lib/libelf-0.184.so
+usr/lib/libelf-0.185.so
 #usr/lib/libelf.a
 #usr/lib/libelf.so
 usr/lib/libelf.so.1
index 6ea1dc958f243b2f4bd3e0626691136a46ccdb5d..1e489a5bbfa93a596fc9398007d63379c5e10cb1 100644 (file)
@@ -28,29 +28,28 @@ usr/lib/libFLAC.so.8.3.0
 #usr/lib/pkgconfig/flac.pc
 #usr/share/aclocal/libFLAC++.m4
 #usr/share/aclocal/libFLAC.m4
-#usr/share/doc/flac-1.3.2
-#usr/share/doc/flac-1.3.2/FLAC.tag
-#usr/share/doc/flac-1.3.2/html
-#usr/share/doc/flac-1.3.2/html/changelog.html
-#usr/share/doc/flac-1.3.2/html/developers.html
-#usr/share/doc/flac-1.3.2/html/documentation.html
-#usr/share/doc/flac-1.3.2/html/documentation_bugs.html
-#usr/share/doc/flac-1.3.2/html/documentation_example_code.html
-#usr/share/doc/flac-1.3.2/html/documentation_format_overview.html
-#usr/share/doc/flac-1.3.2/html/documentation_tools.html
-#usr/share/doc/flac-1.3.2/html/documentation_tools_flac.html
-#usr/share/doc/flac-1.3.2/html/documentation_tools_metaflac.html
-#usr/share/doc/flac-1.3.2/html/faq.html
-#usr/share/doc/flac-1.3.2/html/favicon.ico
-#usr/share/doc/flac-1.3.2/html/features.html
-#usr/share/doc/flac-1.3.2/html/flac.css
-#usr/share/doc/flac-1.3.2/html/format.html
-#usr/share/doc/flac-1.3.2/html/id.html
-#usr/share/doc/flac-1.3.2/html/images
-#usr/share/doc/flac-1.3.2/html/images/logo.svg
-#usr/share/doc/flac-1.3.2/html/images/logo130.gif
-#usr/share/doc/flac-1.3.2/html/index.html
-#usr/share/doc/flac-1.3.2/html/license.html
-#usr/share/doc/flac-1.3.2/html/ogg_mapping.html
+#usr/share/doc/flac
+#usr/share/doc/flac/FLAC.tag
+#usr/share/doc/flac/changelog.html
+#usr/share/doc/flac/developers.html
+#usr/share/doc/flac/documentation.html
+#usr/share/doc/flac/documentation_bugs.html
+#usr/share/doc/flac/documentation_example_code.html
+#usr/share/doc/flac/documentation_format_overview.html
+#usr/share/doc/flac/documentation_tools.html
+#usr/share/doc/flac/documentation_tools_flac.html
+#usr/share/doc/flac/documentation_tools_metaflac.html
+#usr/share/doc/flac/faq.html
+#usr/share/doc/flac/favicon.ico
+#usr/share/doc/flac/features.html
+#usr/share/doc/flac/flac.css
+#usr/share/doc/flac/format.html
+#usr/share/doc/flac/id.html
+#usr/share/doc/flac/images
+#usr/share/doc/flac/images/logo.svg
+#usr/share/doc/flac/images/logo130.gif
+#usr/share/doc/flac/index.html
+#usr/share/doc/flac/license.html
+#usr/share/doc/flac/ogg_mapping.html
 #usr/share/man/man1/flac.1
 #usr/share/man/man1/metaflac.1
diff --git a/config/rootfiles/packages/lcd4linux b/config/rootfiles/packages/lcd4linux
deleted file mode 100644 (file)
index 226daf4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/bin/lcd4linux
-var/ipfire/backup/addons/includes/lcd4linux
-etc/rc.d/init.d/lcd4linux
diff --git a/config/rootfiles/packages/libmicrohttpd b/config/rootfiles/packages/libmicrohttpd
deleted file mode 100644 (file)
index 62717ed..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#usr/include/microhttpd.h
-#usr/lib/libmicrohttpd.la
-#usr/lib/libmicrohttpd.so
-usr/lib/libmicrohttpd.so.12
-usr/lib/libmicrohttpd.so.12.58.0
-#usr/lib/pkgconfig/libmicrohttpd.pc
index 0b53490cd49f5b3a4a5e35e011f83695da8b81a3..2977fc6b0920f249fd94c305b908fea94be8665f 100644 (file)
@@ -6,7 +6,7 @@
 #usr/lib/libogg.la
 #usr/lib/libogg.so
 usr/lib/libogg.so.0
-usr/lib/libogg.so.0.8.4
+usr/lib/libogg.so.0.8.5
 #usr/lib/pkgconfig/ogg.pc
 #usr/share/aclocal/ogg.m4
 #usr/share/doc/libogg
@@ -94,4 +94,3 @@ usr/lib/libogg.so.0.8.4
 #usr/share/doc/libogg/vorbisword2.png
 #usr/share/doc/libogg/white-ogg.png
 #usr/share/doc/libogg/white-xifish.png
-
diff --git a/config/rootfiles/packages/libsrtp b/config/rootfiles/packages/libsrtp
deleted file mode 100644 (file)
index 3ee2e3b..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#usr/include/srtp
-#usr/include/srtp/aes.h
-#usr/include/srtp/aes_cbc.h
-#usr/include/srtp/aes_gcm_ossl.h
-#usr/include/srtp/aes_icm.h
-#usr/include/srtp/aes_icm_ossl.h
-#usr/include/srtp/alloc.h
-#usr/include/srtp/auth.h
-#usr/include/srtp/cipher.h
-#usr/include/srtp/config.h
-#usr/include/srtp/crypto.h
-#usr/include/srtp/crypto_kernel.h
-#usr/include/srtp/crypto_math.h
-#usr/include/srtp/crypto_types.h
-#usr/include/srtp/cryptoalg.h
-#usr/include/srtp/datatypes.h
-#usr/include/srtp/ekt.h
-#usr/include/srtp/err.h
-#usr/include/srtp/getopt_s.h
-#usr/include/srtp/gf2_8.h
-#usr/include/srtp/hmac.h
-#usr/include/srtp/integers.h
-#usr/include/srtp/kernel_compat.h
-#usr/include/srtp/key.h
-#usr/include/srtp/null_auth.h
-#usr/include/srtp/null_cipher.h
-#usr/include/srtp/prng.h
-#usr/include/srtp/rand_source.h
-#usr/include/srtp/rdb.h
-#usr/include/srtp/rdbx.h
-#usr/include/srtp/rtp.h
-#usr/include/srtp/rtp_priv.h
-#usr/include/srtp/sha1.h
-#usr/include/srtp/srtp.h
-#usr/include/srtp/srtp_priv.h
-#usr/include/srtp/stat.h
-#usr/include/srtp/ut_sim.h
-#usr/include/srtp/xfm.h
-usr/lib/libsrtp.so
-usr/lib/libsrtp.so.1
-#usr/lib/pkgconfig/libsrtp.pc
diff --git a/config/rootfiles/packages/miniupnpd b/config/rootfiles/packages/miniupnpd
deleted file mode 100644 (file)
index cdad3be..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-etc/miniupnpd
-etc/miniupnpd/miniupnpd.conf
-etc/rc.d/init.d/miniupnpd
-etc/rc.d/init.d/networking/red.down/10-miniupnpd
-etc/rc.d/init.d/networking/red.up/10-miniupnpd
-usr/sbin/miniupnpd
diff --git a/config/rootfiles/packages/motion b/config/rootfiles/packages/motion
deleted file mode 100644 (file)
index f93b24a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-etc/motion
-etc/motion.conf
-etc/motion/camera1-dist.conf
-etc/motion/camera2-dist.conf
-etc/motion/camera3-dist.conf
-etc/motion/camera4-dist.conf
-#etc/motion/motion-dist.conf
-etc/rc.d/init.d/motion
-etc/rc.d/rc0.d/K01motion
-etc/rc.d/rc6.d/K01motion
-etc/rc.d/rc3.d/S99motion
-usr/bin/motion
-#usr/share/doc/motion
-#usr/share/doc/motion/COPYING
-#usr/share/doc/motion/CREDITS
-#usr/share/doc/motion/mask1.png
-#usr/share/doc/motion/motion_build.html
-#usr/share/doc/motion/motion_config.html
-#usr/share/doc/motion/motion_guide.html
-#usr/share/doc/motion/motion_stylesheet.css
-#usr/share/doc/motion/normal.jpg
-#usr/share/doc/motion/outputmotion1.jpg
-#usr/share/doc/motion/outputnormal1.jpg
-#usr/share/locale/da/LC_MESSAGES/motion.mo
-#usr/share/locale/de/LC_MESSAGES/motion.mo
-#usr/share/locale/es/LC_MESSAGES/motion.mo
-#usr/share/locale/fi/LC_MESSAGES/motion.mo
-#usr/share/locale/fr/LC_MESSAGES/motion.mo
-#usr/share/locale/it/LC_MESSAGES/motion.mo
-#usr/share/locale/ja/LC_MESSAGES/motion.mo
-#usr/share/locale/ko/LC_MESSAGES/motion.mo
-#usr/share/locale/li
-#usr/share/locale/li/LC_MESSAGES
-#usr/share/locale/li/LC_MESSAGES/motion.mo
-#usr/share/locale/nl/LC_MESSAGES/motion.mo
-#usr/share/locale/no
-#usr/share/locale/no/LC_MESSAGES
-#usr/share/locale/no/LC_MESSAGES/motion.mo
-#usr/share/locale/pt/LC_MESSAGES/motion.mo
-#usr/share/locale/sk/LC_MESSAGES/motion.mo
-#usr/share/locale/sv/LC_MESSAGES/motion.mo
-#usr/share/locale/zh/LC_MESSAGES/motion.mo
-#usr/share/man/man1/motion.1
-var/ipfire/backup/addons/includes/motion
index c116882a998a172a9374275af0460aeb19c6acd6..c8eb25853805f09a150a4b9469a0ffe2e685b0ed 100644 (file)
@@ -131,6 +131,7 @@ usr/bin/traptoemail
 #usr/include/net-snmp/library/snmp.h
 #usr/include/net-snmp/library/snmpAliasDomain.h
 #usr/include/net-snmp/library/snmpCallbackDomain.h
+#usr/include/net-snmp/library/snmpIPBaseDomain.h
 #usr/include/net-snmp/library/snmpIPv4BaseDomain.h
 #usr/include/net-snmp/library/snmpIPv6BaseDomain.h
 #usr/include/net-snmp/library/snmpSocketBaseDomain.h
@@ -184,23 +185,14 @@ usr/bin/traptoemail
 #usr/include/net-snmp/system/bsdi4.h
 #usr/include/net-snmp/system/cygwin.h
 #usr/include/net-snmp/system/darwin.h
-#usr/include/net-snmp/system/darwin10.h
-#usr/include/net-snmp/system/darwin11.h
-#usr/include/net-snmp/system/darwin12.h
-#usr/include/net-snmp/system/darwin13.h
-#usr/include/net-snmp/system/darwin14.h
-#usr/include/net-snmp/system/darwin15.h
-#usr/include/net-snmp/system/darwin16.h
-#usr/include/net-snmp/system/darwin17.h
-#usr/include/net-snmp/system/darwin7.h
-#usr/include/net-snmp/system/darwin8.h
-#usr/include/net-snmp/system/darwin9.h
 #usr/include/net-snmp/system/dragonfly.h
 #usr/include/net-snmp/system/dynix.h
 #usr/include/net-snmp/system/freebsd.h
 #usr/include/net-snmp/system/freebsd10.h
 #usr/include/net-snmp/system/freebsd11.h
 #usr/include/net-snmp/system/freebsd12.h
+#usr/include/net-snmp/system/freebsd13.h
+#usr/include/net-snmp/system/freebsd14.h
 #usr/include/net-snmp/system/freebsd2.h
 #usr/include/net-snmp/system/freebsd3.h
 #usr/include/net-snmp/system/freebsd4.h
@@ -240,28 +232,28 @@ usr/bin/traptoemail
 #usr/lib/libnetsnmp.a
 #usr/lib/libnetsnmp.la
 #usr/lib/libnetsnmp.so
-usr/lib/libnetsnmp.so.35
-usr/lib/libnetsnmp.so.35.0.0
+usr/lib/libnetsnmp.so.40
+usr/lib/libnetsnmp.so.40.1.0
 #usr/lib/libnetsnmpagent.a
 #usr/lib/libnetsnmpagent.la
 #usr/lib/libnetsnmpagent.so
-usr/lib/libnetsnmpagent.so.35
-usr/lib/libnetsnmpagent.so.35.0.0
+usr/lib/libnetsnmpagent.so.40
+usr/lib/libnetsnmpagent.so.40.1.0
 #usr/lib/libnetsnmphelpers.a
 #usr/lib/libnetsnmphelpers.la
 #usr/lib/libnetsnmphelpers.so
-usr/lib/libnetsnmphelpers.so.35
-usr/lib/libnetsnmphelpers.so.35.0.0
+usr/lib/libnetsnmphelpers.so.40
+usr/lib/libnetsnmphelpers.so.40.1.0
 #usr/lib/libnetsnmpmibs.a
 #usr/lib/libnetsnmpmibs.la
 #usr/lib/libnetsnmpmibs.so
-usr/lib/libnetsnmpmibs.so.35
-usr/lib/libnetsnmpmibs.so.35.0.0
+usr/lib/libnetsnmpmibs.so.40
+usr/lib/libnetsnmpmibs.so.40.1.0
 #usr/lib/libnetsnmptrapd.a
 #usr/lib/libnetsnmptrapd.la
 #usr/lib/libnetsnmptrapd.so
-usr/lib/libnetsnmptrapd.so.35
-usr/lib/libnetsnmptrapd.so.35.0.0
+usr/lib/libnetsnmptrapd.so.40
+usr/lib/libnetsnmptrapd.so.40.1.0
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Bundle
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Bundle/MakefileSubs.pm
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/NetSNMP
@@ -280,33 +272,28 @@ usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/SNMP.pm
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Bundle/NetSNMP/.packlist
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/ASN
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/ASN/ASN.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/ASN/ASN.so
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/ASN/autosplit.ix
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/OID
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/OID/OID.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/OID/OID.so
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/OID/autosplit.ix
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/TrapReceiver
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/TrapReceiver/TrapReceiver.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/TrapReceiver/TrapReceiver.so
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/TrapReceiver/autosplit.ix
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent/agent.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent/agent.so
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent/autosplit.ix
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent/default_store
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent/default_store/autosplit.ix
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent/default_store/default_store.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/agent/default_store/default_store.so
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/default_store
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/default_store/autosplit.ix
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/default_store/default_store.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/NetSNMP/default_store/default_store.so
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/SNMP
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/SNMP/SNMP.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/SNMP/SNMP.so
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/SNMP/autosplit.ix
+#usr/lib/pkgconfig/netsnmp-agent.pc
+#usr/lib/pkgconfig/netsnmp.pc
 usr/sbin/snmpd
 usr/sbin/snmptrapd
 #usr/share/man/man1/agentxtrap.1
index a5f5da95c5ee5d09b21dbb05b38f62bcb615e025..aa1d64827cc3c1d8f1e0ab698565023587554b20 100644 (file)
@@ -5,6 +5,7 @@ usr/lib/perl5/site_perl/5.32.1/Date/Language/Afar.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Amharic.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Austrian.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Brazilian.pm
+usr/lib/perl5/site_perl/5.32.1/Date/Language/Bulgarian.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Chinese.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Chinese_GB.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Czech.pm
@@ -20,6 +21,7 @@ usr/lib/perl5/site_perl/5.32.1/Date/Language/Hungarian.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Icelandic.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Italian.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Norwegian.pm
+usr/lib/perl5/site_perl/5.32.1/Date/Language/Occitan.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Oromo.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Romanian.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Language/Russian.pm
@@ -36,10 +38,13 @@ usr/lib/perl5/site_perl/5.32.1/Date/Language/Turkish.pm
 usr/lib/perl5/site_perl/5.32.1/Date/Parse.pm
 #usr/lib/perl5/site_perl/5.32.1/Time
 usr/lib/perl5/site_perl/5.32.1/Time/Zone.pm
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/TimeDate
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/TimeDate/.packlist
+usr/lib/perl5/site_perl/5.32.1/TimeDate.pm
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Date/Parse
+#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Date/Parse/.packlist
 #usr/share/man/man3/Date::Format.3
 #usr/share/man/man3/Date::Language.3
+#usr/share/man/man3/Date::Language::Bulgarian.3
 #usr/share/man/man3/Date::Language::Hungarian.3
 #usr/share/man/man3/Date::Parse.3
 #usr/share/man/man3/Time::Zone.3
+#usr/share/man/man3/TimeDate.3
diff --git a/config/rootfiles/packages/python3-pyparsing b/config/rootfiles/packages/python3-pyparsing
new file mode 100644 (file)
index 0000000..3106ff1
--- /dev/null
@@ -0,0 +1,9 @@
+#usr/lib/python3.8/site-packages/easy-install.pth
+#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg
+#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO
+#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/PKG-INFO
+#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/SOURCES.txt
+#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/dependency_links.txt
+#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/not-zip-safe
+#usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/EGG-INFO/top_level.txt
+usr/lib/python3.8/site-packages/pyparsing-2.4.7-py3.8.egg/pyparsing.py
diff --git a/config/rootfiles/packages/python3-setuptools b/config/rootfiles/packages/python3-setuptools
new file mode 100644 (file)
index 0000000..cb6e9b0
--- /dev/null
@@ -0,0 +1,175 @@
+#usr/lib/python3.8/site-packages/easy-install.pth
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO/PKG-INFO
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO/SOURCES.txt
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO/dependency_links.txt
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO/entry_points.txt
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO/not-zip-safe
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO/requires.txt
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/EGG-INFO/top_level.txt
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/_distutils_hack
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/_distutils_hack/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/_distutils_hack/override.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/__init__.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/appdirs.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/__about__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/_compat.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/_structures.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/_typing.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/markers.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/requirements.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/specifiers.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/tags.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/utils.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/packaging/version.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/_vendor/pyparsing.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/extern
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/extern/__init__.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/tests
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/tests/data
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/tests/data/my-test-package-source
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/pkg_resources/tests/data/my-test-package-source/setup.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_deprecation_warning.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/_msvccompiler.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/archive_util.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/bcppcompiler.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/ccompiler.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/cmd.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/bdist.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/bdist_dumb.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/bdist_msi.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/bdist_rpm.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/bdist_wininst.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/build.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/build_clib.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/build_ext.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/build_py.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/build_scripts.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/check.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/clean.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/config.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/install.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/install_data.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/install_egg_info.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/install_headers.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/install_lib.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/install_scripts.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/py37compat.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/register.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/sdist.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/command/upload.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/config.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/core.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/cygwinccompiler.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/debug.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/dep_util.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/dir_util.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/dist.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/errors.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/extension.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/fancy_getopt.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/file_util.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/filelist.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/log.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/msvc9compiler.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/msvccompiler.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/py35compat.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/py38compat.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/spawn.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/sysconfig.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/text_file.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/unixccompiler.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/util.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/version.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_distutils/versionpredicate.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_imp.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/ordered_set.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/__about__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/_compat.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/_structures.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/_typing.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/markers.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/requirements.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/specifiers.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/tags.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/utils.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/packaging/version.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/_vendor/pyparsing.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/archive_util.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/build_meta.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/cli-32.exe
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/cli-64.exe
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/cli.exe
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/alias.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/bdist_egg.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/bdist_rpm.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/build_clib.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/build_ext.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/build_py.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/develop.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/dist_info.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/easy_install.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/egg_info.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/install.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/install_egg_info.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/install_lib.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/install_scripts.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/launcher
+#manifest.xml
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/py36compat.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/register.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/rotate.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/saveopts.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/sdist.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/setopt.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/test.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/upload.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/command/upload_docs.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/config.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/dep_util.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/depends.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/dist.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/errors.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/extension.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/extern
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/extern/__init__.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/glob.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/gui-32.exe
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/gui-64.exe
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/gui.exe
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/installer.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/launch.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/lib2to3_ex.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/monkey.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/msvc.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/namespaces.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/package_index.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/py34compat.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/sandbox.py
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/script
+#(dev).tmpl
+#usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/script.tmpl
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/ssl_support.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/unicode_utils.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/version.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/wheel.py
+usr/lib/python3.8/site-packages/setuptools-56.2.0-py3.8.egg/setuptools/windows_support.py
+#usr/lib/python3.8/site-packages/setuptools.pth
diff --git a/config/rootfiles/packages/sane b/config/rootfiles/packages/sane
deleted file mode 100644 (file)
index 9da1fda..0000000
+++ /dev/null
@@ -1,659 +0,0 @@
-etc/rc.d/init.d/sane
-etc/rc.d/rc0.d/K10sane
-etc/rc.d/rc3.d/S95sane
-etc/rc.d/rc6.d/K10sane
-#etc/sane.d
-etc/sane.d/abaton.conf
-etc/sane.d/agfafocus.conf
-etc/sane.d/apple.conf
-etc/sane.d/artec.conf
-etc/sane.d/artec_eplus48u.conf
-etc/sane.d/avision.conf
-etc/sane.d/bh.conf
-etc/sane.d/canon.conf
-etc/sane.d/canon630u.conf
-etc/sane.d/canon_dr.conf
-etc/sane.d/cardscan.conf
-etc/sane.d/coolscan.conf
-etc/sane.d/coolscan2.conf
-etc/sane.d/coolscan3.conf
-etc/sane.d/dc210.conf
-etc/sane.d/dc240.conf
-etc/sane.d/dc25.conf
-etc/sane.d/dell1600n_net.conf
-etc/sane.d/dll.conf
-etc/sane.d/dll.d
-etc/sane.d/dmc.conf
-etc/sane.d/epjitsu.conf
-etc/sane.d/epson.conf
-etc/sane.d/epson2.conf
-etc/sane.d/epsonds.conf
-etc/sane.d/fujitsu.conf
-etc/sane.d/genesys.conf
-etc/sane.d/gt68xx.conf
-etc/sane.d/hp.conf
-etc/sane.d/hp3900.conf
-etc/sane.d/hp4200.conf
-etc/sane.d/hp5400.conf
-etc/sane.d/hs2p.conf
-etc/sane.d/ibm.conf
-etc/sane.d/kodak.conf
-etc/sane.d/kodakaio.conf
-etc/sane.d/kvs1025.conf
-etc/sane.d/leo.conf
-etc/sane.d/lexmark.conf
-etc/sane.d/ma1509.conf
-etc/sane.d/magicolor.conf
-etc/sane.d/matsushita.conf
-etc/sane.d/microtek.conf
-etc/sane.d/microtek2.conf
-etc/sane.d/mustek.conf
-etc/sane.d/mustek_pp.conf
-etc/sane.d/mustek_usb.conf
-etc/sane.d/nec.conf
-etc/sane.d/net.conf
-etc/sane.d/p5.conf
-etc/sane.d/pie.conf
-etc/sane.d/pieusb.conf
-etc/sane.d/pixma.conf
-etc/sane.d/plustek.conf
-etc/sane.d/plustek_pp.conf
-etc/sane.d/qcam.conf
-etc/sane.d/ricoh.conf
-etc/sane.d/rts8891.conf
-etc/sane.d/s9036.conf
-etc/sane.d/saned.conf
-etc/sane.d/sceptre.conf
-etc/sane.d/sharp.conf
-etc/sane.d/sm3840.conf
-etc/sane.d/snapscan.conf
-etc/sane.d/sp15c.conf
-etc/sane.d/st400.conf
-etc/sane.d/stv680.conf
-etc/sane.d/tamarack.conf
-etc/sane.d/teco1.conf
-etc/sane.d/teco2.conf
-etc/sane.d/teco3.conf
-etc/sane.d/test.conf
-etc/sane.d/u12.conf
-etc/sane.d/umax.conf
-etc/sane.d/umax1220u.conf
-etc/sane.d/umax_pp.conf
-etc/sane.d/xerox_mfp.conf
-usr/bin/gamma4scanimage
-usr/bin/sane-config
-usr/bin/sane-find-scanner
-usr/bin/scanimage
-usr/bin/umax_pp
-#usr/include/sane
-usr/include/sane/sane.h
-usr/include/sane/saneopts.h
-#usr/lib/libsane.la
-usr/lib/libsane.so
-usr/lib/libsane.so.1
-usr/lib/libsane.so.1.0.28
-#usr/lib/pkgconfig/sane-backends.pc
-#usr/lib/sane
-#usr/lib/sane/libsane-abaton.la
-usr/lib/sane/libsane-abaton.so
-usr/lib/sane/libsane-abaton.so.1
-usr/lib/sane/libsane-abaton.so.1.0.28
-#usr/lib/sane/libsane-agfafocus.la
-usr/lib/sane/libsane-agfafocus.so
-usr/lib/sane/libsane-agfafocus.so.1
-usr/lib/sane/libsane-agfafocus.so.1.0.28
-#usr/lib/sane/libsane-apple.la
-usr/lib/sane/libsane-apple.so
-usr/lib/sane/libsane-apple.so.1
-usr/lib/sane/libsane-apple.so.1.0.28
-#usr/lib/sane/libsane-artec.la
-usr/lib/sane/libsane-artec.so
-usr/lib/sane/libsane-artec.so.1
-usr/lib/sane/libsane-artec.so.1.0.28
-#usr/lib/sane/libsane-artec_eplus48u.la
-usr/lib/sane/libsane-artec_eplus48u.so
-usr/lib/sane/libsane-artec_eplus48u.so.1
-usr/lib/sane/libsane-artec_eplus48u.so.1.0.28
-#usr/lib/sane/libsane-as6e.la
-usr/lib/sane/libsane-as6e.so
-usr/lib/sane/libsane-as6e.so.1
-usr/lib/sane/libsane-as6e.so.1.0.28
-#usr/lib/sane/libsane-avision.la
-usr/lib/sane/libsane-avision.so
-usr/lib/sane/libsane-avision.so.1
-usr/lib/sane/libsane-avision.so.1.0.28
-#usr/lib/sane/libsane-bh.la
-usr/lib/sane/libsane-bh.so
-usr/lib/sane/libsane-bh.so.1
-usr/lib/sane/libsane-bh.so.1.0.28
-#usr/lib/sane/libsane-canon.la
-usr/lib/sane/libsane-canon.so
-usr/lib/sane/libsane-canon.so.1
-usr/lib/sane/libsane-canon.so.1.0.28
-#usr/lib/sane/libsane-canon630u.la
-usr/lib/sane/libsane-canon630u.so
-usr/lib/sane/libsane-canon630u.so.1
-usr/lib/sane/libsane-canon630u.so.1.0.28
-#usr/lib/sane/libsane-canon_dr.la
-usr/lib/sane/libsane-canon_dr.so
-usr/lib/sane/libsane-canon_dr.so.1
-usr/lib/sane/libsane-canon_dr.so.1.0.28
-#usr/lib/sane/libsane-cardscan.la
-usr/lib/sane/libsane-cardscan.so
-usr/lib/sane/libsane-cardscan.so.1
-usr/lib/sane/libsane-cardscan.so.1.0.28
-#usr/lib/sane/libsane-coolscan.la
-usr/lib/sane/libsane-coolscan.so
-usr/lib/sane/libsane-coolscan.so.1
-usr/lib/sane/libsane-coolscan.so.1.0.28
-#usr/lib/sane/libsane-coolscan2.la
-usr/lib/sane/libsane-coolscan2.so
-usr/lib/sane/libsane-coolscan2.so.1
-usr/lib/sane/libsane-coolscan2.so.1.0.28
-#usr/lib/sane/libsane-coolscan3.la
-usr/lib/sane/libsane-coolscan3.so
-usr/lib/sane/libsane-coolscan3.so.1
-usr/lib/sane/libsane-coolscan3.so.1.0.28
-#usr/lib/sane/libsane-dc210.la
-usr/lib/sane/libsane-dc210.so
-usr/lib/sane/libsane-dc210.so.1
-usr/lib/sane/libsane-dc210.so.1.0.28
-#usr/lib/sane/libsane-dc240.la
-usr/lib/sane/libsane-dc240.so
-usr/lib/sane/libsane-dc240.so.1
-usr/lib/sane/libsane-dc240.so.1.0.28
-#usr/lib/sane/libsane-dc25.la
-usr/lib/sane/libsane-dc25.so
-usr/lib/sane/libsane-dc25.so.1
-usr/lib/sane/libsane-dc25.so.1.0.28
-#usr/lib/sane/libsane-dell1600n_net.la
-usr/lib/sane/libsane-dell1600n_net.so
-usr/lib/sane/libsane-dell1600n_net.so.1
-usr/lib/sane/libsane-dell1600n_net.so.1.0.28
-#usr/lib/sane/libsane-dll.la
-usr/lib/sane/libsane-dll.so
-usr/lib/sane/libsane-dll.so.1
-usr/lib/sane/libsane-dll.so.1.0.28
-#usr/lib/sane/libsane-dmc.la
-usr/lib/sane/libsane-dmc.so
-usr/lib/sane/libsane-dmc.so.1
-usr/lib/sane/libsane-dmc.so.1.0.28
-#usr/lib/sane/libsane-epjitsu.la
-usr/lib/sane/libsane-epjitsu.so
-usr/lib/sane/libsane-epjitsu.so.1
-usr/lib/sane/libsane-epjitsu.so.1.0.28
-#usr/lib/sane/libsane-epson.la
-usr/lib/sane/libsane-epson.so
-usr/lib/sane/libsane-epson.so.1
-usr/lib/sane/libsane-epson.so.1.0.28
-#usr/lib/sane/libsane-epson2.la
-usr/lib/sane/libsane-epson2.so
-usr/lib/sane/libsane-epson2.so.1
-usr/lib/sane/libsane-epson2.so.1.0.28
-#usr/lib/sane/libsane-epsonds.la
-usr/lib/sane/libsane-epsonds.so
-usr/lib/sane/libsane-epsonds.so.1
-usr/lib/sane/libsane-epsonds.so.1.0.28
-#usr/lib/sane/libsane-fujitsu.la
-usr/lib/sane/libsane-fujitsu.so
-usr/lib/sane/libsane-fujitsu.so.1
-usr/lib/sane/libsane-fujitsu.so.1.0.28
-#usr/lib/sane/libsane-genesys.la
-usr/lib/sane/libsane-genesys.so
-usr/lib/sane/libsane-genesys.so.1
-usr/lib/sane/libsane-genesys.so.1.0.28
-#usr/lib/sane/libsane-gt68xx.la
-usr/lib/sane/libsane-gt68xx.so
-usr/lib/sane/libsane-gt68xx.so.1
-usr/lib/sane/libsane-gt68xx.so.1.0.28
-#usr/lib/sane/libsane-hp.la
-usr/lib/sane/libsane-hp.so
-usr/lib/sane/libsane-hp.so.1
-usr/lib/sane/libsane-hp.so.1.0.28
-#usr/lib/sane/libsane-hp3500.la
-usr/lib/sane/libsane-hp3500.so
-usr/lib/sane/libsane-hp3500.so.1
-usr/lib/sane/libsane-hp3500.so.1.0.28
-#usr/lib/sane/libsane-hp3900.la
-usr/lib/sane/libsane-hp3900.so
-usr/lib/sane/libsane-hp3900.so.1
-usr/lib/sane/libsane-hp3900.so.1.0.28
-#usr/lib/sane/libsane-hp4200.la
-usr/lib/sane/libsane-hp4200.so
-usr/lib/sane/libsane-hp4200.so.1
-usr/lib/sane/libsane-hp4200.so.1.0.28
-#usr/lib/sane/libsane-hp5400.la
-usr/lib/sane/libsane-hp5400.so
-usr/lib/sane/libsane-hp5400.so.1
-usr/lib/sane/libsane-hp5400.so.1.0.28
-#usr/lib/sane/libsane-hp5590.la
-usr/lib/sane/libsane-hp5590.so
-usr/lib/sane/libsane-hp5590.so.1
-usr/lib/sane/libsane-hp5590.so.1.0.28
-#usr/lib/sane/libsane-hpljm1005.la
-usr/lib/sane/libsane-hpljm1005.so
-usr/lib/sane/libsane-hpljm1005.so.1
-usr/lib/sane/libsane-hpljm1005.so.1.0.28
-#usr/lib/sane/libsane-hs2p.la
-usr/lib/sane/libsane-hs2p.so
-usr/lib/sane/libsane-hs2p.so.1
-usr/lib/sane/libsane-hs2p.so.1.0.28
-#usr/lib/sane/libsane-ibm.la
-usr/lib/sane/libsane-ibm.so
-usr/lib/sane/libsane-ibm.so.1
-usr/lib/sane/libsane-ibm.so.1.0.28
-#usr/lib/sane/libsane-kodak.la
-usr/lib/sane/libsane-kodak.so
-usr/lib/sane/libsane-kodak.so.1
-usr/lib/sane/libsane-kodak.so.1.0.28
-#usr/lib/sane/libsane-kodakaio.la
-usr/lib/sane/libsane-kodakaio.so
-usr/lib/sane/libsane-kodakaio.so.1
-usr/lib/sane/libsane-kodakaio.so.1.0.28
-#usr/lib/sane/libsane-kvs1025.la
-usr/lib/sane/libsane-kvs1025.so
-usr/lib/sane/libsane-kvs1025.so.1
-usr/lib/sane/libsane-kvs1025.so.1.0.28
-#usr/lib/sane/libsane-kvs20xx.la
-usr/lib/sane/libsane-kvs20xx.so
-usr/lib/sane/libsane-kvs20xx.so.1
-usr/lib/sane/libsane-kvs20xx.so.1.0.28
-#usr/lib/sane/libsane-kvs40xx.la
-usr/lib/sane/libsane-kvs40xx.so
-usr/lib/sane/libsane-kvs40xx.so.1
-usr/lib/sane/libsane-kvs40xx.so.1.0.28
-#usr/lib/sane/libsane-leo.la
-usr/lib/sane/libsane-leo.so
-usr/lib/sane/libsane-leo.so.1
-usr/lib/sane/libsane-leo.so.1.0.28
-#usr/lib/sane/libsane-lexmark.la
-usr/lib/sane/libsane-lexmark.so
-usr/lib/sane/libsane-lexmark.so.1
-usr/lib/sane/libsane-lexmark.so.1.0.28
-#usr/lib/sane/libsane-ma1509.la
-usr/lib/sane/libsane-ma1509.so
-usr/lib/sane/libsane-ma1509.so.1
-usr/lib/sane/libsane-ma1509.so.1.0.28
-#usr/lib/sane/libsane-magicolor.la
-usr/lib/sane/libsane-magicolor.so
-usr/lib/sane/libsane-magicolor.so.1
-usr/lib/sane/libsane-magicolor.so.1.0.28
-#usr/lib/sane/libsane-matsushita.la
-usr/lib/sane/libsane-matsushita.so
-usr/lib/sane/libsane-matsushita.so.1
-usr/lib/sane/libsane-matsushita.so.1.0.28
-#usr/lib/sane/libsane-microtek.la
-usr/lib/sane/libsane-microtek.so
-usr/lib/sane/libsane-microtek.so.1
-usr/lib/sane/libsane-microtek.so.1.0.28
-#usr/lib/sane/libsane-microtek2.la
-usr/lib/sane/libsane-microtek2.so
-usr/lib/sane/libsane-microtek2.so.1
-usr/lib/sane/libsane-microtek2.so.1.0.28
-#usr/lib/sane/libsane-mustek.la
-usr/lib/sane/libsane-mustek.so
-usr/lib/sane/libsane-mustek.so.1
-usr/lib/sane/libsane-mustek.so.1.0.28
-#usr/lib/sane/libsane-mustek_pp.la
-usr/lib/sane/libsane-mustek_pp.so
-usr/lib/sane/libsane-mustek_pp.so.1
-usr/lib/sane/libsane-mustek_pp.so.1.0.28
-#usr/lib/sane/libsane-mustek_usb.la
-usr/lib/sane/libsane-mustek_usb.so
-usr/lib/sane/libsane-mustek_usb.so.1
-usr/lib/sane/libsane-mustek_usb.so.1.0.28
-#usr/lib/sane/libsane-mustek_usb2.la
-usr/lib/sane/libsane-mustek_usb2.so
-usr/lib/sane/libsane-mustek_usb2.so.1
-usr/lib/sane/libsane-mustek_usb2.so.1.0.28
-#usr/lib/sane/libsane-nec.la
-usr/lib/sane/libsane-nec.so
-usr/lib/sane/libsane-nec.so.1
-usr/lib/sane/libsane-nec.so.1.0.28
-#usr/lib/sane/libsane-net.la
-usr/lib/sane/libsane-net.so
-usr/lib/sane/libsane-net.so.1
-usr/lib/sane/libsane-net.so.1.0.28
-#usr/lib/sane/libsane-niash.la
-usr/lib/sane/libsane-niash.so
-usr/lib/sane/libsane-niash.so.1
-usr/lib/sane/libsane-niash.so.1.0.28
-#usr/lib/sane/libsane-p5.la
-usr/lib/sane/libsane-p5.so
-usr/lib/sane/libsane-p5.so.1
-usr/lib/sane/libsane-p5.so.1.0.28
-#usr/lib/sane/libsane-pie.la
-usr/lib/sane/libsane-pie.so
-usr/lib/sane/libsane-pie.so.1
-usr/lib/sane/libsane-pie.so.1.0.28
-#usr/lib/sane/libsane-pieusb.la
-usr/lib/sane/libsane-pieusb.so
-usr/lib/sane/libsane-pieusb.so.1
-usr/lib/sane/libsane-pieusb.so.1.0.28
-#usr/lib/sane/libsane-pixma.la
-usr/lib/sane/libsane-pixma.so
-usr/lib/sane/libsane-pixma.so.1
-usr/lib/sane/libsane-pixma.so.1.0.28
-#usr/lib/sane/libsane-plustek.la
-usr/lib/sane/libsane-plustek.so
-usr/lib/sane/libsane-plustek.so.1
-usr/lib/sane/libsane-plustek.so.1.0.28
-#usr/lib/sane/libsane-plustek_pp.la
-usr/lib/sane/libsane-plustek_pp.so
-usr/lib/sane/libsane-plustek_pp.so.1
-usr/lib/sane/libsane-plustek_pp.so.1.0.28
-#usr/lib/sane/libsane-qcam.la
-usr/lib/sane/libsane-qcam.so
-usr/lib/sane/libsane-qcam.so.1
-usr/lib/sane/libsane-qcam.so.1.0.28
-#usr/lib/sane/libsane-ricoh.la
-usr/lib/sane/libsane-ricoh.so
-usr/lib/sane/libsane-ricoh.so.1
-usr/lib/sane/libsane-ricoh.so.1.0.28
-#usr/lib/sane/libsane-ricoh2.la
-usr/lib/sane/libsane-ricoh2.so
-usr/lib/sane/libsane-ricoh2.so.1
-usr/lib/sane/libsane-ricoh2.so.1.0.28
-#usr/lib/sane/libsane-rts8891.la
-usr/lib/sane/libsane-rts8891.so
-usr/lib/sane/libsane-rts8891.so.1
-usr/lib/sane/libsane-rts8891.so.1.0.28
-#usr/lib/sane/libsane-s9036.la
-usr/lib/sane/libsane-s9036.so
-usr/lib/sane/libsane-s9036.so.1
-usr/lib/sane/libsane-s9036.so.1.0.28
-#usr/lib/sane/libsane-sceptre.la
-usr/lib/sane/libsane-sceptre.so
-usr/lib/sane/libsane-sceptre.so.1
-usr/lib/sane/libsane-sceptre.so.1.0.28
-#usr/lib/sane/libsane-sharp.la
-usr/lib/sane/libsane-sharp.so
-usr/lib/sane/libsane-sharp.so.1
-usr/lib/sane/libsane-sharp.so.1.0.28
-#usr/lib/sane/libsane-sm3600.la
-usr/lib/sane/libsane-sm3600.so
-usr/lib/sane/libsane-sm3600.so.1
-usr/lib/sane/libsane-sm3600.so.1.0.28
-#usr/lib/sane/libsane-sm3840.la
-usr/lib/sane/libsane-sm3840.so
-usr/lib/sane/libsane-sm3840.so.1
-usr/lib/sane/libsane-sm3840.so.1.0.28
-#usr/lib/sane/libsane-snapscan.la
-usr/lib/sane/libsane-snapscan.so
-usr/lib/sane/libsane-snapscan.so.1
-usr/lib/sane/libsane-snapscan.so.1.0.28
-#usr/lib/sane/libsane-sp15c.la
-usr/lib/sane/libsane-sp15c.so
-usr/lib/sane/libsane-sp15c.so.1
-usr/lib/sane/libsane-sp15c.so.1.0.28
-#usr/lib/sane/libsane-st400.la
-usr/lib/sane/libsane-st400.so
-usr/lib/sane/libsane-st400.so.1
-usr/lib/sane/libsane-st400.so.1.0.28
-#usr/lib/sane/libsane-stv680.la
-usr/lib/sane/libsane-stv680.so
-usr/lib/sane/libsane-stv680.so.1
-usr/lib/sane/libsane-stv680.so.1.0.28
-#usr/lib/sane/libsane-tamarack.la
-usr/lib/sane/libsane-tamarack.so
-usr/lib/sane/libsane-tamarack.so.1
-usr/lib/sane/libsane-tamarack.so.1.0.28
-#usr/lib/sane/libsane-teco1.la
-usr/lib/sane/libsane-teco1.so
-usr/lib/sane/libsane-teco1.so.1
-usr/lib/sane/libsane-teco1.so.1.0.28
-#usr/lib/sane/libsane-teco2.la
-usr/lib/sane/libsane-teco2.so
-usr/lib/sane/libsane-teco2.so.1
-usr/lib/sane/libsane-teco2.so.1.0.28
-#usr/lib/sane/libsane-teco3.la
-usr/lib/sane/libsane-teco3.so
-usr/lib/sane/libsane-teco3.so.1
-usr/lib/sane/libsane-teco3.so.1.0.28
-#usr/lib/sane/libsane-test.la
-usr/lib/sane/libsane-test.so
-usr/lib/sane/libsane-test.so.1
-usr/lib/sane/libsane-test.so.1.0.28
-#usr/lib/sane/libsane-u12.la
-usr/lib/sane/libsane-u12.so
-usr/lib/sane/libsane-u12.so.1
-usr/lib/sane/libsane-u12.so.1.0.28
-#usr/lib/sane/libsane-umax.la
-usr/lib/sane/libsane-umax.so
-usr/lib/sane/libsane-umax.so.1
-usr/lib/sane/libsane-umax.so.1.0.28
-#usr/lib/sane/libsane-umax1220u.la
-usr/lib/sane/libsane-umax1220u.so
-usr/lib/sane/libsane-umax1220u.so.1
-usr/lib/sane/libsane-umax1220u.so.1.0.28
-#usr/lib/sane/libsane-umax_pp.la
-usr/lib/sane/libsane-umax_pp.so
-usr/lib/sane/libsane-umax_pp.so.1
-usr/lib/sane/libsane-umax_pp.so.1.0.28
-#usr/lib/sane/libsane-xerox_mfp.la
-usr/lib/sane/libsane-xerox_mfp.so
-usr/lib/sane/libsane-xerox_mfp.so.1
-usr/lib/sane/libsane-xerox_mfp.so.1.0.28
-usr/sbin/saned
-#usr/share/doc/sane-backends
-#usr/share/doc/sane-backends/AUTHORS
-#usr/share/doc/sane-backends/COPYING
-#usr/share/doc/sane-backends/ChangeLog
-#usr/share/doc/sane-backends/LICENSE
-#usr/share/doc/sane-backends/NEWS
-#usr/share/doc/sane-backends/PROBLEMS
-#usr/share/doc/sane-backends/PROJECTS
-#usr/share/doc/sane-backends/README
-#usr/share/doc/sane-backends/README.aix
-#usr/share/doc/sane-backends/README.beos
-#usr/share/doc/sane-backends/README.darwin
-#usr/share/doc/sane-backends/README.djpeg
-#usr/share/doc/sane-backends/README.freebsd
-#usr/share/doc/sane-backends/README.hp-ux
-#usr/share/doc/sane-backends/README.linux
-#usr/share/doc/sane-backends/README.netbsd
-#usr/share/doc/sane-backends/README.openbsd
-#usr/share/doc/sane-backends/README.os2
-#usr/share/doc/sane-backends/README.solaris
-#usr/share/doc/sane-backends/README.unixware2
-#usr/share/doc/sane-backends/README.unixware7
-#usr/share/doc/sane-backends/README.windows
-#usr/share/doc/sane-backends/README.zeta
-#usr/share/doc/sane-backends/backend-writing.txt
-#usr/share/doc/sane-backends/canon
-#usr/share/doc/sane-backends/canon/canon.changes
-#usr/share/doc/sane-backends/canon/canon.install2700F.txt
-#usr/share/doc/sane-backends/gt68xx
-#usr/share/doc/sane-backends/gt68xx/gt68xx.CHANGES
-#usr/share/doc/sane-backends/gt68xx/gt68xx.TODO
-#usr/share/doc/sane-backends/leo
-#usr/share/doc/sane-backends/leo/leo.txt
-#usr/share/doc/sane-backends/matsushita
-#usr/share/doc/sane-backends/matsushita/matsushita.txt
-#usr/share/doc/sane-backends/mustek
-#usr/share/doc/sane-backends/mustek/mustek.CHANGES
-#usr/share/doc/sane-backends/mustek_usb
-#usr/share/doc/sane-backends/mustek_usb/mustek_usb.CHANGES
-#usr/share/doc/sane-backends/mustek_usb/mustek_usb.TODO
-#usr/share/doc/sane-backends/mustek_usb2
-#usr/share/doc/sane-backends/mustek_usb2/mustek_usb2.CHANGES
-#usr/share/doc/sane-backends/mustek_usb2/mustek_usb2.TODO
-#usr/share/doc/sane-backends/niash
-#usr/share/doc/sane-backends/niash/niash.TODO
-#usr/share/doc/sane-backends/plustek
-#usr/share/doc/sane-backends/plustek/FAQ
-#usr/share/doc/sane-backends/plustek/MakeModule.sh
-#usr/share/doc/sane-backends/plustek/Makefile.kernel24
-#usr/share/doc/sane-backends/plustek/Makefile.kernel26
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT-TODO.txt
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT.changes
-#usr/share/doc/sane-backends/plustek/Plustek-PARPORT.txt
-#usr/share/doc/sane-backends/plustek/Plustek-USB-TODO.txt
-#usr/share/doc/sane-backends/plustek/Plustek-USB.changes
-#usr/share/doc/sane-backends/plustek/Plustek-USB.txt
-#usr/share/doc/sane-backends/sane-backends-external.html
-#usr/share/doc/sane-backends/sane-backends.html
-#usr/share/doc/sane-backends/sane-mfgs-external.html
-#usr/share/doc/sane-backends/sane-mfgs.html
-#usr/share/doc/sane-backends/sceptre
-#usr/share/doc/sane-backends/sceptre/s1200.txt
-#usr/share/doc/sane-backends/teco
-#usr/share/doc/sane-backends/teco/teco1.txt
-#usr/share/doc/sane-backends/teco/teco2.txt
-#usr/share/doc/sane-backends/teco/teco3.txt
-#usr/share/doc/sane-backends/u12
-#usr/share/doc/sane-backends/u12/U12.changes
-#usr/share/doc/sane-backends/u12/U12.todo
-#usr/share/doc/sane-backends/umax
-#usr/share/doc/sane-backends/umax/negative-types.txt
-#usr/share/doc/sane-backends/umax/sane-logo.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-advanced-options-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-advanced.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-astra-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-config-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-histogram.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-mirage-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-not-listed-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-others-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-parport-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-powerlook-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-scanner-clones-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-speed-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-standard-options-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-standard.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text2.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-text4.jpg
-#usr/share/doc/sane-backends/umax/sane-umax-uc-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax-vista-doc.html
-#usr/share/doc/sane-backends/umax/sane-umax.jpg
-#usr/share/doc/sane-backends/umax/umax.BUGS
-#usr/share/doc/sane-backends/umax/umax.CHANGES
-#usr/share/doc/sane-backends/umax/umax.FAQ
-#usr/share/doc/sane-backends/umax/umax.TODO
-#usr/share/locale/bg/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ca/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ca@valencia/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/cs/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/da/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/de/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en@boldquot/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en@quot/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/en_GB/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/eo/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/es/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/fi/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/fr/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/gl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/he/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/hu/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/it/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ja/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/nb/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/nl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/pl/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/pt/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/ru/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/sv/LC_MESSAGES/sane-backends.mo
-#usr/share/locale/uk/LC_MESSAGES/sane-backends.mo
-#usr/share/man/man1/gamma4scanimage.1
-#usr/share/man/man1/sane-config.1
-#usr/share/man/man1/sane-find-scanner.1
-#usr/share/man/man1/scanimage.1
-#usr/share/man/man5/sane-abaton.5
-#usr/share/man/man5/sane-agfafocus.5
-#usr/share/man/man5/sane-apple.5
-#usr/share/man/man5/sane-artec.5
-#usr/share/man/man5/sane-artec_eplus48u.5
-#usr/share/man/man5/sane-as6e.5
-#usr/share/man/man5/sane-avision.5
-#usr/share/man/man5/sane-bh.5
-#usr/share/man/man5/sane-canon.5
-#usr/share/man/man5/sane-canon630u.5
-#usr/share/man/man5/sane-canon_dr.5
-#usr/share/man/man5/sane-cardscan.5
-#usr/share/man/man5/sane-coolscan.5
-#usr/share/man/man5/sane-coolscan2.5
-#usr/share/man/man5/sane-coolscan3.5
-#usr/share/man/man5/sane-dc210.5
-#usr/share/man/man5/sane-dc240.5
-#usr/share/man/man5/sane-dc25.5
-#usr/share/man/man5/sane-dll.5
-#usr/share/man/man5/sane-dmc.5
-#usr/share/man/man5/sane-epjitsu.5
-#usr/share/man/man5/sane-epson.5
-#usr/share/man/man5/sane-epson2.5
-#usr/share/man/man5/sane-epsonds.5
-#usr/share/man/man5/sane-fujitsu.5
-#usr/share/man/man5/sane-genesys.5
-#usr/share/man/man5/sane-gt68xx.5
-#usr/share/man/man5/sane-hp.5
-#usr/share/man/man5/sane-hp3500.5
-#usr/share/man/man5/sane-hp3900.5
-#usr/share/man/man5/sane-hp4200.5
-#usr/share/man/man5/sane-hp5400.5
-#usr/share/man/man5/sane-hp5590.5
-#usr/share/man/man5/sane-hpljm1005.5
-#usr/share/man/man5/sane-hs2p.5
-#usr/share/man/man5/sane-ibm.5
-#usr/share/man/man5/sane-kodak.5
-#usr/share/man/man5/sane-kodakaio.5
-#usr/share/man/man5/sane-kvs1025.5
-#usr/share/man/man5/sane-kvs20xx.5
-#usr/share/man/man5/sane-kvs40xx.5
-#usr/share/man/man5/sane-leo.5
-#usr/share/man/man5/sane-lexmark.5
-#usr/share/man/man5/sane-ma1509.5
-#usr/share/man/man5/sane-magicolor.5
-#usr/share/man/man5/sane-matsushita.5
-#usr/share/man/man5/sane-microtek.5
-#usr/share/man/man5/sane-microtek2.5
-#usr/share/man/man5/sane-mustek.5
-#usr/share/man/man5/sane-mustek_pp.5
-#usr/share/man/man5/sane-mustek_usb.5
-#usr/share/man/man5/sane-mustek_usb2.5
-#usr/share/man/man5/sane-nec.5
-#usr/share/man/man5/sane-net.5
-#usr/share/man/man5/sane-niash.5
-#usr/share/man/man5/sane-p5.5
-#usr/share/man/man5/sane-pie.5
-#usr/share/man/man5/sane-pieusb.5
-#usr/share/man/man5/sane-pixma.5
-#usr/share/man/man5/sane-plustek.5
-#usr/share/man/man5/sane-plustek_pp.5
-#usr/share/man/man5/sane-qcam.5
-#usr/share/man/man5/sane-ricoh.5
-#usr/share/man/man5/sane-rts8891.5
-#usr/share/man/man5/sane-s9036.5
-#usr/share/man/man5/sane-sceptre.5
-#usr/share/man/man5/sane-scsi.5
-#usr/share/man/man5/sane-sharp.5
-#usr/share/man/man5/sane-sm3600.5
-#usr/share/man/man5/sane-sm3840.5
-#usr/share/man/man5/sane-snapscan.5
-#usr/share/man/man5/sane-sp15c.5
-#usr/share/man/man5/sane-st400.5
-#usr/share/man/man5/sane-stv680.5
-#usr/share/man/man5/sane-tamarack.5
-#usr/share/man/man5/sane-teco1.5
-#usr/share/man/man5/sane-teco2.5
-#usr/share/man/man5/sane-teco3.5
-#usr/share/man/man5/sane-test.5
-#usr/share/man/man5/sane-u12.5
-#usr/share/man/man5/sane-umax.5
-#usr/share/man/man5/sane-umax1220u.5
-#usr/share/man/man5/sane-umax_pp.5
-#usr/share/man/man5/sane-usb.5
-#usr/share/man/man5/sane-xerox_mfp.5
-#usr/share/man/man7/sane.7
-#usr/share/man/man8/saned.8
-#usr/share/sane
-usr/share/sane/artec_eplus48u
-usr/share/sane/epjitsu
-usr/share/sane/gt68xx
-usr/share/sane/snapscan
-#usr/var
-#usr/var/lock
-usr/var/lock/sane
-var/ipfire/backup/addons/includes/sane
diff --git a/config/rootfiles/packages/sendEmail b/config/rootfiles/packages/sendEmail
deleted file mode 100644 (file)
index ee206e2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-usr/local/bin/sendEmail
diff --git a/config/sane/saned.conf b/config/sane/saned.conf
deleted file mode 100644 (file)
index 7e25244..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# saned.conf
-#
-# The contents of the saned.conf  file  is  a  list  of  host  names,  IP
-# addresses or IP subnets (CIDR notation) that are permitted to use local
-# SANE devices. IPv6 addresses must be enclosed in brackets,  and  should
-# always  be specified in their compressed form.
-#
-# The hostname matching is not case-sensitive.
-#
-#scan-client.somedomain.firm
-#192.168.0.1
-#192.168.0.1/29
-#[2001:7a8:185e::42:12]
-#[2001:7a8:185e::42:12]/64
-#
-# NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and
-# /etc/services must also be properly configured to start
-# the saned daemon as documented in saned(8), services(4)
-# and inetd.conf(4) (or xinetd.conf(5)).
-#
-# a singe "+" allow all hosts to connect.
-+
-
diff --git a/config/upnp/gatedesc.xml b/config/upnp/gatedesc.xml
deleted file mode 100755 (executable)
index a0608bb..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<root xmlns="urn:schemas-upnp-org:device-1-0">
-       <specVersion>
-               <major>1</major>
-               <minor>0</minor>
-       </specVersion>
-       <device>
-               <deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
-               <friendlyName>IPFire UPnP Device</friendlyName>
-               <manufacturer>IPFire Project</manufacturer>
-               <manufacturerURL>http://www.ipfire.org</manufacturerURL>
-               <modelName>IPFire 2.3</modelName>
-               <UDN>uuid:75802409-bccb-40e7-8e6c-fa095ecce13e</UDN>
-               <iconList>
-                       <icon>
-                               <mimetype>image/gif</mimetype>
-                               <width>118</width>
-                               <height>119</height>
-                               <depth>8</depth>
-                               <url>/ligd.gif</url>
-                       </icon>
-               </iconList>
-               <serviceList>
-      <service>
-       <serviceType>urn:schemas-dummy-com:service:Dummy:1</serviceType>
-        <serviceId>urn:dummy-com:serviceId:dummy1</serviceId>
-             <controlURL>/dummy</controlURL>
-        <eventSubURL>/dummy</eventSubURL>
-               <SCPDURL>/dummy.xml</SCPDURL>
-      </service>
-    </serviceList>
-               <deviceList>
-                       <device>
-                               <deviceType>urn:schemas-upnp-org:device:WANDevice:1</deviceType>
-                               <friendlyName>WANDevice</friendlyName>
-                               <manufacturer>IPFire Project</manufacturer>
-                               <manufacturerURL>http://www.ipfire.org</manufacturerURL>
-                               <modelDescription>WAN Device on Linux IGD</modelDescription>
-                               <modelName>IPFire</modelName>
-                               <modelNumber>2.3</modelNumber>
-                               <modelURL>http://linux-igd.sourceforge.net</modelURL>
-                               <serialNumber>2.3</serialNumber>
-                               <UDN>uuid:75802409-bccb-40e7-8e6c-fa095ecce13e</UDN>
-                               <UPC>Linux IGD</UPC>
-                               <serviceList>
-                                       <service>
-                                               <serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
-                                               <serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
-                                               <controlURL>/upnp/control/WANCommonIFC1</controlURL>
-                                               <eventSubURL>/upnp/control/WANCommonIFC1</eventSubURL>
-                                               <SCPDURL>/gateicfgSCPD.xml</SCPDURL>
-                                       </service>
-                               </serviceList>
-                               <deviceList>
-                                       <device>
-                                               <deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:1</deviceType>
-                                               <friendlyName>Internet Connection</friendlyName>
-                                               <manufacturer>IPFire Project</manufacturer>
-                                               <manufacturerURL>http://www.ipfire.org</manufacturerURL>
-                                               <modelDescription>Internet connection on Linux IPFire Firewall</modelDescription>
-                                               <modelName>IPFire</modelName>
-                                               <modelNumber>2.3</modelNumber>
-                                               <modelURL>http://www.ipfire.org</modelURL>
-                                               <serialNumber>2.3</serialNumber>
-                                               <UDN>uuid:75802409-bccb-40e7-8e6c-fa095ecce13e</UDN>
-                                               <UPC>Linux IGD</UPC>
-                                               <serviceList>
-                                                       <service>
-                                                               <serviceType>urn:schemas-upnp-org:service:WANIPConnection:1</serviceType>
-                                                               <serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
-                                                               <controlURL>/upnp/control/WANIPConn1</controlURL>
-                                                               <eventSubURL>/upnp/control/WANIPConn1</eventSubURL>
-                                                               <SCPDURL>/gateconnSCPD.xml</SCPDURL>
-                                                       </service>
-                                               </serviceList>
-                                       </device>
-                               </deviceList>
-                       </device>
-               </deviceList>
-       </device>
-</root>
index 8500501fd4d3992be2d773a2f8ac1a90eb26aa37..a091f23037da9ed0db0dde857dace3be243578e0 100644 (file)
@@ -112,7 +112,6 @@ WARNING: translation string unused: alt information
 WARNING: translation string unused: alt ovpn
 WARNING: translation string unused: alt vpn
 WARNING: translation string unused: and
-WARNING: translation string unused: application layer gateways
 WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
@@ -855,6 +854,7 @@ WARNING: translation string unused: zoneconf val vlan tag range error
 WARNING: translation string unused: zoneconf val zoneslave amount error
 WARNING: untranslated string: desired = Desired
 WARNING: untranslated string: disable = Disable
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: enable = Enable
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
 WARNING: untranslated string: fwhost cust locationgrp = unknown string
@@ -888,6 +888,9 @@ WARNING: untranslated string: guardian logtarget_file = unknown string
 WARNING: untranslated string: guardian logtarget_syslog = unknown string
 WARNING: untranslated string: guardian no entries = unknown string
 WARNING: untranslated string: guardian service = unknown string
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: netbios nameserver daemon = NetBIOS Nameserver Daemon
 WARNING: untranslated string: no entries = No entries at the moment.
 WARNING: untranslated string: optional = Optional
index 620f817389e3c881d1b76f8e1ff82d3ca10188b6..63ac77fce3969bf7f0e2e169bdf624aac7cbc594 100644 (file)
@@ -332,6 +332,7 @@ WARNING: untranslated string: august = August
 WARNING: untranslated string: authentication = Authentication:
 WARNING: untranslated string: automatic = Automatic
 WARNING: untranslated string: autonomous system = Autonomous System
+WARNING: untranslated string: available = available
 WARNING: untranslated string: available updates = Available updates
 WARNING: untranslated string: average = Average
 WARNING: untranslated string: back = Back
@@ -645,6 +646,7 @@ WARNING: untranslated string: downlink = Downlink
 WARNING: untranslated string: downlink speed = Downlink speed (kbit/sec)
 WARNING: untranslated string: downlink std class = downlink standard class
 WARNING: untranslated string: download = download
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: download ca certificate = Download CA certificate
 WARNING: untranslated string: download certificate = Download file
 WARNING: untranslated string: download host certificate = Download host certificate
@@ -724,7 +726,6 @@ WARNING: untranslated string: error the to date has to be later than the from da
 WARNING: untranslated string: esp keylife should be between 1 and 24 hours = ESP keylife should be between 1 and 24 hours.
 WARNING: untranslated string: every = Every
 WARNING: untranslated string: exclude logfiles = Exclude logfiles
-WARNING: untranslated string: excluding buffers and cache = -/+ buffers/cache
 WARNING: untranslated string: expires = Expires
 WARNING: untranslated string: export = Export
 WARNING: untranslated string: external aliases configuration = External aliases configuration
@@ -1140,12 +1141,15 @@ WARNING: untranslated string: ipfires hostname = IPFire's Hostname
 WARNING: untranslated string: ipinfo = IP info
 WARNING: untranslated string: ipsec = IPsec
 WARNING: untranslated string: ipsec connection = IPsec Connection
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec interface mode gre = GRE
 WARNING: untranslated string: ipsec interface mode none = - None (Default) -
 WARNING: untranslated string: ipsec interface mode vti = VTI
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec mode transport = Transport
 WARNING: untranslated string: ipsec mode tunnel = Tunnel
 WARNING: untranslated string: ipsec network = IPsec network
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: iptmangles = IPTable Mangles
index ee15abb84697ba8a2324475324a07cded3eefe7c..626eec21a197da240a08446376f56cf82ace752a 100644 (file)
@@ -822,6 +822,7 @@ WARNING: untranslated string: asn lookup failed = AS lookup failed
 WARNING: untranslated string: atm device = Device:
 WARNING: untranslated string: attention = ATTENTION
 WARNING: untranslated string: autonomous system = Autonomous System
+WARNING: untranslated string: available = available
 WARNING: untranslated string: bit = bit
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
@@ -923,6 +924,7 @@ WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been
 WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
 WARNING: untranslated string: dnssec validating = DNSSEC Validating
 WARNING: untranslated string: downlink = Downlink
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: download tls-auth key = Download tls-auth key
 WARNING: untranslated string: dpd delay = Delay
 WARNING: untranslated string: dpd timeout = Timeout
@@ -1223,12 +1225,15 @@ WARNING: untranslated string: ip basic info = Basic IP information
 WARNING: untranslated string: ip info for = IP information for
 WARNING: untranslated string: ipsec = IPsec
 WARNING: untranslated string: ipsec connection = IPsec Connection
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec interface mode gre = GRE
 WARNING: untranslated string: ipsec interface mode none = - None (Default) -
 WARNING: untranslated string: ipsec interface mode vti = VTI
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec mode transport = Transport
 WARNING: untranslated string: ipsec mode tunnel = Tunnel
 WARNING: untranslated string: ipsec network = IPsec network
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
index e675c6f0c87ae3ad925761c6483d82c33b81ff61..95dd8fd3c96294e3e8fc07eb4d0b173ff65161a9 100644 (file)
@@ -117,7 +117,6 @@ WARNING: translation string unused: alt information
 WARNING: translation string unused: alt ovpn
 WARNING: translation string unused: alt vpn
 WARNING: translation string unused: and
-WARNING: translation string unused: application layer gateways
 WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
@@ -892,6 +891,8 @@ WARNING: translation string unused: zoneconf val stp zone mode error
 WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: available = available
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: fwhost cust locationgrp = unknown string
 WARNING: untranslated string: fwhost err hostip = unknown string
 WARNING: untranslated string: guardian block a host = unknown string
@@ -923,6 +924,9 @@ WARNING: untranslated string: guardian logtarget_file = unknown string
 WARNING: untranslated string: guardian logtarget_syslog = unknown string
 WARNING: untranslated string: guardian no entries = unknown string
 WARNING: untranslated string: guardian service = unknown string
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: route config changed = unknown string
 WARNING: untranslated string: routing config added = unknown string
index 50c1dcd3f8e193377f66eb0d45920695ecb917ff..9c0b62c150c3aaf9ebe33a24113b51b3d5803049 100644 (file)
@@ -908,6 +908,7 @@ WARNING: untranslated string: advproxy wpad title = Web Proxy Auto-Discovery Pro
 WARNING: untranslated string: advproxy wpad view pac = Open PAC File
 WARNING: untranslated string: asn lookup failed = AS lookup failed
 WARNING: untranslated string: autonomous system = Autonomous System
+WARNING: untranslated string: available = available
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
@@ -946,6 +947,7 @@ WARNING: untranslated string: dns use protocol for dns queries = Protocol for DN
 WARNING: untranslated string: dnsforward dnssec disabled = DNSSEC Validation is disabled
 WARNING: untranslated string: dnsforward forward_servers = Nameservers
 WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: duration = Duration
 WARNING: untranslated string: eight hours = 8 Hours
 WARNING: untranslated string: email config = Configuration
@@ -1062,11 +1064,14 @@ WARNING: untranslated string: invalid logserver protocol = Invalid syslogd serve
 WARNING: untranslated string: ip basic info = Basic IP information
 WARNING: untranslated string: ip info for = IP information for
 WARNING: untranslated string: ipsec connection = IPsec Connection
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec interface mode gre = GRE
 WARNING: untranslated string: ipsec interface mode none = - None (Default) -
 WARNING: untranslated string: ipsec interface mode vti = VTI
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec mode transport = Transport
 WARNING: untranslated string: ipsec mode tunnel = Tunnel
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
index 6dbaea863fe48b054e8dac36e3434f34fb6e7520..5db088b66b03cdeb0a3ffafa9f2490f2d99e296e 100644 (file)
@@ -903,6 +903,7 @@ WARNING: untranslated string: advproxy wpad view pac = Open PAC File
 WARNING: untranslated string: asn lookup failed = AS lookup failed
 WARNING: untranslated string: atm device = Device:
 WARNING: untranslated string: autonomous system = Autonomous System
+WARNING: untranslated string: available = available
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
@@ -949,6 +950,7 @@ WARNING: untranslated string: dnssec aware = DNSSEC Aware
 WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been disabled
 WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
 WARNING: untranslated string: dnssec validating = DNSSEC Validating
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: download tls-auth key = Download tls-auth key
 WARNING: untranslated string: drop outgoing = Log dropped outgoing packets
 WARNING: untranslated string: duration = Duration
@@ -1071,11 +1073,14 @@ WARNING: untranslated string: invalid logserver protocol = Invalid syslogd serve
 WARNING: untranslated string: ip basic info = Basic IP information
 WARNING: untranslated string: ip info for = IP information for
 WARNING: untranslated string: ipsec connection = IPsec Connection
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec interface mode gre = GRE
 WARNING: untranslated string: ipsec interface mode none = - None (Default) -
 WARNING: untranslated string: ipsec interface mode vti = VTI
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec mode transport = Transport
 WARNING: untranslated string: ipsec mode tunnel = Tunnel
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
index e78b969eb5aaa5ccd2855289e1b68b929f2c96c0..95e68faaf6f2b71349667d88171336fe957f6240 100644 (file)
@@ -837,6 +837,7 @@ WARNING: untranslated string: asn lookup failed = AS lookup failed
 WARNING: untranslated string: atm device = Device:
 WARNING: untranslated string: attention = ATTENTION
 WARNING: untranslated string: autonomous system = Autonomous System
+WARNING: untranslated string: available = available
 WARNING: untranslated string: bit = bit
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
@@ -938,6 +939,7 @@ WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been
 WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
 WARNING: untranslated string: dnssec validating = DNSSEC Validating
 WARNING: untranslated string: downlink = Downlink
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: download tls-auth key = Download tls-auth key
 WARNING: untranslated string: dpd delay = Delay
 WARNING: untranslated string: dpd timeout = Timeout
@@ -1228,12 +1230,15 @@ WARNING: untranslated string: ip basic info = Basic IP information
 WARNING: untranslated string: ip info for = IP information for
 WARNING: untranslated string: ipsec = IPsec
 WARNING: untranslated string: ipsec connection = IPsec Connection
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec interface mode gre = GRE
 WARNING: untranslated string: ipsec interface mode none = - None (Default) -
 WARNING: untranslated string: ipsec interface mode vti = VTI
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec mode transport = Transport
 WARNING: untranslated string: ipsec mode tunnel = Tunnel
 WARNING: untranslated string: ipsec network = IPsec network
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
index d7f1083de6c41ccccc0a098ce0c870973c4f4db9..cfaeed5b5c40f8587536c6f85004d4d59e8f536c 100644 (file)
@@ -833,6 +833,7 @@ WARNING: untranslated string: asn lookup failed = AS lookup failed
 WARNING: untranslated string: atm device = Device:
 WARNING: untranslated string: attention = ATTENTION
 WARNING: untranslated string: autonomous system = Autonomous System
+WARNING: untranslated string: available = available
 WARNING: untranslated string: bit = bit
 WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
@@ -935,6 +936,7 @@ WARNING: untranslated string: dnssec disabled warning = WARNING: DNSSEC has been
 WARNING: untranslated string: dnssec not supported = DNSSEC Not supported
 WARNING: untranslated string: dnssec validating = DNSSEC Validating
 WARNING: untranslated string: downlink = Downlink
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: download tls-auth key = Download tls-auth key
 WARNING: untranslated string: dpd delay = Delay
 WARNING: untranslated string: dpd timeout = Timeout
@@ -1226,12 +1228,15 @@ WARNING: untranslated string: ip basic info = Basic IP information
 WARNING: untranslated string: ip info for = IP information for
 WARNING: untranslated string: ipsec = IPsec
 WARNING: untranslated string: ipsec connection = IPsec Connection
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec interface mode gre = GRE
 WARNING: untranslated string: ipsec interface mode none = - None (Default) -
 WARNING: untranslated string: ipsec interface mode vti = VTI
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec mode transport = Transport
 WARNING: untranslated string: ipsec mode tunnel = Tunnel
 WARNING: untranslated string: ipsec network = IPsec network
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
index 14a95d8479a5fbcaaf357120f68c041c17a5d811..e89ce06019592621a2a7df1bd72d83d130cdc807 100644 (file)
@@ -114,7 +114,6 @@ WARNING: translation string unused: alt ovpn
 WARNING: translation string unused: alt vpn
 WARNING: translation string unused: and
 WARNING: translation string unused: ansi t1.483
-WARNING: translation string unused: application layer gateways
 WARNING: translation string unused: apply
 WARNING: translation string unused: archive not exist
 WARNING: translation string unused: attemps
@@ -896,6 +895,7 @@ WARNING: untranslated string: advproxy wpad title = Web Proxy Auto-Discovery Pro
 WARNING: untranslated string: advproxy wpad view pac = Open PAC File
 WARNING: untranslated string: asn lookup failed = AS lookup failed
 WARNING: untranslated string: autonomous system = Autonomous System
+WARNING: untranslated string: available = available
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
 WARNING: untranslated string: cpu frequency = CPU frequency
@@ -925,6 +925,7 @@ WARNING: untranslated string: dns use isp assigned nameservers = Use ISP-assigne
 WARNING: untranslated string: dns use protocol for dns queries = Protocol for DNS queries
 WARNING: untranslated string: dnsforward dnssec disabled = DNSSEC Validation is disabled
 WARNING: untranslated string: dnsforward forward_servers = Nameservers
+WARNING: untranslated string: download apple profile = Download Apple Configuration Profile
 WARNING: untranslated string: duration = Duration
 WARNING: untranslated string: email tls explicit = explicit (STARTTLS)
 WARNING: untranslated string: email tls implicit = implicit (TLS)
@@ -998,11 +999,14 @@ WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hos
 WARNING: untranslated string: ip basic info = Basic IP information
 WARNING: untranslated string: ip info for = IP information for
 WARNING: untranslated string: ipsec connection = IPsec Connection
+WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS server IP address(es)
 WARNING: untranslated string: ipsec interface mode gre = GRE
 WARNING: untranslated string: ipsec interface mode none = - None (Default) -
 WARNING: untranslated string: ipsec interface mode vti = VTI
+WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec mode transport = Transport
 WARNING: untranslated string: ipsec mode tunnel = Tunnel
+WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: ipsec routing table entries = IPsec Routing Table Entries
 WARNING: untranslated string: ipsec settings = IPsec Settings
 WARNING: untranslated string: itlb multihit = iTLB MultiHit
index a390d1b0026218e8f67fe6ec76a3154b2aa90c20..9cfa3d1c9c045378c74456314787e2c0913471a0 100644 (file)
 < disable
 < dns could not add server
 < done
+< download apple profile
 < enable
 < error the to date has to be later than the from date
 < g.dtm
 < g.lite
 < insert removable device
+< ipsec dns server address is invalid
+< ipsec invalid ip address or fqdn for rw endpoint
+< ipsec roadwarrior endpoint
 < netbios nameserver daemon
 < no entries
 < notes
 < age shour
 < age sminute
 < age ssecond
-< application layer gateways
 < asn lookup failed
 < Async logging enabled
 < atm device
 < attention
 < autonomous system
+< available
 < bit
 < block
 < broken
 < dns use isp assigned nameservers
 < dns use protocol for dns queries
 < downlink
+< download apple profile
 < download dh parameter
 < download tls-auth key
 < dpd delay
 < ip info for
 < ipsec
 < ipsec connection
+< ipsec dns server address is invalid
 < ipsec interface mode gre
 < ipsec interface mode none
 < ipsec interface mode vti
+< ipsec invalid ip address or fqdn for rw endpoint
 < ipsec mode transport
 < ipsec mode tunnel
 < ipsec network
 < ipsec no connections
+< ipsec roadwarrior endpoint
 < ipsec routing table entries
 < ipsec settings
 < itlb multihit
 # Checking cgi-bin translations for language: fr                           #
 ############################################################################
 < ansi t1.483
+< available
 < bewan adsl pci st
 < bewan adsl usb
+< download apple profile
 < g.dtm
 < g.lite
+< ipsec dns server address is invalid
+< ipsec invalid ip address or fqdn for rw endpoint
+< ipsec roadwarrior endpoint
 < upload fcdsl.o
 < zoneconf val vlan tag range error
 ############################################################################
 < advproxy wpad notice
 < advproxy wpad title
 < advproxy wpad view pac
-< application layer gateways
 < asn lookup failed
 < autonomous system
+< available
 < block
 < broken
 < Captive
 < dns tls hostname
 < dns use isp assigned nameservers
 < dns use protocol for dns queries
+< download apple profile
 < duration
 < eight hours
 < email config
 < ip basic info
 < ip info for
 < ipsec connection
+< ipsec dns server address is invalid
 < ipsec interface mode gre
 < ipsec interface mode none
 < ipsec interface mode vti
+< ipsec invalid ip address or fqdn for rw endpoint
 < ipsec mode transport
 < ipsec mode tunnel
+< ipsec roadwarrior endpoint
 < ipsec routing table entries
 < ipsec settings
 < itlb multihit
 < advproxy wpad notice
 < advproxy wpad title
 < advproxy wpad view pac
-< application layer gateways
 < asn lookup failed
 < atm device
 < autonomous system
+< available
 < block
 < broken
 < capabilities
 < dns tls hostname
 < dns use isp assigned nameservers
 < dns use protocol for dns queries
+< download apple profile
 < download dh parameter
 < download tls-auth key
 < drop outgoing
 < ip basic info
 < ip info for
 < ipsec connection
+< ipsec dns server address is invalid
 < ipsec interface mode gre
 < ipsec interface mode none
 < ipsec interface mode vti
+< ipsec invalid ip address or fqdn for rw endpoint
 < ipsec mode transport
 < ipsec mode tunnel
+< ipsec roadwarrior endpoint
 < ipsec routing table entries
 < ipsec settings
 < itlb multihit
 < age shour
 < age sminute
 < age ssecond
-< application layer gateways
 < asn lookup failed
 < atm device
 < attention
 < autonomous system
+< available
 < bit
 < block
 < broken
 < dns use isp assigned nameservers
 < dns use protocol for dns queries
 < downlink
+< download apple profile
 < download dh parameter
 < download tls-auth key
 < dpd delay
 < ip info for
 < ipsec
 < ipsec connection
+< ipsec dns server address is invalid
 < ipsec interface mode gre
 < ipsec interface mode none
 < ipsec interface mode vti
+< ipsec invalid ip address or fqdn for rw endpoint
 < ipsec mode transport
 < ipsec mode tunnel
 < ipsec network
 < ipsec no connections
+< ipsec roadwarrior endpoint
 < ipsec routing table entries
 < ipsec settings
 < itlb multihit
 < age shour
 < age sminute
 < age ssecond
-< application layer gateways
 < asn lookup failed
 < atm device
 < attention
 < autonomous system
+< available
 < bit
 < block
 < broken
 < dns use isp assigned nameservers
 < dns use protocol for dns queries
 < downlink
+< download apple profile
 < download dh parameter
 < download tls-auth key
 < dpd delay
 < ip info for
 < ipsec
 < ipsec connection
+< ipsec dns server address is invalid
 < ipsec interface mode gre
 < ipsec interface mode none
 < ipsec interface mode vti
+< ipsec invalid ip address or fqdn for rw endpoint
 < ipsec mode transport
 < ipsec mode tunnel
 < ipsec network
 < ipsec no connections
+< ipsec roadwarrior endpoint
 < ipsec routing table entries
 < ipsec settings
 < itlb multihit
 < advproxy wpad view pac
 < asn lookup failed
 < autonomous system
+< available
 < broken
 < Captive delete logo
 < cpu frequency
 < dns tls hostname
 < dns use isp assigned nameservers
 < dns use protocol for dns queries
+< download apple profile
 < duration
 < email tls explicit
 < email tls implicit
 < ip basic info
 < ip info for
 < ipsec connection
+< ipsec dns server address is invalid
 < ipsec interface mode gre
 < ipsec interface mode none
 < ipsec interface mode vti
+< ipsec invalid ip address or fqdn for rw endpoint
 < ipsec mode transport
 < ipsec mode tunnel
+< ipsec roadwarrior endpoint
 < ipsec routing table entries
 < ipsec settings
 < itlb multihit
index 4e61eb65e6cd1b87667a29e897f4bd120c9b9f80..85ed27204854d9a7cf02abb83dddd9d91623d855 100644 (file)
@@ -567,7 +567,7 @@ sub SortDataFile
 #
 sub BuildConfiguration {
     # Restart service associated with this
-    system '/usr/local/bin/setaliases';
+    &General::system('/usr/local/bin/setaliases');
 }
 
 #
index 683f8add41a429742d90b78c3f74b6f4fd87eec1..84c015314e2a987bb2f550dc97cf8b4a5f5d5051 100644 (file)
@@ -54,7 +54,7 @@ $cgiparams{'BACKUPLOGS'} = '';
 ############################################################################################################################
 ################################################ Workaround for Directories ################################################
 
-system("/usr/local/bin/backupctrl makedirs >/dev/null 2>&1 ") unless ( -e '/var/ipfire/backup/addons/backup') ;
+&General::system("/usr/local/bin/backupctrl", "makedirs") unless ( -e '/var/ipfire/backup/addons/backup') ;
 
 ############################################################################################################################
 ############################################## System calls ohne Http Header ###############################################
@@ -85,7 +85,7 @@ if ($cgiparams{'ACTION'} eq "download") {
                print UPLOADFILE;
                }
                close UPLOADFILE;
-               system("/usr/local/bin/backupctrl restore >/dev/null 2>&1");
+               &General::system("/usr/local/bin/backupctrl", "restore");
 }
 elsif ( $cgiparams{'ACTION'} eq "restoreaddon" )
 {
@@ -99,7 +99,7 @@ elsif ( $cgiparams{'ACTION'} eq "restoreaddon" )
                print UPLOADFILE;
                }
                close UPLOADFILE;
-               system("/usr/local/bin/backupctrl restoreaddon ".$temp[$#temp]." >/dev/null 2>&1");
+               &General::system("/usr/local/bin/backupctrl", "restoreaddon", $temp[$#temp]);
 }
 
 &Header::showhttpheaders();
@@ -115,11 +115,11 @@ sub refreshpage{&Header::openbox( 'Waiting', 1, "<meta http-equiv='refresh' cont
 if ( $cgiparams{'ACTION'} eq "backup" )
 {
        if ( $cgiparams{'BACKUPLOGS'} eq "include" ) {
-               system("/usr/local/bin/backupctrl include >/dev/null 2>&1");
+               &General::system("/usr/local/bin/backupctrl", "include");
        } elsif ( $cgiparams{'BACKUPLOGS'} eq "exclude" ) {
-               system("/usr/local/bin/backupctrl exclude >/dev/null 2>&1");
+               &General::system("/usr/local/bin/backupctrl", "exclude");
        } elsif ( $cgiparams{'BACKUPLOGS'} eq "iso" ) {
-               system("/usr/local/bin/backupctrl iso >/dev/null 2>&1");
+               &General::system("/usr/local/bin/backupctrl", "iso");
        }
 }
 if ( $cgiparams{'ACTION'} eq "addonbackup" )
@@ -130,14 +130,14 @@ if ( $cgiparams{'ACTION'} eq "addonbackup" )
        # Check if the addon exists
        exit(1) unless (-e "/var/ipfire/backup/addons/includes/$cgiparams{'ADDON'}");
 
-       system("/usr/local/bin/backupctrl addonbackup $cgiparams{'ADDON'} >/dev/null 2>&1");
+       &General::system("/usr/local/bin/backupctrl", "addonbackup", "$cgiparams{'ADDON'}");
 }
 elsif ( $cgiparams{'ACTION'} eq "delete" )
 {
        my $file = &sanitise_file($cgiparams{'FILE'});
        exit(1) unless defined($file);
 
-       system("/usr/local/bin/backupctrl $file >/dev/null 2>&1");
+       &General::system("/usr/local/bin/backupctrl", "$file");
 }
 
 ############################################################################################################################
index 51c5d45f2a9bb6cedef74739d1f88f19ea87bebe..ce666381c16f82a0bb21889fce2c72c93df0f7c5 100755 (executable)
@@ -64,7 +64,7 @@ my $errormessage='';
 my $clients="${General::swroot}/captive/clients";
 my %clientshash=();
 my $settingsfile="${General::swroot}/captive/settings";
-unless (-e $settingsfile)      { system("touch $settingsfile"); }
+unless (-e $settingsfile)      { &General::system("touch $settingsfile"); }
 
 &Header::getcgihash(\%cgiparams);
 
index 8613b9d9b0c3126e81606baf4a5e18179432ae0b..00038f1a05bc4c758a5486d0979fa4ccd8d3f915 100644 (file)
@@ -146,6 +146,9 @@ if ($netsettings{'RED_DEV'}) {
        }
 }
 
+# Call safe system_output function to get all available routes.
+my @all_routes = &General::system_output("/sbin/route", "-n");
+
 # Add Green Firewall Interface
 push(@network, $netsettings{'GREEN_ADDRESS'});
 push(@masklen, "255.255.255.255" );
@@ -157,7 +160,7 @@ push(@masklen, $netsettings{'GREEN_NETMASK'} );
 push(@colour, ${Header::colourgreen} );
 
 # Add Green Routes to Array
-my @routes = `/sbin/route -n | /bin/grep $netsettings{'GREEN_DEV'}`;
+my @routes = grep (/$netsettings{'GREEN_DEV'}/, @all_routes);
 foreach my $route (@routes) {
        chomp($route);
        my @temp = split(/[\t ]+/, $route);
@@ -178,7 +181,7 @@ if ($netsettings{'BLUE_DEV'}) {
        push(@colour, ${Header::colourblue} );
 
        # Add Blue Routes to Array
-       @routes = `/sbin/route -n | /bin/grep $netsettings{'BLUE_DEV'}`;
+       @routes = grep(/$netsettings{'BLUE_DEV'}/, @all_routes);
        foreach my $route (@routes) {
                chomp($route);
                my @temp = split(/[\t ]+/, $route);
@@ -199,7 +202,7 @@ if ($netsettings{'ORANGE_DEV'}) {
        push(@masklen, $netsettings{'ORANGE_NETMASK'} );
        push(@colour, ${Header::colourorange} );
        # Add Orange Routes to Array
-       @routes = `/sbin/route -n | /bin/grep $netsettings{'ORANGE_DEV'}`;
+       @routes = grep(/$netsettings{'ORANGE_DEV'}/, @all_routes);
        foreach my $route (@routes) {
                chomp($route);
                my @temp = split(/[\t ]+/, $route);
index 7e4ddb5b78e9891e44530265ab794ae3a31a4a21..e30aa3d4fa51ebca1c5b903bc19a2900279f8b24 100644 (file)
@@ -342,7 +342,7 @@ if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
 # Handle forced updates.
 #
 if ($settings{'ACTION'} eq $Lang::tr{'instant update'}) {
-    system(@ddnsprog) == 0 or die "@ddnsprog failed: $?\n";
+    &General::system(@ddnsprog) == 0 or die "@ddnsprog failed: $?\n";
 }
 
 #
index dd379dc47caa0f79fa159e7cb6870405e20e1d85..f1fbfd23583708948c0c399e759704893735232d 100644 (file)
@@ -130,6 +130,15 @@ open(FILE, "$filename2") or die 'Unable to open fixed leases file.';
 our @current2 = <FILE>;
 close(FILE);
 
+# Open and read-in file which contains the list of allowed advanced options.
+open(FILE, $filename3) or die "Could not open $filename3. $!\n";
+
+# Grab file content.
+my @advoptions_list = <FILE>;
+
+# Close file handle.
+close(FILE);
+
 # Check Settings1 first because they are needed by &buildconf
 if ($dhcpsettings{'ACTION'} eq $Lang::tr{'save'}) {
     foreach my $itf (@ITFs) {
@@ -338,7 +347,7 @@ if ($dhcpsettings{'ACTION'} eq $Lang::tr{'add'}.'1' &&
        map ($dhcpsettings{"ADVOPT_SCOPE_$_"} = 'off', @ITFs);  # force global
     } elsif (ValidNewOption ($dhcpsettings{'ADVOPT_NAME'} . ' ' . $dhcpsettings{'ADVOPT_DATA'})) {
        #was a new option
-    } elsif (! `grep "\$option $dhcpsettings{'ADVOPT_NAME'} " $filename3`) {
+    } elsif (! grep(/option $dhcpsettings{'ADVOPT_NAME'}/, @advoptions_list)) {
        $errormessage=$Lang::tr{'dhcp advopt unknown'}.': '.$dhcpsettings{'ADVOPT_NAME'};
     }
 
@@ -535,7 +544,8 @@ if ($dhcpsettings{'ACTION'} eq '' ) { # First launch from GUI
        }
     }
     $dhcpsettings{'FIX_ENABLED'} = 'on';
-}
+    $dhcpsettings{'ADVOPT_ENABLED'} = 'on';
+    }
 
 &Header::openpage($Lang::tr{'dhcp configuration'}, 1, '');
 &Header::openbigbox('100%', 'left', '', $errormessage);
@@ -713,7 +723,20 @@ if ($dhcpsettings{'KEY1'} ne '') {
 }
 
 #search if the 'option' is in the list and print the syntax model
-my $opt = `grep "\$option $dhcpsettings{'ADVOPT_NAME'} " $filename3`;
+my $opt;
+
+# Check if a advanced option name is set.
+if ($dhcpsettings{'ADVOPT_NAME'}) {
+       # Check if the name is part of the list and grab syntax.
+       my @opt = grep(/option $dhcpsettings{'ADVOPT_NAME'}/, @advoptions_list);
+
+       # Assign array element to variable.
+       $opt = @opt[0];
+
+       # Remove newlines.
+       chomp($opt);
+}
+
 if ($opt ne '') {
    $opt =~ s/option $dhcpsettings{'ADVOPT_NAME'}/Syntax:/;  # "option xyz abc" => "syntax: abc"
    $opt =~ s/;//;
@@ -1329,7 +1352,7 @@ sub buildconf {
                print FILE "}\n\n";
            }
 
-           system ('/usr/bin/touch', "${General::swroot}/dhcp/enable_${lc_itf}");
+           &General::system('/usr/bin/touch', "${General::swroot}/dhcp/enable_${lc_itf}");
            &General::log("DHCP on ${itf}: " . $Lang::tr{'dhcp server enabled'})
        } else {
            unlink "${General::swroot}/dhcp/enable_${lc_itf}";
@@ -1356,9 +1379,9 @@ sub buildconf {
     }
     print FILE "include \"${General::swroot}/dhcp/dhcpd.conf.local\";\n";
     close FILE;
-    if ( $dhcpsettings{"ENABLE_GREEN"} eq 'on' || $dhcpsettings{"ENABLE_BLUE"} eq 'on' ) {system '/usr/local/bin/dhcpctrl enable >/dev/null 2>&1';}
-    else {system '/usr/local/bin/dhcpctrl disable >/dev/null 2>&1';}
-    system '/usr/local/bin/dhcpctrl restart >/dev/null 2>&1 &';
+    if ( $dhcpsettings{"ENABLE_GREEN"} eq 'on' || $dhcpsettings{"ENABLE_BLUE"} eq 'on' ) {&General::system('/usr/local/bin/dhcpctrl', 'enable');}
+    else {&General::system('/usr/local/bin/dhcpctrl', 'disable');}
+    &General::system_background('/usr/local/bin/dhcpctrl', 'restart');
 }
 
 #
index 7dc11358223774a6f2cab732c473afd7f95f7080..0a34d3fd6c59e3c430a7b406dca4994adf966d98 100755 (executable)
@@ -48,8 +48,8 @@ my $settings_file = "${General::swroot}/dns/settings";
 my $servers_file = "${General::swroot}/dns/servers";
 
 # Create files if the does not exist.
-unless (-f $settings_file) { system("touch $settings_file") };
-unless (-f $servers_file) { system("touch $servers_file") };
+unless (-f $settings_file) { &General::system("touch", "$settings_file") };
+unless (-f $servers_file) { &General::system("touch", "$servers_file") };
 
 # File which stores the ISP assigned DNS servers.
 my @ISP_nameserver_files = ( "/var/run/dns1", "/var/run/dns2" );
@@ -844,7 +844,7 @@ sub _handle_unbound_and_more () {
                &IDS::call_suricatactrl("restart");
        }
        # Restart unbound
-       system('/usr/local/bin/unboundctrl reload >/dev/null');
+       &General::system('/usr/local/bin/unboundctrl', 'reload');
 }
 
 # Check if the system is online (RED is connected).
index 749d1216aa7b103306819187b026537ad40423bf..e2843a81f9918e242c04bd4a8fb9995fb111b714 100644 (file)
@@ -124,7 +124,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'add'})
                }
        }
        # Restart unbound
-       system('/usr/local/bin/unboundctrl reload >/dev/null');
+       &General::system('/usr/local/bin/unboundctrl', 'reload');
 }
 
 ###
@@ -142,7 +142,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'})
        }
        close(FILE);
        # Restart unbound.
-       system('/usr/local/bin/unboundctrl reload >/dev/null');
+       &General::system('/usr/local/bin/unboundctrl', 'reload');
 }
 
 ###
@@ -169,7 +169,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'})
        }
        close(FILE);
        # Restart unbound.
-       system('/usr/local/bin/unboundctrl reload >/dev/null');
+       &General::system('/usr/local/bin/unboundctrl', 'reload');
 }
 
 ###
index aaf42bafff28683d90caa5507f7cad3bd98660c8..154efd7b28678d1b1d10800a35997d300948072c 100644 (file)
@@ -53,8 +53,8 @@ my $partitionsfile = "/var/ipfire/extrahd/partitions";
 my @dummy = ( ${Header::colourgreen}, ${Header::colourred} );
 undef (@dummy);
 
-system("/usr/local/bin/extrahdctrl scanhd ide >/dev/null");
-system("/usr/local/bin/extrahdctrl scanhd partitions >/dev/null");
+&General::system("/usr/local/bin/extrahdctrl", "scanhd", "ide");
+&General::system("/usr/local/bin/extrahdctrl", "scanhd", "partitions");
 
 &Header::showhttpheaders();
 
@@ -98,12 +98,12 @@ if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'})
 UUID=$extrahdsettings{'UUID'};$extrahdsettings{'FS'};$extrahdsettings{'PATH'};
 END
 ;
-       system("/usr/local/bin/extrahdctrl mount $extrahdsettings{'PATH'}");
+       &General::system("/usr/local/bin/extrahdctrl", "mount", "$extrahdsettings{'PATH'}");
        }
 } 
 elsif ($extrahdsettings{'ACTION'} eq $Lang::tr{'delete'}) 
 {
-       if ( `/usr/local/bin/extrahdctrl umount $extrahdsettings{'PATH'}` ) {
+       if ( &General::system("/usr/local/bin/extrahdctrl", "umount", "$extrahdsettings{'PATH'}")) {
                open( FILE, "< $devicefile" ) or die "Unable to read $devicefile";
                @tmp = <FILE>;
                close FILE;
@@ -143,7 +143,11 @@ END
        {
                @deviceline = split( /\;/, $deviceentry );
                my $color="$Header::colourred";
-               if ( ! `/bin/mountpoint $deviceline[2] | grep " not "`  ) {
+
+               # Use safe system_output to get mountpoint details.
+               my @mountpoint = &General::system_output("/bin/mountpoint", "$deviceline[2]");
+
+               if ( ! grep(/not/, @mountpoint)) {
                        $color=$Header::colourgreen;
                }
                print <<END
index dfc741fde329e6f7e87ab6acc92792b890174b3b..e0221c5be71a2de3dd7d57a61a5debea842956c4 100644 (file)
@@ -49,14 +49,18 @@ if ( -e "$configfile" ) {
 if ("$fireinfosettings{'ACTION'}" eq "trigger") {
        if ($fireinfosettings{'ENABLE_FIREINFO'} eq 'off')      {
                &General::log($Lang::tr{'fireinfo is enabled'});
-               system ('/usr/bin/touch', $configfile);
+
+               # Write empty configfile.
+               open(FILE, ">$configfile");
+               close(FILE);
+
                $fireinfosettings{'ENABLE_FIREINFO'} = 'on';
        } else {
                &General::log($Lang::tr{'fireinfo is disabled'});
                unlink "$configfile";
                $fireinfosettings{'ENABLE_FIREINFO'} = 'off';
        }
-       system("/usr/local/bin/fireinfoctrl &");
+       &General::system_background("/usr/local/bin/fireinfoctrl");
 }
 
 &Header::openpage('Fireinfo', 1, '');
@@ -84,9 +88,13 @@ if ($errormessage) {
        &Header::closebox();
 }
 
-my $ipfire_version = `cat /etc/system-release`;
+# Get IPFire version string.
+open(FILE, "/etc/system-release");
+my $ipfire_version = <FILE>;
+close(FILE);
+
 my $pakfire_version = &Pakfire::make_version();
-my $kernel_version = `uname -a`;
+my $kernel_version = &General::system_output("uname", "-a");
 
 &Header::openbox('100%', 'left', $Lang::tr{'fireinfo system version'});
 print <<END;
@@ -108,12 +116,16 @@ END
 &Header::closebox();
 
 # Read pregenerated profile data
-my $profile = `cat /var/ipfire/fireinfo/profile`;
+open(FILE, "/var/ipfire/fireinfo/profile");
+my @profile = <FILE>;
+close(FILE);
 
 print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";
 
 # Read profile ID from file
-my $profile_id = `cat /var/ipfire/fireinfo/public_id`;
+open(FILE, "/var/ipfire/fireinfo/public_id");
+my $profile_id = <FILE>;
+close(FILE);
 chomp($profile_id);
 
 &Header::openbox('100%', 'left', $Lang::tr{'fireinfo settings'});
@@ -157,7 +169,7 @@ print <<END;
        </tr>
        <tr>
                <td colspan='2'>
-                       <textarea rows="25" cols="75" readonly="readonly">$profile</textarea>
+                       <textarea rows="25" cols="75" readonly="readonly">@profile</textarea>
                </td>
        </tr>
 </table>
index 4f4d63cc8dd45666ba27aedb5206c86e898b398e..70dee8d3cca38add53dabf0e2aa2607b187bb63b 100644 (file)
@@ -38,11 +38,11 @@ require "${General::swroot}/header.pl";
 require "${General::swroot}/location-functions.pl";
 require "/usr/lib/firewall/firewall-lib.pl";
 
-unless (-d "${General::swroot}/firewall")                      { system("mkdir ${General::swroot}/firewall"); }
-unless (-e "${General::swroot}/firewall/settings")     { system("touch ${General::swroot}/firewall/settings"); }
-unless (-e "${General::swroot}/firewall/config")       { system("touch ${General::swroot}/firewall/config"); }
-unless (-e "${General::swroot}/firewall/input")                { system("touch ${General::swroot}/firewall/input"); }
-unless (-e "${General::swroot}/firewall/outgoing")     { system("touch ${General::swroot}/firewall/outgoing"); }
+unless (-d "${General::swroot}/firewall")                      { &General::system("mkdir", "${General::swroot}/firewall"); }
+unless (-e "${General::swroot}/firewall/settings")     { &General::system("touch", "${General::swroot}/firewall/settings"); }
+unless (-e "${General::swroot}/firewall/config")       { &General::system("touch", "${General::swroot}/firewall/config"); }
+unless (-e "${General::swroot}/firewall/input")                { &General::system("touch", "${General::swroot}/firewall/input"); }
+unless (-e "${General::swroot}/firewall/outgoing")     { &General::system("touch", "${General::swroot}/firewall/outgoing"); }
 
 my %fwdfwsettings=();
 my %selected=() ;
index 84b018459498ce91d09d787c986ab06bb949cdd0..35611ac08765d405bf177196bbb4db9737ac2a02 100644 (file)
@@ -75,12 +75,12 @@ my $fwoptions               = "${General::swroot}/optionsfw/settings";
 my $configovpn         = "${General::swroot}/ovpn/settings";
 my $configipsecrw      = "${General::swroot}/vpn/settings";
 
-unless (-e $confignet)    { system("touch $confignet"); }
-unless (-e $confighost)   { system("touch $confighost"); }
-unless (-e $configgrp)    { system("touch $configgrp"); }
-unless (-e $configsrv)    { system("touch $configsrv"); }
-unless (-e $configsrvgrp) { system("touch $configsrvgrp"); }
-unless (-e $configlocationgrp) { system("touch $configlocationgrp"); }
+unless (-e $confignet)    { &General::system("touch", "$confignet"); }
+unless (-e $confighost)   { &General::system("touch", "$confighost"); }
+unless (-e $configgrp)    { &General::system("touch", "$configgrp"); }
+unless (-e $configsrv)    { &General::system("touch", "$configsrv"); }
+unless (-e $configsrvgrp) { &General::system("touch", "$configsrvgrp"); }
+unless (-e $configlocationgrp) { &General::system("touch $configlocationgrp"); }
 
 &General::readhash("${General::swroot}/main/settings", \%mainsettings);
 &General::readhash("/srv/web/ipfire/html/themes/ipfire/include/colors.txt", \%color);
index be1ea263900784f79c23a525943be7aeff4c7b55..140fd2178b2c4d5ee5135156748b50ab3f0642b5 100644 (file)
@@ -60,7 +60,19 @@ END
 ;      
 if ( -e "/usr/share/doc/licenses/GPLv3" ) {
        print '<textarea rows=\'25\' cols=\'75\' readonly=\'readonly\'>';
-       print `cat /usr/share/doc/licenses/GPLv3`;
+
+       # Open and read-in GPL file content.
+       open(FILE, "/usr/share/doc/licenses/GPLv3");
+
+       # Grab license.
+       my @license = <FILE>;
+
+       # Close filehandle.
+       close(FILE);
+
+       # Print license to textarea.
+       print "@license";
+
        print '</textarea>';
 }
 else {
index 552c672111eae198d5f1cc15a29c52b256d91aac..8ffe57f113e131c7cac2c02d989e50a8e1bd2898 100644 (file)
@@ -67,8 +67,8 @@ my $settingsfile = "${General::swroot}/guardian/settings";
 my $ignoredfile = "${General::swroot}/guardian/ignored";
 
 # Create empty settings and ignoredfile if they do not exist yet.
-unless (-e "$settingsfile") { system("touch $settingsfile"); }
-unless (-e "$ignoredfile") { system("touch $ignoredfile"); }
+unless (-e "$settingsfile") { &General::system("touch", "$settingsfile"); }
+unless (-e "$ignoredfile") { &General::system("touch", "$ignoredfile"); }
 
 our %settings = ();
 our %ignored  = ();
@@ -878,7 +878,7 @@ sub BuildConfiguration() {
        my $configfile = "${General::swroot}/guardian/guardian.conf";
 
        # Create the configfile if none exists yet.
-       unless (-e "$configfile") { system("touch $configfile"); }
+       unless (-e "$configfile") { &General::system("touch", "$configfile"); }
 
        # Open configfile for writing.
        open(FILE, ">$configfile");
@@ -940,11 +940,11 @@ sub BuildConfiguration() {
                        &Guardian::Socket::Client("reload");
                } else {
                        # Launch guardian.
-                       system("/usr/local/bin/addonctrl guardian start &>/dev/null");
+                       &General::system("/usr/local/bin/addonctrl", "guardian", "start");
                }
        } else {
                # Stop the daemon.
-               system("/usr/local/bin/addonctrl guardian stop &>/dev/null");
+               &General::system("/usr/local/bin/addonctrl", "guardian", "stop");
        }
 }
 
@@ -955,7 +955,7 @@ sub GenerateIgnoreFile() {
        &General::readhasharray($ignoredfile, \%ignored);
 
        # Create the guardian.ignore file if not exist yet.
-       unless (-e "$ignorefile") { system("touch $ignorefile"); }
+       unless (-e "$ignorefile") { &General::system("touch", "$ignorefile"); }
 
        # Open ignorefile for writing.
        open(FILE, ">$ignorefile");
index 1b316a2a2187091452c4bacb1ffbbe56a9fcf5da..820296fe25e4cc37631bc37c9d343ed556ad2f43 100644 (file)
@@ -70,7 +70,7 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")
         # Set flag if index page is to refresh whilst ppp is up.
         # Default is NO refresh.
         if ($cgiparams{'REFRESHINDEX'} ne 'off') {
-            system ('/usr/bin/touch', "${General::swroot}/main/refreshindex");
+            &General::system('/usr/bin/touch', "${General::swroot}/main/refreshindex");
         } else {
             unlink "${General::swroot}/main/refreshindex";
         }
@@ -78,7 +78,7 @@ if ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}")
         # Beep on ip-up or ip-down. Default is ON.
         if ($cgiparams{'PPPUPDOWNBEEP'} ne 'on') {
             $cgiparams{'PPPUPDOWNBEEP'} = 'off';
-            system ('/usr/bin/touch', "${General::swroot}/red/nobeeps");
+            &General::system('/usr/bin/touch', "${General::swroot}/red/nobeeps");
         } else {
             unlink "${General::swroot}/red/nobeeps";
         }
index 813d32f7b5b383368bee5c0e3755bf04a2af6c2f..e8f0fa362348c1dc9da171623f27b72bd1847aad 100644 (file)
@@ -38,12 +38,55 @@ my %mainsettings = ();
 my %sensorsettings = ();
 
 my @sensorsgraphs = ();
-my @sensorsdir = `ls -dA $mainsettings{'RRDLOG'}/collectd/localhost/sensors-*/`;
-foreach (@sensorsdir){
-       chomp($_);chop($_);
-       foreach (`ls $_/*`){
-               chomp($_);
-               push(@sensorsgraphs,$_);
+
+# Main directory where rrdlog puts the sensor data.
+my $sensorsdir = "$mainsettings{'RRDLOG'}/collectd/localhost";
+
+# Open sensors directory.
+opendir(SENSORS, "$sensorsdir") or die "Could not opendir $sensorsdir: $!\n";
+
+# Read-in all sensors.
+my @sensor_dirs = readdir(SENSORS);
+
+# Close directory handle.
+closedir(SENSORS);
+
+# Loop through the grabbed sensors.
+foreach my $sensor_dir (@sensor_dirs) {
+       # Skip everything which does not start with "sensors-".
+       next unless $sensor_dir =~ /^sensors-/;
+
+       # Check if the omitet element is a directory.
+       next unless (-d "$sensorsdir/$sensor_dir");
+
+       # Open sensor directory and lookup for sensors.
+       opendir(SENSOR_DIR, "$sensorsdir/$sensor_dir") or die "Could not opendir $sensorsdir/$sensor_dir: $!\n";
+
+       # Grab single sensors from the directory.
+       my @sensors = readdir(SENSOR_DIR);
+
+       # Close directory handle.
+       closedir(SENSOR_DIR);
+
+       # Loop through the omited sensors.
+       foreach my $sensor (@sensors) {
+               # Skip everything which is not a regular file.
+               next unless (-f "$sensorsdir/$sensor_dir/$sensor");
+
+               # Add sensor to the array of sensorsgrapghs.
+               push(@sensorsgraphs, "$sensorsdir/$sensor_dir/$sensor");
+       }
+}
+
+# Look for ACPI Thermal Zone sensors.
+my @thermal_zone_sensors = grep(/thermal-thermal_zone/, @sensor_dirs);
+
+# If a thermal zone sensor has been found add it to the sensorsgraphs array.
+if (@thermal_zone_sensors) {
+       # Loop through the array of thermal zone sensors.
+       foreach my $thermal_zone_sensor (@thermal_zone_sensors) {
+               # Add the sensor to the array.
+               push(@sensorsgraphs, "$sensorsdir/$thermal_zone_sensor");
        }
 }
 
@@ -97,7 +140,9 @@ if ( $querry[0] =~ "hwtemp"){
                &General::writehash("${General::swroot}/sensors/settings", \%sensorsettings);
        }
 
-       my @disks = `ls -1 /sys/block | grep -E '^sd|^nvme' | sort | uniq`;
+       # This should be save, because no user given content will be processed.
+       #my @disks = `ls -1 /sys/block | grep -E '^sd|^nvme' | sort | uniq`;
+       my @disks = &get_disks();
 
        foreach (@disks){
                my $disk = $_;
@@ -109,31 +154,31 @@ if ( $querry[0] =~ "hwtemp"){
                &Header::closebox();
        }
 
-       if ( `ls $mainsettings{'RRDLOG'}/collectd/localhost/thermal-thermal_zone* 2>/dev/null` ) {
+       if ( grep(/thermal-thermal_zone/, @sensorsgraphs) ) {
                &Header::openbox('100%', 'center', "ACPI Thermal-Zone Temp $Lang::tr{'graph'}");
                &Graphs::makegraphbox("hardwaregraphs.cgi","thermaltemp","day");
                &Header::closebox();
        }
 
-       if ( `ls $mainsettings{'RRDLOG'}/collectd/localhost/sensors-*/temperature-* 2>/dev/null` ) {
+       if ( grep(/temperature-/, @sensorsgraphs) ) {
                &Header::openbox('100%', 'center', "hwtemp $Lang::tr{'graph'}");
                &Graphs::makegraphbox("hardwaregraphs.cgi","hwtemp","day");
                Header::closebox();
        }
 
-       if ( `ls $mainsettings{'RRDLOG'}/collectd/localhost/sensors-*/fanspeed-* 2>/dev/null` ) {
+       if ( grep(/fanspeed-/, @sensorsgraphs) ) {
                &Header::openbox('100%', 'center', "hwfan $Lang::tr{'graph'}");
                &Graphs::makegraphbox("hardwaregraphs.cgi","hwfan","day");
                &Header::closebox();
        }
 
-       if ( `ls $mainsettings{'RRDLOG'}/collectd/localhost/sensors-*/voltage-* 2>/dev/null` ) {
+       if ( grep(/voltage-/, @sensorsgraphs) ) {
                &Header::openbox('100%', 'center', "hwvolt $Lang::tr{'graph'}");
                &Graphs::makegraphbox("hardwaregraphs.cgi","hwvolt","day");
                &Header::closebox();
        }
 
-       if ( `ls $mainsettings{'RRDLOG'}/collectd/localhost/sensors-* 2>/dev/null` ) {
+       if ( @sensorsgraphs ) {
                sensorsbox();
        }
        &Header::closebigbox();
@@ -175,3 +220,40 @@ END
 ;
        &Header::closebox();
 }
+
+sub get_disks () {
+       my @disks;
+
+       # Open virtal sys FS and grab block devices.
+       opendir(SYS, "/sys/block") or die "Could not opendir /sys/block/: $!\n";
+
+       # Grab all available block devices.
+       my @blockdevs = readdir(SYS);
+
+       # Close directory handle.
+       closedir(SYS);
+
+       # Loop through the array of blockdevs.
+       foreach my $dev (@blockdevs) {
+               # Skip all devices which does not start with "sd" or "nvme".
+               next unless (( $dev =~ /^sd/) || ($dev =~ /^nvme/));
+
+               # Add the device to the array of disks.
+               push(@disks, $dev);
+       }
+
+       # Remove duplicates.
+       my @disks = &uniq(@disks);
+
+       # Sort the array.
+       my @disks = sort(@disks);
+
+       # Return the array.
+       return @disks;
+}
+
+# Tiny code snipped to get a uniq() like function.
+sub uniq {
+       my %seen;
+       return grep { !$seen{$_}++ } @_;
+}
index d9e9cb0afae5a785bce1704af3b49bf6076241ae..a99d1364acd64b79c164e4482528d45162aebb44 100644 (file)
@@ -487,6 +487,6 @@ sub SortDataFile
 # Build the configuration file
 #
 sub BuildConfiguration {
-    system '/usr/local/bin/rebuildhosts';
-    system '/usr/local/bin/unboundctrl reload &>/dev/null';
+    &General::system('/usr/local/bin/rebuildhosts');
+    &General::system('/usr/local/bin/unboundctrl', 'reload');
 }
index 4ac237d0fe7c007376ac4c2cc8badfd311f837e1..fafbe0aa1a97537f1f3fe61da5755346c97f24b6 100644 (file)
@@ -118,10 +118,10 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'dial profile'})
 }
 
 if ($cgiparams{'ACTION'} eq $Lang::tr{'dial'}) {
-       system('/usr/local/bin/redctrl start > /dev/null') == 0
+       &General::system('/usr/local/bin/redctrl', 'start') == 0
        or &General::log("Dial failed: $?"); sleep 1;
 }elsif ($cgiparams{'ACTION'} eq $Lang::tr{'hangup'}) {
-       system('/usr/local/bin/redctrl stop > /dev/null') == 0
+       &General::system('/usr/local/bin/redctrl', 'stop') == 0
        or &General::log("Hangup failed: $?"); sleep 1;
 }
 
index 161be3421e0689ee8e3ab6be48389d70a374e888..f4c5aa2d4bff792b75587ac6035db047a1d2387b 100644 (file)
@@ -94,7 +94,7 @@ if ($macsettings{'ACTION'} eq $Lang::tr{'save'}) {
        }
 }
 if ($macsettings{'ACTION'} eq $Lang::tr{'reconnect'}) {
-       system("/usr/local/bin/redctrl restart >/dev/null 2>&1 &");
+       &General::system_background("/usr/local/bin/redctrl", "restart");
        &Header::openbox('100%', 'left', $Lang::tr{'mac address recon'} );
        print "<font class='base'>$Lang::tr{'mac address done'}</font>\n";
        &Header::closebox();    
@@ -107,7 +107,7 @@ if ($macsettings{'ACTION'} eq $Lang::tr{'delete'} ) {
 }
 if ($macsettings{'ACTION'} eq $Lang::tr{'reboot'}) {
        &General::log($Lang::tr{'rebooting ipfire'});
-       system("/usr/local/bin/ipfirereboot boot");
+       &General::system("/usr/local/bin/ipfirereboot", "boot");
        &Header::openbox('100%', 'left', $Lang::tr{'rebooting ipfire'} );
        print "&nbsp;&nbsp;<img src='/images/indicator.gif' /><br /><br />";
        print "<meta http-equiv='refresh' content='120;'>";
index d476e074d63464ba14eb4fc7eeb0df3b8ca427c2..9ee2b15a1a1cb8bb5380637c360dd8d5464d5614 100644 (file)
@@ -42,7 +42,13 @@ my %mainsettings = ();
 &Header::openbox('100%', 'left',"MD Raid State");
 
 print '<textarea rows="25" cols="80" readonly="readonly">';
-print `cat "/proc/mdstat"`;
+
+# Grab mdstat status.
+open(MDSTAT, "/proc/mdstat");
+my @mdstat = <MDSTAT>;
+close(MDSTAT);
+print "@mdstat";
+
 print '</textarea>';
 
 &Header::closebox();
index 204365294e1cfa9446402e1f52c8805b4e514d7a..441b1d4e79cc0be6c2be871f8cafd00cd9fb96d7 100644 (file)
@@ -56,7 +56,7 @@ if ( $querry[0] =~ "memory"){
        &Graphs::makegraphbox("memory.cgi","memory","day");
        &Header::closebox();
 
-       if ( `ls $mainsettings{'RRDLOG'}/collectd/localhost/swap 2>/dev/null` ) {
+       if (-f "$mainsettings{'RRDLOG'}/collectd/localhost/swap") {
            &Header::openbox('100%', 'center', "Swap $Lang::tr{'graph'}");
            &Graphs::makegraphbox("memory.cgi","swap","day");
            &Header::closebox();
@@ -64,7 +64,6 @@ if ( $querry[0] =~ "memory"){
        
        &Header::openbox('100%', 'center', $Lang::tr{'memory'});
        print "<table width='95%' cellspacing='5'>";
-       my $ram=0;
        my $size=0;
        my $used=0;
        my $free=0;
@@ -72,10 +71,12 @@ if ( $querry[0] =~ "memory"){
        my $shared=0;
        my $buffers=0;
        my $cached=0;
+       my $available=0;
 
-       open(FREE,'/usr/bin/free |');
-       while(<FREE>){
-               if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cached$/ ){
+       # output format: kibibytes, wide mode (buffers and cache in two columns)
+       open(my $cmd_fh, "-|", '/usr/bin/free -k -w') or die $!;
+       while(<$cmd_fh>){
+               if ($_ =~ m/^\s+total\s+used\s+free\s+shared\s+buffers\s+cache\s+available$/ ){
                        print <<END
 <tr>
 <td align='center'>&nbsp;</td>
@@ -87,13 +88,12 @@ if ( $querry[0] =~ "memory"){
 END
 ;
                }else{
-                       if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/){
-                               ($ram,$size,$used,$free,$shared,$buffers,$cached) = ($1,$1,$2,$3,$4,$5,$6);
+                       if ($_ =~ m/^Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/){
+                               ($size,$used,$free,$shared,$buffers,$cached,$available) = ($1,$2,$3,$4,$5,$6,$7);
                                ($percent = ($used/$size)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
                                print <<END
 <tr>
 <td class='boldbase'><b>$Lang::tr{'ram'}</b></td>
-<td align='center'>$size  KB</td>
 END
 ;
                        }elsif($_ =~ m/^Swap:\s+(\d+)\s+(\d+)\s+(\d+)$/){
@@ -106,17 +106,13 @@ END
                                print <<END
 <tr>
 <td class='boldbase'><b>$Lang::tr{'swap'}</b></td>
-<td align='center'>$size  KB</td>
 END
 ;
-                       }elsif($ram and $_ =~ m/^-\/\+ buffers\/cache:\s+(\d+)\s+(\d+)$/ ){
-                               ($used,$free) = ($1,$2);
-                               ($percent = ($used/$ram)*100) =~ s/^(\d+)(\.\d+)?$/$1%/;
-                               print "<tr><td colspan='2' class='boldbase'><b>$Lang::tr{'excluding buffers and cache'}</b></td>";
                        }
                        print <<END
-<td align='center'>$used KB</td>
-<td align='center'>$free KB</td>
+<td align='center'>$size KiB</td>
+<td align='center'>$used KiB</td>
+<td align='center'>$free KiB</td>
 <td>
 END
 ;
@@ -129,12 +125,13 @@ END
 ;
                }
        }
-       close FREE;
+       close($cmd_fh);
        print <<END
-<tr><td class='boldbase' colspan='2'><br /></td></tr>
-<tr><td class='boldbase'><b>$Lang::tr{'shared'}</b></td><td align='center'>$shared KB</td></tr>
-<tr><td class='boldbase'><b>$Lang::tr{'buffers'}</b></td><td align='center'>$buffers KB</td></tr>
-<tr><td class='boldbase'><b>$Lang::tr{'cached'}</b></td><td align='center'>$cached KB</td></tr>
+<tr><td colspan='6'><br /></td></tr>
+<tr><td class='boldbase'><b>$Lang::tr{'shared'}</b></td><td align='center'>$shared KiB</td></tr>
+<tr><td class='boldbase'><b>$Lang::tr{'buffers'}</b></td><td align='center'>$buffers KiB</td></tr>
+<tr><td class='boldbase'><b>$Lang::tr{'cached'}</b></td><td align='center'>$cached KiB</td></tr>
+<tr><td class='boldbase'><b>$Lang::tr{'available'}</b></td><td align='center'>$available KiB</td></tr>
 </table>
 END
 ;
index a13f8b2654a72376888496be6c35390fbc51077b..bf5080d01dd726f9227ed9307a26afefede20a43 100644 (file)
@@ -57,7 +57,7 @@ ERROR:
 
 if ($modemsettings{'ACTION'} eq $Lang::tr{'restore defaults'})
 {
-       system('/bin/cp', "${General::swroot}/modem/defaults", "${General::swroot}/modem/settings", '-f');
+       &General::system("cp", "-f", "${General::swroot}/modem/defaults", "${General::swroot}/modem/settings");
 }
 
 &General::readhash("${General::swroot}/modem/settings", \%modemsettings);
index c8cfc4b115f12f25275c5adf804718e1baf1f116..ea83d1db17f2e3b8fdc5b0beb6ed15c2d348071d 100644 (file)
@@ -231,7 +231,7 @@ if ( $mpfiresettings{'ACTION'} eq "scan" ){
        $mpd->updatedb();
        refreshpage();
 }elsif ( $mpfiresettings{'ACTION'} eq "playweb" ){
-       $message=system("/usr/local/bin/mpfirectrl","playweb","\"$mpfiresettings{'FILE'}\"","2>/dev/null");
+       $message= &General::system_output("/usr/local/bin/mpfirectrl","playweb","\"$mpfiresettings{'FILE'}\"");
 }elsif ( $mpfiresettings{'ACTION'} eq "playlist" ){
        $mpd->play();
 }elsif ( $mpfiresettings{'ACTION'} eq "emptyplaylist" ){
index a31502dd0cd1dc0923f37129471a55edc1aebc90..1e3760c2b339bc93828d51692dcb13edc97b5e52 100644 (file)
@@ -86,8 +86,7 @@ if ( $querry[0] ne~ ""){
 
                        &General::readhash("${General::swroot}/dhcpc/dhcpcd-$netsettings{'RED_DEV'}.info", \%dhcpinfo);
 
-                       my $DNS1=`echo $dhcpinfo{'domain_name_servers'} | cut -f 1 -d " "`;
-                       my $DNS2=`echo $dhcpinfo{'domain_name_servers'} | cut -f 2 -d " "`;
+                       my ($DNS1, $DNS2) = split(/ /, $dhcpinfo{'domain_name_servers'});
 
                        my $lsetme=0;
                        my $leasetime="";
index 321642e82e090b3773b6c8297a9c435ebc836926..1ecf4f180cf6947ecad3c95ff9a6dd1fdc81d8aa 100644 (file)
@@ -49,7 +49,7 @@ if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
        if ($settings{'defpol'} ne '1'){
                $errormessage .= $Lang::tr{'new optionsfw later'};
                &General::writehash($filename, \%settings);             # Save good settings
-               system("/usr/local/bin/firewallctrl");
+               &General::system("/usr/local/bin/firewallctrl");
        }else{
                if ($settings{'POLICY'} ne ''){
                        $fwdfwsettings{'POLICY'} = $settings{'POLICY'};
@@ -64,7 +64,7 @@ if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
                $fwdfwsettings{'POLICY1'} = "$MODE1";
                &General::writehash("${General::swroot}/firewall/settings", \%fwdfwsettings);
                &General::readhash("${General::swroot}/firewall/settings", \%fwdfwsettings);
-               system("/usr/local/bin/firewallctrl");
+               &General::system("/usr/local/bin/firewallctrl");
        }
        &General::readhash($filename, \%settings);             # Load good settings
 }
index b98d88529ae4a3813a2fc4eadcd56177a0cd8bd5..077f5ab6c483f0dc96dc5a6da35bbeb1f77ff4ca 100644 (file)
@@ -192,10 +192,10 @@ sub newcleanssldatabase
        close FILE;
     }
     if (! -s ">${General::swroot}/ovpn/certs/index.txt") {
-       system ("touch ${General::swroot}/ovpn/certs/index.txt");
+       &General::system("touch", "${General::swroot}/ovpn/certs/index.txt");
     }
     if (! -s ">${General::swroot}/ovpn/certs/index.txt.attr") {
-      system ("touch ${General::swroot}/ovpn/certs/index.txt.attr");
+       &General::system("touch", "${General::swroot}/ovpn/certs/index.txt.attr");
     }
     unlink ("${General::swroot}/ovpn/certs/index.txt.old");
     unlink ("${General::swroot}/ovpn/certs/index.txt.attr.old");
@@ -220,18 +220,21 @@ sub pkiconfigcheck
 {
        # Warning if DH parameter is 1024 bit
        if (-f "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}") {
-               my $dhparameter = `/usr/bin/openssl dhparam -text -in ${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}`;
-               my @dhbit = ($dhparameter =~ /(\d+)/);
-               if ($1 < 2048) {
-                       $cryptoerror = "$Lang::tr{'ovpn error dh'}";
-                       goto CRYPTO_ERROR;
+               my @dhparameter = &General::system_output("/usr/bin/openssl", "dhparam", "-text", "-in", "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}");
+
+               foreach my $line (@dhparameter) {
+                       my @dhbit = ($line =~ /(\d+)/);
+                       if ($1 < 2048) {
+                               $cryptoerror = "$Lang::tr{'ovpn error dh'}";
+                               goto CRYPTO_ERROR;
+                       }
                }
        }
 
        # Warning if md5 is in usage
        if (-f "${General::swroot}/ovpn/certs/servercert.pem") {
-               my $signature = `/usr/bin/openssl x509 -noout -text -in ${General::swroot}/ovpn/certs/servercert.pem`;
-               if ($signature =~ /md5WithRSAEncryption/) {
+               my @signature = &General::system_output("/usr/bin/openssl", "x509", "-noout", "-text", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
+               if (grep(/md5WithRSAEncryption/, @signature) ) {
                        $cryptoerror = "$Lang::tr{'ovpn error md5'}";
                        goto CRYPTO_ERROR;
                }
@@ -241,8 +244,8 @@ sub pkiconfigcheck
 
        # Warning if certificate is not compliant to RFC3280 TLS rules
        if (-f "${General::swroot}/ovpn/certs/servercert.pem") {
-               my $extendkeyusage = `/usr/bin/openssl x509 -noout -text -in ${General::swroot}/ovpn/certs/servercert.pem`;
-               if ($extendkeyusage !~ /TLS Web Server Authentication/) {
+               my @extendkeyusage = &General::system_output("/usr/bin/openssl", "x509", "-noout", "-text", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
+               if ( ! grep(/TLS Web Server Authentication/, @extendkeyusage)) {
                        $cryptowarning = "$Lang::tr{'ovpn warning rfc3280'}";
                        goto CRYPTO_WARNING;
                }
@@ -734,7 +737,7 @@ sub writecollectdconf {
        close(COLLECTDVPN);
 
        # Reload collectd afterwards
-       system("/usr/local/bin/collectdctrl restart &>/dev/null");
+       &General::system("/usr/local/bin/collectdctrl", "restart");
 }
 
 #hier die refresh page
@@ -764,11 +767,11 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'start ovpn server'} ||
     #start openvpn server
     if ($cgiparams{'ACTION'} eq $Lang::tr{'start ovpn server'}){
        &emptyserverlog();
-       system('/usr/local/bin/openvpnctrl', '-s');
+       &General::system("/usr/local/bin/openvpnctrl", "-s");
     }   
     #stop openvpn server
     if ($cgiparams{'ACTION'} eq $Lang::tr{'stop ovpn server'}){
-       system('/usr/local/bin/openvpnctrl', '-k');
+       &General::system("/usr/local/bin/openvpnctrl", "-k");
        &emptyserverlog();      
     }   
 #    #restart openvpn server
@@ -1075,8 +1078,8 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General
   # Check host certificate if X509 is RFC3280 compliant.
   # If not, old --ns-cert-type directive will be used.
   # If appropriate key usage extension exists, new --remote-cert-tls directive will be used.
-  my $hostcert = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`;
-  if ($hostcert !~ /TLS Web Server Authentication/) {
+  my @hostcert = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
+  if ( ! grep(/TLS Web Server Authentication/, @hostcert)) {
        print CLIENTCONF "ns-cert-type server\n";
   } else {
        print CLIENTCONF "remote-cert-tls server\n";
@@ -1196,7 +1199,8 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
        # Create ta.key for tls-auth if not presant
        if ($cgiparams{'TLSAUTH'} eq 'on') {
                if ( ! -e "${General::swroot}/ovpn/certs/ta.key") {
-                       system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/certs/ta.key");
+                       # This system call is safe, because all arguements are passed as an array.
+                       system("/usr/sbin/openvpn", "--genkey", "--secret", "${General::swroot}/ovpn/certs/ta.key");
                        if ($?) {
                                $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
                                goto SETTINGS_ERROR;
@@ -1219,9 +1223,24 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
     $vpnsettings{'TLSAUTH'} = $cgiparams{'TLSAUTH'};
 #wrtie enable
 
-  if ( $vpnsettings{'ENABLED_BLUE'} eq 'on' ) {system("touch ${General::swroot}/ovpn/enable_blue 2>/dev/null");}else{system("unlink ${General::swroot}/ovpn/enable_blue 2>/dev/null");}
-  if ( $vpnsettings{'ENABLED_ORANGE'} eq 'on' ) {system("touch ${General::swroot}/ovpn/enable_orange 2>/dev/null");}else{system("unlink ${General::swroot}/ovpn/enable_orange 2>/dev/null");}
-  if ( $vpnsettings{'ENABLED'} eq 'on' ) {system("touch ${General::swroot}/ovpn/enable 2>/dev/null");}else{system("unlink ${General::swroot}/ovpn/enable 2>/dev/null");}
+  if ( $vpnsettings{'ENABLED_BLUE'} eq 'on' ) {
+         &General::system("touch", "${General::swroot}/ovpn/enable_blue");
+  } else {
+         unlink(${General::swroot}/ovpn/enable_blue);
+  }
+
+  if ( $vpnsettings{'ENABLED_ORANGE'} eq 'on' ) {
+         &General::system("touch", "${General::swroot}/ovpn/enable_orange");
+  } else {
+         unlink("${General::swroot}/ovpn/enable_orange");
+  }
+
+  if ( $vpnsettings{'ENABLED'} eq 'on' ) {
+         &General::system("touch", "${General::swroot}/ovpn/enable");
+  } else {
+         unlink("${General::swroot}/ovpn/enable");
+  }
+
 #new settings for daemon    
     &General::writehash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &writeserverconf();#hier ok
@@ -1234,7 +1253,7 @@ SETTINGS_ERROR:
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
 
     # Kill all N2N connections
-    system("/usr/local/bin/openvpnctrl -kn2n &>/dev/null");
+    &General::system("/usr/local/bin/openvpnctrl", "-kn2n");
 
     foreach my $key (keys %confighash) {
        my $name = $confighash{$cgiparams{'$key'}}[1];
@@ -1243,7 +1262,7 @@ SETTINGS_ERROR:
            delete $confighash{$cgiparams{'$key'}};
        }
 
-       system ("/usr/local/bin/openvpnctrl -drrd $name &>/dev/null");
+       &General::system("/usr/local/bin/openvpnctrl", "-drrd", "$name");
     }
     while ($file = glob("${General::swroot}/ovpn/ca/*")) {
        unlink $file;
@@ -1282,7 +1301,7 @@ SETTINGS_ERROR:
        close FILE;
     }
     while ($file = glob("${General::swroot}/ovpn/n2nconf/*")) {
-       system ("rm -rf $file");
+       unlink($file);
     }
 
     # Remove everything from the collectd configuration
@@ -1328,7 +1347,8 @@ END
         unlink "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}";
        }
        # Create Diffie Hellmann Parameter
-       system('/usr/bin/openssl', 'dhparam', '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}");
+       # The system call is safe, because all arguments are passed as an array.
+       system("/usr/bin/openssl", "dhparam", "-out", "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}");
        if ($?) {
                $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
                unlink ("${General::swroot}/ovpn/ca/dh1024.pem");
@@ -1397,8 +1417,8 @@ END
         $errormessage = $!;
        goto UPLOADCA_ERROR;
     }
-    my $temp = `/usr/bin/openssl dhparam -text -in $filename`;
-    if ($temp !~ /DH Parameters: \((2048|3072|4096) bit\)/) {
+    my @temp = &General::system_output("/usr/bin/openssl", "dhparam", "-text", "-in", "$filename");
+    if ( ! grep(/DH Parameters: \((2048|3072|4096) bit\)/, @temp)) {
         $errormessage = $Lang::tr{'not a valid dh key'};
         unlink ($filename);
         goto UPLOADCA_ERROR;
@@ -1454,8 +1474,8 @@ END
        $errormessage = $!;
        goto UPLOADCA_ERROR;
     }
-    my $temp = `/usr/bin/openssl x509 -text -in $filename`;
-    if ($temp !~ /CA:TRUE/i) {
+    my @temp = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "$filename");
+    if ( ! grep(/CA:TRUE/i, @temp )) {
        $errormessage = $Lang::tr{'not a valid ca certificate'};
        unlink ($filename);
        goto UPLOADCA_ERROR;
@@ -1468,11 +1488,19 @@ END
        }
     }
 
-    my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/ca/$cgiparams{'CA_NAME'}cert.pem`;
-    $casubject    =~ /Subject: (.*)[\n]/;
-    $casubject    = $1;
-    $casubject    =~ s+/Email+, E+;
-    $casubject    =~ s/ ST=/ S=/;
+    @casubject = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/ca/$cgiparams{'CA_NAME'}cert.pem");
+    my $casubject;
+
+    foreach my $line (@casubject) {
+       if ($line =~ /Subject: (.*)[\n]/) {
+               $casubject    = $1;
+               $casubject    =~ s+/Email+, E+;
+               $casubject    =~ s/ ST=/ S=/;
+
+               last;
+       }
+    }
+
     $casubject    = &Header::cleanhtml($casubject);
 
     my $key = &General::findhasharraykey (\%cahash);
@@ -1494,9 +1522,9 @@ END
        &Header::openpage($Lang::tr{'ovpn'}, 1, '');
        &Header::openbigbox('100%', 'LEFT', '', $errormessage);
        &Header::openbox('100%', 'LEFT', "$Lang::tr{'ca certificate'}:");
-       my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;
-       $output = &Header::cleanhtml($output,"y");
-       print "<pre>$output</pre>\n";
+       my @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
+       @output = &Header::cleanhtml(@output,"y");
+       print "<pre>@output</pre>\n";
        &Header::closebox();
        print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
        &Header::closebigbox();
@@ -1515,7 +1543,10 @@ END
     if ( -f "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
        print "Content-Type: application/octet-stream\r\n";
        print "Content-Disposition: filename=$cahash{$cgiparams{'KEY'}}[0]cert.pem\r\n\r\n";
-       print `/usr/bin/openssl x509 -in ${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;
+
+       my @tmp =  &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
+       print "@tmp";
+
        exit(0);
     } else {
        $errormessage = $Lang::tr{'invalid key'};
@@ -1530,8 +1561,8 @@ END
 
     if ( -f "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
        foreach my $key (keys %confighash) {
-           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/ovpn/certs/$confighash{$key}[1]cert.pem`;
-           if ($test =~ /: OK/) {
+           my @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem", "${General::swroot}/ovpn/certs/$confighash{$key}[1]cert.pem");
+           if (grep(/: OK/, @test)) {
                # Delete connection
 #              if ($vpnsettings{'ENABLED'} eq 'on' ||
 #                  $vpnsettings{'ENABLED_BLUE'} eq 'on') {
@@ -1561,8 +1592,8 @@ END
     my $assignedcerts = 0;
     if ( -f "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
        foreach my $key (keys %confighash) {
-           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/ovpn/certs/$confighash{$key}[1]cert.pem`;
-           if ($test =~ /: OK/) {
+           my @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ovpn/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem", "${General::swroot}/ovpn/certs/$confighash{$key}[1]cert.pem");
+           if (grep(/: OK/, @test)) {
                $assignedcerts++;
            }
        }
@@ -1601,19 +1632,19 @@ END
 ###
 }elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'} ||
     $cgiparams{'ACTION'} eq $Lang::tr{'show host certificate'}) {
-    my $output;
+    my @output;
     &Header::showhttpheaders();
     &Header::openpage($Lang::tr{'ovpn'}, 1, '');
     &Header::openbigbox('100%', 'LEFT', '', '');
     if ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'}) {
        &Header::openbox('100%', 'LEFT', "$Lang::tr{'root certificate'}:");
-       $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/ca/cacert.pem`;
+       @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/ca/cacert.pem");
     } else {
        &Header::openbox('100%', 'LEFT', "$Lang::tr{'host certificate'}:");
-       $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`;
+       @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
     }
-    $output = &Header::cleanhtml($output,"y");
-    print "<pre>$output</pre>\n";
+    @output = &Header::cleanhtml(@output,"y");
+    print "<pre>@output</pre>\n";
     &Header::closebox();
     print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
     &Header::closebigbox();
@@ -1627,7 +1658,10 @@ END
     if ( -f "${General::swroot}/ovpn/ca/cacert.pem" ) {
        print "Content-Type: application/octet-stream\r\n";
        print "Content-Disposition: filename=cacert.pem\r\n\r\n";
-       print `/usr/bin/openssl x509 -in ${General::swroot}/ovpn/ca/cacert.pem`;
+
+       my @tmp = &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/ovpn/ca/cacert.pem");
+       print "@tmp";
+
        exit(0);
     }
     
@@ -1638,7 +1672,10 @@ END
     if ( -f "${General::swroot}/ovpn/certs/servercert.pem" ) {
        print "Content-Type: application/octet-stream\r\n";
        print "Content-Disposition: filename=servercert.pem\r\n\r\n";
-       print `/usr/bin/openssl x509 -in ${General::swroot}/ovpn/certs/servercert.pem`;
+
+       my @tmp = &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
+       print "@tmp";
+
        exit(0);
     }
 
@@ -1649,7 +1686,13 @@ END
     if ( -f "${General::swroot}/ovpn/certs/ta.key" ) {
        print "Content-Type: application/octet-stream\r\n";
        print "Content-Disposition: filename=ta.key\r\n\r\n";
-       print `/bin/cat ${General::swroot}/ovpn/certs/ta.key`;
+
+       open(FILE, "${General::swroot}/ovpn/certs/ta.key");
+       my @tmp = <FILE>;
+       close(FILE);
+
+       print "@tmp";
+
        exit(0);
     }
 
@@ -1926,6 +1969,7 @@ END
        }
        
        # Sign the host certificate request
+       # This system call is safe, because all argeuments are passed as an array.
        system('/usr/bin/openssl', 'ca', '-days', '999999',
                '-batch', '-notext',
                '-in',  "${General::swroot}/ovpn/certs/serverreq.pem",
@@ -1947,6 +1991,7 @@ END
        }
 
        # Create an empty CRL
+       # System call is safe, because all arguments are passed as array.
        system('/usr/bin/openssl', 'ca', '-gencrl',
                '-out', "${General::swroot}/ovpn/crls/cacrl.pem",
                '-config', "${General::swroot}/ovpn/openssl/ovpn.cnf" );
@@ -1962,6 +2007,7 @@ END
 #          &cleanssldatabase();
        }
        # Create ta.key for tls-auth
+       # This system call is safe, because all arguments are passed as an array.
        system('/usr/sbin/openvpn', '--genkey', '--secret', "${General::swroot}/ovpn/certs/ta.key");
        if ($?) {
            $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
@@ -1969,6 +2015,7 @@ END
            goto ROOTCERT_ERROR;
        }
        # Create Diffie Hellmann Parameter
+       # The system call is safe, because all arguments are passed as an array.
        system('/usr/bin/openssl', 'dhparam', '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}");
        if ($?) {
            $errormessage = "$Lang::tr{'openssl produced an error'}: $?";
@@ -2083,7 +2130,7 @@ END
     }
 
     ROOTCERT_SUCCESS:
-    system ("chmod 600 ${General::swroot}/ovpn/certs/serverkey.pem");
+    &General::system("chmod", "600", "${General::swroot}/ovpn/certs/serverkey.pem");
 #    if ($vpnsettings{'ENABLED'} eq 'on' ||
 #      $vpnsettings{'ENABLE_BLUE'} eq 'on') {
 #      system('/usr/local/bin/ipsecctrl', 'S');
@@ -2101,8 +2148,12 @@ END
     
     &General::readhash("${General::swroot}/ovpn/settings", \%vpnsettings);
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
-#    my $n2nactive = '';
-    my $n2nactive = `/bin/ps ax|grep $confighash{$cgiparams{'KEY'}}[1]|grep -v grep|awk \'{print \$1}\'`;
+    my $n2nactive = '';
+    my @ps = &General::system_output("/bin/ps", "ax");
+
+    if(grep(/$confighash{$cgiparams{'KEY'}}[1]/, @ps)) {
+       $n2nactive = "1";
+    }
     
     if ($confighash{$cgiparams{'KEY'}}) {
                if ($confighash{$cgiparams{'KEY'}}[0] eq 'off') {
@@ -2110,7 +2161,7 @@ END
                        &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
 
                        if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
-                               system('/usr/local/bin/openvpnctrl', '-sn2n', $confighash{$cgiparams{'KEY'}}[1]);
+                               &General::system("/usr/local/bin/openvpnctrl", "-sn2n", "$confighash{$cgiparams{'KEY'}}[1]");
                                &writecollectdconf();
                        }
                } else {
@@ -2120,7 +2171,7 @@ END
 
                        if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
                                if ($n2nactive ne '') {
-                                       system('/usr/local/bin/openvpnctrl', '-kn2n', $confighash{$cgiparams{'KEY'}}[1]);
+                                       &General::system("/usr/local/bin/openvpnctrl", "-kn2n", "$confighash{$cgiparams{'KEY'}}[1]");
                                        &writecollectdconf();
                                }
  
@@ -2204,8 +2255,8 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){
    # Check host certificate if X509 is RFC3280 compliant.
    # If not, old --ns-cert-type directive will be used.
    # If appropriate key usage extension exists, new --remote-cert-tls directive will be used.
-   my $hostcert = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`;
-   if ($hostcert !~ /TLS Web Server Authentication/) {
+   my @hostcert = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
+   if (! grep(/TLS Web Server Authentication/, @hostcert)) {
                print CLIENTCONF "ns-cert-type server\n";
    } else {
                print CLIENTCONF "remote-cert-tls server\n";
@@ -2315,6 +2366,7 @@ else
                $zip->addFile("${General::swroot}/ovpn/ca/cacert.pem", "cacert.pem")  or die "Can't add file cacert.pem\n";
 
                # Extract the certificate
+               # This system call is safe, because all arguments are passed as an array.
                system('/usr/bin/openssl', 'pkcs12', '-in', "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12",
                        '-clcerts', '-nokeys', '-nodes', '-out', "$file_crt" , '-passin', 'pass:');
                if ($?) {
@@ -2325,6 +2377,7 @@ else
                print CLIENTCONF ";cert $confighash{$cgiparams{'KEY'}}[1].pem\r\n";
 
                # Extract the key
+               # This system call is safe, because all arguments are passed as an array.
                system('/usr/bin/openssl', 'pkcs12', '-in', "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12",
                        '-nocerts', '-nodes', '-out', "$file_key", '-passin', 'pass:');
                if ($?) {
@@ -2361,8 +2414,8 @@ else
        # Check host certificate if X509 is RFC3280 compliant.
        # If not, old --ns-cert-type directive will be used.
        # If appropriate key usage extension exists, new --remote-cert-tls directive will be used.
-       my $hostcert = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`;
-       if ($hostcert !~ /TLS Web Server Authentication/) {
+       my @hostcert = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
+       if (! grep(/TLS Web Server Authentication/, @hostcert)) {
                print CLIENTCONF "ns-cert-type server\r\n";
        } else {
                print CLIENTCONF "remote-cert-tls server\r\n";
@@ -2464,8 +2517,8 @@ else
 
        if ($confighash{$cgiparams{'KEY'}}) {
                # Revoke certificate if certificate was deleted and rewrite the CRL
-               my $temp = `/usr/bin/openssl ca -revoke ${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem -config ${General::swroot}/ovpn/openssl/ovpn.cnf`;
-               my $tempA = `/usr/bin/openssl ca -gencrl -out ${General::swroot}/ovpn/crls/cacrl.pem -config ${General::swroot}/ovpn/openssl/ovpn.cnf`;
+               &General::system("/usr/bin/openssl", "ca", "-revoke", "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem", "-config", "${General::swroot}/ovpn/openssl/ovpn.cnf)";
+               &General::system("/usr/bin/openssl", "ca", "-gencrl", "-out", "${General::swroot}/ovpn/crls/cacrl.pem", "-config", "${General::swroot}/ovpn/openssl/ovpn.cnf");
 
 ###
 # m.a.d net2net
@@ -2473,7 +2526,7 @@ else
 
                if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') {
                        # Stop the N2N connection before it is removed
-                       system('/usr/local/bin/openvpnctrl', '-kn2n', $confighash{$cgiparams{'KEY'}}[1]);
+                       &General::system("/usr/local/bin/openvpnctrl", "-kn2n", "$confighash{$cgiparams{'KEY'}}[1]");
 
                        my $conffile = glob("${General::swroot}/ovpn/n2nconf/$confighash{$cgiparams{'KEY'}}[1]/$confighash{$cgiparams{'KEY'}}[1].conf");
                        my $certfile = glob("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
@@ -2515,10 +2568,10 @@ else
 # CCD end
                # Update collectd configuration and delete all RRD files of the removed connection
                &writecollectdconf();
-               system ('/usr/local/bin/openvpnctrl', '-drrd', $confighash{$cgiparams{'KEY'}}[1]);
+               &General::system("/usr/local/bin/openvpnctrl", "-drrd", "$confighash{$cgiparams{'KEY'}}[1]");
 
                delete $confighash{$cgiparams{'KEY'}};
-               my $temp2 = `/usr/bin/openssl ca -gencrl -out ${General::swroot}/ovpn/crls/cacrl.pem -config ${General::swroot}/ovpn/openssl/ovpn.cnf`;
+               &General::system("/usr/bin/openssl", "ca", "-gencrl", "-out", "${General::swroot}/ovpn/crls/cacrl.pem", "-config", "${General::swroot}/ovpn/openssl/ovpn.cnf");
                &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
 
        } else {
@@ -2534,7 +2587,12 @@ else
 
     print "Content-Disposition: filename=" . $confighash{$cgiparams{'KEY'}}[1] . ".p12\r\n";
     print "Content-Type: application/octet-stream\r\n\r\n";
-    print `/bin/cat ${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12`;
+
+    open(FILE, "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
+    my @tmp = <FILE>;
+    close(FILE);
+
+    print "@tmp";
     exit (0);
 
 ###
@@ -2548,9 +2606,9 @@ else
        &Header::openpage($Lang::tr{'ovpn'}, 1, '');
        &Header::openbigbox('100%', 'LEFT', '', '');
        &Header::openbox('100%', 'LEFT', "$Lang::tr{'certificate'}:");
-       my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;
-       $output = &Header::cleanhtml($output,"y");
-       print "<pre>$output</pre>\n";
+       my @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
+       @output = &Header::cleanhtml(@output,"y");
+       print "<pre>@output</pre>\n";
        &Header::closebox();
        print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
        &Header::closebigbox();
@@ -2570,9 +2628,9 @@ else
                &Header::openpage($Lang::tr{'ovpn'}, 1, '');
                &Header::openbigbox('100%', 'LEFT', '', '');
                &Header::openbox('100%', 'LEFT', "$Lang::tr{'dh'}:");
-               my $output = `/usr/bin/openssl dhparam -text -in ${General::swroot}/ovpn/ca/dh1024.pem`;
-               $output = &Header::cleanhtml($output,"y");
-               print "<pre>$output</pre>\n";
+               my @output = &General::system_output("/usr/bin/openssl", "dhparam", "-text", "-in", "${General::swroot}/ovpn/ca/dh1024.pem");
+               @output = &Header::cleanhtml(@output,"y");
+               print "<pre>@output</pre>\n";
                &Header::closebox();
                print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
                &Header::closebigbox();
@@ -2592,9 +2650,13 @@ else
                &Header::openpage($Lang::tr{'ovpn'}, 1, '');
                &Header::openbigbox('100%', 'LEFT', '', '');
                &Header::openbox('100%', 'LEFT', "$Lang::tr{'ta key'}:");
-               my $output = `/bin/cat ${General::swroot}/ovpn/certs/ta.key`;
-               $output = &Header::cleanhtml($output,"y");
-               print "<pre>$output</pre>\n";
+
+               open(FILE, "${General::swroot}/ovpn/certs/ta.key");
+               my @output = <FILE>;
+               close(FILE);
+
+               @output = &Header::cleanhtml(@output,"y");
+               print "<pre>@output</pre>\n";
                &Header::closebox();
                print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
                &Header::closebigbox();
@@ -2615,9 +2677,9 @@ else
        &Header::openpage($Lang::tr{'ovpn'}, 1, '');
        &Header::openbigbox('100%', 'LEFT', '', '');
        &Header::openbox('100%', 'LEFT', "$Lang::tr{'crl'}:");
-       my $output = `/usr/bin/openssl crl -text -noout -in ${General::swroot}/ovpn/crls/cacrl.pem`;
-       $output = &Header::cleanhtml($output,"y");
-       print "<pre>$output</pre>\n";
+       my @output = &General::system_output("/usr/bin/openssl", "crl", "-text", "-noout", "-in", "${General::swroot}/ovpn/crls/cacrl.pem");
+       @output = &Header::cleanhtml(@output,"y");
+       print "<pre>@output</pre>\n";
        &Header::closebox();
        print "<div align='center'><a href='/cgi-bin/ovpnmain.cgi'>$Lang::tr{'back'}</a></div>";
        &Header::closebigbox();
@@ -3105,7 +3167,12 @@ END
     if ( -f "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem") {
        print "Content-Disposition: filename=" . $confighash{$cgiparams{'KEY'}}[1] . "cert.pem\r\n";
        print "Content-Type: application/octet-stream\r\n\r\n";
-       print `/bin/cat ${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;
+
+       open(FILE, "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
+       my @tmp = <FILE>;
+       close(FILE);
+
+       print "@tmp";
        exit (0);
     }
 
@@ -4031,6 +4098,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
 
            # Sign the certificate request and move it
            # Sign the host certificate request
+           # The system call is safe, because all arguments are passed as an array.
            system('/usr/bin/openssl', 'ca', '-days', "$cgiparams{'DAYS_VALID'}",
                '-batch', '-notext',
                '-in', $filename,
@@ -4047,11 +4115,19 @@ if ($cgiparams{'TYPE'} eq 'net') {
                &deletebackupcert();
            }
 
-           my $temp = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/$cgiparams{'NAME'}cert.pem`;
-           $temp =~ /Subject:.*CN\s?=\s?(.*)[\n]/;
-           $temp = $1;
-           $temp =~ s+/Email+, E+;
-           $temp =~ s/ ST=/ S=/;
+           my @temp = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}cert.pem");
+           my $temp;
+
+           foreach my $line (@temp) {
+               if ($line =~ /Subject:.*CN\s?=\s?(.*)[\n]/) {
+                       $temp = $1;
+                       $temp =~ s+/Email+, E+;
+                       $temp =~ s/ ST=/ S=/;
+
+                       last;
+               }
+           }
+               
            $cgiparams{'CERT_NAME'} = $temp;
            $cgiparams{'CERT_NAME'} =~ s/,//g;
            $cgiparams{'CERT_NAME'} =~ s/\'//g;
@@ -4077,13 +4153,13 @@ if ($cgiparams{'TYPE'} eq 'net') {
 
            # Verify the certificate has a valid CA and move it
            my $validca = 0;
-           my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ovpn/ca/cacert.pem $filename`;
-           if ($test =~ /: OK/) {
+           my @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ovpn/ca/cacert.pem", "$filename");
+           if (grep(/: OK/, @test)) {
                $validca = 1;
            } else {
                foreach my $key (keys %cahash) {
-                   $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ovpn/ca/$cahash{$key}[0]cert.pem $filename`;
-                   if ($test =~ /: OK/) {
+                   @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ovpn/ca/$cahash{$key}[0]cert.pem", "$filename");
+                   if (grep(/: OK/, @test)) {
                        $validca = 1;
                    }
                }
@@ -4101,11 +4177,19 @@ if ($cgiparams{'TYPE'} eq 'net') {
                }
            }
 
-           my $temp = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/$cgiparams{'NAME'}cert.pem`;
-           $temp =~ /Subject:.*CN\s?=\s?(.*)[\n]/;
-           $temp = $1;
-           $temp =~ s+/Email+, E+;
-           $temp =~ s/ ST=/ S=/;
+           my @temp = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}cert.pem");
+           my $temp;
+
+           foreach my $line (@temp) {
+               if ($line =~ /Subject:.*CN\s?=\s?(.*)[\n]/) {
+                       $temp = $1;
+                       $temp =~ s+/Email+, E+;
+                       $temp =~ s/ ST=/ S=/;
+
+                       last;
+               }
+           }
+
            $cgiparams{'CERT_NAME'} = $temp;
            $cgiparams{'CERT_NAME'} =~ s/,//g;
            $cgiparams{'CERT_NAME'} =~ s/\'//g;
@@ -4232,6 +4316,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
            }
        
            # Sign the host certificate request
+           # The system call is safe, because all arguments are passed as an array.
            system('/usr/bin/openssl', 'ca', '-days', "$cgiparams{'DAYS_VALID'}",
                '-batch', '-notext',
                '-in',  "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}req.pem",
@@ -4250,6 +4335,7 @@ if ($cgiparams{'TYPE'} eq 'net') {
            }
 
            # Create the pkcs12 file
+           # The system call is safe, because all arguments are passed as an array.
            system('/usr/bin/openssl', 'pkcs12', '-export', 
                '-inkey', "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}key.pem",
                '-in', "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}cert.pem",
@@ -4415,21 +4501,24 @@ if ($cgiparams{'TYPE'} eq 'net') {
        
        if ($cgiparams{'TYPE'} eq 'net') {
        
-       if (-e "/var/run/$confighash{$key}[1]n2n.pid") {
-  system('/usr/local/bin/openvpnctrl', '-kn2n', $confighash{$cgiparams{'KEY'}}[1]);
+               if (-e "/var/run/$confighash{$key}[1]n2n.pid") {
+                       &General::system("/usr/local/bin/openvpnctrl", "-kn2n", "$confighash{$cgiparams{'KEY'}}[1]");
        
-  &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
-       my $key = $cgiparams{'KEY'};
-       if (! $key) {
-           $key = &General::findhasharraykey (\%confighash);
-           foreach my $i (0 .. 31) { $confighash{$key}[$i] = "";}
-           }
-  $confighash{$key}[0] = 'on';
-  &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+                       &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+                       my $key = $cgiparams{'KEY'};
+                       if (! $key) {
+                           $key = &General::findhasharraykey (\%confighash);
+                           foreach my $i (0 .. 31) {
+                                   $confighash{$key}[$i] = "";
+                           }
+                       }
+
+                       $confighash{$key}[0] = 'on';
+                       &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
   
-  system('/usr/local/bin/openvpnctrl', '-sn2n', $confighash{$cgiparams{'KEY'}}[1]);
-        }          
-  }
+                       &General::system("/usr/local/bin/openvpnctrl", "-sn2n", "$confighash{$cgiparams{'KEY'}}[1]");
+               }
+       }
 
 ###
 # m.a.d n2n end
@@ -5046,7 +5135,9 @@ END
     &General::readhasharray("${General::swroot}/ovpn/caconfig", \%cahash);
     &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
 
-    my @status = `/bin/cat /var/run/ovpnserver.log`;
+    open(FILE, "/var/run/ovpnserver.log");
+    my @status = <FILE>;
+    close(FILE);
 
     if ($cgiparams{'VPN_IP'} eq '' && -e "${General::swroot}/red/active") {
                if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) {
@@ -5358,9 +5449,17 @@ END
        #} else {
            #print "<td align='left'>&nbsp;</td>";
        #}
-       my $cavalid = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/$confighash{$key}[1]cert.pem`;
-       $cavalid    =~ /Not After : (.*)[\n]/;
-       $cavalid    = $1;
+       my @cavalid = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/$confighash{$key}[1]cert.pem");
+       my $cavalid;
+
+       foreach my $line (@cavalid) {
+               if ($line =~ /Not After : (.*)[\n]/) {
+                       $cavalid    = $1;
+
+                       last;
+               }
+       }
+
        print "<td align='center' $col>$confighash{$key}[25]</td>";
        $col1="bgcolor='${Header::colourred}'";
        my $active = "<b><font color='#FFFFFF'>$Lang::tr{'capsclosed'}</font></b>";
@@ -5571,11 +5670,19 @@ END
     my $col4="bgcolor='$color{'color20'}'";
 
     if (-f "${General::swroot}/ovpn/ca/cacert.pem") {
-               my $casubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/ca/cacert.pem`;
-               $casubject    =~ /Subject: (.*)[\n]/;
-               $casubject    = $1;
-               $casubject    =~ s+/Email+, E+;
-               $casubject    =~ s/ ST=/ S=/;
+               my @casubject = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/ca/cacert.pem");
+               my $casubject;
+
+               foreach my $line (@casubject) {
+                       if ($line =~ /Subject: (.*)[\n]/) {
+                               $casubject    = $1;
+                               $casubject    =~ s+/Email+, E+;
+                               $casubject    =~ s/ ST=/ S=/;
+
+                               last;
+                       }
+               }
+
                print <<END;
                <tr>
                        <td class='base' $col1>$Lang::tr{'root certificate'}</td>
@@ -5605,11 +5712,18 @@ END
     }
 
     if (-f "${General::swroot}/ovpn/certs/servercert.pem") {
-               my $hostsubject = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`;
-               $hostsubject    =~ /Subject: (.*)[\n]/;
-               $hostsubject    = $1;
-               $hostsubject    =~ s+/Email+, E+;
-               $hostsubject    =~ s/ ST=/ S=/;
+               my @hostsubject = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ovpn/certs/servercert.pem");
+               my $hostsubject;
+
+               foreach my $line (@hostsubject) {
+                       if ($line =~ /Subject: (.*)[\n]/) {
+                               $hostsubject    = $1;
+                               $hostsubject    =~ s+/Email+, E+;
+                               $hostsubject    =~ s/ ST=/ S=/;
+
+                               last;
+                       }
+               }
 
                print <<END;
                <tr>
@@ -5641,10 +5755,16 @@ END
 
     # Adding DH parameter to chart
     if (-f "${General::swroot}/ovpn/ca/dh1024.pem") {
-               my $dhsubject = `/usr/bin/openssl dhparam -text -in ${General::swroot}/ovpn/ca/dh1024.pem`;
-               $dhsubject    =~ /    (.*)[\n]/;
-               $dhsubject    = $1;
+               my @dhsubject = &System_output("/usr/bin/openssl", "dhparam", "-text", "-in", "${General::swroot}/ovpn/ca/dh1024.pem");
+               my $dhsubject;
 
+               foreach my $line (@dhsubject) {
+                       if ($line =~ /    (.*)[\n]/) {
+                               $dhsubject = $1;
+
+                               last;
+                       }
+               }
 
        print <<END;
                <tr>
@@ -5674,9 +5794,19 @@ END
 
     # Adding ta.key to chart
     if (-f "${General::swroot}/ovpn/certs/ta.key") {
-               my $tasubject = `/bin/cat ${General::swroot}/ovpn/certs/ta.key`;
-               $tasubject    =~ /# (.*)[\n]/;
-               $tasubject    = $1;
+               open(FILE, "${General::swroot}/ovpn/certs/ta.key");
+               my @tasubject = <FILE>;
+               close(FILE);
+
+               my $tasubject;
+               foreach my $line (@tasubject) {
+                       if($line =~ /# (.*)[\n]/) {
+                               $tasubject    = $1;
+
+                               last;
+                       }
+               }
+
                print <<END;
 
                <tr>
index a9e12d23c181a39b5ee1b5813d3de920661f7ff0..631587ce27ae4fdeaea2b67da26306a6dcef67eb 100644 (file)
@@ -54,15 +54,13 @@ sub refreshpage{&Header::openbox( 'Waiting', 1, "<meta http-equiv='refresh' cont
 &Header::openpage($Lang::tr{'pakfire configuration'}, 1);
 &Header::openbigbox('100%', 'left', '', $errormessage);
 
-if ($cgiparams{'ACTION'} eq 'install'){
+if (($cgiparams{'ACTION'} eq 'install') && (! -e $Pakfire::lockfile)) {
        $cgiparams{'INSPAKS'} =~ s/\|/\ /g;
        if ("$cgiparams{'FORCE'}" eq "on") {
-               my $command = "/usr/local/bin/pakfire install --non-interactive --no-colors $cgiparams{'INSPAKS'} &>/dev/null &";
-               system("$command");
-               system("/bin/sleep 1");
+               &General::system_background("/usr/local/bin/pakfire", "install", "--non-interactive", "--no-colors", $cgiparams{'INSPAKS'});
        } else {
                &Header::openbox("100%", "center", $Lang::tr{'request'});
-               my @output = `/usr/local/bin/pakfire resolvedeps --no-colors $cgiparams{'INSPAKS'}`;
+               my @output = &General::system_output("/usr/local/bin/pakfire", "resolvedeps", "--no-colors", $cgiparams{'INSPAKS'});
                print <<END;
                <table><tr><td colspan='2'>$Lang::tr{'pakfire install package'}.$cgiparams{'INSPAKS'}.$Lang::tr{'pakfire possible dependency'}
                <pre>
@@ -93,16 +91,14 @@ END
                &Header::closepage();
                exit;
        }
-} elsif ($cgiparams{'ACTION'} eq 'remove') {
+} elsif (($cgiparams{'ACTION'} eq 'remove') && (! -e $Pakfire::lockfile)) {
 
        $cgiparams{'DELPAKS'} =~ s/\|/\ /g;
        if ("$cgiparams{'FORCE'}" eq "on") {
-               my $command = "/usr/local/bin/pakfire remove --non-interactive --no-colors $cgiparams{'DELPAKS'} &>/dev/null &";
-               system("$command");
-               system("/bin/sleep 1");
+               &General::system_background("/usr/local/bin/pakfire", "remove", "--non-interactive", "--no-colors", $cgiparams{'DELPAKS'});
        } else {
                &Header::openbox("100%", "center", $Lang::tr{'request'});
-               my @output = `/usr/local/bin/pakfire resolvedeps --no-colors $cgiparams{'DELPAKS'}`;
+               my @output = &General::system_output("/usr/local/bin/pakfire", "resolvedeps", "--no-colors", $cgiparams{'DELPAKS'});
                print <<END;
                <table><tr><td colspan='2'>$Lang::tr{'pakfire uninstall package'}.$cgiparams{'DELPAKS'}.$Lang::tr{'pakfire possible dependency'}
                <pre>
@@ -134,14 +130,10 @@ END
                exit;
        }
 
-} elsif ($cgiparams{'ACTION'} eq 'update') {
-
-       system("/usr/local/bin/pakfire update --force --no-colors &>/dev/null &");
-       system("/bin/sleep 1");
-} elsif ($cgiparams{'ACTION'} eq 'upgrade') {
-       my $command = "/usr/local/bin/pakfire upgrade -y --no-colors &>/dev/null &";
-       system("$command");
-       system("/bin/sleep 1");
+} elsif (($cgiparams{'ACTION'} eq 'update') && (! -e $Pakfire::lockfile)) {
+       &General::system_background("/usr/local/bin/pakfire", "update", "--force", "--no-colors");
+} elsif (($cgiparams{'ACTION'} eq 'upgrade') && (!-e $Pakfire::lockfile)) {
+       &General::system_background("/usr/local/bin/pakfire", "upgrade", "-y", "--no-colors");
 } elsif ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") {
        $pakfiresettings{"TREE"} = $cgiparams{"TREE"};
 
@@ -154,7 +146,7 @@ END
                &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings);
 
                # Update lists
-               system("/usr/local/bin/pakfire update --force --no-colors &>/dev/null &");
+               &General::system_background("/usr/local/bin/pakfire", "update", "--force", "--no-colors");
        }
 }
 
@@ -176,9 +168,7 @@ if ($errormessage) {
        &Header::closebox();
 }
 
-my $return = `pidof pakfire`;
-chomp($return);
-if ($return) {
+if (-e $Pakfire::lockfile) {
        &Header::openbox( 'Waiting', 1, "<meta http-equiv='refresh' content='10;'>" );
        print <<END;
        <table>
index 7597bfbc79f34f9392d3df84fcaef51d2696ddd1..519a062bc555344a3b0a400038b6b2f4ed501373 100644 (file)
@@ -39,6 +39,8 @@ my %checked=();
 my @profilenames=();
 my $errormessage = '';
 my $maxprofiles = 5;
+
+# This call is safe, because no user input will be processed.
 my $kernel=`/bin/uname -r | /usr/bin/tr -d '\012'`;
 
 my %color = ();
@@ -177,7 +179,12 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'})
                 $errormessage = $Lang::tr{'invalid input'};
                 goto ERROR; }
 
-        if( $pppsettings{'RECONNECTION'} eq 'dialondemand' && `/bin/cat ${General::swroot}/ddns/config` =~ /,on$/m ) {
+       # Read-in ddns config file, to check if at least one provider is enabled.
+       open(FILE, "${General::swroot}/ddns/config)";
+       my @ddns_config = <FILE>
+       close(FILE);
+
+        if( $pppsettings{'RECONNECTION'} eq 'dialondemand' && grep(/on/, @ddns_config) ) {
                 $errormessage = $Lang::tr{'dod not compatible with ddns'};
                 goto ERROR; }
 
@@ -520,7 +527,12 @@ print <<END
 END
 ;
 
-my $atmdev=`cat /proc/net/atm/devices 2>/dev/null | grep 0`;
+# Read-in atm devices from proc.
+open(PROC, "/proc/net/atm/devices");
+my @patm_devices = <PROC>;
+close(PROC);
+
+my $atmdev = grep(/0/, @atm_devices);
 chomp ($atmdev);
 if ($atmdev ne '') {
         print <<END
@@ -962,7 +974,10 @@ sub updatesettings
         unlink("${General::swroot}/ppp/settings");
         link("${General::swroot}/ppp/settings-$pppsettings{'PROFILE'}",
                 "${General::swroot}/ppp/settings");
-        system ("/usr/bin/touch", "${General::swroot}/ppp/updatesettings");
+
+       # Write updatesettings file.
+       open(FILE, ">/${General::swroot}/ppp/updatesettings");
+       close(FILE);
 }
 
 sub writesecrets
index b6d71db84d6ce2c46d9ad0fad5bf2590cd171e06..1b949d5b6853d1521897bc0b34924502bcf3956d 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -32,7 +32,7 @@ require "${General::swroot}/header.pl";
 
 require "${General::swroot}/ids-functions.pl";
 
-my @squidversion = `/usr/sbin/squid -v`;
+my @squidversion = &General::system_output("/usr/sbin/squid", "-v");
 my $http_port='81';
 my $https_port='444';
 
@@ -131,35 +131,35 @@ unless (-d "$raddir")   { mkdir("$raddir"); }
 unless (-d "$identdir") { mkdir("$identdir"); }
 unless (-d "$credir")   { mkdir("$credir"); }
 
-unless (-e $cre_groups)  { system("touch $cre_groups"); }
-unless (-e $cre_svhosts) { system("touch $cre_svhosts"); }
-
-unless (-e $userdb) { system("touch $userdb"); }
-unless (-e $stdgrp) { system("touch $stdgrp"); }
-unless (-e $extgrp) { system("touch $extgrp"); }
-unless (-e $disgrp) { system("touch $disgrp"); }
-
-unless (-e $acl_src_subnets)    { system("touch $acl_src_subnets"); }
-unless (-e $acl_src_banned_ip)  { system("touch $acl_src_banned_ip"); }
-unless (-e $acl_src_banned_mac) { system("touch $acl_src_banned_mac"); }
-unless (-e $acl_src_unrestricted_ip)  { system("touch $acl_src_unrestricted_ip"); }
-unless (-e $acl_src_unrestricted_mac) { system("touch $acl_src_unrestricted_mac"); }
-unless (-e $acl_src_noaccess_ip)  { system("touch $acl_src_noaccess_ip"); }
-unless (-e $acl_src_noaccess_mac) { system("touch $acl_src_noaccess_mac"); }
-unless (-e $acl_dst_noauth)     { system("touch $acl_dst_noauth"); }
-unless (-e $acl_dst_noauth_dom) { system("touch $acl_dst_noauth_dom"); }
-unless (-e $acl_dst_noauth_net) { system("touch $acl_dst_noauth_net"); }
-unless (-e $acl_dst_noauth_url) { system("touch $acl_dst_noauth_url"); }
-unless (-e $acl_dst_nocache)     { system("touch $acl_dst_nocache"); }
-unless (-e $acl_dst_nocache_dom) { system("touch $acl_dst_nocache_dom"); }
-unless (-e $acl_dst_nocache_net) { system("touch $acl_dst_nocache_net"); }
-unless (-e $acl_dst_nocache_url) { system("touch $acl_dst_nocache_url"); }
-unless (-e $acl_dst_throttle)  { system("touch $acl_dst_throttle"); }
-unless (-e $acl_ports_safe) { system("touch $acl_ports_safe"); }
-unless (-e $acl_ports_ssl)  { system("touch $acl_ports_ssl"); }
-unless (-e $acl_include) { system("touch $acl_include"); }
-
-unless (-e $mimetypes) { system("touch $mimetypes"); }
+unless (-e $cre_groups)  { &General::system("touch", "$cre_groups"); }
+unless (-e $cre_svhosts) { &General::system("touch $cre_svhosts"); }
+
+unless (-e $userdb) { &General::system("touch", "$userdb"); }
+unless (-e $stdgrp) { &General::system("touch", "$stdgrp"); }
+unless (-e $extgrp) { &General::system("touch", "$extgrp"); }
+unless (-e $disgrp) { &General::system("touch", "$disgrp"); }
+
+unless (-e $acl_src_subnets)    { &General::system("touch", "$acl_src_subnets"); }
+unless (-e $acl_src_banned_ip)  { &General::system("touch", "$acl_src_banned_ip"); }
+unless (-e $acl_src_banned_mac) { &General::system("touch", "$acl_src_banned_mac"); }
+unless (-e $acl_src_unrestricted_ip)  { &General::system("touch", "$acl_src_unrestricted_ip"); }
+unless (-e $acl_src_unrestricted_mac) { &General::system("touch", "$acl_src_unrestricted_mac"); }
+unless (-e $acl_src_noaccess_ip)  { &General::system("touch", "$acl_src_noaccess_ip"); }
+unless (-e $acl_src_noaccess_mac) { &General::system("touch", "$acl_src_noaccess_mac"); }
+unless (-e $acl_dst_noauth)     { &General::system("touch", "$acl_dst_noauth"); }
+unless (-e $acl_dst_noauth_dom) { &General::system("touch", "$acl_dst_noauth_dom"); }
+unless (-e $acl_dst_noauth_net) { &General::system("touch", "$acl_dst_noauth_net"); }
+unless (-e $acl_dst_noauth_url) { &General::system("touch", "$acl_dst_noauth_url"); }
+unless (-e $acl_dst_nocache)     { &General::system("touch", "$acl_dst_nocache"); }
+unless (-e $acl_dst_nocache_dom) { &General::system("touch", "$acl_dst_nocache_dom"); }
+unless (-e $acl_dst_nocache_net) { &General::system("touch", "$acl_dst_nocache_net"); }
+unless (-e $acl_dst_nocache_url) { &General::system("touch", "$acl_dst_nocache_url"); }
+unless (-e $acl_dst_throttle)  { &General::system("touch", "$acl_dst_throttle"); }
+unless (-e $acl_ports_safe) { &General::system("touch", "$acl_ports_safe"); }
+unless (-e $acl_ports_ssl)  { &General::system("touch", "$acl_ports_ssl"); }
+unless (-e $acl_include) { &General::system("touch", "$acl_include"); }
+
+unless (-e $mimetypes) { &General::system("touch", "$mimetypes"); }
 
 my $HAVE_NTLM_AUTH = (-e "/usr/bin/ntlm_auth");
 
@@ -188,7 +188,7 @@ $proxysettings{'ADMIN_MAIL_ADDRESS'} = '';
 $proxysettings{'ADMIN_PASSWORD'} = '';
 $proxysettings{'ERR_LANGUAGE'} = 'en';
 $proxysettings{'ERR_DESIGN'} = 'ipfire';
-$proxysettings{'SUPPRESS_VERSION'} = 'off';
+$proxysettings{'SUPPRESS_VERSION'} = 'on';
 $proxysettings{'FORWARD_VIA'} = 'off';
 $proxysettings{'FORWARD_IPADDRESS'} = 'off';
 $proxysettings{'FORWARD_USERNAME'} = 'off';
@@ -226,8 +226,6 @@ $proxysettings{'THROTTLING_GREEN_HOST'} = 'unlimited';
 $proxysettings{'THROTTLING_BLUE_TOTAL'} = 'unlimited';
 $proxysettings{'THROTTLING_BLUE_HOST'} = 'unlimited';
 $proxysettings{'ENABLE_MIME_FILTER'} = 'off';
-$proxysettings{'FAKE_USERAGENT'} = '';
-$proxysettings{'FAKE_REFERER'} = '';
 $proxysettings{'AUTH_METHOD'} = 'none';
 $proxysettings{'AUTH_REALM'} = '';
 $proxysettings{'AUTH_MAX_USERIP'} = '';
@@ -385,7 +383,7 @@ if (($proxysettings{'ACTION'} eq $Lang::tr{'save'}) || ($proxysettings{'ACTION'}
                $errormessage = $Lang::tr{'advproxy errmsg mem cache size'};
                goto ERROR;
        }
-       my @free = `/usr/bin/free`;
+       my @free = &General::system_output("/usr/bin/free");
        $free[1] =~ m/(\d+)/;
        $cachemem = int $1 / 2048;
        if ($proxysettings{'CACHE_MEM'} > $cachemem) {
@@ -632,25 +630,25 @@ ERROR:
 
                if ($proxysettings{'CACHEMGR'} eq 'on'){&writecachemgr;}
 
-               system ('/usr/local/bin/squidctrl', 'disable');
+               &General::system ('/usr/local/bin/squidctrl', 'disable');
                unlink "${General::swroot}/proxy/enable";
                unlink "${General::swroot}/proxy/transparent";
                unlink "${General::swroot}/proxy/enable_blue";
                unlink "${General::swroot}/proxy/transparent_blue";
 
                if ($proxysettings{'ENABLE'} eq 'on') {
-                       system ('/usr/bin/touch', "${General::swroot}/proxy/enable");
-                       system ('/usr/local/bin/squidctrl', 'enable'); }
+                       &General::system('/usr/bin/touch', "${General::swroot}/proxy/enable");
+                       &General::system('/usr/local/bin/squidctrl', 'enable'); }
                if ($proxysettings{'TRANSPARENT'} eq 'on' && $proxysettings{'ENABLE'} eq 'on') {
-                       system ('/usr/bin/touch', "${General::swroot}/proxy/transparent"); }
+                       &General::system('/usr/bin/touch', "${General::swroot}/proxy/transparent"); }
                if ($proxysettings{'ENABLE_BLUE'} eq 'on') {
-                       system ('/usr/bin/touch', "${General::swroot}/proxy/enable_blue");
-                       system ('/usr/local/bin/squidctrl', 'enable'); }
+                       &General::system('/usr/bin/touch', "${General::swroot}/proxy/enable_blue");
+                       &General::system('/usr/local/bin/squidctrl', 'enable'); }
                if ($proxysettings{'TRANSPARENT_BLUE'} eq 'on' && $proxysettings{'ENABLE_BLUE'} eq 'on') {
-                       system ('/usr/bin/touch', "${General::swroot}/proxy/transparent_blue"); }
+                       &General::system('/usr/bin/touch', "${General::swroot}/proxy/transparent_blue"); }
 
-               if ($proxysettings{'ACTION'} eq $Lang::tr{'advproxy save and restart'}) { system('/usr/local/bin/squidctrl restart >/dev/null 2>&1'); }
-               if ($proxysettings{'ACTION'} eq $Lang::tr{'proxy reconfigure'}) { system('/usr/local/bin/squidctrl reconfigure >/dev/null 2>&1'); }
+               if ($proxysettings{'ACTION'} eq $Lang::tr{'advproxy save and restart'}) { &General::system('/usr/local/bin/squidctrl', 'restart'); }
+               if ($proxysettings{'ACTION'} eq $Lang::tr{'proxy reconfigure'}) { &General::system('/usr/local/bin/squidctrl', 'reconfigure'); }
 
                # Check if the suricata_proxy_ports_changed flag has been set.
                if ($suricata_proxy_ports_changed) {
@@ -665,7 +663,7 @@ ERROR:
 
 if ($proxysettings{'ACTION'} eq $Lang::tr{'advproxy clear cache'})
 {
-       system('/usr/local/bin/squidctrl flush >/dev/null 2>&1');
+       &General::system('/usr/local/bin/squidctrl', 'flush');
 }
 
 if (!$errormessage)
@@ -1629,21 +1627,6 @@ END
 print <<END
 </table>
 
-<hr size='1'>
-
-<table width='100%'>
-<tr>
-       <td><b>$Lang::tr{'advproxy privacy'}</b></td>
-</tr>
-<tr>
-       <td class='base'>$Lang::tr{'advproxy fake useragent'}:</td>
-       <td class='base'>$Lang::tr{'advproxy fake referer'}:</td>
-</tr>
-<tr>
-       <td><input type='text' name='FAKE_USERAGENT' value='$proxysettings{'FAKE_USERAGENT'}' size='40%' /></td>
-       <td><input type='text' name='FAKE_REFERER' value='$proxysettings{'FAKE_REFERER'}' size='40%' /></td>
-</tr>
-</table>
 <hr size='1'>
 END
 ;
@@ -3846,8 +3829,7 @@ END
 
        print FILE "http_access deny  all\n\n";
 
-       if (($proxysettings{'FORWARD_IPADDRESS'} eq 'off') || ($proxysettings{'FORWARD_VIA'} eq 'off') ||
-               (!($proxysettings{'FAKE_USERAGENT'} eq '')) || (!($proxysettings{'FAKE_REFERER'} eq '')))
+       if (($proxysettings{'FORWARD_IPADDRESS'} eq 'off') || ($proxysettings{'FORWARD_VIA'} eq 'off'))
        {
                print FILE "#Strip HTTP Header\n";
 
@@ -3861,31 +3843,9 @@ END
                        print FILE "request_header_access Via deny all\n";
                        print FILE "reply_header_access Via deny all\n";
                }
-               if (!($proxysettings{'FAKE_USERAGENT'} eq ''))
-               {
-                       print FILE "request_header_access User-Agent deny all\n";
-                       print FILE "reply_header_access User-Agent deny all\n";
-               }
-               if (!($proxysettings{'FAKE_REFERER'} eq ''))
-               {
-                       print FILE "request_header_access Referer deny all\n";
-                       print FILE "reply_header_access Referer deny all\n";
-               }
 
                print FILE "\n";
 
-               if ((!($proxysettings{'FAKE_USERAGENT'} eq '')) || (!($proxysettings{'FAKE_REFERER'} eq '')))
-               {
-                       if (!($proxysettings{'FAKE_USERAGENT'} eq ''))
-                       {
-                               print FILE "header_replace User-Agent $proxysettings{'FAKE_USERAGENT'}\n";
-                       }
-                       if (!($proxysettings{'FAKE_REFERER'} eq ''))
-                       {
-                               print FILE "header_replace Referer $proxysettings{'FAKE_REFERER'}\n";
-                       }
-                       print FILE "\n";
-               }
        }
 
        if ($proxysettings{'SUPPRESS_VERSION'} eq 'on') { print FILE "httpd_suppress_version_string on\n\n" }
index 1825aca118b86e57334e34d8f874496e5e6b7ab5..fa566b5238a25a11e2efdd633133364735cfb1fc 100644 (file)
@@ -104,7 +104,7 @@ $qossettings{'TOS'} = '';
 &General::readhash("${General::swroot}/qos/settings", \%qossettings);
 &Header::getcgihash(\%qossettings);
 
-$qossettings{'RED_DEV'} = `cat /var/ipfire/red/iface`;
+$qossettings{'RED_DEV'} = &General::get_red_interface();
 
 my %color = ();
 my %mainsettings = ();
@@ -232,7 +232,7 @@ END
        open( FILE, "< $level7file" ) or die "Unable to read $level7file";
        @l7rules = <FILE>;
        close FILE;
-  system("rm $level7file");
+       &General::system("rm", "$level7file");
        foreach $l7ruleentry (sort @l7rules)
        {
                @l7ruleline = split( /\;/, $l7ruleentry );
@@ -244,13 +244,13 @@ END
                close FILE;
         }
          }
-       open( FILE, "< $level7file" ) or system("touch $level7file");close FILE;
+       open( FILE, "< $level7file" ) or &General::system("touch", "$level7file");close FILE;
        } elsif ($qossettings{'DOLEVEL7'} eq $Lang::tr{'edit'})
 {
        open( FILE, "< $level7file" ) or die "Unable to read $level7file";
        @l7rules = <FILE>;
        close FILE;
-       system("rm $level7file");
+       &General::system("rm", "$level7file");
        foreach $l7ruleentry (sort @l7rules)
        {
                @l7ruleline = split( /\;/, $l7ruleentry );
@@ -263,7 +263,7 @@ END
       }
     }
   &level7rule;
-  open( FILE, "< $level7file" ) or system("touch $level7file");close FILE;
+  open( FILE, "< $level7file" ) or &General::system("touch", "$level7file");close FILE;
  }
 
 ############################################################################################################################
@@ -323,7 +323,7 @@ END
        open( FILE, "< $portfile" ) or die "Unable to read $portfile";
        @portrules = <FILE>;
        close FILE;
-       system("rm $portfile");
+       &General::system("rm", "$portfile");
        foreach $portruleentry (sort @portrules)
        {
                @portruleline = split( /\;/, $portruleentry );
@@ -336,7 +336,7 @@ END
       }
     }
    &portrule;
-  open( FILE, "< $portfile" ) or system("touch $portfile");close FILE;
+  open( FILE, "< $portfile" ) or &General::system("touch", "$portfile");close FILE;
  }
 
 ############################################################################################################################
@@ -408,25 +408,25 @@ if ($qossettings{'ACTION'} eq $Lang::tr{'start'})
 {
        $qossettings{'ENABLED'} = 'on';
        &General::writehash("${General::swroot}/qos/settings", \%qossettings);
-       system("/usr/local/bin/qosctrl generate >/dev/null 2>&1");
-       system("/usr/local/bin/qosctrl start >/dev/null 2>&1");
-       system("logger -t ipfire 'QoS started'");
+       &General::system("/usr/local/bin/qosctrl", "generate");
+       &General::system("/usr/local/bin/qosctrl", "start");
+       &General::system("logger", "-t", "ipfire", "QoS started");
 }
 elsif ($qossettings{'ACTION'} eq $Lang::tr{'stop'})
 {
        $qossettings{'ENABLED'} = 'off';
        &General::writehash("${General::swroot}/qos/settings", \%qossettings);
-       system("/usr/local/bin/qosctrl stop >/dev/null 2>&1");
-       system("/usr/local/bin/qosctrl generate >/dev/null 2>&1");
-       system("logger -t ipfire 'QoS stopped'");
+       &General::system("/usr/local/bin/qosctrl", "stop");
+       &General::system("/usr/local/bin/qosctrl", "generate");
+       &General::system("logger", "-t", "ipfire", "QoS stopped");
 }
 elsif ($qossettings{'ACTION'} eq $Lang::tr{'restart'})
 {
        if ($qossettings{'ENABLED'} eq 'on'){
-               system("/usr/local/bin/qosctrl stop >/dev/null 2>&1");
-               system("/usr/local/bin/qosctrl generate >/dev/null 2>&1");
-               system("/usr/local/bin/qosctrl start >/dev/null 2>&1");
-               system("logger -t ipfire 'QoS restarted'");
+               &General::system("/usr/local/bin/qosctrl", "stop");
+               &General::system("/usr/local/bin/qosctrl", "generate");
+               &General::system("/usr/local/bin/qosctrl", "start");
+               &General::system("logger", "-t", "ipfire", "QoS restarted");
        }
 }
 elsif ($qossettings{'ACTION'} eq $Lang::tr{'save'})
@@ -530,9 +530,9 @@ END
                $qossettings{'ACK'} ="101";
                $qossettings{'ENABLED'} = 'on';
                &General::writehash("${General::swroot}/qos/settings", \%qossettings);
-               system("/usr/local/bin/qosctrl generate >/dev/null 2>&1");
-               system("/usr/local/bin/qosctrl start >/dev/null 2>&1");
-               system("logger -t ipfire 'QoS started'");
+               &General::system("/usr/local/bin/qosctrl", "generate");
+               &General::system("/usr/local/bin/qosctrl", "start");
+               &General::system("logger", "-t", "ipfire", "QoS started");
        } else {
                $message = $Lang::tr{'qos enter bandwidths'};
        }
@@ -542,8 +542,8 @@ elsif ($qossettings{'ACTION'} eq $Lang::tr{'status'} )
        &Header::openbox('100%', 'left', 'QoS Status');
        if ($qossettings{'ENABLED'} eq 'on'){
                my $output = "";
-               $output = `/usr/local/bin/qosctrl status`;
-               $output = &Header::cleanhtml($output,"y");
+               my @output = &General::system_output("/usr/local/bin/qosctrl", "status");
+               $output = &Header::cleanhtml(@output[0],"y");
                print "<pre>$output</pre>\n";
        } else { print "$Lang::tr{'QoS not enabled'}"; }
        &Header::closebox();
index c76f5129ea862454eeaf41547600475487cdbe2d..2bb85851d2891883d388facd033a90f41403741d 100644 (file)
@@ -65,7 +65,7 @@ if ( (($remotesettings{'ACTION'} eq $Lang::tr{'save'}) || ($remotesettings{'ACTI
                {
                        $errormessage = $Lang::tr{'ssh no auth'};
                }
-               system ('/usr/bin/touch', "${General::swroot}/remote/enablessh");
+               &General::system('/usr/bin/touch', "${General::swroot}/remote/enablessh");
        }
        else
        {
@@ -85,8 +85,8 @@ if ( (($remotesettings{'ACTION'} eq $Lang::tr{'save'}) || ($remotesettings{'ACTI
 if ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart15'} || $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart30'} ){
        if ($remotesettings{'ENABLE_SSH'} eq 'off')
        {
-                       system ('/usr/bin/touch', "${General::swroot}/remote/enablessh");
-                       system('/usr/local/bin/sshctrl');
+                       &General::system('/usr/bin/touch', "${General::swroot}/remote/enablessh");
+                       &General::system('/usr/local/bin/sshctrl');
        }
   if ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart15'} ) { $counter = 900;}
   elsif ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart30'} ) { $counter = 1800;}
@@ -254,7 +254,10 @@ sub viewkey
 
   if ( -e $key )
   {
-    my @temp = split(/ /,`/usr/bin/ssh-keygen -l -f $key`);
+    # Use safe system_output function to call ssh-keygen and get the output from the tool.
+    my @ssh_keygen = &General::system_output("/usr/bin/ssh-keygen", "-l", "-f", "$key");
+
+    my @temp = split(/ /, $ssh_keygen[0]);
     my $keysize = &Header::cleanhtml($temp[0],"y");
     my $fingerprint = &Header::cleanhtml($temp[1],"y");
     print "<tr><td><code>$key</code></td><td align='center'>$name</td><td><code>$fingerprint</code></td><td align='center'>$keysize</td></tr>\n";
@@ -264,8 +267,7 @@ sub viewkey
 sub printactivelogins()
 {
        # print active SSH logins (grep outpout of "who -s")
-       my $command = "who -s";
-       my @output = `$command`;
+       my @output = &General::system_output("who", "-s");
        chomp(@output);
 
        my $id = 0;
index d2d3bdd26b21b7f57a137321bf03fc753d815b5a..e69dc425ab26abbc6d100806c13cfcd262c47f30 100644 (file)
@@ -474,5 +474,5 @@ sub SortDataFile
 # Build the configuration file
 #
 sub BuildConfiguration {
-    system '/usr/local/bin/rebuildroutes';
+    &General::system('/usr/local/bin/rebuildroutes');
 }
index 72e8ac63e57b95ca9f707bbd073e1151625aa8db..9289b45193b47fba79d7145f5d8bae72bd459e09 100644 (file)
@@ -85,14 +85,14 @@ delete $sambasettings{'__CGI__'};delete $sambasettings{'x'};delete $sambasetting
 ############################################################################################################################
 ############################################# Samba Rootskript aufrufe fr SU-Actions #######################################
 
-if ($sambasettings{'ACTION'} eq 'smbuserdisable'){system("/usr/local/bin/sambactrl smbuserdisable $sambasettings{'NAME'}");}
-if ($sambasettings{'ACTION'} eq 'smbuserenable'){system("/usr/local/bin/sambactrl smbuserenable $sambasettings{'NAME'}");}
-if ($sambasettings{'ACTION'} eq 'smbuseradd'){system("/usr/local/bin/sambactrl smbuseradd $sambasettings{'USERNAME'} $sambasettings{'PASSWORD'}");}
-if ($sambasettings{'ACTION'} eq 'smbchangepw'){system("/usr/local/bin/sambactrl smbchangepw $sambasettings{'USERNAME'} $sambasettings{'PASSWORD'}");}
-if ($sambasettings{'ACTION'} eq 'smbrestart'){system("/usr/local/bin/sambactrl smbrestart");}
-if ($sambasettings{'ACTION'} eq 'smbstart'){system("/usr/local/bin/sambactrl smbstart");}
-if ($sambasettings{'ACTION'} eq 'smbstop'){system("/usr/local/bin/sambactrl smbstop");}
-if ($sambasettings{'ACTION'} eq 'smbreload'){system("/usr/local/bin/sambactrl smbreload");}
+if ($sambasettings{'ACTION'} eq 'smbuserdisable'){&General::system("/usr/local/bin/sambactrl", "smbuserdisable", "$sambasettings{'NAME'}");}
+if ($sambasettings{'ACTION'} eq 'smbuserenable'){&General::system("/usr/local/bin/sambactrl", "smbuserenable", "$sambasettings{'NAME'}");}
+if ($sambasettings{'ACTION'} eq 'smbuseradd'){&General::system("/usr/local/bin/sambactrl", "smbuseradd", "$sambasettings{'USERNAME'}", "$sambasettings{'PASSWORD'}");}
+if ($sambasettings{'ACTION'} eq 'smbchangepw'){&General::system("/usr/local/bin/sambactrl", "smbchangepw", "$sambasettings{'USERNAME'}", "$sambasettings{'PASSWORD'}");}
+if ($sambasettings{'ACTION'} eq 'smbrestart'){&General::system("/usr/local/bin/sambactrl", "smbrestart");}
+if ($sambasettings{'ACTION'} eq 'smbstart'){&General::system("/usr/local/bin/sambactrl", "smbstart");}
+if ($sambasettings{'ACTION'} eq 'smbstop'){&General::system("/usr/local/bin/sambactrl", "smbstop");}
+if ($sambasettings{'ACTION'} eq 'smbreload'){&General::system("/usr/local/bin/sambactrl", "smbreload");}
 if ($sambasettings{'ACTION'} eq 'join') {
        $message .= &joindomain($sambasettings{'USERNAME'}, $sambasettings{'PASSWORD'});
 }
@@ -124,7 +124,7 @@ if ($sambasettings{'ACTION'} eq 'smbsharechange') {
 ############################################################################################################################
 ########################################### Samba Benutzer oder PC l�chen #################################################
 
-if ($sambasettings{'ACTION'} eq 'userdelete'){system("/usr/local/bin/sambactrl smbuserdelete $sambasettings{'NAME'}");}
+if ($sambasettings{'ACTION'} eq 'userdelete'){&General::system("/usr/local/bin/sambactrl", "smbuserdelete", "$sambasettings{'NAME'}");}
 
 ############################################################################################################################
 ##################################### Umsetzen der Werte von Checkboxen und Dropdowns ######################################
@@ -138,7 +138,7 @@ if ($sambasettings{'ACTION'} eq $Lang::tr{'save'}) {
        # Write configuration to file
        &writeconfiguration();
 
-       system("/usr/local/bin/sambactrl smbreload");
+       &General::system("/usr/local/bin/sambactrl", "smbreload");
 }
 
 &General::readhash("${General::swroot}/samba/settings", \%sambasettings);
@@ -334,11 +334,11 @@ if ($sambasettings{'ROLE'} eq 'standalone') {
                        </tr>
 END
 
-       system('/usr/local/bin/sambactrl readsmbpasswd');
+       &General::system("/usr/local/bin/sambactrl", "readsmbpasswd");
        open(FILE, "<${General::swroot}/samba/private/smbpasswd") or die "Can't read user file: $!";
        my @users = <FILE>;
        close(FILE);
-       system('/usr/local/bin/sambactrl locksmbpasswd');
+       &General::system("/usr/local/bin/sambactrl", "locksmbpasswd");
 
        my $lines = 0;
        foreach $userentry (sort @users) {
@@ -734,8 +734,8 @@ if ( $smb eq 'shares')
 
 close FILE;
 
-system("/usr/local/bin/sambactrl smbsafeconf");
-system("/usr/local/bin/sambactrl smbreload");
+&General::system("/usr/local/bin/sambactrl", "smbsafeconf");
+&General::system("/usr/local/bin/sambactrl", "smbreload");
 }
 
 sub isrunning
@@ -844,7 +844,7 @@ printable = yes
 END
 close FILE;
 
-       system("/usr/local/bin/sambactrl smbsafeconf");
+       &General::system("/usr/local/bin/sambactrl", "smbsafeconf");
 }
 
 sub joindomain {
index 38b89ef1e632afdba4a72c0d276358a94d82048d..2374757350d674cf1b5babd421532ad53607bc44 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2005-2010  IPFire Team                                        #
+# Copyright (C) 2005-2021  IPFire Team                                        #
 #                                                                             #
 # 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        #
@@ -141,7 +141,7 @@ END
        my $paramstr=$ENV{QUERY_STRING};
        my @param=split(/!/, $paramstr);
        if ($param[1] ne ''){
-               system("/usr/local/bin/addonctrl @param[0] @param[1] > /dev/null 2>&1");
+               &General::system("/usr/local/bin/addonctrl", "$param[0]", "$param[1]");
        }
 
        print <<END
@@ -163,6 +163,8 @@ END
        # Generate list of installed addon pak's
        opendir (DIR, "/opt/pakfire/db/installed") || die "Cannot opendir /opt/pakfire/db/installed/: $!";
        my @pak = sort readdir DIR;
+       closedir(DIR);
+
        foreach (@pak){
                chomp($_);
                next unless (m/^meta-/);
@@ -187,6 +189,7 @@ END
                                        print "<tr>";
                                        $col="bgcolor='$color{'color20'}'";
                                }
+
                                print "<td align='left' $col width='31%'>$_</td> ";
                                my $status = isautorun($_,$col);
                                print "$status ";
@@ -217,27 +220,54 @@ END
        &Header::closepage();
 }
 
-sub isautorun{
-       my $cmd = $_[0];
-       my $col = $_[1];
+sub isautorun (@) {
+       my ($cmd, $col) = @_;
+
+       # Init directory.
+       my $initdir = "/etc/rc.d/rc3.d/";
+
        my $status = "<td align='center' $col></td>";
-       my $init = `find /etc/rc.d/rc3.d/S??${cmd} 2>/dev/null`;
-       chomp ($init);
-       if ($init ne ''){
+
+       # Check if autorun for the given cmd is enabled.
+       if ( &find_init("$cmd", "$initdir") ) {
+               # Adjust status.
                $status = "<td align='center' $col><a href='services.cgi?$_!disable'><img alt='$Lang::tr{'deactivate'}' title='$Lang::tr{'deactivate'}' src='/images/on.gif' border='0' width='16' height='16' /></a></td>";
-       }
-       $init = `find /etc/rc.d/rc3.d/off/S??${cmd} 2>/dev/null`;
-       chomp ($init);
-       if ($init ne ''){
+       } else {
+               # Adjust status.
                $status = "<td align='center' $col><a href='services.cgi?$_!enable'><img alt='$Lang::tr{'activate'}' title='$Lang::tr{'activate'}' src='/images/off.gif' border='0' width='16' height='16' /></a></td>";
        }
 
+       # Return the status.
        return $status;
 }
 
-sub isrunning{
-       my $cmd = $_[0];
-       my $col = $_[1];
+sub find_init (@) {
+       my ($cmd, $dir) = @_;
+
+       # Open given init directory.
+       opendir (INITDIR, "$dir") || die "Cannot opendir $dir: $!";
+
+       # Read-in init files from directory.
+       my @inits = readdir(INITDIR);
+
+       # Close directory handle.
+       closedir(INITDIR);
+
+       # Loop through the directory.
+       foreach my $init (@inits) {
+               # Check if the current processed file belongs to the given command.
+               if ($init =~ /S\d+\d+$cmd\z/) {
+                       # Found, return "1" - True.
+                       return "1";
+               }
+        }
+
+       # Nothing found, return nothing.
+       return;
+}
+
+sub isrunning (@) {
+       my ($cmd, $col) = @_;
        my $status = "<td align='center' bgcolor='${Header::colourred}'><font color='white'><b>$Lang::tr{'stopped'}</b></font></td><td colspan='2' $col></td>";
        my $pid = '';
        my $testcmd = '';
@@ -288,16 +318,17 @@ sub isrunning{
        return $status;
 }
 
-sub isrunningaddon{
-       my $cmd = $_[0];
-       my $col = $_[1];
+sub isrunningaddon (@) {
+       my ($cmd, $col) = @_;
+
        my $status = "<td align='center' bgcolor='${Header::colourred}'><font color='white'><b>$Lang::tr{'stopped'}</b></font></td><td colspan='2' $col></td>";
        my $pid = '';
        my $testcmd = '';
        my $exename;
        my @memory;
 
-       my $testcmd = `/usr/local/bin/addonctrl $_ status 2>/dev/null`;
+       my @testcmd = &General::system_output("/usr/local/bin/addonctrl", "$cmd", "status");
+       my $testcmd = @testcmd[0];
 
        if ( $testcmd =~ /is\ running/ && $testcmd !~ /is\ not\ running/){
                $status = "<td align='center' bgcolor='${Header::colourgreen}'><font color='white'><b>$Lang::tr{'running'}</b></font></td>";
index 998f9f8f48e1621abaf2b91ed649db03cedbac18..e0a2c9da0db7c7439edbafcd17720201a0cf4681 100644 (file)
@@ -29,11 +29,11 @@ $cgiparams{'ACTION'} = '';
 if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'}) {
        $death = 1;
        &General::log($Lang::tr{'shutting down ipfire'});
-       system '/usr/local/bin/ipfirereboot down';
+       &General::system('/usr/local/bin/ipfirereboot', 'down');
 } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) {
        $rebirth = 1;
        &General::log($Lang::tr{'rebooting ipfire'});
-       system '/usr/local/bin/ipfirereboot boot';
+       &General::system('/usr/local/bin/ipfirereboot', 'boot');
 }
 if ($death == 0 && $rebirth == 0) {
 
index 4468abd900804ba60d0388124cb877b6b07a3025..b550fda521b2619ba9865c54ef8fbd3ee47bfe52 100644 (file)
@@ -19,6 +19,8 @@
 #                                                                             #
 ###############################################################################
 
+require '/var/ipfire/general-functions.pl';
+
 my $data_last = $ENV{'QUERY_STRING'};
 my $rxb_last = 0;
 my $txb_last = 0;
@@ -36,8 +38,8 @@ foreach $field (@fields) {
        }
 }
 
-my $interface = `cat /var/ipfire/red/iface 2>/dev/null`;
-my @data_now = `ip -s link show $interface 2>/dev/null`;
+my $interface = &General::get_red_interface();
+my @data_now = &General::system_output("ip", "-s", "link", "show", "$interface");
 
 my $lastline;
 my $rxb_now = 0;
index 8363b995123864129322b302844fd7e3beab6f51..6bf3dcc8431cb20248b711a90b9bea532951ef7a 100644 (file)
@@ -20,6 +20,7 @@
 ###############################################################################
 
 use strict;
+use POSIX qw(strftime);
 
 # enable only the following on debugging purpose
 #use warnings;
@@ -125,8 +126,8 @@ ERROR:
 
        if ($timesettings{'ENABLENTP'} eq 'on' && $timesettings{'VALID'} eq 'yes')
        {
-               system ('/usr/bin/touch', "${General::swroot}/time/enable");
-               system ('/usr/local/bin/timectrl enable >/dev/null 2>&1');
+               &General::system('/usr/bin/touch', "${General::swroot}/time/enable");
+               &General::system('/usr/local/bin/timectrl', 'enable');
                &General::log($Lang::tr{'ntp syncro enabled'});
                unlink "/var/lock/time/counter";
                if ($timesettings{'UPDATE_METHOD'} eq 'periodically')
@@ -138,7 +139,7 @@ ERROR:
                }
                if ($timesettings{'ENABLECLNTP'} eq 'on') # DPC added to 1.3.1
                {
-                       system ('/usr/bin/touch', "${General::swroot}/time/allowclients"); # DPC added to 1.3.1
+                       &General::system('/usr/bin/touch', "${General::swroot}/time/allowclients"); # DPC added to 1.3.1
                        &General::log($Lang::tr{'ntpd restarted'}); # DPC added to 1.3.1
                } else {
                        unlink "${General::swroot}/time/allowclients";
@@ -150,11 +151,11 @@ ERROR:
                unlink "${General::swroot}/time/enable";
                unlink "/var/lock/time/settimenow";
                unlink "${General::swroot}/time/allowclients"; # DPC added to 1.3.1
-               system ('/usr/local/bin/timectrl disable >/dev/null 2>&1');
+               &General::system('/usr/local/bin/timectrl', 'disable');
                &General::log($Lang::tr{'ntp syncro disabled'})
        }
        if (! $errormessage) {
-               system ('/usr/local/bin/timectrl restart >/dev/null 2>&1'); # DPC added to 1.3.1
+               &General::system('/usr/local/bin/timectrl', 'restart'); # DPC added to 1.3.1
        }
 }
 
@@ -163,7 +164,7 @@ ERROR:
 $timesettings{'ACTION'} = &Header::cleanhtml ($timesettings{'ACTION'});
 if ($timesettings{'ACTION'} eq $Lang::tr{'set time now'} && $timesettings{'ENABLENTP'} eq 'on')
 {
-       system ('/usr/bin/touch', "/var/lock/time/settimenow");
+       &General::system('/usr/bin/touch', "/var/lock/time/settimenow");
 }
 
 &General::readhash("${General::swroot}/time/settings", \%timesettings);
@@ -180,11 +181,18 @@ if ($timesettings{'VALID'} eq '')
 }
 
 unless ($errormessage) {
-       $timesettings{'SETMONTH'} = `date +'%m %e %Y %H %M'|cut -c 1-2`;
-       $timesettings{'SETDAY'} = `date +'%m %e %Y %H %M'|cut -c 4-5`;
-       $timesettings{'SETYEAR'} = `date +'%m %e %Y %H %M'|cut -c 7-10`;
-       $timesettings{'SETHOUR'} = `date +'%m %e %Y %H %M'|cut -c 12-13`;
-       $timesettings{'SETMINUTES'} = `date +'%m %e %Y %H %M'|cut -c 15-16`;
+       # Get date and time.
+       my $date = strftime("%m %e %Y %H %M", localtime);
+
+       # Split date string into single values.
+       my ($month, $day, $year, $hour, $minute) = split(/ /, $date);
+
+       # Assign values to the hash.
+       $timesettings{'SETMONTH'} = $month;
+       $timesettings{'SETDAY'} = $day;
+       $timesettings{'SETYEAR'} = $year;
+       $timesettings{'SETHOUR'} = $hour;
+       $timesettings{'SETMINUTES'} = $minute;
        $_=$timesettings{'SETDAY'};
        $timesettings{'SETDAY'}=~ tr/ /0/;
 }
index f39c0d8da0677110f2de3ab974e63974d911051a..3349336aea003c2fd4d9603a11fe390d6c95a0fb 100644 (file)
@@ -873,9 +873,9 @@ sub BuildConfiguration() {
 
        # Restart the service.
        if (($settings{'TOR_ENABLED'} eq 'on') || ($settings{'TOR_RELAY_ENABLED'} eq 'on')) {
-               system("/usr/local/bin/torctrl restart &>/dev/null");
+               &General::system("/usr/local/bin/torctrl", "restart");
        } else {
-               system("/usr/local/bin/torctrl stop &>/dev/null");
+               &General::system("/usr/local/bin/torctrl", "stop");
        }
        # Update pid and memory
        daemonstats();
index cafccf73fa39acd95912e25041fd0cc751391faa..2f28537d0616c5757c724a4cb1fb49f302130298 100644 (file)
@@ -86,20 +86,24 @@ sub display_vnstat
        if ( $testdata =~ 'enough') {
                print"No data for $device !<br>";
        } else {
-           system("/usr/bin/vnstati -c 1 -s -i $device -o /srv/web/ipfire/html/graphs/vnstat-s-$device.png");
+           # Summary
+           &General::system("/usr/bin/vnstati", "-c", "1", "-s", "-i", "$device", "-o", "/srv/web/ipfire/html/graphs/vnstat-s-$device.png");
+           # 5-minute graphs
+           &General::system("/usr/bin/vnstati", "-c", "1", "-5", "-i", "$device", "-o", "/srv/web/ipfire/html/graphs/vnstat-5-$device.png");
            # Hour graph
-           system("/usr/bin/vnstati -c 1 -h -i $device -o /srv/web/ipfire/html/graphs/vnstat-h-$device.png");
+           &General::system("/usr/bin/vnstati", "-c", "1", "-h", "-i", "$device", "-o", "/srv/web/ipfire/html/graphs/vnstat-h-$device.png");
            # Day graph
-           system("/usr/bin/vnstati -c 1 -d -i $device -o /srv/web/ipfire/html/graphs/vnstat-d-$device.png");
+           &General::system("/usr/bin/vnstati", "-c", "1", "-d", "-i", "$device", "-o", "/srv/web/ipfire/html/graphs/vnstat-d-$device.png");
            # Month graph
-           system("/usr/bin/vnstati -c 1 -m -i $device -o /srv/web/ipfire/html/graphs/vnstat-m-$device.png");
+           &General::system("/usr/bin/vnstati", "-c", "1", "-m", "-i", "$device", "-o", "/srv/web/ipfire/html/graphs/vnstat-m-$device.png");
            # Top10 graph
-           system("/usr/bin/vnstati -c 1 -t -i $device -o /srv/web/ipfire/html/graphs/vnstat-t-$device.png");
+           &General::system("/usr/bin/vnstati", "-c", "1", "-t", "-i", "$device", "-o", "/srv/web/ipfire/html/graphs/vnstat-t-$device.png");
 
 # Generate HTML-Table with the graphs
 print <<END
 <table>
 <tr><td><img src="/graphs/vnstat-s-$device.png"></td></tr>
+<tr><td><img src="/graphs/vnstat-5-$device.png"></td></tr>
 <tr><td><img src="/graphs/vnstat-h-$device.png"></td></tr>
 <tr><td><img src="/graphs/vnstat-d-$device.png"></td></tr>
 <tr><td><img src="/graphs/vnstat-m-$device.png"></td></tr>
index ec7b7522841344e4f688409ea02460418ae0d6d6..9cfe08f4e9260975549955caf9a858f87f7e7ca9 100644 (file)
@@ -192,33 +192,33 @@ if ($xlratorsettings{'ACTION'} eq $Lang::tr{'updxlrtr purge'})
 
                        if (($xlratorsettings{'REMOVE_NOSOURCE'} eq 'on') && ($status == $sfNoSource))
                        {
-                               if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+                               if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
                        }
                        if (($xlratorsettings{'REMOVE_OUTDATED'} eq 'on') && ($status == $sfOutdated))
                        {
-                               if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+                               if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
                        }
                        if ($xlratorsettings{'REMOVE_OBSOLETE'} eq 'on')
                        {
                                if (($xlratorsettings{'NOT_ACCESSED_LAST'} eq 'week') && ($lastaccess < (time - 604800)))
                                {
-                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
                                }
                                if (($xlratorsettings{'NOT_ACCESSED_LAST'} eq 'month1') && ($lastaccess < (time - 2505600)))
                                {
-                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
                                }
                                if (($xlratorsettings{'NOT_ACCESSED_LAST'} eq 'month3') && ($lastaccess < (time - 7516800)))
                                {
-                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
                                }
                                if (($xlratorsettings{'NOT_ACCESSED_LAST'} eq 'month6') && ($lastaccess < (time - 15033600)))
                                {
-                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
                                }
                                if (($xlratorsettings{'NOT_ACCESSED_LAST'} eq 'year') && ($lastaccess < (time - 31536000)))
                                {
-                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+                                       if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
                                }
                        }
                }
@@ -266,7 +266,7 @@ if ($xlratorsettings{'ACTION'} eq $Lang::tr{'updxlrtr save and restart'})
 
        &savesettings;
 
-       system('/usr/local/bin/squidctrl restart >/dev/null 2>&1');
+       &General::system('/usr/local/bin/squidctrl', 'restart');
 }
 
 if ($xlratorsettings{'ACTION'} eq $Lang::tr{'updxlrtr remove file'})
@@ -278,7 +278,7 @@ if ($xlratorsettings{'ACTION'} eq $Lang::tr{'updxlrtr remove file'})
        unless ($updatefile =~ /^download\//)
        {
                ($vendorid,$uuid,$updatefile) = split('/',$updatefile);
-               if (-e "$repository/$vendorid/$uuid/$updatefile") { system("rm -r $repository/$vendorid/$uuid"); }
+               if (-e "$repository/$vendorid/$uuid/$updatefile") { &General::system("rm", "-r", "$repository/$vendorid/$uuid"); }
        }
 }
 
@@ -295,16 +295,16 @@ if (($xlratorsettings{'ACTION'} eq $Lang::tr{'updxlrtr cancel download'}) || ($x
                        &General::readhash("$repository/download/$vendorid/$updatefile.info", \%dlinfo);
 
                        $id = &getPID("\\s${General::swroot}/updatexlrator/bin/download\\s.*\\s".quotemeta($dlinfo{'SRCURL'})."\\s\\d\\s\\d\$");
-                       if ($id) { system("/bin/kill -9 $id"); }
+                       if ($id) { &General::system("/bin/kill", "-9", "$id"); }
                        $id = &getPID("\\s/usr/bin/wget\\s.*\\s".quotemeta($dlinfo{'SRCURL'})."\$");
-                       if ($id) { system("/bin/kill -9 $id"); }
+                       if ($id) { &General::system("/bin/kill", "-9", "$id"); }
 
-                       system("rm $repository/download/$vendorid/$updatefile.info");
+                       &General::system("rm", "$repository/download/$vendorid/$updatefile.info");
                }
 
                if (-e "$repository/download/$vendorid/$updatefile")
                {
-                       system("rm $repository/download/$vendorid/$updatefile");
+                       &General::system("rm", "$repository/download/$vendorid/$updatefile");
                }
        }
 
@@ -1478,15 +1478,15 @@ sub savesettings
 
        if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'daily'))
        {
-               system('/usr/local/bin/updxlratorctrl cron daily >/dev/null 2>&1');
+               &General::system('/usr/local/bin/updxlratorctrl', 'cron', 'daily');
        }
        if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'weekly'))
        {
-               system('/usr/local/bin/updxlratorctrl cron weekly >/dev/null 2>&1');
+               &General::system('/usr/local/bin/updxlratorctrl', 'cron', 'weekly');
        }
        if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'monthly'))
        {
-               system('/usr/local/bin/updxlratorctrl cron monthly >/dev/null 2>&1');
+               &General::system('/usr/local/bin/updxlratorctrl', 'cron', 'monthly');
        }
 
        # don't save those variable to the settings file,
index 28ffc8114ffee62faafe6c75fcb40fc45a4eea7e..3a28721a92248cdd42d9b2ce78b1ec12dca7fde6 100644 (file)
@@ -95,9 +95,9 @@ my $ldesc='';
 my $gdesc='';
 
 if (! -d $dbdir) { mkdir("$dbdir"); }
-if (! -e $tcfile) { system("touch $tcfile"); }
-if (! -e $uqfile) { system("touch $uqfile"); }
-if (! -e $sourceurlfile) { system("touch $sourceurlfile"); }
+if (! -e $tcfile) { &General::system("touch", "$tcfile"); }
+if (! -e $uqfile) { &General::system("touch", "$uqfile"); }
+if (! -e $sourceurlfile) { &General::system("touch", "$sourceurlfile"); }
 
 &General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
 &General::readhash("${General::swroot}/main/settings", \%mainsettings);
@@ -226,7 +226,7 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
 
                if (!(-d "${General::swroot}/urlfilter/update")) { mkdir("${General::swroot}/urlfilter/update"); }
 
-               my $exitcode = system("/bin/tar --no-same-owner -xzf ${General::swroot}/urlfilter/blacklists.tar.gz -C ${General::swroot}/urlfilter/update");
+               my $exitcode = &General::system("/bin/tar", "--no-same-owner", "-xzf", "${General::swroot}/urlfilter/blacklists.tar.gz", "-C", "${General::swroot}/urlfilter/update");
 
                if ($exitcode > 0)
                {
@@ -235,18 +235,19 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
 
                        if (-d "${General::swroot}/urlfilter/update/BL")
                        {
-                               system("mv ${General::swroot}/urlfilter/update/BL ${General::swroot}/urlfilter/update/blacklists");
+                               &General::system("mv", "${General::swroot}/urlfilter/update/BL", "${General::swroot}/urlfilter/update/blacklists");
                        }
 
                        if (-d "${General::swroot}/urlfilter/update/category")
                        {
-                               system("mv ${General::swroot}/urlfilter/update/category ${General::swroot}/urlfilter/update/blacklists");
+                               &General::system("mv", "${General::swroot}/urlfilter/update/category", "${General::swroot}/urlfilter/update/blacklists");
                        }
 
                        if (!(-d "${General::swroot}/urlfilter/update/blacklists"))
                        {
                                $errormessage = $Lang::tr{'urlfilter invalid content'};
                        } else {
+                               # XXX Uses globbing
                                system("cp -r ${General::swroot}/urlfilter/update/blacklists/* $dbdir");
 
                                &readblockcategories;
@@ -255,11 +256,11 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
                                &writeconfigfile;
 
                                $updatemessage = $Lang::tr{'urlfilter upload success'};
-                               system("${General::swroot}/urlfilter/bin/prebuild.pl &");
-                               system("logger -t installpackage[urlfilter] \"URL filter blacklist - Blacklist update from local source completed\"");
+                               &General::system_background("${General::swroot}/urlfilter/bin/prebuild.pl");
+                               &General::system("logger", "-t", "installpackage[urlfilter]", "URL filter blacklist - Blacklist update from local source completed");
                        }
                }
-               if (-d "${General::swroot}/urlfilter/update") { system("rm -rf ${General::swroot}/urlfilter/update"); }
+               if (-d "${General::swroot}/urlfilter/update") { &General::system("rm", "-rf", "${General::swroot}/urlfilter/update"); }
                if (-e "${General::swroot}/urlfilter/blacklists.tar.gz") { unlink("${General::swroot}/urlfilter/blacklists.tar.gz"); }
                if ($errormessage) { goto ERROR; }
        }
@@ -267,7 +268,7 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
        if ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter backup'})
        {
                $blistbackup = ($filtersettings{'ENABLE_FULLBACKUP'} eq 'on') ? "blacklists" : "blacklists/custom";
-               if (system("/bin/tar -C ${General::swroot}/urlfilter -czf ${General::swroot}/urlfilter/backup.tar.gz settings timeconst userquota autoupdate $blistbackup"))
+               if (&General::system("/bin/tar", "-C", "${General::swroot}/urlfilter", "-czf", "${General::swroot}/urlfilter/backup.tar.gz", "settings", "timeconst", "userquota", "autoupdate", "$blistbackup"))
                {
                        $errormessage = $Lang::tr{'urlfilter backup error'};
                        goto ERROR;
@@ -306,7 +307,7 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
                        $errormessage = $!;
                }
 
-               my $exitcode = system("/bin/tar --no-same-owner --preserve-permissions -xzf ${General::swroot}/urlfilter/backup.tar.gz -C ${General::swroot}/urlfilter/restore");
+               my $exitcode = &General::system("/bin/tar", "--no-same-owner", "--preserve-permissions", "-xzf", "${General::swroot}/urlfilter/backup.tar.gz", "-C", "${General::swroot}/urlfilter/restore");
                if ($exitcode > 0)
                {
                        $errormessage = $Lang::tr{'urlfilter tar error'};
@@ -315,6 +316,7 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
                        {
                                $errormessage = $Lang::tr{'urlfilter invalid restore file'};
                        } else {
+                               # XXX uses globbing
                                system("cp -rp ${General::swroot}/urlfilter/restore/* ${General::swroot}/urlfilter/");
                                &readblockcategories;
                                &readcustomlists;
@@ -325,7 +327,7 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
                }
 
                if (-e "${General::swroot}/urlfilter/backup.tar.gz") { unlink("${General::swroot}/urlfilter/backup.tar.gz"); }
-               if (-d "${General::swroot}/urlfilter/restore") { system("rm -rf ${General::swroot}/urlfilter/restore"); }
+               if (-d "${General::swroot}/urlfilter/restore") { &General::system("rm", "-rf", "${General::swroot}/urlfilter/restore"); }
                if ($errormessage) { goto ERROR; }
        }
 
@@ -351,7 +353,7 @@ if (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) ||
                $filtersettings{'VALID'} = 'yes';
                &savesettings;
 
-               system('/usr/local/bin/squidctrl restart >/dev/null 2>&1');
+               &General::system('/usr/local/bin/squidctrl', 'restart');
        }
 }
 
@@ -485,7 +487,7 @@ if (($tcsettings{'MODE'} eq 'TIMECONSTRAINT') && ($tcsettings{'ACTION'} eq $Lang
                $errormessage = $Lang::tr{'urlfilter web proxy service required'};
        }
 
-       if (!$errormessage) { system('/usr/local/bin/squidctrl restart >/dev/null 2>&1'); }
+       if (!$errormessage) { &General::system('/usr/local/bin/squidctrl', 'restart'); }
        $tcsettings{'TCMODE'}='on';
 }
 
@@ -688,7 +690,7 @@ if (($uqsettings{'MODE'} eq 'USERQUOTA') && ($uqsettings{'ACTION'} eq $Lang::tr{
                $errormessage = $Lang::tr{'urlfilter web proxy service required'};
        }
 
-       if (!$errormessage) { system('/usr/local/bin/squidctrl restart >/dev/null 2>&1'); }
+       if (!$errormessage) { &General::system('/usr/local/bin/squidctrl', 'restart'); }
        $uqsettings{'UQMODE'}='on';
 }
 
@@ -772,7 +774,7 @@ if (($besettings{'ACTION'} eq $Lang::tr{'urlfilter import blacklist'}) && ($bese
                        $errormessage = $!;
                } else {
 
-                       my $exitcode = system("/bin/tar --no-same-owner --preserve-permissions -xzf $editdir/blacklist.tar.gz -C $editdir");
+                       my $exitcode = &General::system("/bin/tar", "--no-same-owner", "--preserve-permissions", "-xzf", "$editdir/blacklist.tar.gz", "-C", "$editdir");
                        if ($exitcode > 0)
                        {
                                $errormessage = $Lang::tr{'urlfilter tar error'};
@@ -819,7 +821,7 @@ if (($besettings{'ACTION'} eq $Lang::tr{'urlfilter import blacklist'}) && ($bese
                                }
                        }
 
-               if (-d $editdir) { system("rm -rf $editdir"); }
+               if (-d $editdir) { &General::system("rm", "-rf", "$editdir"); }
 
                }
        }
@@ -853,7 +855,7 @@ if (($besettings{'ACTION'} eq $Lang::tr{'urlfilter export blacklist'}) && ($bese
                print FILE "$besettings{'BE_EXPRESSIONS'}\n";
                close FILE;
 
-               if (system("/bin/tar -C $editdir -czf $editdir/$besettings{'BE_NAME'}.tar.gz blacklists"))
+               if (&General::system("/bin/tar", "-C", "$editdir", "-czf", "$editdir/$besettings{'BE_NAME'}.tar.gz", "blacklists"))
                {
                        $errormessage = $Lang::tr{'urlfilter export error'};
                }
@@ -869,7 +871,7 @@ if (($besettings{'ACTION'} eq $Lang::tr{'urlfilter export blacklist'}) && ($bese
                        while (<FILE>) { print; }
                        close (FILE);
 
-                       if (-d $editdir) { system("rm -rf $editdir"); }
+                       if (-d $editdir) { &General::system("rm", "-rf", "$editdir"); }
                        exit;
                }
        } else {
@@ -933,8 +935,10 @@ if (($besettings{'ACTION'} eq $Lang::tr{'urlfilter install blacklist'}) && ($bes
                print FILE "}\n";
                close FILE;
 
+               # XXX uses globbing
                system("rm -f $dbdir/$besettings{'BE_NAME'}/*.db");
-               system("/usr/bin/squidGuard -c $editdir/install.conf -C all");
+               &General::system("/usr/bin/squidGuard", "-c", "$editdir/install.conf", "-C", "all");
+               # XXX uses globbing
                system("chmod a+w $dbdir/$besettings{'BE_NAME'}/*.db");
 
                &readblockcategories;
@@ -942,9 +946,9 @@ if (($besettings{'ACTION'} eq $Lang::tr{'urlfilter install blacklist'}) && ($bes
 
                &writeconfigfile;
 
-               system('/usr/local/bin/squidctrl restart >/dev/null 2>&1') unless ($besettings{'NORESTART'} eq 'on');
+               &General::system('/usr/local/bin/squidctrl', 'restart') unless ($besettings{'NORESTART'} eq 'on');
 
-               if (-d $editdir) { system("rm -rf $editdir"); }
+               if (-d $editdir) { &General::system("rm", "-rf", "$editdir"); }
        } else {
                $errormessage = $Lang::tr{'urlfilter category data error'};
        }
@@ -966,17 +970,17 @@ if ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter save schedule'})
 
                if (($filtersettings{'ENABLE_AUTOUPDATE'} eq 'on') && ($filtersettings{'UPDATE_SCHEDULE'} eq 'daily'))
                {
-                       system('/usr/local/bin/urlfilterctrl cron daily >/dev/null 2>&1');
+                       &General::system('/usr/local/bin/urlfilterctrl', 'cron', 'daily');
                }
 
                if (($filtersettings{'ENABLE_AUTOUPDATE'} eq 'on') && ($filtersettings{'UPDATE_SCHEDULE'} eq 'weekly'))
                {
-                       system('/usr/local/bin/urlfilterctrl cron weekly >/dev/null 2>&1');
+                       &General::system('/usr/local/bin/urlfilterctrl', 'cron', 'weekly');
                }
 
                if (($filtersettings{'ENABLE_AUTOUPDATE'} eq 'on') && ($filtersettings{'UPDATE_SCHEDULE'} eq 'monthly'))
                {
-                       system('/usr/local/bin/urlfilterctrl cron monthly >/dev/null 2>&1');
+                       &General::system('/usr/local/bin/urlfilterctrl', 'cron', 'monthly');
                }
        }
 }
@@ -989,10 +993,10 @@ if ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter update now'})
                {
                        $errormessage = $Lang::tr{'urlfilter custom url required'};
                } else {
-                       system("${General::swroot}/urlfilter/bin/autoupdate.pl $filtersettings{'CUSTOM_UPDATE_URL'} &");
+                       &General::system_background("${General::swroot}/urlfilter/bin/autoupdate.pl", "$filtersettings{'CUSTOM_UPDATE_URL'}");
                }
        } else {
-               system("${General::swroot}/urlfilter/bin/autoupdate.pl $filtersettings{'UPDATE_SOURCE'} &");
+               &General::system_background("${General::swroot}/urlfilter/bin/autoupdate.pl", "$filtersettings{'UPDATE_SOURCE'}");
        }
 }
 
@@ -2533,11 +2537,11 @@ sub savesettings
        delete $filtersettings{'BACKGROUND'};
        delete $filtersettings{'UPDATEFILE'};
 
-       system("chown -R nobody.nobody $dbdir");
-       system('/usr/bin/squidGuard -C custom/allowed/domains >/dev/null 2>&1');
-       system('/usr/bin/squidGuard -C custom/allowed/urls >/dev/null 2>&1');
-       system('/usr/bin/squidGuard -C custom/blocked/domains >/dev/null 2>&1');
-       system('/usr/bin/squidGuard -C custom/blocked/urls >/dev/null 2>&1 ');
+       &General::system("chown", "-R", "nobody.nobody", "$dbdir");
+       &General::system('/usr/bin/squidGuard', '-C', 'custom/allowed/domains');
+       &General::system('/usr/bin/squidGuard', '-C', 'custom/allowed/urls');
+       &General::system('/usr/bin/squidGuard', '-C', 'custom/blocked/domains');
+       &General::system('/usr/bin/squidGuard', '-C', 'custom/blocked/urls');
        &setpermissions ($dbdir);
 
        &General::writehash("${General::swroot}/urlfilter/settings", \%filtersettings);
@@ -2694,12 +2698,13 @@ sub setpermissions
        foreach $category (<$bldir/*>)
        {
                 if (-d $category){
-                       system("chmod 755 $category &> /dev/null");
+                       &General::system("chmod", "755", "$category");
                        foreach $blacklist (<$category/*>)
                        {
-                               if (-f $blacklist) { system("chmod 644 $blacklist &> /dev/null"); }
-                               if (-d $blacklist) { system("chmod 755 $blacklist &> /dev/null"); }
+                               if (-f $blacklist) { &General::system("chmod", "644", "$blacklist"); }
+                               if (-d $blacklist) { &General::system("chmod", "755", "$blacklist"); }
                        }
+                       # XXX uses globbing
                        system("chmod 666 $category/*.db &> /dev/null");
                        &setpermissions ($category);
                }
index f200f1002d20b12db6c2f9aa71ae17c3df9014f2..79a2943d4dc732d543ac9429b4a103df2096a869 100644 (file)
 #                                                                             #
 ###############################################################################
 
+use Data::UUID;
+use MIME::Base64;
 use Net::DNS;
 use File::Copy;
 use File::Temp qw/ tempfile tempdir /;
 use strict;
 use Sort::Naturally;
+use Sys::Hostname;
 # enable only the following on debugging purpose
 #use warnings;
 #use CGI::Carp 'fatalsToBrowser';
@@ -110,6 +113,7 @@ $cgiparams{'ROOTCERT_EMAIL'} = '';
 $cgiparams{'ROOTCERT_OU'} = '';
 $cgiparams{'ROOTCERT_CITY'} = '';
 $cgiparams{'ROOTCERT_STATE'} = '';
+$cgiparams{'RW_ENDPOINT'} = '';
 $cgiparams{'RW_NET'} = '';
 $cgiparams{'DPD_DELAY'} = '30';
 $cgiparams{'DPD_TIMEOUT'} = '120';
@@ -120,8 +124,38 @@ $cgiparams{'MODE'} = "tunnel";
 $cgiparams{'INTERFACE_MODE'} = "";
 $cgiparams{'INTERFACE_ADDRESS'} = "";
 $cgiparams{'INTERFACE_MTU'} = 1500;
+$cgiparams{'DNS_SERVERS'} = "";
 &Header::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'});
 
+my %APPLE_CIPHERS = (
+       "aes256gcm128" => "AES-256-GCM",
+       "aes128gcm128" => "AES-128-GCM",
+       "aes256"       => "AES-256",
+       "aes128"       => "AES-128",
+       "3des"         => "3DES",
+);
+
+my %APPLE_INTEGRITIES = (
+       "sha2_512" => "SHA2-512",
+       "sha2_384" => "SHA2-384",
+       "sha2_256" => "SHA2-256",
+       "sha1"     => "SHA1-160",
+);
+
+my %APPLE_DH_GROUPS = (
+       "768" => 1,
+       "1024" => 2,
+       "1536" => 5,
+       "2048" => 14,
+       "3072" => 15,
+       "4096" => 16,
+       "6144" => 17,
+       "8192" => 18,
+       "e256" => 19,
+       "e384" => 20,
+       "e521" => 21,
+);
+
 ###
 ### Useful functions
 ###
@@ -174,10 +208,12 @@ sub newcleanssldatabase {
                close FILE;
        }
        if (! -s ">${General::swroot}/certs/index.txt") {
-               system ("touch ${General::swroot}/certs/index.txt");
+               open(FILE, ">${General::swroot}/certs/index.txt");
+               close(FILE);
        }
        if (! -s ">${General::swroot}/certs/index.txt.attr") {
-               system ("touch ${General::swroot}/certs/index.txt.attr");
+               open(FILE, ">${General::swroot}/certs/index.txt.attr");
+               close(FILE);
        }
        unlink ("${General::swroot}/certs/index.txt.old");
        unlink ("${General::swroot}/certs/index.txt.attr.old");
@@ -190,9 +226,13 @@ sub newcleanssldatabase {
 ###
 sub callssl ($) {
        my $opt = shift;
-       my $retssl = `/usr/bin/openssl $opt 2>&1`; #redirect stderr
+
+       # Split the given argument string into single pieces and assign them to an array.
+       my @opts = split(/ /, $opt);
+
+       my @retssl = &General::system_output("/usr/bin/openssl", @opts); #redirect stderr
        my $ret = '';
-       foreach my $line (split (/\n/, $retssl)) {
+       foreach my $line (split (/\n/, @retssl)) {
                &General::log("ipsec", "$line") if (0); # 1 for verbose logging
                $ret .= '<br>'.$line if ( $line =~ /error|unknown/ );
        }
@@ -206,13 +246,21 @@ sub callssl ($) {
 ###
 sub getCNfromcert ($) {
        #&General::log("ipsec", "Extracting name from $_[0]...");
-       my $temp = `/usr/bin/openssl x509 -text -in $_[0]`;
-       $temp =~ /Subject:.*CN = (.*)[\n]/;
-       $temp = $1;
-       $temp =~ s+/Email+, E+;
-       $temp =~ s/ ST = / S = /;
-       $temp =~ s/,//g;
-       $temp =~ s/\'//g;
+       my @temp = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "$_[0]");
+       my $temp;
+
+       foreach my $line (@temp) {
+               if ($line =~ /Subject:.*CN = (.*)[\n]/) {
+                       $temp = $1;
+                       $temp =~ s+/Email+, E+;
+                       $temp =~ s/ ST = / S = /;
+                       $temp =~ s/,//g;
+                       $temp =~ s/\'//g;
+
+                       last;
+               }
+       }
+
        return $temp;
 }
 ###
@@ -220,11 +268,19 @@ sub getCNfromcert ($) {
 ###
 sub getsubjectfromcert ($) {
        #&General::log("ipsec", "Extracting subject from $_[0]...");
-       my $temp = `/usr/bin/openssl x509 -text -in $_[0]`;
-       $temp =~ /Subject: (.*)[\n]/;
-       $temp = $1;
-       $temp =~ s+/Email+, E+;
-       $temp =~ s/ ST = / S = /;
+       my @temp = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "$_[0]");
+       my $temp;
+
+       foreach my $line (@temp) {
+               if($line =~ /Subject: (.*)[\n]/) {
+                       $temp = $1;
+                       $temp =~ s+/Email+, E+;
+                       $temp =~ s/ ST = / S = /;
+
+                       last;
+               }
+       }
+
        return $temp;
 }
 ###
@@ -316,6 +372,12 @@ sub writeipsecfiles {
 
                print CONF "\tleftfirewall=yes\n";
                print CONF "\tlefthostaccess=yes\n";
+
+               # Always send the host certificate
+               if ($lconfighash{$key}[3] eq 'host') {
+                       print CONF "\tleftsendcert=always\n";
+               }
+
                print CONF "\tright=$lconfighash{$key}[10]\n";
 
                if ($lconfighash{$key}[3] eq 'net') {
@@ -478,6 +540,13 @@ sub writeipsecfiles {
                # Fragmentation
                print CONF "\tfragmentation=yes\n";
 
+               # DNS Servers for RW
+               if ($lconfighash{$key}[3] eq 'host') {
+                       my @servers = split(/\|/, $lconfighash{$key}[39]);
+
+                       print CONF "\trightdns=" . join(",", @servers) . "\n";
+               }
+
                print CONF "\n";
        } #foreach key
 
@@ -505,19 +574,25 @@ if ($ENV{"REMOTE_ADDR"} eq "") {
 if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cgiparams{'KEY'} eq '') {
        &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
 
+       if ($cgiparams{'RW_ENDPOINT'} ne '' && !&General::validip($cgiparams{'RW_ENDPOINT'}) && !&General::validfqdn($cgiparams{'RW_ENDPOINT'})) {
+               $errormessage = $Lang::tr{'ipsec invalid ip address or fqdn for rw endpoint'};
+               goto SAVE_ERROR;
+       }
+
        if ( $cgiparams{'RW_NET'} ne '' and !&General::validipandmask($cgiparams{'RW_NET'}) ) {
                $errormessage = $Lang::tr{'urlfilter invalid ip or mask error'};
                goto SAVE_ERROR;
        }
 
        $vpnsettings{'ENABLED'} = $cgiparams{'ENABLED'};
+       $vpnsettings{'RW_ENDPOINT'} = $cgiparams{'RW_ENDPOINT'};
        $vpnsettings{'RW_NET'} = $cgiparams{'RW_NET'};
        &General::writehash("${General::swroot}/vpn/settings", \%vpnsettings);
        &writeipsecfiles();
        if (&vpnenabled) {
-               system('/usr/local/bin/ipsecctrl', 'S');
+               &General::system('/usr/local/bin/ipsecctrl', 'S');
        } else {
-               system('/usr/local/bin/ipsecctrl', 'D');
+               &General::system('/usr/local/bin/ipsecctrl', 'D');
        }
        sleep $sleepDelay;
        SAVE_ERROR:
@@ -542,7 +617,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save'} && $cgiparams{'TYPE'} eq '' && $cg
        }
        &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
        &writeipsecfiles();
-       system('/usr/local/bin/ipsecctrl', 'R');
+       &General::system('/usr/local/bin/ipsecctrl', 'R');
        sleep $sleepDelay;
 
 ###
@@ -614,8 +689,8 @@ END
                $errormessage = $!;
                goto UPLOADCA_ERROR;
        }
-       my $temp = `/usr/bin/openssl x509 -text -in $filename`;
-       if ($temp !~ /CA:TRUE/i) {
+       my @temp = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "$filename");
+       if (! grep(/CA:TRUE/, @temp)) {
                $errormessage = $Lang::tr{'not a valid ca certificate'};
                unlink ($filename);
                goto UPLOADCA_ERROR;
@@ -633,7 +708,7 @@ END
        $cahash{$key}[1] = &Header::cleanhtml(getsubjectfromcert ("${General::swroot}/ca/$cgiparams{'CA_NAME'}cert.pem"));
        &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);
 
-       system('/usr/local/bin/ipsecctrl', 'R');
+       &General::system('/usr/local/bin/ipsecctrl', 'R');
        sleep $sleepDelay;
 
        UPLOADCA_ERROR:
@@ -649,9 +724,9 @@ END
                &Header::openpage($Lang::tr{'ipsec'}, 1, '');
                &Header::openbigbox('100%', 'left', '', '');
                &Header::openbox('100%', 'left', "$Lang::tr{'ca certificate'}:");
-               my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;
-               $output = &Header::cleanhtml($output,"y");
-               print "<pre>$output</pre>\n";
+               my @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
+               @output = &Header::cleanhtml(@output,"y");
+               print "<pre>@output</pre>\n";
                &Header::closebox();
                print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";
                &Header::closebigbox();
@@ -671,7 +746,9 @@ END
                print "Content-Type: application/force-download\n";
                print "Content-Type: application/octet-stream\r\n";
                print "Content-Disposition: attachment; filename=$cahash{$cgiparams{'KEY'}}[0]cert.pem\r\n\r\n";
-               print `/usr/bin/openssl x509 -in ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem`;
+
+               my @cert = &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
+               print "@cert";
                exit(0);
        } else {
                $errormessage = $Lang::tr{'invalid key'};
@@ -686,21 +763,21 @@ END
 
        if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
                foreach my $key (keys %confighash) {
-                       my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/certs/$confighash{$key}[1]cert.pem`;
-                       if ($test =~ /: OK/) {
+                       my @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem", "${General::swroot}/certs/$confighash{$key}[1]cert.pem");
+                       if (grep(/: OK/, @test)) {
                                # Delete connection
                                unlink ("${General::swroot}/certs/$confighash{$key}[1]cert.pem");
                                unlink ("${General::swroot}/certs/$confighash{$key}[1].p12");
                                delete $confighash{$key};
                                &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
                                &writeipsecfiles();
-                               system('/usr/local/bin/ipsecctrl', 'D', $key) if (&vpnenabled);
+                               &General::system('/usr/local/bin/ipsecctrl', 'D', $key) if (&vpnenabled);
                        }
                }
                unlink ("${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
                delete $cahash{$cgiparams{'KEY'}};
                &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);
-               system('/usr/local/bin/ipsecctrl', 'R');
+               &General::system('/usr/local/bin/ipsecctrl', 'R');
                sleep $sleepDelay;
        } else {
                $errormessage = $Lang::tr{'invalid key'};
@@ -715,8 +792,8 @@ END
        my $assignedcerts = 0;
        if ( -f "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem" ) {
                foreach my $key (keys %confighash) {
-                       my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem ${General::swroot}/certs/$confighash{$key}[1]cert.pem`;
-                       if ($test =~ /: OK/) {
+                       my @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem", "${General::swroot}/certs/$confighash{$key}[1]cert.pem");
+                       if (grep(/: OK/, @test)) {
                                $assignedcerts++;
                        }
                }
@@ -752,7 +829,7 @@ END
                        unlink ("${General::swroot}/ca/$cahash{$cgiparams{'KEY'}}[0]cert.pem");
                        delete $cahash{$cgiparams{'KEY'}};
                        &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);
-                       system('/usr/local/bin/ipsecctrl', 'R');
+                       &General::system('/usr/local/bin/ipsecctrl', 'R');
                        sleep $sleepDelay;
                }
        } else {
@@ -764,19 +841,19 @@ END
 ###
 } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'} ||
        $cgiparams{'ACTION'} eq $Lang::tr{'show host certificate'}) {
-       my $output;
+       my @output;
        &Header::showhttpheaders();
        &Header::openpage($Lang::tr{'ipsec'}, 1, '');
        &Header::openbigbox('100%', 'left', '', '');
        if ($cgiparams{'ACTION'} eq $Lang::tr{'show root certificate'}) {
                &Header::openbox('100%', 'left', "$Lang::tr{'root certificate'}:");
-               $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/ca/cacert.pem`;
+               @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/ca/cacert.pem");
        } else {
                &Header::openbox('100%', 'left', "$Lang::tr{'host certificate'}:");
-               $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/hostcert.pem`;
+               @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/certs/hostcert.pem");
        }
-       $output = &Header::cleanhtml($output,"y");
-       print "<pre>$output</pre>\n";
+       @output = &Header::cleanhtml(@output,"y");
+       print "<pre>@output</pre>\n";
        &Header::closebox();
        print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";
        &Header::closebigbox();
@@ -790,7 +867,9 @@ END
        if ( -f "${General::swroot}/ca/cacert.pem" ) {
                print "Content-Type: application/force-download\n";
                print "Content-Disposition: attachment; filename=cacert.pem\r\n\r\n";
-               print `/usr/bin/openssl x509 -in ${General::swroot}/ca/cacert.pem`;
+
+               my @cert = &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/ca/cacert.pem");
+               print "@cert";
                exit(0);
        }
 ###
@@ -800,7 +879,9 @@ END
        if ( -f "${General::swroot}/certs/hostcert.pem" ) {
                print "Content-Type: application/force-download\n";
                print "Content-Disposition: attachment; filename=hostcert.pem\r\n\r\n";
-               print `/usr/bin/openssl x509 -in ${General::swroot}/certs/hostcert.pem`;
+
+               my @cert = &General::system_output("/usr/bin/openssl", "x509", "-in", "${General::swroot}/certs/hostcert.pem");
+               print "@cert";
                exit(0);
        }
 ###
@@ -1007,7 +1088,7 @@ END
                        &General::log("ipsec", "Creating cacert...");
                        if (open(STDIN, "-|")) {
                                my $opt = " req -x509 -sha256 -nodes";
-                               $opt .= " -days 999999";
+                               $opt .= " -days 3650";
                                $opt .= " -newkey rsa:4096";
                                $opt .= " -keyout ${General::swroot}/private/cakey.pem";
                                $opt .= " -out ${General::swroot}/ca/cacert.pem";
@@ -1065,7 +1146,7 @@ END
                        print $fh "subjectAltName=$cgiparams{'SUBJECTALTNAME'}" if ($cgiparams{'SUBJECTALTNAME'});
                        close ($fh);
 
-                       my $opt = " ca -md sha256 -days 999999";
+                       my $opt = " ca -md sha256 -days 825";
                        $opt .= " -batch -notext";
                        $opt .= " -in ${General::swroot}/certs/hostreq.pem";
                        $opt .= " -out ${General::swroot}/certs/hostcert.pem";
@@ -1163,7 +1244,7 @@ END
 
        ROOTCERT_SUCCESS:
        if (&vpnenabled) {
-               system('/usr/local/bin/ipsecctrl', 'S');
+               &General::system('/usr/local/bin/ipsecctrl', 'S');
                sleep $sleepDelay;
        }
        ROOTCERT_SKIP:
@@ -1175,9 +1256,279 @@ END
        print "Content-Type: application/force-download\n";
        print "Content-Disposition: attachment; filename=" . $confighash{$cgiparams{'KEY'}}[1] . ".p12\r\n";
        print "Content-Type: application/octet-stream\r\n\r\n";
-       print `/bin/cat ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1].p12`;
+
+       open(FILE, "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1].p12");
+       my @p12 = <FILE>;
+       close(FILE);
+       print "@file";
+
        exit (0);
 
+# Export Apple profile to browser
+} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'download apple profile'}) {
+       # Read global configuration
+       &General::readhash("${General::swroot}/vpn/settings", \%vpnsettings);
+
+       # Read connections
+       &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+       my $key = $cgiparams{'KEY'};
+
+       # Create a UUID generator
+       my $uuid = Data::UUID->new();
+
+       my $uuid1 = $uuid->create_str();
+       my $uuid2 = $uuid->create_str();
+
+       my $ca = "";
+       my $ca_uuid = $uuid->create_str();
+
+       my $cert = "";
+       my $cert_uuid = $uuid->create_str();
+
+       # Read and encode the CA & certificate
+       if ($confighash{$key}[4] eq "cert") {
+               my $ca_path = "${General::swroot}/ca/cacert.pem";
+               my $cert_path = "${General::swroot}/certs/$confighash{$key}[1].p12";
+
+               # Read the CA and encode it into Base64
+               open(CA, "<${ca_path}");
+               local($/) = undef; # slurp
+               $ca = MIME::Base64::encode_base64(<CA>);
+               close(CA);
+
+               # Read certificate and encode it into Base64
+               open(CERT, "<${cert_path}");
+               local($/) = undef; # slurp
+               $cert = MIME::Base64::encode_base64(<CERT>);
+               close(CERT);
+       }
+
+       print "Content-Type: application/octet-stream\n";
+       print "Content-Disposition: attachment; filename=" . $confighash{$key}[1] . ".mobileconfig\n";
+       print "\n"; # end headers
+
+       # Use our own FQDN if nothing else is configured
+       my $endpoint = ($vpnsettings{'RW_ENDPOINT'} ne "") ? $vpnsettings{'RW_ENDPOINT'} : &hostname();
+
+       print "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n";
+       print "<plist version=\"1.0\">\n";
+       print " <dict>\n";
+        print "                <key>PayloadDisplayName</key>\n";
+       print "         <string>$confighash{$key}[1]</string>\n";
+       print "         <key>PayloadIdentifier</key>\n";
+       print "         <string>$confighash{$key}[1]</string>\n";
+       print "         <key>PayloadUUID</key>\n";
+       print "         <string>${uuid1}</string>\n";
+       print "         <key>PayloadType</key>\n";
+       print "         <string>Configuration</string>\n";
+       print "         <key>PayloadVersion</key>\n";
+       print "         <integer>1</integer>\n";
+       print "         <key>PayloadContent</key>\n";
+       print "         <array>\n";
+       print "                 <dict>\n";
+       print "                         <key>PayloadIdentifier</key>\n";
+       print "                         <string>org.example.vpn1.conf1</string>\n";
+       print "                         <key>PayloadUUID</key>\n";
+       print "                         <string>${uuid2}</string>\n";
+       print "                         <key>PayloadType</key>\n";
+       print "                         <string>com.apple.vpn.managed</string>\n";
+       print "                         <key>PayloadVersion</key>\n";
+       print "                         <integer>1</integer>\n";
+       print "                         <key>UserDefinedName</key>\n";
+       print "                         <string>$confighash{$key}[1]</string>\n";
+       print "                         <key>VPNType</key>\n";
+       print "                         <string>IKEv2</string>\n";
+       print "                         <key>IKEv2</key>\n";
+       print "                         <dict>\n";
+       print "                                 <key>RemoteAddress</key>\n";
+       print "                                 <string>$endpoint</string>\n";
+
+       # PFS
+       my $pfs = $confighash{$key}[28];
+       if ($pfs eq "on") {
+               print "                                 <key>EnablePFS</key>\n";
+               print "                                 <true/>\n";
+       }
+
+       # IKE Cipher Suite
+       print "                                 <key>IKESecurityAssociationParameters</key>\n";
+       print "                                 <dict>\n";
+
+       # Encryption
+       foreach my $cipher (split(/\|/,$confighash{$key}[18])) {
+               # Skip all unsupported ciphers
+               next unless (exists $APPLE_CIPHERS{$cipher});
+
+               print "                                         <key>EncryptionAlgorithm</key>\n";
+               print "                                         <string>$APPLE_CIPHERS{$cipher}</string>\n";
+               last;
+       }
+
+       # Integrity
+       foreach my $integrity (split(/\|/,$confighash{$key}[19])) {
+               # Skip all unsupported algorithms
+               next unless (exists $APPLE_INTEGRITIES{$integrity});
+
+               print "                                         <key>IntegrityAlgorithm</key>\n";
+               print "                                         <string>$APPLE_INTEGRITIES{$integrity}</string>\n";
+               last;
+       }
+
+       # Diffie Hellman Groups
+       foreach my $group (split(/\|/,$confighash{$key}[20])) {
+               # Skip all unsupported algorithms
+               next unless (exists $APPLE_DH_GROUPS{$group});
+
+               print "                                         <key>DiffieHellmanGroup</key>\n";
+               print "                                         <string>$APPLE_DH_GROUPS{$group}</string>\n";
+               last;
+       }
+
+       # Lifetime
+       my $lifetime = $confighash{$key}[16] * 60;
+       print "                                         <key>LifeTimeInMinutes</key>\n";
+       print "                                         <integer>$lifetime</integer>\n";
+       print "                                 </dict>\n";
+
+       # ESP Cipher Suite
+       print "                                 <key>ChildSecurityAssociationParameters</key>\n";
+       print "                                 <dict>\n";
+
+       # Encryption
+       foreach my $cipher (split(/\|/,$confighash{$key}[21])) {
+               # Skip all unsupported ciphers
+               next unless (exists $APPLE_CIPHERS{$cipher});
+
+               print "                                         <key>EncryptionAlgorithm</key>\n";
+               print "                                         <string>$APPLE_CIPHERS{$cipher}</string>\n";
+               last;
+       }
+
+       # Integrity
+       foreach my $integrity (split(/\|/,$confighash{$key}[22])) {
+               # Skip all unsupported algorithms
+               next unless (exists $APPLE_INTEGRITIES{$integrity});
+
+               print "                                         <key>IntegrityAlgorithm</key>\n";
+               print "                                         <string>$APPLE_INTEGRITIES{$integrity}</string>\n";
+               last;
+       }
+
+       # Diffie Hellman Groups
+       foreach my $group (split(/\|/,$confighash{$key}[23])) {
+               # Skip all unsupported algorithms
+               next unless (exists $APPLE_DH_GROUPS{$group});
+
+               print "                                         <key>DiffieHellmanGroup</key>\n";
+               print "                                         <string>$APPLE_DH_GROUPS{$group}</string>\n";
+               last;
+       }
+
+       # Lifetime
+       my $lifetime = $confighash{$key}[17] * 60;
+       print "                                         <key>LifeTimeInMinutes</key>\n";
+       print "                                         <integer>$lifetime</integer>\n";
+       print "                                 </dict>\n";
+
+
+       # Left ID
+       if ($confighash{$key}[9]) {
+               my $leftid = $confighash{$key}[9];
+
+               # Strip leading @ from FQDNs
+               if ($leftid =~ m/^@(.*)$/) {
+                       $leftid = $1;
+               }
+
+               print "                                 <key>LocalIdentifier</key>\n";
+               print "                                 <string>$leftid</string>\n";
+       }
+
+       # Right ID
+       if ($confighash{$key}[7]) {
+               my $rightid = $confighash{$key}[7];
+
+               # Strip leading @ from FQDNs
+               if ($rightid =~ m/^@(.*)$/) {
+                       $rightid = $1;
+               }
+
+               print "                                 <key>RemoteIdentifier</key>\n";
+               print "                                 <string>$rightid</string>\n";
+       }
+
+       if ($confighash{$key}[4] eq "cert") {
+               print "                                 <key>AuthenticationMethod</key>\n";
+               print "                                 <string>Certificate</string>\n";
+
+               print "                                 <key>PayloadCertificateUUID</key>\n";
+               print "                                 <string>${cert_uuid}</string>\n";
+       } else {
+               print "                                 <key>AuthenticationMethod</key>\n";
+               print "                                 <string>SharedSecret</string>\n";
+               print "                                 <key>SharedSecret</key>\n";
+               print "                                 <string>$confighash{$key}[5]</string>\n";
+       }
+
+       print "                                 <key>ExtendedAuthEnabled</key>\n";
+       print "                                 <integer>0</integer>\n";
+
+       # These are not needed, but we provide some default to stop iPhone asking for credentials
+       print "                                 <key>AuthName</key>\n";
+       print "                                 <string>$confighash{$key}[1]</string>\n";
+       print "                                 <key>AuthPassword</key>\n";
+       print "                                 <string></string>\n";
+       print "                         </dict>\n";
+       print "                 </dict>\n";
+
+       if ($confighash{$key}[4] eq "cert") {
+               print "                 <dict>\n";
+               print "                         <key>PayloadIdentifier</key>\n";
+               print "                         <string>org.example.vpn1.client</string>\n";
+               print "                         <key>PayloadDisplayName</key>\n";
+               print "                         <string>$confighash{$key}[1]</string>\n";
+               print "                         <key>PayloadUUID</key>\n";
+               print "                         <string>${cert_uuid}</string>\n";
+               print "                         <key>PayloadType</key>\n";
+               print "                         <string>com.apple.security.pkcs12</string>\n";
+               print "                         <key>PayloadVersion</key>\n";
+               print "                         <integer>1</integer>\n";
+               print "                         <key>PayloadContent</key>\n";
+               print "                         <data>\n";
+
+               foreach (split /\n/,${cert}) {
+                       print "                                 $_\n";
+               }
+
+               print "                         </data>\n";
+               print "                 </dict>\n";
+
+               print "                 <dict>\n";
+               print "                         <key>PayloadIdentifier</key>\n";
+               print "                         <string>org.example.ca</string>\n";
+               print "                         <key>PayloadUUID</key>\n";
+               print "                         <string>${ca_uuid}</string>\n";
+               print "                         <key>PayloadType</key>\n";
+               print "                         <string>com.apple.security.root</string>\n";
+               print "                         <key>PayloadVersion</key>\n";
+               print "                         <integer>1</integer>\n";
+               print "                         <key>PayloadContent</key>\n";
+               print "                         <data>\n";
+
+               foreach (split /\n/,${ca}) {
+                       print "                                 $_\n";
+               }
+
+               print "                         </data>\n";
+               print "                 </dict>\n";
+       }
+
+       print "         </array>\n";
+       print " </dict>\n";
+       print "</plist>\n";
+
+       # Done
+       exit(0);
 ###
 ### Display certificate
 ###
@@ -1189,9 +1540,9 @@ END
                &Header::openpage($Lang::tr{'ipsec'}, 1, '');
                &Header::openbigbox('100%', 'left', '', '');
                &Header::openbox('100%', 'left', "$Lang::tr{'cert'}:");
-               my $output = `/usr/bin/openssl x509 -text -in ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;
-               $output = &Header::cleanhtml($output,"y");
-               print "<pre>$output</pre>\n";
+               my @output = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
+               @output = &Header::cleanhtml(@output,"y");
+               print "<pre>@output</pre>\n";
                &Header::closebox();
                print "<div align='center'><a href='/cgi-bin/vpnmain.cgi'>$Lang::tr{'back'}</a></div>";
                &Header::closebigbox();
@@ -1208,7 +1559,12 @@ END
        if ( -f "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem") {
                print "Content-Type: application/force-download\n";
                print "Content-Disposition: attachment; filename=" . $confighash{$cgiparams{'KEY'}}[1] . "cert.pem\n\n";
-               print `/bin/cat ${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem`;
+
+               open(FILE, "${General::swroot}/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");
+               my @pem = <FILE>;
+               close(FILE);
+               print "@pem";
+
                exit (0);
        }
 
@@ -1225,12 +1581,12 @@ END
                        $confighash{$cgiparams{'KEY'}}[0] = 'on';
                        &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
                        &writeipsecfiles();
-                       system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'}) if (&vpnenabled);
+                       &General::system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'}) if (&vpnenabled);
                } else {
                        $confighash{$cgiparams{'KEY'}}[0] = 'off';
                        &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
                        &writeipsecfiles();
-                       system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'}) if (&vpnenabled);
+                       &General::system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'}) if (&vpnenabled);
                }
                sleep $sleepDelay;
        } else {
@@ -1246,7 +1602,7 @@ END
 
        if ($confighash{$cgiparams{'KEY'}}) {
                if (&vpnenabled) {
-                       system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
+                       &General::system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
                        sleep $sleepDelay;
                }
        } else {
@@ -1266,7 +1622,7 @@ END
                delete $confighash{$cgiparams{'KEY'}};
                &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
                &writeipsecfiles();
-               system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'}) if (&vpnenabled);
+               &General::system('/usr/local/bin/ipsecctrl', 'D', $cgiparams{'KEY'}) if (&vpnenabled);
        } else {
                $errormessage = $Lang::tr{'invalid key'};
        }
@@ -1353,6 +1709,7 @@ END
                $cgiparams{'INTERFACE_MODE'}            = $confighash{$cgiparams{'KEY'}}[36];
                $cgiparams{'INTERFACE_ADDRESS'}         = $confighash{$cgiparams{'KEY'}}[37];
                $cgiparams{'INTERFACE_MTU'}             = $confighash{$cgiparams{'KEY'}}[38];
+               $cgiparams{'DNS_SERVERS'}               = $confighash{$cgiparams{'KEY'}}[39];
 
                if (!$cgiparams{'DPD_DELAY'}) {
                        $cgiparams{'DPD_DELAY'} = 30;
@@ -1486,6 +1843,16 @@ END
                        }
                }
 
+               if ($cgiparams{'TYPE'} eq 'host') {
+                       my @servers = split(",", $cgiparams{'DNS_SERVERS'});
+                       foreach my $server (@servers) {
+                               unless (&Network::check_ip_address($server)) {
+                                       $errormessage = $Lang::tr{'ipsec dns server address is invalid'};
+                                       goto VPNCONF_ERROR;
+                               }
+                       }
+               }
+
                if ($cgiparams{'ENABLED'} !~ /^(on|off)$/) {
                        $errormessage = $Lang::tr{'invalid input'};
                        goto VPNCONF_ERROR;
@@ -1552,7 +1919,7 @@ END
 
                # Sign the certificate request
                &General::log("ipsec", "Signing your cert $cgiparams{'NAME'}...");
-               my $opt = " ca -md sha256 -days 999999";
+               my $opt = " ca -md sha256 -days 825";
                $opt .= " -batch -notext";
                $opt .= " -in $filename";
                $opt .= " -out ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem";
@@ -1623,8 +1990,8 @@ END
                                unshift (@names,$cahash{$x}[0]);
                        }
                        if ($casubject) { # a new one!
-                               my $temp = `/usr/bin/openssl x509 -text -in /tmp/newcacert`;
-                               if ($temp !~ /CA:TRUE/i) {
+                               my @temp = &General::system_output("/usr/bin/openssl", "x509", "-text", "-in", "/tmp/newcacert");
+                               if (! grep(/CA:TRUE/, @temp)) {
                                        $errormessage = $Lang::tr{'not a valid ca certificate'};
                                } else {
                                        #compute a name for it
@@ -1639,7 +2006,7 @@ END
                                                $cahash{$key}[0] = $cgiparams{'CA_NAME'};
                                                $cahash{$key}[1] = $casubject;
                                                &General::writehasharray("${General::swroot}/vpn/caconfig", \%cahash);
-                                               system('/usr/local/bin/ipsecctrl', 'R');
+                                               &General::system('/usr/local/bin/ipsecctrl', 'R');
                                        }
                                }
                        }
@@ -1679,12 +2046,12 @@ END
                # Verify the certificate has a valid CA and move it
                &General::log("ipsec", "Validating imported cert against our known CA...");
                my $validca = 1; #assume ok
-               my $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/cacert.pem $filename`;
-               if ($test !~ /: OK/) {
+               my @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ca/cacert.pem", "$filename");
+               if (! grep(/: OK/, @test)) {
                        my $validca = 0;
                        foreach my $key (keys %cahash) {
-                               $test = `/usr/bin/openssl verify -CAfile ${General::swroot}/ca/$cahash{$key}[0]cert.pem $filename`;
-                               if ($test =~ /: OK/) {
+                               @test = &General::system_output("/usr/bin/openssl", "verify", "-CAfile", "${General::swroot}/ca/$cahash{$key}[0]cert.pem", "$filename");
+                               if (grep(/: OK/, @test)) {
                                        $validca = 1;
                                        last;
                                }
@@ -1825,7 +2192,7 @@ END
                print $fh "subjectAltName=$cgiparams{'SUBJECTALTNAME'}" if ($cgiparams{'SUBJECTALTNAME'});
                close ($fh);
 
-               my $opt = " ca -md sha256 -days 999999 -batch -notext";
+               my $opt = " ca -md sha256 -days 825 -batch -notext";
                $opt .= " -in ${General::swroot}/certs/$cgiparams{'NAME'}req.pem";
                $opt .= " -out ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem";
                $opt .= " -extfile $v3extname";
@@ -1888,7 +2255,7 @@ END
        my $key = $cgiparams{'KEY'};
        if (! $key) {
                $key = &General::findhasharraykey (\%confighash);
-               foreach my $i (0 .. 38) { $confighash{$key}[$i] = "";}
+               foreach my $i (0 .. 39) { $confighash{$key}[$i] = "";}
        }
        $confighash{$key}[0] = $cgiparams{'ENABLED'};
        $confighash{$key}[1] = $cgiparams{'NAME'};
@@ -1939,6 +2306,7 @@ END
        $confighash{$key}[36] = $cgiparams{'INTERFACE_MODE'};
        $confighash{$key}[37] = $cgiparams{'INTERFACE_ADDRESS'};
        $confighash{$key}[38] = $cgiparams{'INTERFACE_MTU'};
+       $confighash{$key}[39] = join("|", split(",", $cgiparams{'DNS_SERVERS'}));
 
        # free unused fields!
        $confighash{$key}[15] = 'off';
@@ -1946,7 +2314,7 @@ END
        &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
        &writeipsecfiles();
        if (&vpnenabled) {
-               system('/usr/local/bin/ipsecctrl', 'S', $key);
+               &General::system('/usr/local/bin/ipsecctrl', 'S', $key);
                sleep $sleepDelay;
        }
        if ($cgiparams{'EDIT_ADVANCED'} eq 'on') {
@@ -2007,11 +2375,11 @@ END
        #use default advanced value
        $cgiparams{'IKE_ENCRYPTION'}    = 'chacha20poly1305|aes256gcm128|aes256gcm96|aes256gcm64|aes256|aes192gcm128|aes192gcm96|aes192gcm64|aes192|aes128gcm128|aes128gcm96|aes128gcm64|aes128'; #[18];
        $cgiparams{'IKE_INTEGRITY'}             = 'sha2_512|sha2_256'; #[19];
-       $cgiparams{'IKE_GROUPTYPE'}             = 'curve25519|curve448|4096|3072|2048'; #[20];
+       $cgiparams{'IKE_GROUPTYPE'}             = 'curve448|curve25519|4096|3072|2048'; #[20];
        $cgiparams{'IKE_LIFETIME'}              = '3'; #[16];
        $cgiparams{'ESP_ENCRYPTION'}    = 'chacha20poly1305|aes256gcm128|aes256gcm96|aes256gcm64|aes256|aes192gcm128|aes192gcm96|aes192gcm64|aes192|aes128gcm128|aes128gcm96|aes128gcm64|aes128'; #[21];
        $cgiparams{'ESP_INTEGRITY'}             = 'sha2_512|sha2_256'; #[22];
-       $cgiparams{'ESP_GROUPTYPE'}             = 'curve25519|curve448|4096|3072|2048'; #[23];
+       $cgiparams{'ESP_GROUPTYPE'}             = 'curve448|curve25519|4096|3072|2048'; #[23];
        $cgiparams{'ESP_KEYLIFE'}               = '1'; #[17];
        $cgiparams{'COMPRESSION'}               = 'off'; #[13];
        $cgiparams{'ONLY_PROPOSED'}             = 'on'; #[24];
@@ -2021,6 +2389,7 @@ END
        $cgiparams{'INTERFACE_MODE'}            = "";
        $cgiparams{'INTERFACE_ADDRESS'}         = "";
        $cgiparams{'INTERFACE_MTU'}             = 1500;
+       $cgiparams{'DNS_SERVERS'}               = "";
 }
 
 VPNCONF_ERROR:
@@ -2117,11 +2486,8 @@ END
 EOF
        }
 
-       my $disabled;
-       my $blob;
-       if ($cgiparams{'TYPE'} eq 'host') {
-               $disabled = "disabled='disabled'";
-       } elsif ($cgiparams{'TYPE'} eq 'net') {
+       my $blob = "";
+       if ($cgiparams{'TYPE'} eq 'net') {
                $blob = "<img src='/blob.gif' alt='*' />";
        };
 
@@ -2131,6 +2497,9 @@ EOF
        my @remote_subnets = split(/\|/, $cgiparams{'REMOTE_SUBNET'});
        my $remote_subnets = join(",", @remote_subnets);
 
+       my @dns_servers = split(/\|/, $cgiparams{'DNS_SERVERS'});
+       my $dns_servers = join(",", @dns_servers);
+
        print <<END;
        <tr>
                <td width='20%'>$Lang::tr{'enabled'}</td>
@@ -2166,10 +2535,26 @@ END
                <td width='30%'>
                        <input type='text' name='LOCAL_SUBNET' value='$local_subnets' size="25" />
                </td>
-               <td class='boldbase' nowrap='nowrap' width='20%'>$Lang::tr{'remote subnet'}&nbsp;$blob</td>
+END
+
+       if ($cgiparams{'TYPE'} eq "net") {
+               print <<END;
+               <td class='boldbase' nowrap='nowrap' width='20%'>$Lang::tr{'remote subnet'}&nbsp;<img src='/blob.gif' alt='*' /></td>
                <td width='30%'>
-                       <input $disabled type='text' name='REMOTE_SUBNET' value='$remote_subnets' size="25" />
+                       <input type='text' name='REMOTE_SUBNET' value='$remote_subnets' size="25" />
                </td>
+END
+
+       } elsif ($cgiparams{'TYPE'} eq "host") {
+               print <<END;
+               <td class='boldbase' nowrap='nowrap' width='20%'>$Lang::tr{'dns servers'}:</td>
+               <td width='30%'>
+                       <input type='text' name='DNS_SERVERS' value='$dns_servers' size="25" />
+               </td>
+END
+       }
+
+       print <<END;
        </tr>
        <tr>
                <td class='boldbase' width='20%'>$Lang::tr{'vpn local id'}:</td>
@@ -2375,7 +2760,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
                        goto ADVANCED_ERROR;
                }
                foreach my $val (@temp) {
-                       if ($val !~ /^(curve25519|curve448|e521|e384|e256|e224|e192|e512bp|e384bp|e256bp|e224bp|768|1024|1536|2048|3072|4096|6144|8192)$/) {
+                       if ($val !~ /^(curve448|curve25519|e521|e384|e256|e224|e192|e512bp|e384bp|e256bp|e224bp|768|1024|1536|2048|3072|4096|6144|8192)$/) {
                                $errormessage = $Lang::tr{'invalid input'};
                                goto ADVANCED_ERROR;
                        }
@@ -2416,7 +2801,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
                        goto ADVANCED_ERROR;
                }
                foreach my $val (@temp) {
-                       if ($val !~ /^(curve25519|curve448|e521|e384|e256|e224|e192|e512bp|e384bp|e256bp|e224bp|768|1024|1536|2048|3072|4096|6144|8192|none)$/) {
+                       if ($val !~ /^(curve448|curve25519|e521|e384|e256|e224|e192|e512bp|e384bp|e256bp|e224bp|768|1024|1536|2048|3072|4096|6144|8192|none)$/) {
                                $errormessage = $Lang::tr{'invalid input'};
                                goto ADVANCED_ERROR;
                        }
@@ -2475,7 +2860,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
                &General::writehasharray("${General::swroot}/vpn/config", \%confighash);
                &writeipsecfiles();
                if (&vpnenabled) {
-                       system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
+                       &General::system('/usr/local/bin/ipsecctrl', 'S', $cgiparams{'KEY'});
                        sleep $sleepDelay;
                }
                goto ADVANCED_END;
@@ -2505,6 +2890,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
                $cgiparams{'INTERFACE_MODE'}            = $confighash{$cgiparams{'KEY'}}[36];
                $cgiparams{'INTERFACE_ADDRESS'}         = $confighash{$cgiparams{'KEY'}}[37];
                $cgiparams{'INTERFACE_MTU'}             = $confighash{$cgiparams{'KEY'}}[38];
+               $cgiparams{'DNS_SERVERS'}               = $confighash{$cgiparams{'KEY'}}[39];
 
                if (!$cgiparams{'DPD_DELAY'}) {
                        $cgiparams{'DPD_DELAY'} = 30;
@@ -2555,8 +2941,8 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
        $checked{'IKE_INTEGRITY'}{'aesxcbc'} = '';
        @temp = split('\|', $cgiparams{'IKE_INTEGRITY'});
        foreach my $key (@temp) {$checked{'IKE_INTEGRITY'}{$key} = "selected='selected'"; }
-       $checked{'IKE_GROUPTYPE'}{'curve25519'} = '';
        $checked{'IKE_GROUPTYPE'}{'curve448'} = '';
+       $checked{'IKE_GROUPTYPE'}{'curve25519'} = '';
        $checked{'IKE_GROUPTYPE'}{'768'} = '';
        $checked{'IKE_GROUPTYPE'}{'1024'} = '';
        $checked{'IKE_GROUPTYPE'}{'1536'} = '';
@@ -2595,8 +2981,8 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
        $checked{'ESP_INTEGRITY'}{'aesxcbc'} = '';
        @temp = split('\|', $cgiparams{'ESP_INTEGRITY'});
        foreach my $key (@temp) {$checked{'ESP_INTEGRITY'}{$key} = "selected='selected'"; }
-       $checked{'ESP_GROUPTYPE'}{'curve25519'} = '';
        $checked{'ESP_GROUPTYPE'}{'curve448'} = '';
+       $checked{'ESP_GROUPTYPE'}{'curve25519'} = '';
        $checked{'ESP_GROUPTYPE'}{'768'} = '';
        $checked{'ESP_GROUPTYPE'}{'1024'} = '';
        $checked{'ESP_GROUPTYPE'}{'1536'} = '';
@@ -2760,8 +3146,8 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
                        <td class='boldbase' width="15%">$Lang::tr{'grouptype'}</td>
                        <td class='boldbase'>
                                <select name='IKE_GROUPTYPE' multiple='multiple' size='6' style='width: 100%'>
-                                       <option value='curve25519' $checked{'IKE_GROUPTYPE'}{'curve25519'}>Curve 25519 (256 bit)</option>
                                        <option value='curve448' $checked{'IKE_GROUPTYPE'}{'curve448'}>Curve 448 (224 bit)</option>
+                                       <option value='curve25519' $checked{'IKE_GROUPTYPE'}{'curve25519'}>Curve 25519 (128 bit)</option>
                                        <option value='e521' $checked{'IKE_GROUPTYPE'}{'e521'}>ECP-521 (NIST)</option>
                                        <option value='e512bp' $checked{'IKE_GROUPTYPE'}{'e512bp'}>ECP-512 (Brainpool)</option>
                                        <option value='e384' $checked{'IKE_GROUPTYPE'}{'e384'}>ECP-384 (NIST)</option>
@@ -2783,8 +3169,8 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
                        </td>
                        <td class='boldbase'>
                                <select name='ESP_GROUPTYPE' multiple='multiple' size='6' style='width: 100%'>
-                                       <option value='curve25519' $checked{'ESP_GROUPTYPE'}{'curve25519'}>Curve 25519 (256 bit)</option>
                                        <option value='curve448' $checked{'ESP_GROUPTYPE'}{'curve448'}>Curve 448 (224 bit)</option>
+                                       <option value='curve25519' $checked{'ESP_GROUPTYPE'}{'curve25519'}>Curve 25519 (128 bit)</option>
                                        <option value='e521' $checked{'ESP_GROUPTYPE'}{'e521'}>ECP-521 (NIST)</option>
                                        <option value='e512bp' $checked{'ESP_GROUPTYPE'}{'e512bp'}>ECP-512 (Brainpool)</option>
                                        <option value='e384' $checked{'ESP_GROUPTYPE'}{'e384'}>ECP-384 (NIST)</option>
@@ -2923,7 +3309,7 @@ EOF
        &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
        $cgiparams{'CA_NAME'} = '';
 
-       my @status = `/usr/local/bin/ipsecctrl I 2>/dev/null`;
+       my @status = &General::system_output("/usr/local/bin/ipsecctrl", "I");
 
        $checked{'ENABLED'} = $cgiparams{'ENABLED'} eq 'on' ? "checked='checked'" : '';
 
@@ -2960,6 +3346,10 @@ EOF
                                <input type='checkbox' name='ENABLED' $checked{'ENABLED'} />
                        </td>
                </tr>
+               <tr>
+                       <td class='base' nowrap='nowrap' width="60%">$Lang::tr{'ipsec roadwarrior endpoint'}:</td>
+                       <td width="40%"><input type='text' name='RW_ENDPOINT' value='$cgiparams{'RW_ENDPOINT'}' /></td>
+               </tr>
                <tr>
                        <td class='base' nowrap='nowrap' width="60%">$Lang::tr{'host to net vpn'}:</td>
                        <td width="40%"><input type='text' name='RW_NET' value='$cgiparams{'RW_NET'}' /></td>
@@ -2982,7 +3372,7 @@ END
        <th width='23%' class='boldbase' align='center'><b>$Lang::tr{'common name'}</b></th>
        <th width='30%' class='boldbase' align='center'><b>$Lang::tr{'remark'}</b></th>
        <th width='10%' class='boldbase' align='center'><b>$Lang::tr{'status'}</b></th>
-       <th class='boldbase' align='center' colspan='6'><b>$Lang::tr{'action'}</b></th>
+       <th class='boldbase' align='center' colspan='7'><b>$Lang::tr{'action'}</b></th>
        </tr>
 END
 ;
@@ -3083,6 +3473,22 @@ END
        } else {
                print "<td width='2%' $col>&nbsp;</td>";
        }
+
+       # Apple Profile
+       if ($confighash{$key}[3] eq 'host') {
+               print <<END;
+               <td align='center' $col>
+                       <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+                       <input type='image' name='$Lang::tr{'download apple profile'}' src='/images/apple.png' alt='$Lang::tr{'download apple profile'}' title='$Lang::tr{'download apple profile'}' />
+                       <input type='hidden' name='ACTION' value='$Lang::tr{'download apple profile'}' />
+                       <input type='hidden' name='KEY' value='$key' />
+                       </form>
+               </td>
+END
+       } else {
+               print "<td width='2%' $col>&nbsp;</td>";
+       }
+
        print <<END
        <td align='center' $col>
                <form method='post' action='$ENV{'SCRIPT_NAME'}'>
@@ -3337,7 +3743,7 @@ sub make_algos($$$$$) {
 
                                        if ($grp =~ m/^e(.*)$/) {
                                                push(@algo, "ecp$1");
-                                       } elsif ($grp =~ m/curve(25519|448)/) {
+                                       } elsif ($grp =~ m/curve(448|25519)/) {
                                                push(@algo, "$grp");
                                        } else {
                                                push(@algo, "modp$grp");
@@ -3354,7 +3760,7 @@ sub make_algos($$$$$) {
                                                # noop
                                        } elsif ($grp =~ m/^e(.*)$/) {
                                                push(@algo, "ecp$1");
-                                       } elsif ($grp =~ m/curve(25519|448)/) {
+                                       } elsif ($grp =~ m/curve(448|25519)/) {
                                                push(@algo, "$grp");
                                        } else {
                                                push(@algo, "modp$grp");
index 289dc224a8e56e63224abc4293c2a2c5931c449d..164cec2de1e1889350e30079e9b287d2eaae819e 100644 (file)
@@ -171,7 +171,7 @@ if ( $cgiparams{'ACTION'} eq 'wakeup' )
 
   undef %cgiparams;
 
-  system("/usr/sbin/etherwake -i $iface $mac");
+  &General::system("/usr/sbin/etherwake", "-i", "$iface", "$mac");
 
   # make a box with info, 'refresh' to normal screen after 5 seconds
   if ( $refresh eq 'yes' )
index 0d50f01b1b49f9d15b2fd9749630d639b781ec45..934fe6bebce38dc8ad875b13a4d278e6d1297087 100644 (file)
@@ -86,7 +86,7 @@ if (($cgiparams{'ACTION'} eq 'submit') && ($is_supervisor))
                ((defined($proxysettings{'SUPERVISOR_PASSWORD'})) && ($proxysettings{'SUPERVISOR_PASSWORD'} eq '')))
        {
                &write_acl;
-               system("/usr/local/bin/squidctrl restart >/dev/null 2>&1");
+               &General::system("/usr/local/bin/squidctrl", "restart");
        }
 }
 
index d4592a2a479165f53cba5315ee463effb5f6c2af..35bdaaa6052895995887fbc58b092edb06f6883f 100644 (file)
@@ -133,7 +133,7 @@ ADDERROR:
                close(FILE);
                undef %cgiparams;
                &General::log($Lang::tr{'wireless config added'});
-               system('/usr/local/bin/wirelessctrl');
+               &General::system('/usr/local/bin/wirelessctrl');
        }
 ADDEXIT:
 }
@@ -157,7 +157,7 @@ if ($cgiparams{'ACTION'} eq 'edit')
                }
        }
        &General::log($Lang::tr{'wireless config changed'});
-       system('/usr/local/bin/wirelessctrl');
+       &General::system('/usr/local/bin/wirelessctrl');
 }
 
 if ($cgiparams{'ACTION'} eq 'remove' || $cgiparams{'ACTION'} eq 'toggle')
@@ -178,7 +178,7 @@ if ($cgiparams{'ACTION'} eq 'remove' || $cgiparams{'ACTION'} eq 'toggle')
        }
        close(FILE);
        &General::log($Lang::tr{'wireless config changed'});
-       system('/usr/local/bin/wirelessctrl');
+       &General::system('/usr/local/bin/wirelessctrl');
 }
 
 
@@ -277,7 +277,7 @@ my @curhosts = <HOSTFILE>;
 close (HOSTFILE);
 
 my $connstate = &Header::connectionstatus();
-my @arp = `/sbin/arp -n`;
+my @arp = &General::system_output("/sbin/arp", "-n");
 shift @arp;
 
 foreach my $line (@current)
index a7a9881b84c8214cbae6b418dcc7078c3e1e8c27..7cd23aed4671bbae4b4ef288a4cb0ea22a764010 100644 (file)
@@ -796,7 +796,7 @@ END
 }
 
 sub BuildConfiguration() {
-       system("/usr/local/bin/wirelessclient restart");
+       &General::system("/usr/local/bin/wirelessclient", "restart");
 }
 
 sub NextID() {
index 602d4d3c19190c14a545b3a1c01dc8ac2f61ac7a..eba5fe774e14e04b40461dd03d46b35bf566bbba 100644 (file)
@@ -148,16 +148,16 @@ if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'save'}" ){
                &General::writehash("/var/ipfire/wlanap/settings", \%wlanapsettings);
                &WriteConfig_hostapd();
 
-               system("/usr/local/bin/wlanapctrl restart >/dev/null 2>&1");
+               &General::system("/usr/local/bin/wlanapctrl", "restart");
                pid();
        }
 }elsif ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'wlanap interface'}" ){
        &General::writehash("/var/ipfire/wlanap/settings", \%wlanapsettings);
 }elsif ( ($wlanapsettings{'ACTION'} eq "$Lang::tr{'start'}") && ($memory == 0) ){
-       system("/usr/local/bin/wlanapctrl start >/dev/null 2>&1");
+       &General::system("/usr/local/bin/wlanapctrl", "start");
        pid();
 }elsif ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'stop'}" ){
-       system("/usr/local/bin/wlanapctrl stop >/dev/null 2>&1");
+       &General::system("/usr/local/bin/wlanapctrl", "stop");
        $memory=0;
 }
 
diff --git a/html/html/images/apple.png b/html/html/images/apple.png
new file mode 100644 (file)
index 0000000..6571a74
Binary files /dev/null and b/html/html/images/apple.png differ
index 95af3155b572d807f73c50ba0123c36f9480291c..0d2228edec102b515ec4252ca1f256e969d7a97c 100644 (file)
 'advproxy errmsg wpad invalid ip or mask' => 'WPAD: Ungültige IP oder Subnetz für ausgenommenes IP-Subnetz',
 'advproxy error design' => 'Design der Fehlermeldungen',
 'advproxy error language' => 'Sprache der Fehlermeldungen',
-'advproxy fake referer' => 'Gefälschter Referer für externe Webseiten',
-'advproxy fake useragent' => 'Gefälschter User-Agent für externe Webseiten',
 'advproxy friday' => 'Fr',
 'advproxy from' => 'Von',
 'advproxy group access control' => 'Gruppenbasierte Zugriffskontrolle',
 'advproxy off' => 'Proxy aus',
 'advproxy offline mode' => 'Aktiviere Offline-Modus',
 'advproxy on' => 'Proxy ein',
-'advproxy privacy' => 'Datenschutz',
 'advproxy proxy port' => 'Proxyport',
 'advproxy proxy port transparent' => 'Transparenter Port',
 'advproxy ram cache size' => 'Cachegröße im Arbeitsspeicher (MB)',
 'alt vpn' => 'VPNs',
 'and' => 'Und',
 'apcupsd' => 'APC-UPS Status',
-'application layer gateways' => 'Application-Layer-Gateways',
 'apply' => 'Jetzt anwenden',
 'april' => 'April',
 'archive not exist' => 'Konfigurationsarchiv existiert nicht',
 'authentication' => 'Authentifizierung:',
 'automatic' => 'Automatisch',
 'autonomous system' => 'Autonomes System',
+'available' => 'verfügbar',
 'available updates' => 'Verfügbare Updates',
 'average' => 'Durchschnitt',
 'avoid dod' => 'Benutzen Sie diese Option nicht mit Dial on Demand! Wird hauptsächlich verwendet, wenn Ihr IPFire sich hinter einem Router befindet. Ihre ROTE IP muss sich innerhalb eines der drei reservierten Netzwerkbereiche befinden z.B. 10/8, 172.16/12, 192.168/16.',
 'every' => 'Alle',
 'exampel' => 'Beispiel',
 'exclude logfiles' => 'ohne Protokolldateien',
-'excluding buffers and cache' => '-/+ Puffer/Zwischenspeicher',
 'expected' => 'Erwartet',
 'expertoptions' => 'Expertenoptionen',
 'expires' => 'Ablaufdatum',
index dc1fd8d67b3067c4eacf03dd4f2a43a59bf94dc7..2ba6961f3ae76e1b16c240f428f76be4b4724e3c 100644 (file)
 'advproxy errmsg wpad invalid ip or mask' => 'WPAD: Invalid IP or subnet for excluded IP subnet',
 'advproxy error design' => 'Error messages design',
 'advproxy error language' => 'Error messages language',
-'advproxy fake referer' => 'Fake referer submitted to external sites',
-'advproxy fake useragent' => 'Fake useragent submitted to external sites',
 'advproxy friday' => 'Fri',
 'advproxy from' => 'From',
 'advproxy group access control' => 'Group based access control',
 'advproxy off' => 'Proxy off',
 'advproxy offline mode' => 'Enable offline mode',
 'advproxy on' => 'Proxy on',
-'advproxy privacy' => 'Privacy',
 'advproxy proxy port' => 'Proxy port',
 'advproxy proxy port transparent' => 'Transparent port',
 'advproxy ram cache size' => 'Memory cache size (MB)',
 'and' => 'And',
 'ansi t1.483' => 'TO BE REMOVED',
 'apcupsd' => 'APC-UPS status',
-'application layer gateways' => 'Application Layer Gateways',
 'apply' => 'Apply now',
 'april' => 'April',
 'archive not exist' => 'Configuration archive does not exist',
 'authentication' => 'Authentication:',
 'automatic' => 'Automatic',
 'autonomous system' => 'Autonomous System',
+'available' => 'available',
 'available updates' => 'Available updates',
 'average' => 'Average',
 'avoid dod' => 'Do not use this option with Dial on Demand! Mainly used if your IPFire is behind a router. Your RED IP must be inside one of the three reserved network numbers e.g. 10/8, 172.16/12, 192.168/16',
 'downlink speed' => 'Downlink speed (kbit/sec)',
 'downlink std class' => 'downlink standard class',
 'download' => 'download',
+'download apple profile' => 'Download Apple Configuration Profile',
 'download ca certificate' => 'Download CA certificate',
 'download certificate' => 'Download file',
 'download dh parameter' => 'Download Diffie-Hellman parameters',
 'every' => 'Every',
 'exampel' => 'example',
 'exclude logfiles' => 'Exclude logfiles',
-'excluding buffers and cache' => '-/+ buffers/cache',
 'expected' => 'Expected',
 'expertoptions' => 'Expert options',
 'expires' => 'Expires',
 'ipinfo' => 'IP info',
 'ipsec' => 'IPsec',
 'ipsec connection' => 'IPsec Connection',
+'ipsec dns server address is invalid' => 'Invalid DNS server IP address(es)',
 'ipsec interface mode gre' => 'GRE',
 'ipsec interface mode none' => '- None (Default) -',
 'ipsec interface mode vti' => 'VTI',
+'ipsec invalid ip address or fqdn for rw endpoint' => 'Invalid IP address or FQDN for Host-to-Net Endpoint',
 'ipsec mode transport' => 'Transport',
 'ipsec mode tunnel' => 'Tunnel',
 'ipsec network' => 'IPsec network',
 'ipsec no connections' => 'No active IPsec connections',
+'ipsec roadwarrior endpoint' => 'Host-to-Net Endpoint',
 'ipsec routing table entries' => 'IPsec Routing Table Entries',
 'ipsec settings' => 'IPsec Settings',
 'iptable rules' => 'IPTable rules',
index c9a7496bc0b662cdfb36ae857c5535341a83b4a0..1080afdead08052439b701af9afd4d57eaf84a1f 100644 (file)
 'advproxy errmsg time restriction' => 'Restricción de tiempo no válida',
 'advproxy error design' => 'Diseño de mensajes de error',
 'advproxy error language' => 'Idioma de Mensajes de error',
-'advproxy fake referer' => 'Referer falso enviado a sitios externos',
-'advproxy fake useragent' => 'Useragent falso enviado a sitios externos',
 'advproxy friday' => 'Vie',
 'advproxy from' => 'De',
 'advproxy hdd cache size' => 'Tamaño del caché en disco duro (MB)',
 'advproxy off' => 'Proxy Apagado',
 'advproxy offline mode' => 'Activar modo fuera de línea',
 'advproxy on' => 'Proxy Encendido',
-'advproxy privacy' => 'Privacidad',
 'advproxy proxy port' => 'Puerto del proxy',
 'advproxy ram cache size' => 'Tamaño de memoria caché',
 'advproxy redirector children' => 'Número de procesos filtrados',
 'every' => 'Cada',
 'exampel' => 'ejemplo',
 'exclude logfiles' => 'Excluir archivos de registro',
-'excluding buffers and cache' => '-/+ buffers/cache',
 'expected' => 'Esperado',
 'expertoptions' => 'Opciones expertas',
 'expires' => 'Expira',
index 30110947724660c92aeea192bc01193fc972dbdf..1b6d30111919de5235ef9052c340fce84e10f595 100644 (file)
 'advproxy errmsg wpad invalid ip or mask' => 'WPAD : IP ou sous-réseau invalide pour le sous-réseau IP exclu',
 'advproxy error design' => 'Construction messages erronés ',
 'advproxy error language' => 'Langage des messages erronés ',
-'advproxy fake referer' => 'Fausses références soumises aux sites externes ',
-'advproxy fake useragent' => 'Faux useragent soumis aux sites externes ',
 'advproxy friday' => 'Ven',
 'advproxy from' => 'De',
 'advproxy group access control' => 'Contrôle d\'accès basé sur le groupe',
 'advproxy off' => 'Proxy inactif',
 'advproxy offline mode' => 'Autoriser le mode hors connexion ',
 'advproxy on' => 'Proxy actif',
-'advproxy privacy' => 'Privé',
 'advproxy proxy port' => 'Port proxy ',
 'advproxy proxy port transparent' => 'Port transparent ',
 'advproxy ram cache size' => 'Taille cache mémoire (Mo) ',
 'alt vpn' => 'VPNs',
 'and' => 'Et',
 'apcupsd' => 'Statut UPS-APC',
-'application layer gateways' => 'Passerelles de couche d\'application',
 'apply' => 'Appliquer maintenant',
 'april' => 'Avril',
 'archive not exist' => 'L\'archive de configuration n\'existe pas',
 'every' => 'Chaque',
 'exampel' => 'exemple',
 'exclude logfiles' => 'Exclure les fichiers journaux',
-'excluding buffers and cache' => '-/+ buffers/tampon',
 'expected' => 'Attendu',
 'expertoptions' => 'Réglages avancés',
 'expires' => 'Expire',
index e82ecfd3549f0b88c50199c915e8431ee24874e0..e9bd157a30e523f5c0454489c1dd7b5042ef33b2 100644 (file)
 'advproxy errmsg time restriction' => 'Invalid time restriction',
 'advproxy error design' => 'Design dei messaggi di errore',
 'advproxy error language' => 'Lingua dei messaggi di errore',
-'advproxy fake referer' => 'Fake referer submitted to external sites',
-'advproxy fake useragent' => 'Fake useragent submitted to external sites',
 'advproxy friday' => 'Ven',
 'advproxy from' => 'Da',
 'advproxy hdd cache size' => 'Harddisk cache size (MB)',
 'advproxy off' => 'Proxy off',
 'advproxy offline mode' => 'Attiva modalit&agrave; offline',
 'advproxy on' => 'Proxy Acceso',
-'advproxy privacy' => 'Privacy',
 'advproxy proxy port' => 'Porta Proxy',
 'advproxy proxy port transparent' => 'Porta Transparente',
 'advproxy ram cache size' => 'Dimensione della Memoria di cache (MB)',
 'every' => 'Ogni',
 'exampel' => 'esempio',
 'exclude logfiles' => 'Escludi File di log',
-'excluding buffers and cache' => '-/+ buffers/cache',
 'expected' => 'Expected',
 'expertoptions' => 'Expert options',
 'expires' => 'Scade',
index 55927839ea4f103dd85e190a11b2fe5043a289d0..d607e4f89e288e74450e7546233840e2b0c7c993 100644 (file)
 'advproxy errmsg time restriction' => 'Ongeldige tijdsbeperking',
 'advproxy error design' => 'Opmaak foutmeldingen',
 'advproxy error language' => 'Taal foutmeldingen',
-'advproxy fake referer' => 'Nepverwijzing die wordt gestuurd naar externe sites',
-'advproxy fake useragent' => 'Nep useragent die wordt gestuurd naar externe sites',
 'advproxy friday' => 'Vri',
 'advproxy from' => 'Van',
 'advproxy hdd cache size' => 'Harddisk cache-grootte (MB)',
 'advproxy off' => 'Proxy uit',
 'advproxy offline mode' => 'Schakel offline modus in',
 'advproxy on' => 'Proxy aan',
-'advproxy privacy' => 'Privacy',
 'advproxy proxy port' => 'Proxy poort',
 'advproxy proxy port transparent' => 'Transparante poort',
 'advproxy ram cache size' => 'Geheugen cache-grootte (MB)',
 'every' => 'Iedere',
 'exampel' => 'voorbeeld',
 'exclude logfiles' => 'Exclusief logbestanden',
-'excluding buffers and cache' => '-/+ buffers/cache',
 'expected' => 'Verwacht',
 'expertoptions' => 'Expertopties',
 'expires' => 'Verloopt',
index 147db051cc4060f5bf4cb6fd1b7d0d295b4b26b3..a44f43fa446e67b0790b9fb46a8b135c7aac31c1 100644 (file)
 'advproxy errmsg time restriction' => 'Niepoprawne ograniczenia czase',
 'advproxy error design' => 'Styl komunikatów o błędach',
 'advproxy error language' => 'Język komunikatów o błędach',
-'advproxy fake referer' => 'Fake referer submitted to external sites',
-'advproxy fake useragent' => 'Fake useragent submitted to external sites',
 'advproxy friday' => 'Pią',
 'advproxy from' => 'Od',
 'advproxy hdd cache size' => 'Rozmiar cache na dysku (MB)',
 'advproxy off' => 'Proxy wyłączone',
 'advproxy offline mode' => 'Włącz tryb offline',
 'advproxy on' => 'Proxy wł',
-'advproxy privacy' => 'Prywatność',
 'advproxy proxy port' => 'Port proxy',
 'advproxy ram cache size' => 'Rozmiar RAM cache (MB)',
 'advproxy redirector children' => 'Liczba procesów filtrujących',
 'every' => 'Każdy',
 'exampel' => 'przykład',
 'exclude logfiles' => 'Wyklucz pliki z logami',
-'excluding buffers and cache' => '-/+ buffers/cache',
 'expected' => 'Oczekiwano',
 'expertoptions' => 'Opcje zaawans.',
 'expires' => 'Wygasa',
index 0d986135d5c9f527e1af50039c62ca9609146d07..c0342eb253828719f9438a0fd4f5fb04d6f46daf 100644 (file)
 'advproxy errmsg time restriction' => 'Неверное ограничение по времени',
 'advproxy error design' => 'Оформление ошибок',
 'advproxy error language' => 'Язык, на котором отображаются ошибки',
-'advproxy fake referer' => 'Липовый referer Для внешних сайтов',
-'advproxy fake useragent' => 'Липовый useragent для внешних сайтов',
 'advproxy friday' => 'Пт',
 'advproxy from' => 'C',
 'advproxy hdd cache size' => 'Размер кэша жёсткого диска (MB)',
 'advproxy off' => 'Proxy выкл',
 'advproxy offline mode' => 'Включить автономный режим',
 'advproxy on' => 'Proxy вкл',
-'advproxy privacy' => 'Приватность',
 'advproxy proxy port' => 'Порт Proxy',
 'advproxy ram cache size' => 'Размер памяти кэша (MB)',
 'advproxy redirector children' => 'Количество фильтруемых процессов',
 'every' => 'Каждый',
 'exampel' => 'пример',
 'exclude logfiles' => 'Исключить файлы логов',
-'excluding buffers and cache' => '-/+ buffers/cache',
 'expected' => 'Ожидается',
 'expertoptions' => 'Экспортировать настройки',
 'expires' => 'Истекает',
index 36c4782d67b6f207d0509cb99a732d82b2b5552c..f90bee0ea7ae35fab8eeba3bd9369ea0ac63ee1b 100644 (file)
 'advproxy errmsg time restriction' => 'Geçersiz zaman kısıtlaması',
 'advproxy error design' => 'Hata mesajları tasarımı',
 'advproxy error language' => 'Hata mesajları dili',
-'advproxy fake referer' => 'Sahte referansı harici sitelere gönder',
-'advproxy fake useragent' => 'Sahte yönlendiriciyi harici sitelere gönder',
 'advproxy friday' => 'Cum',
 'advproxy from' => 'Başlangıç',
 'advproxy group access control' => 'Grup tabanlı erişim kontrolü',
 'advproxy off' => 'Vekil sunucu kapalı',
 'advproxy offline mode' => 'Çevrimdışı yöntemi aktifleştir',
 'advproxy on' => 'Vekil sunucu',
-'advproxy privacy' => 'Gizlilik',
 'advproxy proxy port' => 'Vekil sunucu bağlantı noktası',
 'advproxy proxy port transparent' => 'Şeffaf bağlantı noktası',
 'advproxy ram cache size' => 'Bellek önbellek boyutu (MB)',
 'and' => 've',
 'ansi t1.483' => 'KALDIRILACAK',
 'apcupsd' => 'APC-UPS durumu',
-'application layer gateways' => 'Uygulama Katmanı Ağ Geçitleri',
 'apply' => 'Şimdi uygula',
 'april' => 'Nisan',
 'archive not exist' => 'Yapılandırma arşivi yok',
 'every' => 'Her',
 'exampel' => 'örnek',
 'exclude logfiles' => 'Günlük dosyaları hariç',
-'excluding buffers and cache' => '-/+ arabellek/önbellek',
 'expected' => 'Beklenen',
 'expertoptions' => 'Uzman seçenekleri',
 'expires' => 'Bitiş tarihi',
index 98df1d0ecd120c79bff90930ae39db91be3f6e39..d6c46d25e27181ffab79ed4b2cc7d5de93b50d15 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.34
+VER        = 2.46
 
 THISAPP    = XML-Parser-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 84d9e0001fe01c14867256c3fe115899
+$(DL_FILE)_MD5 = 80bb18a8e6240fcf7ec2f7b57601c170
 
 install : $(TARGET)
 
index 772ac6018fe2450f16592d365eb8ade0c8f6787b..ff9de7eb7cd2c9618eb5a54bbe170e4fdf35a7b6 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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,7 +25,7 @@
 
 include Config
 
-VER        = 2.4.46
+VER        = 2.4.48
 
 THISAPP    = httpd-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7d661ea5e736dac5e2761d9f49fe8361
+$(DL_FILE)_MD5 = a7088cec171b0d00bf43394ce64d3909
 
 install : $(TARGET)
 
diff --git a/lfs/asterisk b/lfs/asterisk
deleted file mode 100755 (executable)
index 6651ba1..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-include Config
-
-VER        = 13.18.5
-
-THISAPP    = asterisk-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = asterisk
-PAK_VER    = 26
-
-DEPS       = libsrtp opus
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE) \
-       asterisk-1.4-de-prompts.tar.gz \
-       asterisk-extra-sounds-en-gsm-1.5.1.tar.gz \
-       asterisk-moh-opsound-gsm-2.03.tar.gz 
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-asterisk-extra-sounds-en-gsm-1.5.1.tar.gz = $(URL_IPFIRE)/asterisk-extra-sounds-en-gsm-1.5.1.tar.gz
-asterisk-moh-opsound-gsm-2.03.tar.gz = $(URL_IPFIRE)/asterisk-moh-opsound-gsm-2.03.tar.gz
-asterisk-1.4-de-prompts.tar.gz = $(URL_IPFIRE)/asterisk-1.4-de-prompts.tar.gz
-
-$(DL_FILE)_MD5 = 4ad2a5ab1dd12cba5f37fca52961aa2a
-asterisk-extra-sounds-en-gsm-1.5.1.tar.gz_MD5 = aa1003ed984239f18e123decc39c2178
-asterisk-moh-opsound-gsm-2.03.tar.gz_MD5 = 09066f55f1358f298bc1a6e4678a3ddf
-asterisk-1.4-de-prompts.tar.gz_MD5 = 626a2b95071a5505851e43874dfbfd5c
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       $(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       $(UPDATE_AUTOMAKE)
-
-       # configure asterisk
-       cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire \
-               --without-oss \
-               --without-sdl \
-               --without-SDL_image \
-               --without-netsnmp \
-               --without-avcodec \
-               --without-vorbis \
-               --without-ogg \
-               --disable-xmldoc
-
-       # enable additional features (include following sound-tars)
-       cd $(DIR_APP) && make menuselect.makeopts && menuselect/menuselect \
-               --enable res_srtp \
-               --enable EXTRA-SOUNDS-EN-GSM \
-               --enable MOH-OPSOUND-GSM  \
-               --disable BUILD_NATIVE \
-               menuselect.makeopts
-
-       # add additional sounds
-       cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-extra-sounds-en-gsm-1.5.1.tar.gz $(DIR_APP)/sounds/
-       cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-moh-opsound-gsm-2.03.tar.gz $(DIR_APP)/sounds/
-
-       # Fix wrong cpu optimization (march=armv5tel)
-       cd $(DIR_APP) && sed -i -e "s|^PROC=armv5te.*|PROC=armv5te|g" makeopts
-
-       # Add armv5te to gsm codecs
-       cd $(DIR_APP) && sed -i -e "s|armv5b |*armv5te |g" codecs/gsm/Makefile
-
-       # compile and install
-       cd $(DIR_APP) && make $(MAKETUNING) all
-       cd $(DIR_APP) && make install
-       cd $(DIR_APP) && make samples
-
-       # add german sounds and remove README.txt
-       tar xfz $(DIR_DL)/asterisk-1.4-de-prompts.tar.gz -C /var/lib/asterisk/sounds/
-       -rm -f /var/lib/asterisk/sounds/README.txt
-
-       # remove build directories
-       @rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-*
-
-       # copy additional ipfire scripts for asterisk
-       -mkdir -p /var/ipfire/asterisk
-       cp -vrf $(DIR_SRC)/config/asterisk/* /var/ipfire/asterisk/
-       chmod o+w /var/ipfire/asterisk
-       chown nobody:nobody -R /var/ipfire/asterisk
-       chown nobody:nobody -R /var/lib/asterisk
-
-       # remember backup-location
-       install -v -m 644 $(DIR_SRC)/config/backup/includes/asterisk /var/ipfire/backup/addons/includes/asterisk
-
-       # Logrotate
-       mkdir -pv /etc/logrotate.d
-       install -v -m 644 $(DIR_SRC)/config/asterisk/asterisk.logrotate /etc/logrotate.d/asterisk   
-
-       # generate softlink (or asterisk will not work properly)
-       ln -sf /var/ipfire/asterisk /etc/asterisk
-
-       #install initscripts
-       $(call INSTALL_INITSCRIPT,asterisk)
-
-       # make asterisk start with reboot
-       ln -sf /etc/rc.d/init.d/asterisk /etc/rc.d/rc0.d/K30asterisk
-       ln -sf /etc/rc.d/init.d/asterisk /etc/rc.d/rc6.d/K30asterisk
-       ln -sf /etc/rc.d/init.d/asterisk /etc/rc.d/rc3.d/S30asterisk
-
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 2ed13dd4440217aadff28723a4166701ca04782b..4b2b79ded006029db20ab1a6c348d61098f501c7 100644 (file)
--- a/lfs/avahi
+++ b/lfs/avahi
@@ -88,7 +88,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --disable-qt5 \
                --disable-gtk \
                --disable-gtk3 \
-               --disable-pygtk \
                --disable-python \
                --disable-pygobject \
                --disable-python-dbus \
index 214894ad273b4e0e50974b1d52a776eb7df576cb..7b0baccadaf6b2cdee783ba0c758ca82d00db22e 100644 (file)
--- a/lfs/bash
+++ b/lfs/bash
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -91,9 +91,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash51-$$(printf "%03d" "$${i}") || exit 1; \
        done
 
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-paths-1.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-4.0-profile-1.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash-3.2-ssh_source_bash.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-paths-1.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-profile-1.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-3.2-ssh_source_bash.patch
 
        cd $(DIR_APP) && ./configure --prefix=$(PREFIX) $(CONFIGURE_OPTIONS)
        cd $(DIR_APP) && make $(MAKETUNING)
index c0c7c5ebfeb59a6c3dff784794016cb55cc9810a..0545066b712280deada0b62a9875603424552d5e 100644 (file)
--- a/lfs/bind
+++ b/lfs/bind
@@ -25,7 +25,7 @@
 
 include Config
 
-VER        = 9.11.29
+VER        = 9.11.32
 
 THISAPP    = bind-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 439d5491dfea08be032a1f9ca5a54faa
+$(DL_FILE)_MD5 = 0d029dd06ca60c6739c3189c999ef757
 
 install : $(TARGET)
 
index eed5384e4239641ee87cb499af9548f7d2618c62..f3c68a7c0523e4c60f4fdcf60396dcee5f5e93cc 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 20201221
+VER        = 20210611
 
 THISAPP    = ca-certificates
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
index 7ce6e7e7dd6c3896297426e8eee972718f500978..85ac8690c2483bf3a1a15b433fb9770f11ab309b 100644 (file)
--- a/lfs/cmake
+++ b/lfs/cmake
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.20.2
+VER        = 3.20.4
 
 THISAPP    = cmake-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = cd0e7735f1e51f30ee3b0844390a464a
+$(DL_FILE)_MD5 = 99e849c6910f1df027cc0365027fa19b
 
 install : $(TARGET)
 
index a3e474d700a4b2875b37dfcb78a21762d1a04ee0..c528bd6d967ab8101959b9437b27acdeca9955b3 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -55,7 +55,7 @@ $(TARGET) :
                        menu.d modem optionsfw \
                        ovpn patches pakfire portfw ppp private proxy/advanced/cre \
                        proxy/calamaris/bin qos/bin red remote sensors suricata time \
-                       updatexlrator/bin updatexlrator/autocheck urlfilter/autoupdate urlfilter/bin upnp vpn \
+                       updatexlrator/bin updatexlrator/autocheck urlfilter/autoupdate urlfilter/bin vpn \
                        wakeonlan wireless ; do \
                mkdir -p $(CONFIG_ROOT)/$$i; \
        done
@@ -69,7 +69,7 @@ $(TARGET) :
            isdn/settings mac/settings main/hosts main/routing main/security main/settings optionsfw/settings \
            ovpn/ccd.conf ovpn/ccdroute ovpn/ccdroute2 pakfire/settings portfw/config ppp/settings-1 ppp/settings-2 ppp/settings-3 ppp/settings-4 \
            ppp/settings-5 ppp/settings proxy/settings proxy/squid.conf proxy/advanced/settings proxy/advanced/cre/enable remote/settings qos/settings qos/classes qos/subclasses qos/level7config qos/portconfig \
-           qos/tosconfig suricata/settings upnp/settings vpn/config vpn/settings vpn/ipsec.conf \
+           qos/tosconfig suricata/settings vpn/config vpn/settings vpn/ipsec.conf \
            vpn/ipsec.secrets vpn/caconfig wakeonlan/clients.conf wireless/config wireless/settings; do \
            touch $(CONFIG_ROOT)/$$i; \
        done
@@ -138,11 +138,6 @@ $(TARGET) :
        cp $(DIR_SRC)/config/suricata/convert-snort     /usr/sbin/convert-snort
        cp $(DIR_SRC)/config/suricata/convert-ids-modifysids-file   /usr/sbin/convert-ids-modifysids-file
 
-       # Add conntrack helper default settings
-       for proto in AMANDA FTP H323 IRC PPTP SIP TFTP; do \
-               echo "CONNTRACK_$${proto}=off" >> $(CONFIG_ROOT)/optionsfw/settings; \
-       done
-
        # set converters executable
        chmod 755 /usr/sbin/convert-*
 
@@ -169,7 +164,7 @@ $(TARGET) :
        # Configroot permissions
        chown -R nobody:nobody $(CONFIG_ROOT)
        chown      root:root   $(CONFIG_ROOT)
-       for i in backup/ header.pl general-functions.pl graphs.pl lang.pl addon-lang/ langs/ ; do \
+       for i in backup/ *.pl addon-lang/ langs/ ; do \
             chown -R root:root $(CONFIG_ROOT)/$$i; \
        done
        chown -Rv root:root $(CONFIG_ROOT)/*/bin
index 63395ba2f8a5b616e0949310ad23007be598165b..18a740e6a43838d031b195df376aaead56cf011f 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -93,8 +93,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/coreutils-8.27-uname-1.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/coreutils-8.32-i18n-1.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/coreutils/coreutils-8.27-uname-1.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/coreutils/coreutils-8.32-i18n-1.patch
        # this is upstream and also fix the aarch64 build
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/coreutils/ls-restore-8.31-behavior-on-removed-directories.patch
        cd $(DIR_APP) && FORCE_UNSAFE_CONFIGURE=1 && ./configure $(CONFIGURE_OPTIONS)
index aedaaf92761c09821d67a09ae56da641d98b9a91..d00b5ccb254b4fe6d22bacd7cf414e24478b4982 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.28.8
+VER        = 1.28.9
 
 THISAPP    = cups-filters-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = cups-filters
-PAK_VER    = 5
+PAK_VER    = 6
 
 DEPS       = cups ghostscript
 
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 914fb53d31ff8500dc25d2e2c68ca5c1
+$(DL_FILE)_MD5 = 1ea8d0311463d4026f0f631a4843dec2
 
 install : $(TARGET)
 
@@ -85,7 +85,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                        --sysconfdir=/etc \
                        --localstatedir=/var \
                        --with-pdftops=hybrid \
-                       --disable-ijs \
                        --disable-mutool \
                        --disable-avahi
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
index cd4cc26d18a816bf12d4db7a78c1247cc72e9114..ae55d812e175d207c2ff413c688c4cc6e98aa340 100644 (file)
--- a/lfs/curl
+++ b/lfs/curl
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 7.76.1
+VER        = 7.77.0
 
 THISAPP    = curl-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 5296108646ca7f318b468a7a9d4a0eb2
+$(DL_FILE)_MD5 = 3cf78c539cae019cf96ba38571706e06
 
 install : $(TARGET)
 
@@ -75,7 +75,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --disable-ipv6 \
                --disable-static \
                --enable-threaded-resolver \
-               --with-ca-bundle=/etc/ssl/certs/ca-bundle.crt
+               --with-ca-bundle=/etc/ssl/certs/ca-bundle.crt \
+               --with-openssl
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index 03a702c07de6803bbf63bd8780d438d5efa04736..c90f0726ab2d5fbddd6a9b6f8ce9a596d3ca6468 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
 
 include Config
 
-VER        = 3.1
+VER        = 3.3
 
 THISAPP    = dmidecode-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7798f68a02b82358c44af913da3b6b42
+$(DL_FILE)_MD5 = afca949fd71a23dd39c4a3c9cd946dc0
 
 install : $(TARGET)
 check : $(patsubst %,$(DIR_CHK)/%,$(objects))
@@ -69,9 +69,10 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0005-nothing-should-go-into-usr-local.patch
-       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index 3c30b4213492c107e2fd136efe1610878c3bb2c6..b93a4fc36b0713dca285ebb86b7e72dce7a69dc7 100644 (file)
@@ -33,7 +33,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 SUP_ARCH   = x86_64
 PROG       = dnsdist
-PAK_VER    = 8
+PAK_VER    = 9
 
 DEPS       =
 
diff --git a/lfs/dpfhack b/lfs/dpfhack
deleted file mode 100644 (file)
index 4d1c158..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 0.12devel
-APP        = dpf
-THISAPP    = dpfhack-$(VER)
-DL_FILE    = $(THISAPP).tgz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(APP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = dpfhack
-PAK_VER    = 1
-
-DEPS       =
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 00473bb01d8da7c5967ecb19ca251ac2
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       $(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(PROG).patch
-       cd $(DIR_APP) && make 
-       cd $(DIR_APP) && cp Debug/libdpf.so /usr/lib && cp dpflib/dpf.h include/usbuser.h /usr/include
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 8c86c3b7627e44034bd72e9381058d6216b84dc4..6a6e9dabc5eca22396206b587c7bf35b43eb7fce 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.184
+VER        = 0.185
 
 THISAPP    = elfutils-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = elfutils
-PAK_VER    = 5
+PAK_VER    = 6
 
 DEPS       =
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 9e5af45255ff7dc413de073da2ceff04
+$(DL_FILE)_MD5 = 2b6e94c2eebc1f2194173e31bca9396e
 
 install : $(TARGET)
 
index 7dd0333dc33ee8960c0ff6a2269cc308e5a06d7e..6a895e9435b59b105ffe007cc05e940b0a1f29a9 100644 (file)
@@ -32,6 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = elinks
+PAK_VER    = 2
 
 DEPS       =
 
@@ -53,7 +54,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
-
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
index 9fb0d89738f0f3acafe0e92381fb5c742534c814..6775718440cb2e35e35f5fa3c8560b5906727199 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.16
+VER        = 5.12
 
 THISAPP    = ethtool-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7eee202accb86104adc8463a36a1a468
+$(DL_FILE)_MD5 = 11fcf0d0287c899fbcbdb48897fe2bab
 
 install : $(TARGET)
 
index 92c42bf825e5055b129c4ede09ebe3615a310550..7627447f3819160725f790daac5fc5aa562d1c30 100644 (file)
--- a/lfs/expat
+++ b/lfs/expat
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.3.0
+VER        = 2.4.1
 
 THISAPP    = expat-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 54ea624caca3f9003cebcab4f0a75c8f
+$(DL_FILE)_MD5 = 476cdf4b5e40280316fff36b2086a390
 
 install : $(TARGET)
 
index 2e6d1e94c9bdb68877969a1874acfe3cee798fec..7014cbc4c33f293eeb9dafd4dc90ad019f035090 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.1.12
+VER        = 2.2.0
 
 THISAPP    = fireinfo-v$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 40ada8f4eceeb69661d09e43308e5a6a
+$(DL_FILE)_MD5 = 34cd6041bf9b9882c2a356a47ad1e000
 
 install : $(TARGET)
 
@@ -70,15 +70,10 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo-Don-t-crash-when-proc-cpuinfo-doesn-t-have-any-infor.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo-Ignore-any-systems-with-ID-Default-string.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo-support-upstream-proxy-with-authentication.patch
-
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo-2.2.0-python-3.8.patch
        cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 0e967afa28c3055113889e285bf92a4d7e934a1d..ef3e46ad1844fec479f6e81ba9a922d74772090b 100644 (file)
--- a/lfs/flac
+++ b/lfs/flac
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.3.2
+VER        = 1.3.3
 
 THISAPP    = flac-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = flac
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = libogg
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 454f1bfa3f93cc708098d7890d0499bd
+$(DL_FILE)_MD5 = 26703ed2858c1fc9ffc05136d13daa69
 
 install : $(TARGET)
 
index 9fd9250553a5b848b0c693ad2c79fc67a1d5971c..9c6af5092ac9335d95fa124ec76d5282e23f15a5 100644 (file)
@@ -77,9 +77,9 @@ else
 endif
 
 # /boot:  128MB - OFFSET
-# /    : 1400 MB
+# /    : 1600 MB
 S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) )))
-S_ROOT := 2934784
+S_ROOT := 3354038
 
 ifeq "$(EFI)" "1"
  S_EFI = 65536 # 32 MB
index 5235348a5721f515c48f0e391d1e21ce0d2f69cf..99291527bb50519cf65bf052048c68ab9685c42a 100644 (file)
--- a/lfs/fuse
+++ b/lfs/fuse
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.10.3
+VER        = 3.10.4
 
 THISAPP    = fuse-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 75546f9070323b8ce69c2ed8ffff20c4
+$(DL_FILE)_MD5 = 55b87e9ed691c2fa698e491241985b4a
 
 install : $(TARGET)
 
index 66d5ffc8b0cffb714d4dfdef0b9a6d969c483979..522c542581aff38b227e046f23226e5a9840b81a 100644 (file)
--- a/lfs/glib
+++ b/lfs/glib
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.68.1
+VER        = 2.68.3
 
 THISAPP    = glib-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = bc9f2250be1f773bb17747d3b2e6a3ae
+$(DL_FILE)_MD5 = a3968c7510447f055fd2204ba947f80f
 
 install : $(TARGET)
 
index 07344a8c42b262a8aae836c4140232554c2c1afa..65db67b0cf41182ab014d350128862501e71900f 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.6.14
+VER        = 3.6.16
 
 THISAPP    = gnutls-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = bf70632d420e421baff482247f01dbfe
+$(DL_FILE)_MD5 = 5db1678931fa6bbd40beed235c6a0a37
 
 install : $(TARGET)
 
index 811c2f745e267e5ff6c246b66bc5f2196e12b780..972bb46c34323fef3b37f934725cfe3348c87e25 100644 (file)
--- a/lfs/grub
+++ b/lfs/grub
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -99,7 +99,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) $(DIR_APP_EFI) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.04-BootHole.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.02_disable_vga_fallback.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.02_disable_vga_fallback.patch
        cd $(DIR_APP) && autoreconf -vfi
 
        # Install unifont
index 1d9a2f29215b82187ce99334c09eee098c942314..245249031123785dd8a5c5ac1b75f028fce940a0 100644 (file)
@@ -33,7 +33,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 PROG       = guardian
-PAK_VER    = 23
+PAK_VER    = 24
 
 DEPS       = perl-inotify2 perl-Net-IP
 
index eeea99dbe5d8e959084a3b2e01236e2533131aa0..ae8bee05f1a0f804e763c1eb1a9654012e573f03 100644 (file)
--- a/lfs/gzip
+++ b/lfs/gzip
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.9
+VER        = 1.10
 
 THISAPP    = gzip-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -54,7 +54,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 9492c6ccb2239ff679a5475a7bb543ed
+$(DL_FILE)_MD5 = 691b1221694c3394f1c537df4eee39d3
 
 install : $(TARGET)
 
@@ -84,7 +84,6 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gzip-1.9-gnulib.patch
        cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
index f89326f4a457bb687cd1fc3571c6a708d47172c3..19a4b934008958fd567c3bd1d1368432a764b2c4 100644 (file)
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/hostap-$(VER)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = hostapd
-PAK_VER    = 55
+PAK_VER    = 56
 
 DEPS       =
 
index de7d26e1fc13d20c2df0edb7af2f043ac7bad58d..6f03612726b2ae3ef2b8a2cbf8572556c099b4ca 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
index 1aa57cabec856c342d1bb911235d3d136d36189a..b651693f7722048a5ff83bed1eec1ac11872e100 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 20201118
+VER        = 20210608
 
 THISAPP    = Intel-Linux-Processor-Microcode-Data-Files-microcode-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 6248f95036923c5982800e3f97e08bb8
+$(DL_FILE)_MD5 = 769cab71e957b83121a1f4a07f1c4409
 
 install : $(TARGET)
 
index ae692df7ad87f31b2915657614bf4b6982e3196e..01ed1fccd57c4eb2ce4f455d962e7c6207229173 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = s20160308
+VER        = 20210202
 
 THISAPP    = iputils-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = a3ff521e21a383f562c2f06472c5bca0
+$(DL_FILE)_MD5 = ba8f64ba70ac4717a1ae6746d452b3da
 
 install : $(TARGET)
 
@@ -70,9 +70,9 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && make ping tracepath
-       cd $(DIR_APP) && install -m 0755 ping /usr/bin
-       cd $(DIR_APP) && install -m 0755 tracepath /usr/bin
+       cd $(DIR_APP) && meson builddir -Dprefix=/usr
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
 
        # Allow execution of /usr/bin/ping by other users than "root"
        setcap cap_net_raw+ep /usr/bin/ping
index 39940a358a437f639e9486c7252f3425af332f16..7e8bbc2020b4d6b79459e5fd6cbe0ad2e5b6d8c2 100644 (file)
--- a/lfs/knot
+++ b/lfs/knot
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.0.4
+VER        = 3.0.7
 
 THISAPP    = knot-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = c0a546927ff50db153893de43758cb37
+$(DL_FILE)_MD5 = a7ac9e92989184437a45578d0e23990a
 
 install : $(TARGET)
 
diff --git a/lfs/lcd4linux b/lfs/lcd4linux
deleted file mode 100644 (file)
index 9121e6f..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 0.11.0-svn1200-dpf
-
-THISAPP    = lcd4linux-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/lcd4linux
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = lcd4linux
-PAK_VER    = 7
-
-DEPS       = dpfhack libmpdclient
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 5b76a26879849dbd52a5bcfda4107ea4
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       $(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       $(UPDATE_AUTOMAKE)
-       cd $(DIR_APP) && autoreconf -v -i
-       cd $(DIR_APP) && autoupdate -v configure.in
-       cd $(DIR_APP) && ./configure  --with-plugins=all,!qnaplog,!dbus --prefix=/usr
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-
-       #install initscripts
-       $(call INSTALL_INITSCRIPT,lcd4linux)
-
-       install -v -m 644 $(DIR_SRC)/config/backup/includes/lcd4linux /var/ipfire/backup/addons/includes/lcd4linux
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index fd131949dcca3cc738b47115f5f6adf1acb2b6db..610ff474b6ecd8ed5b50ded5574c5cf4328fc027 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.49
+VER        = 2.50
 
 THISAPP    = libcap-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b43ae3690fe4d2cb32e4d25c0983ecd3
+$(DL_FILE)_MD5 = 66a561afa81666236ff973544ff4e864
 
 install : $(TARGET)
 
@@ -70,12 +70,13 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libcap-2.50-install_capsh_again.patch
        # Prevent a static library from being installed
        cd $(DIR_APP) && sed -i '/install.*STALIBNAME/d' libcap/Makefile
        cd $(DIR_APP) && make GOLANG=no
        cd $(DIR_APP) && make install GOLANG=no
        rm -vf /lib/libcap.so
-       ln -svf /lib/libcap.so.2.49 /usr/lib/libcap.so
+       ln -svf /lib/libcap.so.2.50 /usr/lib/libcap.so
        chmod +x /lib/libcap.so.*
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index e03357d7ee0272e18a9d3ebcbee6ae257877f7c1..c28d071888c23ece11b1512785cdfd8b72f5434e 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 20210419-3.1
+VER        = 20210522-3.1
 
 THISAPP    = libedit-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = e288b8fe53bf0d096fb13847d4e0f640
+$(DL_FILE)_MD5 = 6ad9e9208daf031adf1ebc64441769e0
 
 install : $(TARGET)
 
index da684c771ff05c3fea8de25cbd33241af1364682..8f6b35c32cba302d904204d0974ca2e16a44768c 100644 (file)
@@ -80,7 +80,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 
        # Add patch for i586 to disable strong stack protector.
 ifeq "$(BUILD_ARCH)" "i586"
-       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libloc-0.9.3-perl-i586-regular-stack-protector.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libloc/libloc-0.9.3-perl-i586-regular-stack-protector.patch
 endif
 
        cd $(DIR_APP) && ./autogen.sh
diff --git a/lfs/libmicrohttpd b/lfs/libmicrohttpd
deleted file mode 100644 (file)
index 8c1cecd..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 0.9.73
-
-THISAPP    = libmicrohttpd-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = libmicrohttpd
-PAK_VER    = 3
-
-DEPS       =
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 2b15949b1633e4fa487e08cdcc97f0e3
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-
-       cd $(DIR_APP) && ./configure \
-               --prefix=/usr \
-               --libexecdir=/usr/lib/lighthttpd \
-               --enable-static=no \
-               --disable-nls \
-               --enable-gcc-hardening \
-               --enable-linker-hardening \
-               --disable-doc \
-               --disable-examples \
-               --disable-sendfile \
-               --enable-https
-
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 76687988685e511da4cd627e07c1465174cfdefe..15a7138dc6cbd26bb3ce7f4963347bbb12a57e6e 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.2.25
+VER        = 3.5.0
 
 THISAPP    = libnl-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 03f74d0cd5037cadc8cdfa313bbd195c
+$(DL_FILE)_MD5 = 74ba57b1b1d6f9f92268aa8141d8e8e4
 
 install : $(TARGET)
 
@@ -74,7 +74,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        $(UPDATE_AUTOMAKE)
-       cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc
+       cd $(DIR_APP) && ./configure \
+                       --prefix=/usr \
+                       --sysconfdir=/etc \
+                       --bindir=/usr/sbin \
+                       --disable-static
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index 76a1e6813d9401270f5595dc633dd5568dd37421..59a0a3fa18754c80c23e65e63f64a348d6e8704d 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.3.4
+VER        = 1.3.5
 
 THISAPP    = libogg-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = libogg
-PAK_VER    = 4
+PAK_VER    = 5
 
 DEPS       =
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = eadef24aad6e3e8379ba0d14971fd64a
+$(DL_FILE)_MD5 = 3178c98341559657a15b185bf5d700a5
 
 install : $(TARGET)
 
index 14ce62676b475cb79096a1e60cd54e7752f3321c..0cdc06e8fa478ec448805e11d3fa1ccba9bf934a 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.10.0
+VER        = 1.10.1
 
 THISAPP    = libpcap-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 8c12dc19dd7e0d02d2bb6596eb5a71c7
+$(DL_FILE)_MD5 = 28e17495004036567c2cc884b51eba45
 
 install : $(TARGET)
 
diff --git a/lfs/libsrtp b/lfs/libsrtp
deleted file mode 100644 (file)
index 25508f8..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 1.5.4
-THISAPP    = libsrtp-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = libsrtp
-PAK_VER    = 3
-
-DEPS       =
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 64a9580f86a9c3e1c4986e944e6a5a84
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       $(UPDATE_AUTOMAKE)
-       cd $(DIR_APP) && ./configure --prefix=/usr 
-       cd $(DIR_APP) && make uninstall && make $(MAKETUNING) shared_library
-       cd $(DIR_APP) && make install
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 4b99a6d1848767239eb16a3d8215112147897013..9c8a9ac9a4d4bf1a8aa323ef2c4358c69a36a359 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.0.23
+VER        = 1.0.24
 
 THISAPP    = libusb-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 1e29700f6a134766d32b36b8d1d61a95
+$(DL_FILE)_MD5 = 5bc27df16155302f308d409e73589872
 
 install : $(TARGET)
 
index aac92b5ba59ba7947ef14e0ca8eb032356d5c82c..79edc5fb6fd5167b7d4e7c542b39ba2cdc0283e7 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.4.20
+VER        = 4.4.22
 
 THISAPP    = libxcrypt-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 3b87214308d9a48991fcf2b0aee5649e
+$(DL_FILE)_MD5 = 6e4f363d86f99562d012c47e7f024618
 
 install : $(TARGET)
 
index 9f7152573b52030cde99b46bc3a57766a3b7643d..08383f6803c5ed1ea69fba3db4f937de9fb58e34 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 20200519
+VER        = 20210511
 
 THISAPP    = linux-firmware-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7ea1c59732569a01ec8b0e6a412a314c
+$(DL_FILE)_MD5 = 3c024cca702aa71fe24fc374c53581fa
 
 install : $(TARGET)
 
@@ -72,10 +72,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        mkdir -p /lib/firmware
        cd $(DIR_APP) && make install
-       # Remove Space from Filenames
-       mv "/lib/firmware/brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt" \
-          "/lib/firmware/brcm/brcmfmac43430a0-sdio.ONDA-V80_PLUS.txt"
-       mv "/lib/firmware/brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt" \
-          "/lib/firmware/brcm/brcmfmac43455-sdio.MINIX-NEO_Z83-4.txt"
+
+       # Remove any spaces in filenames
+       while read -r file; do \
+               mv "$${file}" "$${file// /_}" || exit 1; \
+       done < <(find /lib/firmware -name "* *")
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/miniupnpd b/lfs/miniupnpd
deleted file mode 100644 (file)
index c09ecab..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 1.9
-
-THISAPP    = miniupnpd-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = miniupnpd
-PAK_VER    = 3
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 9151502f84f130b0ef1245ac938c33f9
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist:
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && make -f Makefile.linux \
-               CFLAGS="$(CFLAGS) -DIPTABLES_143" LIBS="-lip4tc -lnfnetlink"
-       cd $(DIR_APP) && install -m 755 miniupnpd /usr/sbin
-       -mkdir -pv /etc/miniupnpd
-       cp -vf $(DIR_SRC)/config/miniupnpd/miniupnpd.conf /etc/miniupnpd/miniupnpd.conf
-
-       #install initscripts
-       $(call INSTALL_INITSCRIPT,miniupnpd)
-
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
diff --git a/lfs/motion b/lfs/motion
deleted file mode 100644 (file)
index 4197fd1..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 4.3.0
-
-THISAPP    = motion-Release-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-
-PROG       = motion
-PAK_VER    = 3
-DEPS       = ffmpeg libmicrohttpd
-
-CFLAGS    += -fcommon
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 297aab6ec3de74ce1a0d2b1711ac9062
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
-       #Install obsolete V4L1 videodev.h
-       cp $(DIR_SRC)/config/include/obsolete_videodev.h /usr/include/linux/videodev.h
-
-       cd $(DIR_APP) && autoreconf -fiv
-
-       cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-       cp -vf $(DIR_SRC)/config/motion/motion.conf /etc
-       install -v -m 644 $(DIR_SRC)/config/backup/includes/motion \
-                        /var/ipfire/backup/addons/includes/motion
-
-       #Remove obsolete V4L1 videodev.h
-       rm -f /usr/include/linux/videodev.h
-
-       #install initscripts
-       $(call INSTALL_INITSCRIPT,motion)
-
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
diff --git a/lfs/mpd b/lfs/mpd
index 25e3630e6ef887d0ae42695e802d4cebf9a18076..0a8b533d8a236201a7f7672e9dfe8257aaf09606 100644 (file)
--- a/lfs/mpd
+++ b/lfs/mpd
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/${THISAPP}
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = mpd
-PAK_VER    = 21
+PAK_VER    = 22
 SUP_ARCH   = aarch64 x86_64 i586
 
 DEPS       = alsa avahi faad2 ffmpeg flac lame libmad libshout libogg libid3tag libvorbis opus soxr
@@ -91,7 +91,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                                -D ffmpeg=enabled       \
                                -D flac=enabled         \
                                -D lame=enabled         \
-                               -D upnp=enabled         \
+                               -D upnp=disabled        \
                                -D icu=disabled         \
                                builddir/
        cd $(DIR_APP) && ninja -C builddir/
index b8a6eec64371b8819dfea5b6894a964da0537df7..94fce614e77e102b3d2f7e146f66c0d948b21a93 100644 (file)
@@ -30,7 +30,7 @@ THISAPP    = mpfire-$(VER)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = mpfire
-PAK_VER    = 13
+PAK_VER    = 14
 
 DEPS       = mpd mpc
 
index 70d6056018c68922d4f6edc3062a4a6353f6d494..3bb7806aa47454ebf65552fcb932efb26badf371 100644 (file)
--- a/lfs/nano
+++ b/lfs/nano
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.7
+VER        = 5.8
 
 THISAPP    = nano-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = nano
-PAK_VER    = 37
+PAK_VER    = 38
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = c2d6540a33248edc31a5830861b4b4ea
+$(DL_FILE)_MD5 = d2249e3dd108c830df00efd7c1b79d86
 
 install : $(TARGET)
 
index 4b6cc4fa67e19831587d000636484c957e421ead..d8243e1d935f87a819a175f61f67341132b16207 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.8
+VER        = 5.9.1
 
 THISAPP    = net-snmp-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = netsnmpd
-PAK_VER    = 11
+PAK_VER    = 12
 
 DEPS       =
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 63bfc65fbb86cdb616598df1aff6458a
+$(DL_FILE)_MD5 = e5ee202dfb15000342354d64f1837d19
 
 install : $(TARGET)
 
index dfc3fdda5485e7b48c2a352faad3bbc256808b6b..02b117f9137e0b5066db005cc0cf7df4bb63c418 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.7.2
+VER        = 3.7.3
 
 THISAPP    = nettle-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 22849db27ed563ebbc829273f0c97e35
+$(DL_FILE)_MD5 = a60273d0fab9c808646fcf5e9edc2e8f
 
 install : $(TARGET)
 
index 3117e996c95aaded3f112738b87aca623a718a94..ced1a7db97039f5d2c5a9bf7b80fbb922b4f58e9 100644 (file)
@@ -84,7 +84,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && make install
 
        # install custom OpenSSH server configuration
-       install -v -m 644 $(DIR_SRC)/config/ssh/sshd_config \
+       install -v -m 600 $(DIR_SRC)/config/ssh/sshd_config \
                /etc/ssh/sshd_config
 
        # install custom OpenSSH client configuration
index 5e8789130e8cf5ef8c02c07ec3eed0bd882a6d78..01915d6a619c095a6e5211c7fcaaa605fd8949d4 100644 (file)
@@ -87,7 +87,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --without-pam \
                --without-gtk2 \
                --without-gtkmm \
-               --without-procps \
                --without-icu \
                --without-x \
                --with-linuxdir=/usr/src/linux \
diff --git a/lfs/pam b/lfs/pam
index daae2def3eab19af2c16e180cf7983f1da9db014..463ee71daf7d6c905cc8b4db4b77f63ad19b9832 100644 (file)
--- a/lfs/pam
+++ b/lfs/pam
@@ -74,7 +74,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && ./configure --libdir=/usr/lib \
                --sbindir=/lib/security \
                --enable-securedir=/lib/security \
-               --enable-docdir=/usr/share/doc/Linux-PAM-$(VER) \
                --enable-read-both-confs \
                --disable-nls
 
index c2042e9022ea69137ab0795882a00b817ded3f2e..fd9548a73ff0c8c3bd825b8e5487c8613ff2427a 100644 (file)
--- a/lfs/pcre2
+++ b/lfs/pcre2
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 10.36
+VER        = 10.37
 
 THISAPP    = pcre2-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -54,7 +54,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = a5d9aa7d18b61b0226696510e60c9582
+$(DL_FILE)_MD5 = a0b59d89828f62d2e1caac04f7c51e0b
 
 install : $(TARGET)
 
index e10a68eaf5f2f3d528e95f40c47eb85d19df31bb..25a781935957961755e6ce357d306e565518ccc3 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.44
+VER        = 4.53
 
 THISAPP    = CGI-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 2cbe560fdadbb8b9237744e39bbfc3eb
+$(DL_FILE)_MD5 = a0fe86a038de743ac45a0933daa2804f
 
 install : $(TARGET)
 
similarity index 94%
rename from lfs/fbset
rename to lfs/perl-Data-UUID
index ec3c2a63cb41d8d4fe664821cf1ce2521e96d156..e3eee182bc4bc75f1f7b42fa9e4b9a92ce6aa736 100644 (file)
--- a/lfs/fbset
@@ -24,9 +24,9 @@
 
 include Config
 
-VER        = 2.1
+VER        = 1.224
 
-THISAPP    = fbset-$(VER)
+THISAPP    = Data-UUID-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = e547cfcbb8c1a4f2a6b8ba4acb8b7164
+$(DL_FILE)_MD5 = 71510bbcce760c394591fca83a9b5e6d
 
 install : $(TARGET)
 
@@ -50,9 +50,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
-dist: 
-       @$(PAK)
-
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
@@ -73,7 +70,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && perl Makefile.PL
+       cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-       cp -f $(DIR_SRC)/config/fbset/fb.modes /etc/fb.modes
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 26e6d365a4d4512995274ee97d4dc1ae166404a6..fa5fae7a4138aeee10d8436a90e71f87e8b739d4 100644 (file)
@@ -23,7 +23,7 @@
 # Definitions
 ###############################################################################
 include Config
-VER        = 1.20
+VER        = 2.33
 
 THISAPP    = TimeDate-$(VER)
 DL_FILE    = ${THISAPP}.tar.gz
@@ -32,7 +32,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = perl-TimeDate
 DEPS       =
-PAK_VER    = 5
+PAK_VER    = 6
 
 ###############################################################################
 # Top-level Rules
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7da7452bce4c684e4238e6d09b390200
+$(DL_FILE)_MD5 = 5e5afe22c8d417417283d1f7f4572a57
 
 install : $(TARGET)
 
index 628704152b7df418abcc34a1f7c434a9e711db08..3735f7e69b3c2f8fd7e39c1f7edfa243a68e0988 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.5.9
+VER        = 3.6.1
 
 THISAPP    = postfix-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = postfix
-PAK_VER    = 29
+PAK_VER    = 31
 
 DEPS       =
 
@@ -66,7 +66,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = a4d1b2df03a500cf8f9759d5fca1c1f6
+$(DL_FILE)_MD5 = 85d1c2b06a469ba6cc61946c7042e40e
 
 install : $(TARGET)
 
similarity index 94%
rename from lfs/python-pyparsing
rename to lfs/python3-pyparsing
index f42e1ac9428aba7139b4eb948144bf0068fec182..45e960a2bc489467967ca2883457065273d3f61d 100644 (file)
 
 include Config
 
-VER        = 2.2.0
+VER        = 2.4.7
 
 THISAPP    = pyparsing-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = python-pyparsing
-PAK_VER    = 2
+PROG       = python3-pyparsing
+PAK_VER    = 3
 
 DEPS       =
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 0214e42d63af850256962b6744c948d9
+$(DL_FILE)_MD5 = f0953e47a0112f7a65aec2305ffdf7b4
 
 install : $(TARGET)
 
@@ -77,6 +77,6 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && python setup.py install
+       cd $(DIR_APP) && python3 setup.py install
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
similarity index 89%
rename from lfs/libupnp
rename to lfs/python3-setuptools
index 61856ff7b98cd0909f11949797f0ae8c3a3dda76..3c765d2a8f1ac320dad7751c7a898d2b20cbc7bd 100644 (file)
 
 include Config
 
-VER        = 1.14.6
+VER        = 56.2.0
 
-THISAPP    = libupnp-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+THISAPP    = setuptools-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = python3-setuptools
+PAK_VER    = 3
+
+DEPS       =
 
 ###############################################################################
 # Top-level Rules
@@ -40,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 05c2393eee4fbf81c9e1b116b9554039
+$(DL_FILE)_MD5 = e8caf0f129f585a887bb3cbb528149d1
 
 install : $(TARGET)
 
@@ -50,6 +54,9 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
 md5 : $(subst %,%_MD5,$(objects))
 
+dist: 
+       @$(PAK)
+
 ###############################################################################
 # Downloading, checking, md5sum
 ###############################################################################
@@ -69,10 +76,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       $(UPDATE_AUTOMAKE)
-       cd $(DIR_APP) && ./configure --prefix=/usr
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && python3 setup.py install
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 899a9d67d9d60125fcd4696beb7fb999dbc844bc..2aff1fc864513d3e9e268de90787c604f7a71357 100644 (file)
--- a/lfs/qpdf
+++ b/lfs/qpdf
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 10.3.0
+VER        = 10.3.2
 
 THISAPP    = qpdf-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 0e9918cfb9bb13c96b7cd0cffd401b3d
+$(DL_FILE)_MD5 = 29aaaf03e0f83b3527d1470f8391c876
 
 install : $(TARGET)
 
index dc87a3406e1759cd02fef5f4f922955c9ad0afbc..4b9915f402bad8dc259d6b3fe3155c4b2f1332f2 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 6.4
+VER        = 6.12
 
 THISAPP    = rng-tools-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 52a8243858503f94eecd4ae0983a9818
+$(DL_FILE)_MD5 = 17f2815263b6ce6a353625b1fe615346
 
 install : $(TARGET)
 
@@ -72,7 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rng-tools-6-Enable-RDRAND-for-i586-too.patch
        cd $(DIR_APP) && ./autogen.sh
-       cd $(DIR_APP) && ./configure --prefix=/usr
+       cd $(DIR_APP) && ./configure --prefix=/usr --without-pkcs11
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make $(EXTRA_INSTALL) install
        @rm -rf $(DIR_APP)
index 2e11ba7a900d4f98f3d0357f9926c76ddd511934..4c6ebddf67c62b0894d6bfed18bdd79a009db813 100644 (file)
--- a/lfs/samba
+++ b/lfs/samba
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = samba
-PAK_VER    = 79
+PAK_VER    = 80
 
 DEPS       = avahi cups libtirpc krb5 perl-Parse-Yapp
 
diff --git a/lfs/sane b/lfs/sane
deleted file mode 100644 (file)
index c932e99..0000000
--- a/lfs/sane
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 1.0.28
-
-THISAPP    = sane-$(VER)
-DL_FILE    = sane-backends-$(VER).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/sane-backends-$(VER)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-
-PROG       = sane
-PAK_VER    = 6
-
-DEPS       = avahi cups libtiff
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 02493493072769a1d4ad904d30f04e6b
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       $(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
-                                    --disable-ipv6 \
-                                    --enable-parport-directio \
-                                    --enable-avahi
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-
-       # Install configuration
-       cp -vf $(DIR_SRC)/config/sane/saned.conf /etc/sane.d/
-
-       #install initscripts
-       $(call INSTALL_INITSCRIPT,sane)
-
-       ln -sf ../init.d/sane /etc/rc.d/rc3.d/S95sane
-       ln -sf ../init.d/sane /etc/rc.d/rc0.d/K10sane
-       ln -sf ../init.d/sane /etc/rc.d/rc6.d/K10sane
-       install -v -m 644 $(DIR_SRC)/config/backup/includes/sane  \
-                       /var/ipfire/backup/addons/includes/sane
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 697ce75130dcddf906e95a019fc7af51deea68c6..6a8b52e6c4d465df7a4cf1d751fde7357571ec18 100644 (file)
--- a/lfs/sarg
+++ b/lfs/sarg
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.3.11
+VER        = 2.4.0
 
 THISAPP    = sarg-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = sarg
-PAK_VER    = 4
+PAK_VER    = 5
 
 DEPS       =
 
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 8e30d86b16597aec89ad401c72c761bc
+$(DL_FILE)_MD5 = 1b84509c1a0d55d46148bd957744870f
 
 install : $(TARGET)
 
@@ -81,14 +81,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        $(UPDATE_AUTOMAKE)
 
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/sarg/sarg-2.3.11-format.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/sarg/sarg-2.3.11-configure.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/sarg/sarg-2.4.0-format.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/sarg/sarg-2.4.0-configure.patch
 
        cd $(DIR_APP) && autoreconf -vfi
 
-       # Update gettext Makefile
-       cd $(DIR_APP) && cp -vf /usr/share/gettext/po/Makefile.in.in po/Makefile.in.in
-
        cd $(DIR_APP) && ./configure \
                --prefix=/usr \
                --sysconfdir=/etc/sarg
diff --git a/lfs/sendEmail b/lfs/sendEmail
deleted file mode 100644 (file)
index ea2345f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 1.56
-
-THISAPP    = sendEmail-v$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = sendEmail
-PAK_VER    = 2
-
-DEPS       =
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 5b7bec4373268fa6446fa59416bb99fb
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && cp -pvf sendEmail /usr/local/bin
-       chown root.root /usr/local/bin/sendEmail
-       chmod 755 /usr/local/bin/sendEmail
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
-
index 98f6a5ecaa7be9708c167c6120e9eec32318ce54..8428ce012a6acc95b72b68ba5b5b8d70b02b12be 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 7.1
+VER        = 7.2
 
 THISAPP    = smartmontools-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 430cd5f64caa4524018b536e5ecd9c29
+$(DL_FILE)_MD5 = e8d134c69ae4959a05cb56b31172ffb1
 
 install : $(TARGET)
 
diff --git a/lfs/sox b/lfs/sox
index f2d57a6ee74a58f78e28536cb21a78d24e940947..8388c57fcbb39fe91d645d0457b10b19da15b072 100644 (file)
--- a/lfs/sox
+++ b/lfs/sox
@@ -78,8 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        $(UPDATE_AUTOMAKE)
-       cd $(DIR_APP) && ./configure --prefix=/usr --disable-alsa-dsp --disable-oss-dsp \
-                               --disable-sun-audio --disable-mad
+       cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index ab6fbf99b4d6c35ad805927af63c8a43118b4ab0..9edd089617aeb3bb3f0f754222168195f3cf8502 100644 (file)
--- a/lfs/sudo
+++ b/lfs/sudo
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.9.7
+VER        = 1.9.7p1
 
 THISAPP    = sudo-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 1ed8b73ba56c9b05ed22681b7b92d1b2
+$(DL_FILE)_MD5 = 0ea3649ef66df80e6ecd04d45ea0f762
 
 install : $(TARGET)
 
index 86c54738d6e751bec8b8baa893db021af283203f..2fcac6d4caff15e340922070238751622ae4dbce 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.99.0
+VER        = 4.99.1
 
 THISAPP    = tcpdump-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = tcpdump
-PAK_VER    = 12
+PAK_VER    = 13
 
 DEPS       =
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b10aa2f497def7283bc060f626879ce5
+$(DL_FILE)_MD5 = 929a255c71a9933608bd7c31927760f7
 
 install : $(TARGET)
 
index aae90dab18231c207533d4f8b43c1ea883d60223..e55d38a27ec56aca60ace41b42a4992d42ba4712 100644 (file)
--- a/lfs/tmux
+++ b/lfs/tmux
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.1
+VER        = 3.2a
 
 THISAPP    = tmux-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = tmux
-PAK_VER    = 8
+PAK_VER    = 9
 
 DEPS       =
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 76c3ef9d40d2c1ade7a6cd7993b549ac
+$(DL_FILE)_MD5 = 61fba141303aeaf8d9a6931d247f2f4a
 
 install : $(TARGET)
 
diff --git a/lfs/tor b/lfs/tor
index 9d40be1cea86f11ece7f9002d705126a09dcc80f..97f2cf04ec227f3a3545f3ec77631c9acd1acaeb 100644 (file)
--- a/lfs/tor
+++ b/lfs/tor
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.4.5.8
+VER        = 0.4.6.5
 
 THISAPP    = tor-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = tor
-PAK_VER    = 60
+PAK_VER    = 62
 
 DEPS       = libseccomp
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = a39d9b930a19936b57f097051c0ad509
+$(DL_FILE)_MD5 = 5a678a32c5a8b4bf97c9cb541df22b71
 
 install : $(TARGET)
 
index a5762bf5dc555acf854e96eb406c55759bd5270c..d66a4b2e48cefc8482497c3026d0c275ed88fabd 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2020  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.6
+VER        = 2.7
 
 THISAPP    = vnstat-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = fe2928a81243cc8a532a357f97221736
+$(DL_FILE)_MD5 = fcf28cf5fdfbaab522f37b6431f327e1
 
 install : $(TARGET)
 
diff --git a/lfs/wio b/lfs/wio
index b65d244d6f8414517204a7d223dbf7a866c8ffbd..c54cd3f316fa63a3eca882901fbff86fc7ab24e6 100644 (file)
--- a/lfs/wio
+++ b/lfs/wio
@@ -15,7 +15,7 @@ THISAPP    = wio-$(VER)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = wio
-PAK_VER    = 12
+PAK_VER    = 13
 
 ###############################################################################
 # Top-level Rules
index 29aabc0d9be908ca27c12f202ace7f373ad32211..90a43d34d76b1a36a5f35fa5d81a9d0fed621369 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.11.0
+VER        = 5.12.0
 
 THISAPP    = xfsprogs-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -32,9 +32,6 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-CONFIGURE_OPTIONS = \
-       --enable-readline=yes
-
 ifeq "$(BUILD_ARCH)" "armv5tel"
        CONFIGURE_OPTIONS += \
                --enable-lto=no
@@ -48,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 803bcddd983803b339acfb76064dfd84
+$(DL_FILE)_MD5 = b401d76ccd66e4fdf3d123193e5e1b91
 
 install : $(TARGET)
 
index e19f1cbb51a6ebf3a57e0ac7c9914c8409b1a8a3..0cf2c10a41d7599d6eb6b93afd4419b981685d4a 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.4
+VER        = 1.5
 
 THISAPP    = zd1211-firmware-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 19f28781d76569af8551c9d11294c870
+$(DL_FILE)_MD5 = 3c182ceb9b2fc1d8442cd81c1280d83f
 
 install : $(TARGET)
 
index b3f20aba6bcf1208458875964a20755c5edb8188..20a6137a3c137517ef95ec03a0115a7d2e17231c 100644 (file)
 
 include Config
 
-VER        = 1.0.1
+VER        = 1.1.1
 
 THISAPP    = zerofree-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tgz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = a8c772fdd134448f25ab4e7e12004595
+$(DL_FILE)_MD5 = 4f2d6bdba4212e54eb7dd22a8fbb6d29
 
 install : $(TARGET)
 
index a4549557bc1dd6cc76925d66173d4864e2d4b08e..71f09ab403d044688bd7e046e37476a5d0150dfb 100644 (file)
--- a/lfs/zstd
+++ b/lfs/zstd
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.4.9
+VER        = 1.5.0
 
 THISAPP    = zstd-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = eb718b8aae0302cabe20f968e500534d
+$(DL_FILE)_MD5 = a6eb7fb1f2c21fa80030a47993853e92
 
 install : $(TARGET)
 
diff --git a/make.sh b/make.sh
index 4af0081e9440652cf46a65fdae754b899da5bc44..fc03ebcd5ccb8cb0bcec82ff59319f2040ae5d3a 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -26,7 +26,7 @@ NAME="IPFire"                                                 # Software name
 SNAME="ipfire"                                                 # Short name
 # If you update the version don't forget to update backupiso and add it to core update
 VERSION="2.25"                                                 # Version number
-CORE="157"                                                     # Core Level (Filename)
+CORE="158"                                                     # Core Level (Filename)
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
 MAX_RETRIES=1                                                  # prefetch/check loop
@@ -1300,13 +1300,13 @@ buildipfire() {
   lfsmake2 perl-Device-Modem
   lfsmake2 perl-Apache-Htpasswd
   lfsmake2 perl-Parse-Yapp
+  lfsmake2 perl-Data-UUID
   lfsmake2 gnupg
   lfsmake2 hdparm
   lfsmake2 sdparm
   lfsmake2 whatmask
   lfsmake2 libtirpc
   lfsmake2 conntrack-tools
-  lfsmake2 libupnp
   lfsmake2 ipaddr
   lfsmake2 iputils
   lfsmake2 l7-protocols
@@ -1345,6 +1345,7 @@ buildipfire() {
   lfsmake2 Crypt-PasswdMD5
   lfsmake2 Net-Telnet
   lfsmake2 python-setuptools
+  lfsmake2 python3-setuptools
   lfsmake2 python3-inotify
   lfsmake2 python3-docutils
   lfsmake2 python3-daemon
@@ -1451,16 +1452,14 @@ buildipfire() {
   lfsmake2 collectd
   lfsmake2 elinks
   lfsmake2 igmpproxy
-  lfsmake2 fbset
   lfsmake2 opus
-  lfsmake2 python-pyparsing
+  lfsmake2 python3-pyparsing
   lfsmake2 spice-protocol
   lfsmake2 spice
   lfsmake2 sdl
   lfsmake2 libusbredir
   lfsmake2 libseccomp
   lfsmake2 qemu
-  lfsmake2 sane
   lfsmake2 netpbm
   lfsmake2 netsnmpd
   lfsmake2 nagios_nrpe
@@ -1512,21 +1511,16 @@ buildipfire() {
   lfsmake2 perl-DBD-SQLite
   lfsmake2 perl-File-ReadBackwards
   lfsmake2 openvmtools
-  lfsmake2 libmicrohttpd
-  lfsmake2 motion
   lfsmake2 joe
   lfsmake2 monit
   lfsmake2 nut
   lfsmake2 watchdog
   lfsmake2 libpri
-  lfsmake2 libsrtp
-  lfsmake2 asterisk
   lfsmake2 usb_modeswitch
   lfsmake2 usb_modeswitch_data
   lfsmake2 zerofree
   lfsmake2 minicom
   lfsmake2 ddrescue
-  lfsmake2 miniupnpd
   lfsmake2 client175
   lfsmake2 powertop
   lfsmake2 parted
@@ -1552,8 +1546,6 @@ buildipfire() {
   lfsmake2 python3-msgpack
   lfsmake2 aws-cli
   lfsmake2 transmission
-  lfsmake2 dpfhack
-  lfsmake2 lcd4linux
   lfsmake2 mtr
   lfsmake2 minidlna
   lfsmake2 acpid
@@ -1564,7 +1556,6 @@ buildipfire() {
   lfsmake2 libstatgrab
   lfsmake2 sarg
   lfsmake2 nginx
-  lfsmake2 sendEmail
   lfsmake2 sysbench
   lfsmake2 strace
   lfsmake2 ltrace
index 4ef971f0433373c64fbc719fe24c632486b894bf..d2c6db4c0de4c62e3867f691c67f03473071a88d 100644 (file)
@@ -1,8 +1,8 @@
 #
 #      List of PCI ID's
 #
-#      Version: 2020.10.25
-#      Date:    2020-10-25 03:15:01
+#      Version: 2021.05.16
+#      Date:    2021-05-16 03:15:02
 #
 #      Maintained by Albert Pool, Martin Mares, and other volunteers from
 #      the PCI ID Project at https://pci-ids.ucw.cz/.
@@ -70,6 +70,8 @@
 018a  LevelOne
        0106  FPC-0106TX misprogrammed [RTL81xx]
 01de  Oxide Computer Company
+# probably misprogrammed Intel Atom C2338 on Dell 0K8Y0N board
+0200  Dell (wrong ID)
 # 021b is not Compaq but there is a board misprogrammed
 021b  Compaq Computer Corporation
        8139  HNE-300 (RealTek RTL8139c) [iPaq Networking]
                1000 3040  9210-8i
                1000 3080  9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA]
                1000 30b0  9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA]
+               1014 03ca  IBM 6Gb SAS HBA [9212-4i4e]
                1028 1f1c  6Gbps SAS HBA Adapter
                1028 1f1d  PERC H200 Adapter
                1028 1f1e  PERC H200 Integrated
                1d49 0200  ThinkSystem 430-8i SAS/SATA 12Gb HBA
                1d49 0202  ThinkSystem 430-8e SAS/SATA 12Gb HBA
                1d49 0204  ThinkSystem 430-8i SAS/SATA 12Gb Dense HBA
-# PCIe switch SES management endpoint
-       00b2  PEX880xx PCIe Gen 4 Switch SES management endpoint
+       00b2  PCIe Switch management endpoint
+               1d49 0003  ThinkSystem 1611-8P PCIe Gen4 NVMe Switch Adapter
        00be  SAS3504 Fusion-MPT Tri-Mode RAID On Chip (ROC)
        00bf  SAS3404 Fusion-MPT Tri-Mode I/O Controller Chip (IOC)
        00c0  SAS3324 PCI-Express Fusion-MPT SAS-3
                1d49 060e  ThinkSystem RAID 940-32i 8GB Flash PCIe Gen4 12Gb Adapter
                1d49 060f  ThinkSystem RAID 940-8e 4GB Flash PCIe Gen4 12Gb Adapter
        10e2  MegaRAID 12GSAS/PCIe Secure SAS39xx
+# 9560 16 internal port RAID controller
+               1000 4000  MegaRAID 9560-16i
+# 9560 8 internal port RAID controller
+               1000 4010  MegaRAID 9560-8i
+# 9580 8 internal & 8 external port RAID controller
+               1000 4020  MegaRAID 9580-8i8e
+# MegaRAID 9562-16i 9562 16 internal port RAID controller
+               1000 40b0  MegaRAID 9562-16i
                1028 1ae0  PERC H755 Adapter
                1028 1ae1  PERC H755 Front
                1028 1ae2  PERC H755N Front
                8086 0523  MegaRAID RAID Controller SRCS16
        3050  SAS2008 PCI-Express Fusion-MPT SAS-2
        6001  DX1 Multiformat Broadcast HD/SD Encoder/Decoder
+       c010  PEX88048 50 lane, 50 port, PCI Express Gen 4.0 ExpressFabric Platform
+       c012  PEX880xx PCIe Gen 4 Switch
+               1d49 0003  ThinkSystem 1611-8P PCIe Gen4 NVMe Switch Adapter
 1001  Kolter Electronic
        0010  PCI 1616 Measurement card with 32 digital I/O lines
        0011  OPTO-PCI Opto-Isolated digital I/O board
        1478  Navi 10 XL Upstream Port of PCI Express Switch
        1479  Navi 10 XL Downstream Port of PCI Express Switch
        154c  Kryptos [Radeon RX 350]
+               1462 7c28  MS-7C28 Motherboard
        154e  Garfield
        1551  Arlene
        1552  Pooky
        1561  Anubis
        15d8  Picasso
                103c 8615  Pavilion Laptop 15-cw1xxx
+               17aa 3181  ThinkCentre M75n IoT
                17aa 5124  ThinkPad E595
+               ea50 cc10  RXi2-BP
        15dd  Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series]
                103c 83c6  Radeon Vega 8 Mobile
+               1043 876b  PRIME Motherboard
                1458 d000  Radeon RX Vega 11
+               ea50 cc10  RXi2-BP
        15de  Raven/Raven2/Fenghuang HDMI/DP Audio Controller
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME B450M-A Motherboard
                17aa 5124  ThinkPad E595
+               ea50 cc10  RXi2-BP
        15df  Raven/Raven2/Fenghuang/Renoir Cryptographic Coprocessor
                103c 8615  Pavilion Laptop 15-cw1xxx
+               ea50 ce19  mCOM10-L1900
        15ff  Fenghuang [Zhongshan Subor Z+]
        1607  Arden
        1636  Renoir
+       1638  Cezanne
+       163f  VanGogh
+       164c  Lucienne
+       164d  Rembrandt
        1714  BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
                103c 168b  ProBook 4535s
        3150  RV380/M24 [Mobility Radeon X600]
                1179 ff50  Satellite P305D-S8995E
                1458 a022  GA-MA770-DS3rev2.0 Motherboard
                1458 a102  GA-880GMA-USB3
+               1462 7596  760GM-E51(MS-7596) Motherboard
                17f2 5000  KI690-AM2 Motherboard
        4384  SBx00 PCI to PCI Bridge
        4385  SBx00 SMBus Controller
                1179 ff50  Satellite P305D-S8995E
                1458 4385  GA-MA770-DS3rev2.0 Motherboard
                1462 7368  K9AG Neo2
+               1462 7596  760GM-E51(MS-7596) Motherboard
                15d9 a811  H8DGU
                174b 1001  PURE Fusion Mini
                17f2 5000  KI690-AM2 Motherboard
                1043 8389  M4A785TD Motherboard
                105b 0e13  N15235/A74MX mainboard / AMD SB700
                1458 b002  GA-MA770-DS3rev2.0 Motherboard
+               1462 7596  760GM-E51(MS-7596) Motherboard
                1849 4390  Motherboard (one of many)
        4391  SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
                103c 1609  ProLiant MicroServer N36L
                1043 8443  M5A88-V EVO
                105b 0e13  N15235/A74MX mainboard / AMD SB700
                1458 5004  GA-880GMA-USB3
+               1462 7596  760GM-E51(MS-7596) Motherboard
                15d9 a811  H8DGU
                174b 1001  PURE Fusion Mini
        4397  SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
                1043 8443  M5A88-V EVO
                105b 0e13  N15235/A74MX mainboard / AMD SB700
                1458 5004  GA-880GMA-USB3
+               1462 7596  760GM-E51(MS-7596) Motherboard
                15d9 a811  H8DGU
                174b 1001  PURE Fusion Mini
        4398  SB7x0 USB OHCI1 Controller
                1019 2120  A785GM-M
                1043 82ef  M3A78-EH Motherboard
                105b 0e13  N15235/A74MX mainboard / AMD SB700
+               1462 7596  760GM-E51(MS-7596) Motherboard
                15d9 a811  H8DGU
        4399  SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
                1019 2120  A785GM-M
                1043 8443  M5A88-V EVO
                105b 0e13  N15235/A74MX mainboard / AMD SB700
                1458 5004  GA-880GMA-USB3
+               1462 7596  760GM-E51(MS-7596) Motherboard
                174b 1001  PURE Fusion Mini
        439c  SB7x0/SB8x0/SB9x0 IDE Controller
                1002 4392  MSI MS-7713 motherboard
                103c 1609  ProLiant MicroServer N36L
                1043 82ef  M3A78-EH Motherboard
                105b 0e13  N15235/A74MX mainboard / AMD SB700
+               1462 7596  760GM-E51(MS-7596) Motherboard
        439d  SB7x0/SB8x0/SB9x0 LPC host controller
                1019 2120  A785GM-M
                103c 1609  ProLiant MicroServer N36L
                1043 82ef  M3A78-EH Motherboard
                1043 8443  M5A88-V EVO
                105b 0e13  N15235/A74MX mainboard / AMD SB700
+               1462 7596  760GM-E51(MS-7596) Motherboard
                174b 1001  PURE Fusion Mini
        43a0  SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
        43a1  SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1)
        5964  RV280 [Radeon 9200 SE]
                1002 5964  Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz
                1043 c006  Radeon 9200 SE / TD / 128M
-               1458 4018  Radeon 9200 SE
+               1458 4018  R92S128T (Radeon 9200 SE 128MB)
                1458 4032  Radeon 9200 SE 128MB
                147b 6191  R9200SE-DT
                148c 2073  CN-AG92E
                1002 5c63  Apple iBook G4 2004
                144d c00c  P30 notebook
        5d44  RV280 [Radeon 9200 SE] (Secondary)
-               1458 4019  Radeon 9200 SE (Secondary)
+               1458 4019  R92S128T (Radeon 9200 SE 128MB Secondary)
                1458 4032  Radeon 9200 SE 128MB
                147b 6190  R9200SE-DT (Secondary)
                174b 7c12  Radeon 9200 SE (Secondary)
        5e6d  RV410 [Radeon X700] (Secondary)
                148c 2117  Bravo X700 (Secondary)
        5f57  R423 [Radeon X800 XT]
-       6600  Mars [Radeon HD 8670A/8670M/8750M]
+       6600  Mars [Radeon HD 8670A/8670M/8750M / R7 M370]
                103c 1952  ProBook 455 G1
        6601  Mars [Radeon HD 8730M]
                103c 2100  FirePro M4100
        6607  Mars LE [Radeon HD 8530M / R5 M240]
        6608  Oland GL [FirePro W2100]
                13cc 3d28  MXRT-2600
-       6610  Oland XT [Radeon HD 8670 / R7 250/350]
+       6609  Oland GL [FirePro W2100 / Barco MXRT 2600]
+       6610  Oland XT [Radeon HD 8670 / R5 340X OEM / R7 250/350/350X OEM]
                1019 0030  Radeon HD 8670
+               1028 0081  Radeon R7 350X OEM
+               1028 0083  Radeon R5 340X OEM
                1028 2120  Radeon R7 250
                1028 2322  Radeon R7 250
                1462 2910  Radeon HD 8670
                1642 3c91  Radeon HD 8670
                1642 3f09  Radeon R7 350
        6611  Oland [Radeon HD 8570 / R5 430 OEM / R7 240/340 / Radeon 520 OEM]
+               1028 1001  Radeon R5 430 OEM (1024 MByte)
+               1028 1002  Radeon R5 430 OEM (2048 MByte)
+# The 'AMD Radeon R5 430' instead of 240/340 is NOT a typo! It's actually correct.
+               1028 1711  R5 430 OEM (2048 MByte)
                1028 210b  Radeon R5 240 OEM
+# OEM-card for Dell; verified through AMD's own drivers (*.inf) and a TPU BIOS in database
+               1028 2121  Radeon HD 8570 OEM
+# OEM-card from Fujitsu; verified through AMD's own drivers (*.inf)
+               10cf 1889  Radeon HD 8570 OEM
                1642 1869  Radeon 520 OEM
                174b 4248  Radeon R7 240 OEM
                174b a240  Radeon R7 240 OEM
        6667  Jet ULT [Radeon R5 M230]
        666f  Sun LE [Radeon HD 8550M / R5 M230]
        66a0  Vega 20 [Radeon Instinct]
-       66a1  Vega 20
+       66a1  Vega 20 WKS GL-XE [Radeon Pro VII]
        66a2  Vega 20
-       66a3  Vega 20
+       66a3  Vega 20 [Radeon Pro Vega II/Radeon Pro Vega II Duo]
        66a7  Vega 20 [Radeon Pro Vega 20]
        66af  Vega 20 [Radeon VII]
        6704  Cayman PRO GL [FirePro V7900]
                8086 2111  Radeon HD 6625M
        6743  Whistler [Radeon E6760]
        6749  Turks GL [FirePro V4900]
-               15c3 2b06  MED-X4900
+               15c3 2b06  MED-X4900 (EIZO)
        674a  Turks GL [FirePro V3900]
                13cc 3d22  MXRT-2500
                15c3 0106  MED-X3900
                174b 7670  Radeon HD 7670
                174b e181  Radeon HD 6670
                1787 2309  Radeon HD 6670
-       6759  Turks PRO [Radeon HD 6570/7570/8550]
+       6759  Turks PRO [Radeon HD 6570/7570/8550 / R5 230]
                103c 3130  Radeon HD 6570
                1043 0403  Radeon HD 6570
                1462 2500  Radeon HD 6570
                1642 3a67  Radeon HD 6570
                1682 3280  Radeon HD 7570
                1682 3530  Radeon HD 8550
+               1682 5230  Radeon R5 230 series
+               1682 6450  Radeon HD 6450 series
                174b 7570  Radeon HD 7570
+               174b 8550  Radeon HD8550 OEM
+               174b 8570  Radeon HD8550 OEM
                174b e142  Radeon HD 6570
                174b e181  Radeon HD 6570
+               1787 a230  Radeon R5 230 series
+               1787 a450  Radeon HD 6450 series
                1b0a 908f  Radeon HD 6570
                1b0a 9090  Radeon HD 6570
                1b0a 9091  Radeon HD 6570
                1043 04dd  STRIX R9 390
                148c 2358  Radeon R9 390
                174b e324  Sapphire Nitro R9 390
+       67b8  Hawaii XT [Radeon R9 290X Engineering Sample]
        67b9  Vesuvius [Radeon R9 295X2]
        67be  Hawaii LE
        67c0  Ellesmere [Radeon Pro WX 7100 Mobile]
                1462 3418  Radeon RX 580 Armor 4G OC
                1462 341b  Radeon RX 570 Armor 8G OC
                1462 341e  Radeon RX 570 Armor 4G OC
+               1462 809e  Radeon RX 480 4GB
                1462 8a92  Radeon RX 580
                148c 2372  Radeon RX 480 [Red Dragon]
                148c 2373  Radeon RX 470
 # https://www.techpowerup.com/vgabios/?manufacturer=Powercolor&model=RX+580
                148c 2378  Radeon RX 580
                148c 2379  Radeon RX 570 4G [Red Dragon]
+               148c 2391  Radeon RX 590 [Red Devil]
                1682 9470  Radeon RX 470
                1682 9480  Radeon RX 480
+               1682 9587  Radeon RX 590 FATBOY 8GB
                1682 9588  Radeon RX 580 XTR
                1682 c570  Radeon RX 570
                1682 c580  Radeon RX 580
                17aa 3643  Radeon R9 A375
                17aa 3801  Radeon R9 M275
                17aa 3824  Radeon R9 M375
+               1da2 e26a  Radeon R7 250
        6821  Venus XT [Radeon HD 8870M / R9 M270X/M370X]
                1002 031e  FirePro SX4000
                1028 05cc  FirePro M5100
        6864  Vega 10 [Radeon Pro V340]
        6867  Vega 10 XL [Radeon Pro Vega 56]
        6868  Vega 10 [Radeon PRO WX 8100/8200]
+       6869  Vega 10 XGA [Radeon Pro Vega 48]
+       686a  Vega 10 LEA
+       686b  Vega 10 XTXA [Radeon Pro Vega 64X]
        686c  Vega 10 [Radeon Instinct MI25 MxGPU]
+       686d  Vega 10 GLXTA
+       686e  Vega 10 GLXLA
        687f  Vega 10 XL/XT [Radeon RX Vega 56/64]
                1002 0b36  RX Vega64
                1002 6b76  RX Vega64
                1458 230c  Radeon RX VEGA 56 GAMING OC 8G
+               1da2 e376  Radeon RX VEGA 56 Pulse 8GB OC HBM2
        6880  Lexington [Radeon HD 6550M]
                103c 163c  Pavilion dv6 Radeon HD 6550M
        6888  Cypress XT [FirePro V8800]
                17af 3000  Radeon HD 6510
                17af 3010  Radeon HD 5630
        68da  Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570]
+               1462 8071  VR5550-MD1G (Radeon HD 5550)
                148c 3000  Radeon HD 6390
                148c 3001  Radeon HD 6490
                1545 7570  Radeon HD 7570
                148c 9380  Radeon R9 380
 # Make naming scheme consistent
                174b e308  Radeon R9 380 Nitro 4G D5
+               174b e315  Radeon R9 285
        693b  Tonga PRO GL [FirePro W7100 / Barco MXRT-7600]
        694c  Polaris 22 XT [Radeon RX Vega M GH]
        694e  Polaris 22 XL [Radeon RX Vega M GL]
        6985  Lexa XT [Radeon PRO WX 3100]
        6986  Polaris12
        6987  Lexa [Radeon 540X/550X/630 / RX 640 / E9171 MCM]
+       698f  Lexa XT [Radeon PRO WX 3100 / Barco MXRT 4700]
        6995  Lexa XT [Radeon PRO WX 2100]
        699f  Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
                1028 1720  Radeon RX 550X
                174b e329  Radeon R9 FURY
        7310  Navi 10 [Radeon Pro W5700X]
        7312  Navi 10 [Radeon Pro W5700]
+       7314  Navi 10 USB
        731f  Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
                1458 2313  Radeon RX 5700 XT Gaming OC
+               1682 5701  RX 5700 XT RAW II
+               1849 5120  Radeon RX 5600 XT
                1da2 e411  Radeon RX 5600 XT
        7340  Navi 14 [Radeon RX 5500/5500M / Pro 5500M]
        7341  Navi 14 [Radeon Pro W5500]
        7347  Navi 14 [Radeon Pro W5500M]
        734f  Navi 14 [Radeon Pro W5300M]
-       7360  Navi 12 [Radeon Pro 5600M]
-       73bf  Navi 21 [Radeon RX 6900 Series]
-       73c3  Navi 23
-       73df  Navi 22
+       7360  Navi 12 [Radeon Pro 5600M / V520]
+       7362  Navi 12 [Radeon Pro V520]
+       7388  Arcturus GL-XL
+       738c  Arcturus GL-XL [AMD Instinct MI100]
+       738e  Arcturus GL-XL
+       73a3  Navi 21 [Radeon PRO W6800]
+       73a4  Navi 21 USB
+       73af  Navi 21 [Radeon RX 6900 XT]
+       73bf  Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]
+               1eae 6701  XFX Speedster MERC 319 AMD Radeon RX 6800 XT Black
+       73c3  Navi 22
+       73c4  Navi 22 USB
+       73df  Navi 22 [Radeon RX 6700/6700 XT / 6800M]
+       73e0  Navi 23
+       73e1  Navi 23
+       73e4  Navi 23 USB
+       73ff  Navi 23 [Radeon RX 6600/6600 XT/6600M]
+       7408  Aldebaran
+       740c  Aldebaran
+       740f  Aldebaran
        7833  RS350 Host Bridge
        7834  RS350 [Radeon 9100 PRO/XT IGP]
        7835  RS350M [Mobility Radeon 9000 IGP]
        95cd  RV620 GL [FirePro 2450]
        95cf  RV620 GL [FirePro 2260]
        960f  RS780 HDMI Audio [Radeon 3000/3100 / HD 3200/3300]
+               1462 7596  760GM-E51(MS-7596) Motherboard
        9610  RS780 [Radeon HD 3200]
                1458 d000  GA-MA78GM-S2H Motherboard
        9611  RS780C [Radeon 3100]
        9614  RS780D [Radeon HD 3300]
        9615  RS780E [Radeon HD 3200]
        9616  RS780L [Radeon 3000]
+# ID is probably a copy-paste error by a MSI developer from another mainboard, since all other ID numbers on this mainboard including the sub-device of this device has used subsystem ID 1462:7596
+               1462 7501  760GM-E51(MS-7596) Motherboard
        9640  Sumo [Radeon HD 6550D]
        9641  Sumo [Radeon HD 6620G]
        9642  SuperSumo [Radeon HD 6370D]
        9809  Wrestler [Radeon HD 7310]
        980a  Wrestler [Radeon HD 7290]
        9830  Kabini [Radeon HD 8400 / R3 Series]
+               1043 8623  AM1I-A Motherboard
        9831  Kabini [Radeon HD 8400E]
        9832  Kabini [Radeon HD 8330]
                1849 9832  QC5000-ITX/PH
        9839  Kabini [Radeon HD 8180]
        983d  Temash [Radeon HD 8250/8280G]
        9840  Kabini HDMI/DP Audio
+               1043 8623  AM1I-A Motherboard
                1849 9840  QC5000-ITX/PH
        9850  Mullins [Radeon R3 Graphics]
        9851  Mullins [Radeon R4/R5 Graphics]
        ab10  Lexa HDMI Audio
        ab18  Vega 12 HDMI Audio
        ab20  Vega 20 HDMI Audio [Radeon VII]
+       ab28  Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT]
        ab38  Navi 10 HDMI Audio
        ac00  Theater 506 World-Wide Analog Decoder
        ac01  Theater 506 World-Wide Analog Decoder
                2646 0001  KNE100TX Fast Ethernet
        000a  21230 Video Codec
        000d  PBXGB [TGA2]
-       000f  DEFPA FDDI PCI-to-PDQ Interface Chip [PFI]
-               1011 def1  FDDI controller (DEFPA)
-               103c def1  FDDI controller (3X-DEFPA)
+       000f  PCI-to-PDQ Interface Chip [PFI] FDDI (DEFPA)
+               1011 def1  FDDIcontroller/PCI (DEFPA)
+               103c def1  FDDIcontroller/PCI (3X-DEFPA)
        0014  DECchip 21041 [Tulip Pass 3]
                1186 0100  DE-530+
-       0016  DGLPB [OPPO]
+       0016  ATMworks 350 Adapter [OPPO] (DGLPB)
        0017  PV-PCI Graphics Controller (ZLXp-L)
        0018  Memory Channel interface
        0019  DECchip 21142/43
        1450  Family 17h (Models 00h-0fh) Root Complex
        1451  Family 17h (Models 00h-0fh) I/O Memory Management Unit
        1452  Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge
+               ea50 ce19  mCOM10-L1900
        1453  Family 17h (Models 00h-0fh) PCIe GPP Bridge
        1454  Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B
        1455  Zeppelin/Renoir PCIe Dummy Function
        149b  Starship Reserved SSP
        149c  Matisse USB 3.0 Host Controller
                1462 7c37  X570-A PRO motherboard
+       149d  Vangogh CVIP
        1510  Family 14h Processor Root Complex
                174b 1001  PURE Fusion Mini
        1512  Family 14h Processor Root Port
        1534  Family 16h Processor Function 4
        1535  Family 16h Processor Function 5
        1536  Family 16h Processor Root Complex
+               1043 8623  AM1I-A Motherboard
                1849 1536  QC5000-ITX/PH
        1537  Kabini/Mullins PSP-Platform Security Processor
        1538  Family 16h Processor Function 0
        15be  Stoney Audio Processor
        15d0  Raven/Raven2 Root Complex
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME B450M-A Motherboard
        15d1  Raven/Raven2 IOMMU
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME B450M-A Motherboard
+               ea50 ce19  mCOM10-L1900
        15d2  Raven/Raven2 PCIe Dummy Host Bridge
        15d3  Raven/Raven2 PCIe GPP Bridge [6:0]
        15d4  FireFlight USB 3.1
        15d5  FireFlight USB 3.1
        15da  Raven/Raven2 PCIe Dummy Host Bridge
        15db  Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A
+               ea50 ce19  mCOM10-L1900
        15dc  Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus B
+               ea50 ce19  mCOM10-L1900
        15de  Raven/Raven2/FireFlight HD Audio Controller
        15df  Family 17h (Models 10h-1fh) Platform Security Processor
+               1043 876b  PRIME Motherboard
                17aa 5124  ThinkPad E595
+               ea50 ce19  mCOM10-L1900
        15e0  Raven USB 3.1
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME Motherboard
                17aa 5124  ThinkPad E595
+               ea50 ce19  mCOM10-L1900
        15e1  Raven USB 3.1
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME Motherboard
                17aa 5124  ThinkPad E595
+               ea50 ce19  mCOM10-L1900
        15e2  Raven/Raven2/FireFlight/Renoir Audio Processor
                17aa 5124  ThinkPad E595
        15e3  Family 17h (Models 10h-1fh) HD Audio Controller
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 86c7  PRIME B450M-A Motherboard
                17aa 5124  ThinkPad E595
        15e4  Raven/Raven2/Renoir Sensor Fusion Hub
        15e5  Raven2 USB 3.1
        1642  Renoir WLAN
        1643  Renoir BT
        1644  Renoir I2S
+       1648  VanGogh Root Complex
+       1649  VanGogh PSP/CCP
        1700  Family 12h/14h Processor Function 0
        1701  Family 12h/14h Processor Function 1
        1702  Family 12h/14h Processor Function 2
                4c53 1030  PC5 mainboard
                4c53 1040  CL7 mainboard
                4c53 1060  PC7 mainboard
-       2001  79c978 [HomePNA]
+# Via AMD's own technical reference on their Am79C978 NICs; https://www.amd.com/system/files/TechDocs/22206.pdf
+       2001  Am79C978 PCnet Home (HomePNA) 1/10 PCI Ethernet Adapter [Am79C971 PHY]
                1092 0a78  Multimedia Home Network Adapter
                1668 0299  ActionLink Home Network Adapter
        2003  Am 1771 MBW [Alchemy]
        2096  CS5536 [Geode companion] UDC
        2097  CS5536 [Geode companion] UOC
        209a  CS5536 [Geode companion] IDE
+       2625  Am79C973 [Lance/PCI PCNet/32]
+       2627  Am79C975 [Lance/PCI PCNet/32]
        3000  ELanSC520 Microcontroller
        43a0  Hudson PCI to PCI bridge (PCIE port 0)
        43a1  Hudson PCI to PCI bridge (PCIE port 1)
        7801  FCH SATA Controller [AHCI mode]
                103c 168b  ProBook 4535s Notebook
                103c 194e  ProBook 455 G1 Notebook
+               1043 8623  AM1I-A Motherboard
                17aa 3988  Z50-75
                1849 7801  QC5000-ITX/PH
        7802  FCH SATA Controller [RAID mode]
        7807  FCH USB OHCI Controller
                103c 194e  ProBook 455 G1 Notebook
                103c 1985  Pavilion 17-e163sg Notebook PC
+               1043 8623  AM1I-A Motherboard
                17aa 3988  Z50-75
                1849 7807  QC5000-ITX/PH
        7808  FCH USB EHCI Controller
                103c 194e  ProBook 455 G1 Notebook
                103c 1985  Pavilion 17-e163sg Notebook PC
+               1043 8623  AM1I-A Motherboard
                17aa 3988  Z50-75
                1849 7808  QC5000-ITX/PH
        7809  FCH USB OHCI Controller
        780b  FCH SMBus Controller
                103c 194e  ProBook 455 G1 Notebook
                103c 1985  Pavilion 17-e163sg Notebook PC
+               1043 8623  AM1I-A Motherboard
                17aa 3988  Z50-75
                1849 780b  QC5000-ITX/PH
        780c  FCH IDE Controller
                103c 194e  ProBook 455 G1 Notebook
                103c 1985  Pavilion 17-e163sg Notebook PC
                1043 8444  F2A85-M Series
+               1043 8576  AM1I-A Motherboard
                17aa 3988  Z50-75
                1849 8892  QC5000-ITX/PH
        780e  FCH LPC Bridge
                103c 194e  ProBook 455 G1 Notebook
                103c 1985  Pavilion 17-e163sg Notebook PC
+               1043 8623  AM1I-A Motherboard
                17aa 3988  Z50-75
                1849 780e  QC5000-ITX/PH
        780f  FCH PCI Bridge
        7814  FCH USB XHCI Controller
                103c 194e  ProBook 455 G1 Notebook
                103c 1985  Pavilion 17-e163sg Notebook PC
+               1043 8623  AM1I-A Motherboard
                17aa 3988  Z50-75
                1849 7814  QC5000-ITX/PH
        7900  FCH SATA Controller [IDE mode]
        7901  FCH SATA Controller [AHCI mode]
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME Motherboard
                1462 7c37  X570-A PRO motherboard
+               ea50 ce19  mCOM10-L1900
        7902  FCH SATA Controller [RAID mode]
        7903  FCH SATA Controller [RAID mode]
        7904  FCH SATA Controller [AHCI mode]
        7908  FCH USB EHCI Controller
        790b  FCH SMBus Controller
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME Motherboard
                1462 7c37  X570-A PRO motherboard
                17aa 5124  ThinkPad E595
+               ea50 ce19  mCOM10-L1900
        790e  FCH LPC Bridge
                103c 8615  Pavilion Laptop 15-cw1xxx
+               1043 876b  PRIME B450M-A Motherboard
                1462 7c37  X570-A PRO motherboard
                17aa 5124  ThinkPad E595
+               ea50 ce19  mCOM10-L1900
        790f  FCH PCI Bridge
        7914  FCH USB XHCI Controller
        9600  RS780 Host Bridge
                1931 000a  GlobeTrotter Fusion Quad Lite (PPP data)
                1931 000b  GlobeTrotter Fusion Quad Lite (GSM data)
                807d 0035  PCI-USB2 (OHCI subsystem)
+               8086 4d44  D850EMV2 motherboard
        003b  PCI to C-bus Bridge
        003e  NAPCCARD Cardbus Controller
        0046  PowerVR PCX2 [midas]
                14c2 0205  PTI-205N USB 2.0 Host Controller
                1799 0002  Root Hub
                807d 1043  PCI-USB2 (EHCI subsystem)
+               8086 4d44  D850EMV2 motherboard
        00e7  uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller
        00f2  uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller
        00f3  uPD6113x Multimedia Decoder/Processor [EMMA2]
        0003  Control Video
        0004  PlanB Video-In
        0007  O'Hare I/O
+       000b  Apple Camera
        000c  DOS on Mac
        000e  Hydra Mac I/O
        0010  Heathrow Mac I/O
                103c 17e8  SN1000Q 16Gb Dual Port Fibre Channel Adapter
                103c 1939  QMH2672 16Gb Dual Port Fibre Channel Adapter
                103c 8002  3830C 16G Fibre Channel Host Bus Adapter
+               1077 0241  QLE2670 16Gb Single Port Fibre Channel Adapter
        2071  ISP2714-based 16/32Gb Fibre Channel to PCIe Adapter
                1077 0283  QLE2764 Quad Port 32Gb Fibre Channel to PCIe Adapter
                1077 029e  QLE2694 Quad Port 16Gb Fibre Channel to PCIe Adapter
        2081  ISP2814-based 64/32G Fibre Channel to PCIe Controller
                1077 02e1  QLE2874 Quad Port 64GFC PCIe Gen4 x16 Adapter
                1077 02e3  QLE2774 Quad Port 32GFC PCIe Gen4 x16 Adapter
+       2089  ISP2854-based 64/32G Fibre Channel to PCIe Controller with StorCryption
+               1077 02e8  QLE2884 Quad Port 64GFC PCIe Gen4 x16 Adapter with StorCryption
+               1077 02ea  QLE2784 Quad Port 32GFC PCIe Gen4 x16 Adapter with StorCryption
        2100  QLA2100 64-bit Fibre Channel Adapter
                1077 0001  QLA2100 64-bit Fibre Channel Adapter
        2200  QLA2200 64-bit Fibre Channel Adapter
                1590 0203  StoreFabric SN1600Q 32Gb Single Port Fibre Channel Host Bus Adapter
                1590 0204  StoreFabric SN1600Q 32Gb Dual Port Fibre Channel Host Bus Adapter
                1590 022d  5830C 32Gb Dual Port Fibre Channel Adapter
+               193d 100d  NIC-FC680i-Mb-2x16G
        2281  ISP2812-based 64/32G Fibre Channel to PCIe Controller
                1077 02e2  QLE2872 Dual Port 64GFC PCIe Gen4 x8 Adapter
                1077 02e4  QLE2772 Dual Port 32GFC PCIe Gen4 x8 Adapter
                1077 02f3  QLogic 2x32Gb QLE2772 FC HBA
                1590 02d3  SN1610Q - 1P Enhanced 32GFC Single Port Fibre Channel Host Bus Adapter
                1590 02d4  SN1610Q – 2P Enhanced 32GFC Dual Port Fibre Channel Host Bus Adapter
+       2289  ISP2852-based 64/32G Fibre Channel to PCIe Controller with StorCryption
+               1077 02e9  QLE2882 Dual Port 64GFC PCIe Gen4 x8 Adapter with StorCryption
+               1077 02eb  QLE2782 Dual Port 32GFC PCIe Gen4 x8 Adapter with StorCryption
+               1077 02ef  QLE2880 Single Port 64GFC PCIe Gen4 x8 Adapter with StorCryption
+               1077 02f1  QLE2780 Single Port 32GFC PCIe Gen4 x8 Adapter with StorCryption
        2300  QLA2300 64-bit Fibre Channel Adapter
        2312  ISP2312-based 2Gb Fibre Channel to PCI-X HBA
                103c 0131  2Gb Fibre Channel - Single port [A7538A]
                103c 12dd  4Gb Fibre Channel [AB429A]
        2432  ISP2432-based 4Gb Fibre Channel to PCI Express HBA
                103c 7040  FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A]
-               1077 0137  QLE2460 4 GB PCI-X Host-Bus-Adapter
+               1077 0137  QLE2460 Single-Port 4Gbps FC-to-PCI-X/PCIe Host Bus Adapter
+               1077 0138  QLE2462 Dual-Port 4Gbps FC-to-PCI-X/PCIe Host Bus Adapter
        2532  ISP2532-based 8Gb Fibre Channel to PCI Express HBA
                1014 041e  FC EN0Y/EN12 PCIe2 LP 8 Gb 4-port Fibre Channel Adapter for POWER
                103c 3262  StorageWorks 81Q
                1590 021f  10/25GbE 2P QL41262HMCU-HP Adapter
                1590 0220  10/25GbE 2P QL41122HLRJ-HP Adapter
                1590 02bd  10Gb 2P 524SFP+ NIC
+               193d 1030  NIC-ETH681i-Mb-2x25G
+               193d 1032  NIC-ETH682i-Mb-2x25G
        8080  FastLinQ QL41000 Series 10/25/40/50GbE Controller (FCoE)
                1077 0001  10GE 2P QL41162HxRJ-DE Adapter
                1077 0002  10GE 2P QL41112HxCU-DE Adapter
                10b5 2905  Alpermann+Velte PCI TS: Time Synchronisation Board
                10b5 3196  Goramo PLX200SYN sync serial card
                10b5 9050  PCI-I04 PCI Passive PC/CAN Interface
+               12fe 0001  CAN-PCI/331 CAN bus controller
                1369 8901  PCX11+ PCI
                1369 8f01  VX222
                1369 9401  PCX924
                1682 211c  GeForce 6600 256MB DDR DUAL DVI TV
        00f3  NV43 [GeForce 6200]
        00f4  NV43 [GeForce 6600 LE]
-       00f5  G71 [GeForce 7800 GS AGP]
+       00f5  G70/G71 [GeForce 7800 GS AGP]
        00f6  NV43 [GeForce 6800 GS/XT]
                1682 217e  XFX GeForce 6800 XTreme 256MB DDR3 AGP
        00f8  NV45GL [Quadro FX 3400/4400]
        0331  NV35 [GeForce FX 5900]
                1043 8145  V9950GE
        0332  NV35 [GeForce FX 5900XT]
-       0333  NV38 [GeForce FX 5950 Ultra]
+       0333  NV38 [GeForce FX 5950 Ultra / PCX 5950]
        0334  NV35 [GeForce FX 5900ZT]
                1462 9373  FX5900ZT-VTD128 (MS-8937)
        0338  NV35GL [Quadro FX 3000]
        0a21  GT216M [GeForce GT 330M]
        0a22  GT216 [GeForce 315]
        0a23  GT216 [GeForce 210]
+       0a24  GT216 [GeForce 405]
        0a26  GT216 [GeForce 405]
        0a27  GT216 [GeForce 405]
        0a28  GT216M [GeForce GT 230M]
        1184  GK104 [GeForce GTX 770]
        1185  GK104 [GeForce GTX 660 OEM]
                10de 106f  GK104 [GeForce GTX 760 OEM]
+       1186  GK104 [GeForce GTX 660 Ti]
        1187  GK104 [GeForce GTX 760]
        1188  GK104 [GeForce GTX 690]
        1189  GK104 [GeForce GTX 670]
        128a  GK208B
        128b  GK208B [GeForce GT 710]
                1043 85f7  GT710-SL-1GD5
+               1043 8770  GT710-4H-SL-2GD5
        128c  GK208B
        1290  GK208M [GeForce GT 730M]
                103c 2afa  GeForce GT 730A
        1aeb  TU116 High Definition Audio Controller
        1aec  TU116 USB 3.1 Host Controller
        1aed  TU116 USB Type-C UCSI Controller
+       1aef  GA102 High Definition Audio Controller
        1b00  GP102 [TITAN X]
        1b01  GP102 [GeForce GTX 1080 Ti 10GB]
        1b02  GP102 [TITAN Xp]
        1b07  GP102 [P102-100]
        1b30  GP102GL [Quadro P6000]
        1b38  GP102GL [Tesla P40]
+       1b39  GP102GL [Tesla P10]
        1b70  GP102GL
        1b78  GP102GL
        1b80  GP104 [GeForce GTX 1080]
        1c2d  GP106M
        1c30  GP106GL [Quadro P2000]
        1c31  GP106GL [Quadro P2200]
-       1c35  GP106
-       1c36  GP106
+       1c35  GP106M [Quadro P2000 Mobile]
+       1c36  GP106 [P106M]
        1c60  GP106BM [GeForce GTX 1060 Mobile 6GB]
                103c 8390  GeForce GTX 1060 Max-Q 6GB
        1c61  GP106BM [GeForce GTX 1050 Ti Mobile]
        1e04  TU102 [GeForce RTX 2080 Ti]
        1e07  TU102 [GeForce RTX 2080 Ti Rev. A]
                1462 3715  RTX 2080 Ti GAMING X TRIO
+       1e09  TU102 [CMP 50HX]
        1e2d  TU102 [GeForce RTX 2080 Ti Engineering Sample]
        1e2e  TU102 [GeForce RTX 2080 Ti 12GB Engineering Sample]
        1e30  TU102GL [Quadro RTX 6000/8000]
        1f08  TU106 [GeForce RTX 2060 Rev. A]
        1f09  TU106 [GeForce GTX 1660 SUPER]
        1f0a  TU106 [GeForce GTX 1650]
+       1f0b  TU106 [CMP 40HX]
        1f10  TU106M [GeForce RTX 2070 Mobile]
        1f11  TU106M [GeForce RTX 2060 Mobile]
        1f12  TU106M [GeForce RTX 2060 Max-Q]
        1f98  TU117M [GeForce MX450]
        1f99  TU117M
        1f9c  TU117M [GeForce MX450]
+       1f9d  TU117M [GeForce GTX 1650 Mobile / Max-Q]
        1fae  TU117GL
+       1fb0  TU117GLM [Quadro T1000 Mobile]
+       1fb1  TU117GLM [Quadro T600 Mobile]
+       1fb2  TU117GLM [Quadro T400 Mobile]
        1fb8  TU117GLM [Quadro T2000 Mobile / Max-Q]
        1fb9  TU117GLM [Quadro T1000 Mobile]
+       1fbb  TU117GLM [Quadro T500 Mobile]
        1fbf  TU117GL
        1fd9  TU117BM [GeForce GTX 1650 Mobile Refresh]
+       1fdd  TU117BM [GeForce GTX 1650 Mobile Refresh]
        1ff9  TU117GLM [Quadro T1000 Mobile]
        20b0  GA100 [A100 SXM4 40GB]
        20b1  GA100 [A100 PCIe 40GB]
+       20b2  GA100 [A100 SXM4 80GB]
+       20b6  GA100GL [PG506-232]
+       20b7  GA100GL [A30 PCIe]
        20be  GA100 [GRID A100A]
        20bf  GA100 [GRID A100B]
        20f1  GA100 [A100 PCIe 40GB]
        2184  TU116 [GeForce GTX 1660]
        2187  TU116 [GeForce GTX 1650 SUPER]
        2188  TU116 [GeForce GTX 1650]
+       2189  TU116 [CMP 30HX]
        2191  TU116M [GeForce GTX 1660 Ti Mobile]
        2192  TU116M [GeForce GTX 1650 Ti Mobile]
        21ae  TU116GL
        21bf  TU116GL
+       21c2  TU116
        21c4  TU116 [GeForce GTX 1660 SUPER]
        21d1  TU116BM [GeForce GTX 1660 Ti Mobile]
+       2200  GA102
        2204  GA102 [GeForce RTX 3090]
-       2206  GA102 [GeForce RTX 3080 10GB / 20GB]
+       2205  GA102 [GeForce RTX 3080 20GB]
+       2206  GA102 [GeForce RTX 3080]
+               10de 1467  GA102 [GeForce RTX 3080]
                10de 146d  GA102 [GeForce RTX 3080 20GB]
                1462 3892  RTX 3080 10GB GAMING X TRIO
+       2208  GA102 [GeForce RTX 3080 Ti]
+       220d  GA102 [GeForce RTX 3080 Lite Hash Rate]
        222b  GA102 [GeForce RTX 3090 Engineering Sample]
        222f  GA102 [GeForce RTX 3080 11GB / 12GB Engineering Sample]
        2230  GA102GL [RTX A6000]
+       2231  GA102GL [RTX A5000]
+       2235  GA102GL [A40]
+       2236  GA102GL [A10]
+       2237  GA102GL [A10G]
        223f  GA102GL
+       228b  GA104 High Definition Audio Controller
+       2302  GA103
+       2321  GA103
        2482  GA104 [GeForce RTX 3070 Ti]
-       2484  GA104 [GeForce RTX 3070 8GB / 16GB]
+       2483  GA104
+       2484  GA104 [GeForce RTX 3070]
                10de 146b  GA104 [GeForce RTX 3070]
                10de 14ae  GA104 [GeForce RTX 3070 16GB]
        2486  GA104 [GeForce RTX 3060 Ti]
-       249c  GA104M [GeForce RTX 3070 Mobile / Max-Q]
+       249c  GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB]
        249d  GA104M [GeForce RTX 3070 Mobile / Max-Q]
+       249f  GA104M
        24ac  GA104 [GeForce RTX 30x0 Engineering Sample]
        24ad  GA104 [GeForce RTX 3060 Engineering Sample]
        24af  GA104 [GeForce RTX 3070 Engineering Sample]
+       24b0  GA104GL [RTX A4000]
+       24b6  GA104GLM [RTX A5000 Mobile]
+       24b7  GA104GLM [RTX A4000 Mobile]
+       24b8  GA104GLM [RTX A3000 Mobile]
        24bf  GA104 [GeForce RTX 3070 Engineering Sample]
-       24dc  GA104 [GeForce RTX 3070 16GB Engineering Sample]
+       24dc  GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB]
+       24dd  GA104M [GeForce RTX 3070 Mobile / Max-Q]
+       2501  GA106 [GeForce RTX 3060]
+       2503  GA106 [GeForce RTX 3060]
+       2504  GA106 [GeForce RTX 3060 Lite Hash Rate]
+       2505  GA106
+       2520  GA106M [GeForce RTX 3060 Mobile / Max-Q]
+       2523  GA106M [GeForce RTX 3050 Ti Mobile / Max-Q]
        252f  GA106 [GeForce RTX 3060 Engineering Sample]
+       2560  GA106M [GeForce RTX 3060 Mobile / Max-Q]
+       2563  GA106M [GeForce RTX 3050 Ti Mobile / Max-Q]
+       2583  GA107 [GeForce RTX 3050]
+       25a0  GA107M [GeForce RTX 3050 Ti Mobile]
+       25a2  GA107M [GeForce RTX 3050 Mobile]
+       25a4  GA107
+       25a5  GA107M [GeForce RTX 3050 Mobile]
        25af  GA107 [GeForce RTX 3050 Engineering Sample]
+       25b5  GA107GLM [RTX A4 Mobile]
+       25b8  GA107GLM [RTX A2000 Mobile]
+       25e0  GA107BM [GeForce RTX 3050 Ti Mobile]
+       25e2  GA107BM [GeForce RTX 3050 Mobile]
+       25e5  GA107BM [GeForce RTX 3050 Mobile]
 10df  Emulex Corporation
        0720  OneConnect NIC (Skyhawk)
                103c 1934  FlexFabric 20Gb 2-port 650M Adapter
                1590 0213  StoreFabric SN1200E 1-Port 16Gb Fibre Channel Adapter
                1590 0214  StoreFabric SN1200E 2-Port 16Gb Fibre Channel Adapter
                1590 022e  Synergy 5330C 2-Port 32Gb Fibre Channel Mezz Card
+               193d 1060  NIC-FC730i-Mb-2P
        f011  Saturn: LightPulse Fibre Channel Host Adapter
        f015  Saturn: LightPulse Fibre Channel Host Adapter
        f085  LP850 Fibre Channel Host Adapter
                10df f419  LPe35002-M2-L 2-Port 32Gb PCIe Fibre Channel Adapter
                1590 02d5  StoreFabric SN1610E 1-Port 32Gb Fibre Channel Adapter
                1590 02d6  StoreFabric SN1610E 2-Port 32Gb Fibre Channel Adapter
+       f500  LPe37000/LPe38000 Series 32Gb/64Gb Fibre Channel Adapter
        f700  LP7000 Fibre Channel Host Adapter
        f701  LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)
        f800  LP8000 Fibre Channel Host Adapter
        8111  Twist3 Frame Grabber
 10ec  Realtek Semiconductor Co., Ltd.
        0139  RTL-8139/8139C/8139C+ Ethernet Controller
+       3000  Killer E3000 2.5GbE Controller
        5208  RTS5208 PCI Express Card Reader
        5209  RTS5209 PCI Express Card Reader
        5227  RTS5227 PCI Express Card Reader
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
                1028 06e4  XPS 15 9550
+               1028 06e6  Latitude 11 5175 2-in-1
                17aa 224f  ThinkPad X1 Carbon 5th Gen
        5260  RTS5260 PCI Express Card Reader
        5286  RTS5286 PCI Express Card Reader
        5288  RTS5288 PCI Express Card Reader
        5289  RTL8411 PCI Express Card Reader
                1043 1457  K55A Laptop
+       5762  RTS5763DL NVMe SSD Controller
        8029  RTL-8029(AS)
                10b8 2011  EZ-Card (SMC1208)
                10ec 8029  RTL-8029(AS)
                8e2e 7000  KF-230TX
                8e2e 7100  KF-230TX/2
                a0a0 0007  ALN-325C
+       8161  RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
+               10ec 8168  TP-Link TG-3468 v4.0 Gigabit PCI Express Network Adapter
        8167  RTL-8110SC/8169SC Gigabit Ethernet
                105b 0e10  RTL-8110SC-GR on a N15235/A74MX mainboard
                1458 e000  GA-MA69G-S3H Motherboard
                1028 0283  Vostro 220
                1028 04b2  Vostro 3350
                1028 04da  Vostro 3750
+               1028 05d7  Alienware X51 R2
                1028 06f2  Latitude 3470
                1028 06f3  Latitude 3570
                1028 0869  Vostro 3470
                1043 83a3  M4A785/P7P55 Motherboard
                1043 8432  P8P67 and other motherboards
                1043 8505  P8 series motherboard
+               1043 8554  H81M-C Motherboard
+               1043 859e  AM1I-A Motherboard
+               1043 8677  PRIME B450M-A Motherboard
                105b 0d7c  D270S/D250S Motherboard
                10ec 8168  RTL8111/8168 PCI Express Gigabit Ethernet controller
                144d c652  RTL8168 on a NP300E5C series laptop
                1462 7522  X58 Pro-E
                1462 7c37  X570-A PRO motherboard
                1775 11cc  CC11/CL11
+               17aa 3098  ThinkCentre E73
                17aa 3814  Z50-75
                17aa 3823  Lenovo V130-15IGM Laptop - Type 81HL
                17aa 5124  ThinkPad E595
                7470 3468  TG-3468 Gigabit PCI Express Network Adapter
                8086 2055  NUC Kit DN2820FYKH
                8086 d615  Desktop Board D510MO/D525MW
+               ea50 ce19  mCOM10-L1900
        8169  RTL8169 PCI Gigabit Ethernet Controller
                1025 0079  Aspire 5024WLMi
                10bd 3202  EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter
                16ec 011f  USR997903
                1734 1091  D2030-A1
                a0a0 0449  AK86-L motherboard
+       816a  RTL8111xP UART #1
+               ea50 ce19  mCOM10-L1900
+       816b  RTL8111xP UART #2
+               ea50 ce19  mCOM10-L1900
+       816c  RTL8111xP IPMI interface
+               ea50 ce19  mCOM10-L1900
+       816d  RTL811x EHCI host controller
+               ea50 ce19  mCOM10-L1900
        8171  RTL8191SEvA Wireless LAN Controller
        8172  RTL8191SEvB Wireless LAN Controller
        8173  RTL8192SE Wireless LAN Controller
        5005  Alveo U250
        7038  FPGA Card XC7VX690T
                17aa 402f  FPGA XC7VX690T-3FFG1157E
+       8019  Memory controller
        8380  Ellips ProfiXpress Profibus Master
        8381  Ellips Santos Frame Grabber
        d154  Copley Controls CAN card (PCI-CAN-02)
        3220  RocketRAID 3220
        3320  RocketRAID 3320
        4310  RocketRaid 4310
+       7505  SSD7505 PCIe Gen4 x16 4-Port M.2 NVMe RAID Controller
 1104  RasterOps Corp.
 1105  Sigma Designs, Inc.
        1105  REALmagic Xcard MPEG 1/2/3/4 DVD Decoder
        0336  K8M890CE Host Bridge
        0340  PT900 Host Bridge
        0351  K8T890CF Host Bridge
-       0353  VX800 Host Bridge
+       0353  VX800/820-Series Chipset Host-Bridge Controller
        0364  CN896/VN896/P4M900 Host Bridge
                1043 81ce  P5VD2-VM mothervoard
        0391  VT8371 [KX133]
        0409  VX855/VX875 Host Bridge: Host Control
-       0410  VX900 Host Bridge: Host Control
+       0410  VX900 Series Host Bridge: Host Control
        0415  VT6415 PATA IDE Host Controller
                1043 838f  Motherboard
        0501  VT8501 [Apollo MVP4]
 # probably all K7VT2/4*/6
                1849 0571  K7VT series Motherboards
        0576  VT82C576 3V [Apollo Master]
-       0581  CX700/VX700 RAID Controller
+       0581  CX700/VX700/VX800/820-Series Serial ATA RAID-Controller
 # Upgrade bios to get correct ID: 5324 instead of 0581
                1106 0581  Wrong IDE ID
        0585  VT82C585VP [Apollo VP1/VPX]
        1296  P4M800 Host Bridge
        1308  PT894 Host Bridge
        1314  CN700/VN800/P4M800CE/Pro Host Bridge
-       1324  CX700/VX700 Host Bridge
+       1324  CX700/VX700-Series Error Reporting
        1327  P4M890 Host Bridge
        1336  K8M890CE Host Bridge
        1340  PT900 Host Bridge
        1353  VX800/VX820 Error Reporting
        1364  CN896/VN896/P4M900 Host Bridge
        1409  VX855/VX875 Error Reporting
-       1410  VX900 Error Reporting
+       1410  VX900 Series Error Reporting
        1571  VT82C576M/VT82C586
        1595  VT82C595/97 [Apollo VP2/97]
        1732  VT1732 [Envy24 II] PCI Multi-Channel Audio Controller
        2296  P4M800 Host Bridge
        2308  PT894 Host Bridge
        2314  CN700/VN800/P4M800CE/Pro Host Bridge
-       2324  CX700/VX700 Host Bridge
+       2324  CX700/VX700-Series Host Interface Control
        2327  P4M890 Host Bridge
        2336  K8M890CE Host Bridge
        2340  PT900 Host Bridge
        2353  VX800/VX820 Host Bus Control
        2364  CN896/VN896/P4M900 Host Bridge
        2409  VX855/VX875 Host Bus Control
-       2410  VX900 CPU Bus Controller
+       2410  VX900 Series CPU Bus Controller
        287a  VT8251 PCI to PCI Bridge
        287b  VT8251 Host Bridge
        287c  VT8251 PCIE Root Port
        287d  VT8251 PCIE Root Port
        287e  VT8237/8251 Ultra VLINK Controller
        3022  CLE266
-       3038  VT82xx/62xx UHCI USB 1.1 Controller
+       3038  VT82xx/62xx/VX700/8x0/900 UHCI USB 1.1 Controller
                0925 1234  onboard UHCI USB 1.1 Controller
                1019 0985  P6VXA Motherboard
                1019 0a81  L7VTA v1.0 Motherboard (KT400-8235)
                1043 8080  A7V333 motherboard
-               1043 808c  VT6202 USB2.0 4 port controller
+               1043 808c  VT62xx USB1.1 4 port controller
                1043 80a1  A7V8X-X motherboard
                1043 80ed  A7V600/K8V-X/A8V Deluxe motherboard
                1179 0001  Magnia Z310
+               1234 0925  MVP3 USB Controller
                1458 5004  GA-7VAX Mainboard
                1462 5901  KT6 Delta-FIS2R (MS-6590)
                1462 7020  K8T NEO 2 motherboard
        3101  VT8653 Host Bridge
        3102  VT8662 Host Bridge
        3103  VT8615 Host Bridge
-       3104  USB 2.0
+       3104  USB 2.0 EHCI-Compliant Host-Controller
                0925 1234  onboard EHCI USB 2.0 Controller
                1019 0a81  L7VTA v1.0 Motherboard (KT400-8235)
                1043 808c  A7V8X motherboard
        3269  KT880 Host Bridge
        3282  K8T800Pro Host Bridge
        3287  VT8251 PCI to ISA Bridge
-       3288  VT8237A/VT8251 HDA Controller
+       3288  VX900/VT8xxx High Definition Audio Controller
                19da a179  ZBOX VD01
        3290  K8M890 Host Bridge
        3296  P4M800 Host Bridge
-       3324  CX700/VX700 Host Bridge
+       3324  CX700/VX700-Series DRAM Bus Control
        3327  P4M890 Host Bridge
        3336  K8M890CE Host Bridge
        3337  VT8237A PCI to ISA Bridge
        3344  CN700/P4M800 Pro/P4M800 CE/VN800 Graphics [S3 UniChrome Pro]
        3349  VT8251 AHCI/SATA 4-Port Controller
        3351  VT3351 Host Bridge
-       3353  VX800 PCI to PCI Bridge
+       3353  VX800/820 PCI to PCI Bridge
        3364  CN896/VN896/P4M900 Host Bridge
+       3365  VT630x IEEE 1394 Host Controller [Fire II/M]
        3371  CN896/VN896/P4M900 [Chrome 9 HC]
        3372  VT8237S PCI to ISA Bridge
        337a  VT8237A PCI to PCI Bridge
                1043 8374  M5A88-V EVO
                1043 8384  P8P67 Deluxe Motherboard
        3409  VX855/VX875 DRAM Bus Control
-       3410  VX900 DRAM Bus Control
+       3410  VX900 Series DRAM Bus Control
                19da a179  ZBOX nano VD01
-       3432  VL80x xHCI USB 3.0 Controller
+       3432  VL800/801 xHCI USB 3.0 Controller
        3456  VX11 Standard Host Bridge
        345b  VX11 Miscellaneous Bus
-       3483  VL805 USB 3.0 Host Controller
+       3483  VL805/806 xHCI USB 3.0 Controller
        3a01  VX11 Graphics [Chrome 645/640]
        4149  VIA VT6420 (ATA133) Controller
        4204  K8M800 Host Bridge
        4296  P4M800 Host Bridge
        4308  PT894 Host Bridge
        4314  CN700/VN800/P4M800CE/Pro Host Bridge
-       4324  CX700/VX700 Host Bridge
+       4324  CX700/VX700-Series Power Management and Testing Control
        4327  P4M890 Host Bridge
        4336  K8M890CE Host Bridge
        4340  PT900 Host Bridge
        4353  VX800/VX820 Power Management Control
        4364  CN896/VN896/P4M900 Host Bridge
        4409  VX855/VX875 Power Management Control
-       4410  VX900 Power Management and Chip Testing Control
+       4410  VX900 Series Power Management and Chip Testing Control
                19da a179  ZBOX nano VD01
        5030  VT82C596 ACPI [Apollo PRO]
        5122  VX855/VX875 Chrome 9 HCM Integrated Graphics
        5287  VT8251 Serial ATA Controller
        5290  K8M890 I/O APIC Interrupt Controller
        5308  PT894 I/O APIC Interrupt Controller
-       5324  VX800 Serial ATA and EIDE Controller
+       5324  CX700M2/VX700/VX800/820-Series Serial ATA & EIDE-Controller
        5327  P4M890 I/O APIC Interrupt Controller
        5336  K8M890CE I/O APIC Interrupt Controller
        5340  PT900 I/O APIC Interrupt Controller
        5364  CN896/VN896/P4M900 I/O APIC Interrupt Controller
        5372  VT8237/8251 Serial ATA Controller
        5409  VX855/VX875 APIC and Central Traffic Control
-       5410  VX900 APIC and Central Traffic Control
+       5410  VX900 Series APIC and Central Traffic Control
        6100  VT85C100A [Rhine II]
        6287  SATA RAID Controller
        6290  K8M890CE Host Bridge
        6353  VX800/VX820 Scratch Registers
        6364  CN896/VN896/P4M900 Security Device
        6409  VX855/VX875 Scratch Registers
-       6410  VX900 Scratch Registers
+       6410  VX900 Series Scratch Registers
                19da a179  ZBOX nano VD01
        7122  VX900 Graphics [Chrome9 HD]
        7204  K8M800 Host Bridge
        7296  P4M800 Host Bridge
        7308  PT894 Host Bridge
        7314  CN700/VN800/P4M800CE/Pro Host Bridge
-       7324  CX700/VX700 Host Bridge
+       7324  CX700/VX700-Series North-South Module Interface Control
        7327  P4M890 Host Bridge
        7336  K8M890CE Host Bridge
        7340  PT900 Host Bridge
        7353  VX800/VX820 North-South Module Interface Control
        7364  CN896/VN896/P4M900 Host Bridge
        7409  VX855/VX875 North-South Module Interface Control
-       7410  VX900 North-South Module Interface Control
+       7410  VX900 Series North-South Module Interface Control
                19da a179  ZBOX nano VD01
        8231  VT8231 [PCI-to-ISA Bridge]
        8235  VT8235 ACPI
        8305  VT8363/8365 [KT133/KM133 AGP]
-       8324  CX700/VX700 PCI to ISA Bridge
+       8324  CX700/VX700-Series Bus Control and Power Management
        8353  VX800/VX820 Bus Control and Power Management
        8391  VT8371 [KX133 AGP]
        8400  MVP4
        8409  VX855/VX875 Bus Control and Power Management
-       8410  VX900 Bus Control and Power Management
+       8410  VX900 Series Bus Control and Power Management
                19da a179  ZBOX VD01
        8500  KLE133/PLE133/PLE133T
        8501  VT8501 [Apollo MVP4 AGP]
        8a26  KL133/KL133A/KM133/KM133A [S3 ProSavage]
        8d01  PN133/PN133T [S3 Twister]
        8d04  KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR]
-       9001  VX900 Serial ATA Controller
+       9001  VX900 Series Serial-ATA Controller
        9082  Standard AHCI 1.0 SATA Controller
        9140  HDMI Audio Device
        9201  USB3.0 Controller
-       9530  Secure Digital Memory Card Controller
-       95d0  SDIO Host Controller
+       9530  VX800/820/900 Series Secure Digital Memory Card Controller
+       95d0  VX800/820/900 Series SDIO Host Controller
        a208  PT890 PCI to PCI Bridge Controller
        a238  K8T890 PCI to PCI Bridge Controller
        a327  P4M890 PCI to PCI Bridge Controller
-       a353  VX8xx South-North Module Interface Control
+       a353  VX8xx/900 Series South-North Module Interface Control
        a364  CN896/VN896/P4M900 PCI to PCI Bridge Controller
-       a409  VX855/VX875 USB Device Controller
-       a410  VX900 PCI Express Root Port 0
+       a409  VX855/VX875/VX900 Series USB Device Controller
+       a410  VX900 Series PCI Express Root Port 0
        b091  VT8633 [Apollo Pro266 AGP]
        b099  VT8366/A/7 [Apollo KT266/A/333 AGP]
        b101  VT8653 AGP Bridge
        b168  VT8235 PCI Bridge
        b188  VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South]
                147b 1407  KV8-MAX3 motherboard
-       b198  VT8237/VX700 PCI Bridge
+       b198  VT8237/CX700/VX700-Series PCI to PCI Bridge
        b213  VPX/VPX2 I/O APIC Interrupt Controller
        b353  VX855/VX875/VX900 PCI to PCI Bridge
-       b410  VX900 PCI Express Root Port 1
+       b410  VX900 Series PCI Express Root Port 1
        b999  [K8T890 North / VT8237 South] PCI Bridge
        c208  PT890 PCI to PCI Bridge Controller
        c238  K8T890 PCI to PCI Bridge Controller
        c327  P4M890 PCI to PCI Bridge Controller
        c340  PT900 PCI to PCI Bridge Controller
-       c353  VX800/VX820 PCI Express Root Port
+       c353  VX800/820-Series PCI-Express Root (PCI-to-PCI Virtual Bridge)
        c364  CN896/VN896/P4M900 PCI to PCI Bridge Controller
        c409  VX855/VX875 EIDE Controller
-       c410  VX900 PCI Express Root Port 2
+       c410  VX900 Series PCI Express Root Port 2
        d104  VT8237R USB UDCI Controller
        d208  PT890 PCI to PCI Bridge Controller
        d213  VPX/VPX2 PCI to PCI Bridge Controller
        d238  K8T890 PCI to PCI Bridge Controller
        d340  PT900 PCI to PCI Bridge Controller
-       d410  VX900 PCI Express Root Port 3
+       d410  VX900 Series PCI Express Root Port 3
        e208  PT890 PCI to PCI Bridge Controller
        e238  K8T890 PCI to PCI Bridge Controller
        e340  PT900 PCI to PCI Bridge Controller
-       e353  VX800/VX820 PCI Express Root Port
-       e410  VX900 PCI Express Physical Layer Electrical Sub-block
+       e353  VX800/820-Series PCI-Express Root Port 0
+       e410  VX900 Series PCI Express Physical Layer Electrical Sub-block
        f208  PT890 PCI to PCI Bridge Controller
        f238  K8T890 PCI to PCI Bridge Controller
        f340  PT900 PCI to PCI Bridge Controller
-       f353  VX800/VX820 PCI Express Root Port
+       f353  VX800/820-Series PCI-Express Root Port 1
+       f410  VX900 Series PCI UART Port 0-3
 1107  Stratus Computers
        0576  VIA VT82C570MV [Apollo] (Wrong vendor ID!)
 1108  Proteon, Inc.
        0002  Dual PCI to RapidIO Bridge
        000b  POET Serial RapidIO Bridge
        000d  POET PSDMS Device
-1135  Fuji Xerox Co Ltd
+1135  FUJIFILM Business Innovation Corp.
        0001  Printer controller
 1136  Momentum Data Systems
        0002  PCI-JTAG
 1172  Altera Corporation
        00a7  Stratix V
        0530  Stratix IV
+       646c  KT-500/KT-521 board
 1173  Adobe Systems, Inc
 1174  Bridgeport Machines
 1175  Mitron Computer Inc.
 1179  Toshiba Corporation
        0102  Extended IDE Controller
        0103  EX-IDE Type-B
+       010e  PXP04 NVMe SSD
        010f  NVMe Controller
        0110  NVMe SSD Controller Cx5
                1028 1ffb  Express Flash NVMe 960G (RI) U.2 (CD5)
                1d49 4039  Thinksystem U.2 CM5 NVMe SSD
                1d49 403a  Thinksystem AIC CM5 NVMe SSD
        0113  BG3 NVMe SSD Controller
+               1179 0001  Toshiba KBG30ZMS128G 128GB NVMe SSD
        0115  XG4 NVMe SSD Controller
+       011a  XG6 NVMe SSD Controller
        0404  DVD Decoder card
        0406  Tecra Video Capture device
        0407  DVD Decoder card (Version 2)
 11aa  Actel
 # Nee Galileo Technology, Inc.
 11ab  Marvell Technology Group Ltd.
+       0100  88F3700 [Armada 3700 Family] ARM SoC
        0146  GT-64010/64010A System Controller
        0f53  88E6318 Link Street network controller
        11ab  MV88SE614x SATA II PCI-E controller
        6480  MV64460/64461/64462 System Controller
                1775 c200  C2K CompactPCI single board computer
        6485  MV64460/64461/64462 System Controller, Revision B
+       6820  88F6820 [Armada 385] ARM SoC
+       6828  88F6828 [Armada 388] ARM SoC
        7042  88SX7042 PCI-e 4-port SATA-II
                16b8 434b  Tempo SATA E4P
        7810  MV78100 [Discovery Innovation] ARM SoC
                11ad 0003  LNE100TX
                11ad f003  LNE100TX
                11ad ffff  LNE100TX
-               1385 f004  FA310TX
+               1385 f004  FA310/TX LAN 10/100 PCI Ethernet Adapter
                2646 f002  KNE110TX EtheRx Fast Ethernet
        c115  LNE100TX [Linksys EtherFast 10/100]
                11ad c001  LNE100TX [ver 2.0]
        8073  PM8073 Tachyon SPCve 12G 16-port SAS/SATA controller
        8531  PM8531 PFX 24xG3 Fanout PCIe Switches
        8546  PM8546 B-FEIP PSX 96xG3 PCIe Storage Switch
+       8562  PM8562 Switchtec PFX-L 32xG3 Fanout-Lite PCIe Gen3 Switch
 11f9  I-Cube Inc
 11fa  Kasan Electronics Company, Ltd.
 11fb  Datel Inc
                a000 2000  Parallel Port
                a000 6000  SPI
                a000 7000  Local Bus
+               ea50 1c10  RXi2-BP
 125c  Aurora Technologies, Inc.
        0101  Saturn 4520P
        0640  Aries 16000P
        0820  SM820 Lynx3D
        0910  SM910
        2262  SM2262/SM2262EN SSD Controller
+       2263  SM2263EN/SM2263XT SSD Controller
 1270  Olympus Optical Co., Ltd.
 1271  GW Instruments
 1272  Telematics International
 1281  Yokogawa Electric Corporation
 1282  Davicom Semiconductor, Inc.
        6585  DM562P V90 Modem
-       9009  Ethernet 100/10 MBit
+       9009  DM9009 Ethernet Controller
        9100  21x4x DEC-Tulip compatible 10/100 Ethernet
-       9102  21x4x DEC-Tulip compatible 10/100 Ethernet
+       9102  DM9102 Fast Ethernet Controller
 # Subsystem ID is main ID reveresed.
                0291 8212  DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit
        9132  Ethernet 100/10 MBit
        8888  IT8888F/G PCI to ISA Bridge with SMB [Golden Gate]
        8889  IT8889F PCI to ISA Bridge
        8892  IT8892E PCIe to PCI Bridge
+               8086 200d  DH61CR motherboard
        8893  IT8893E PCIe to PCI Bridge
        e886  IT8330G
 1284  Sahara Networks, Inc.
        2304  PI7C9X2G304 EL/SL PCIe2 3-Port/4-Lane Packet Switch
        2404  PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch
        2608  PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch
+               ea50 cc10  RXi2-BP
        400a  PI7C9X442SL PCI Express Bridge Port
        400e  PI7C9X442SL USB OHCI Controller
        400f  PI7C9X442SL USB EHCI Controller
        8150  PCI to PCI Bridge
        8152  PI7C8152A/PI7C8152B/PI7C8152BI PCI-to-PCI Bridge
        8154  PI7C8154A/PI7C8154B/PI7C8154BI PCI-to-PCI Bridge
+       8619  PI7C9X2G1616PR PCIe2 16-Port/16-Lane Packet Switch
        e110  PI7C9X110 PCI Express to PCI bridge
                1775 11cc  CC11/CL11 CompactPCI Bridge
        e111  PI7C9X111SL PCIe-to-PCI Reversible Bridge
 12ea  Zuken
 12eb  Aureal Semiconductor
        0001  Vortex 1
+               0000 0300  Terasound A3D PCI
                104d 8036  AU8820 Vortex Digital Audio Processor
                1092 2000  Sonic Impact A3D
                1092 2100  Sonic Impact A3D
                1092 2110  Sonic Impact A3D
                1092 2200  Sonic Impact A3D
-               122d 1002  AU8820 Vortex Digital Audio Processor
+               122d 1002  SC 338-A3D
                12eb 0001  AU8820 Vortex Digital Audio Processor
                5053 3355  Montego
                50b2 1111  XLerate
 134f  Algo System Co Ltd
 1350  Systec Co. Ltd
 1351  Sonix Inc
-# nee Thales Idatys
-1353  Vierling Communication SAS
+# nee Vierling Communication SAS, nee Thales Idatys
+1353  dbeeSet Technology
        0002  Proserver
        0003  PCI-FUT
        0004  PCI-S0
        0005  PCI-FUT-S0
+       0006  OTDU-1U (FPGA Zynq-7000)
+       0007  OTDU-EX
 1354  Dwave System Inc
 1355  Kratos Analytical Ltd
 1356  The Logical Co
 1414  Microsoft Corporation
        0001  MN-120 (ADMtek Centaur-C based)
        0002  MN-130 (ADMtek Centaur-P based)
+# Virtual Video Card Device for Windows Remote Desktop (RDP)
+       008c  Basic Render Driver
        5353  Hyper-V virtual VGA
        5801  XMA Decoder (Xenon)
        5802  SATA Controller - CdRom (Xenon)
        9513  OX16PCI954 (Quad 16950 UART) function 1 (parallel port)
        9521  OX16PCI952 (Dual 16950 UART)
        9523  OX16PCI952 Integrated Parallel Port
-       c158  OXPCIe952 Dual 16C950 UART
+# The OXPCIe952 PCI Express Bridge to Dual Serial & Parallel Port chip is a multifunction device that encodes five reset straps and 1:0 function bits in bits 6:0 of the device ID. Hence it consumes a whole 128-entry block, which is however sparsely populated as obviously disabled functions do not appear in the configuration space.
+       c100  OXPCIe952 Parallel Port
+       c101  OXPCIe952 Legacy 950 UART
+       c104  OXPCIe952 Parallel Port
+       c105  OXPCIe952 Legacy 950 UART
+       c106  OXPCIe952 GPIO
+       c108  OXPCIe952 Parallel Port
+       c109  OXPCIe952 Legacy 950 UART
+       c10c  OXPCIe952 Parallel Port
+       c10d  OXPCIe952 Legacy 950 UART
+       c10e  OXPCIe952 GPIO
+       c110  OXPCIe952 Parallel Port
+       c114  OXPCIe952 Parallel Port
+       c118  OXPCIe952 Parallel Port
+       c11b  OXPCIe952 Native 950 UART
+       c11c  OXPCIe952 Parallel Port
+       c11e  OXPCIe952 GPIO
+       c11f  OXPCIe952 Native 950 UART
+       c120  OXPCIe952 Legacy 950 UART
+       c124  OXPCIe952 Legacy 950 UART
+       c126  OXPCIe952 GPIO
+       c128  OXPCIe952 Legacy 950 UART
+       c12c  OXPCIe952 Legacy 950 UART
+       c12e  OXPCIe952 GPIO
+       c134  OXPCIe952 GPIO
+       c138  OXPCIe952 Native 950 UART
+       c13c  OXPCIe952 GPIO
+       c13d  OXPCIe952 Native 950 UART
+       c140  OXPCIe952 Legacy 950 UART #1
+       c141  OXPCIe952 Legacy 950 UART #2
+       c144  OXPCIe952 Legacy 950 UART #1
+       c145  OXPCIe952 Legacy 950 UART #2
+       c146  OXPCIe952 GPIO
+       c148  OXPCIe952 Legacy 950 UART #1
+       c149  OXPCIe952 Legacy 950 UART #2
+       c14c  OXPCIe952 Legacy 950 UART #1
+       c14d  OXPCIe952 Legacy 950 UART #2
+       c14e  OXPCIe952 GPIO
+       c154  OXPCIe952 GPIO
+       c158  OXPCIe952 Dual Native 950 UART
                e4bf c504  CP4-SCAT Wireless Technologies Carrier Board
                e4bf d551  DU1-MUSTANG Dual-Port RS-485 Interface
+       c15c  OXPCIe952 GPIO
+       c15d  OXPCIe952 Dual Native 950 UART
        c308  EX-44016 16-port serial
 1416  Multiwave Innovation pte Ltd
 1417  Convergenet Technologies Inc
        a544  Exynos 8890 PCIe Root Complex
        a800  XP941 PCIe SSD
        a802  NVMe SSD Controller SM951/PM951
-       a804  NVMe SSD Controller SM961/PM961
+               144d a801  PM963 2.5" NVMe PCIe SSD
+       a804  NVMe SSD Controller SM961/PM961/SM963
+               144d a801  SM963 2.5" NVMe PCIe SSD
        a808  NVMe SSD Controller SM981/PM981/PM983
                1d49 403b  Thinksystem U.2 PM983 NVMe SSD
+       a80a  NVMe SSD Controller PM9A1/PM9A3/980PRO
        a820  NVMe SSD Controller 171X
                1028 1f95  Express Flash NVMe XS1715 SSD 400GB
                1028 1f96  Express Flash NVMe XS1715 SSD 800GB
                1028 2097  EMC PowerEdge Express Flash Ent NVMe AGN SED RI U.2 Gen4 1.92TB
                1028 2098  EMC PowerEdge Express Flash Ent NVMe AGN SED RI U.2 Gen4 3.84TB
                1028 2099  EMC PowerEdge Express Flash Ent NVMe AGN SED RI U.2 Gen4 7.68TB
+               1028 2118  Ent NVMe v2 AGN FIPS MU U.2 1.6TB
+               1028 2119  Ent NVMe v2 AGN MU U.2 1.6TB
+               1028 2120  Ent NVMe v2 AGN FIPS MU U.2 3.2T
+               1028 2121  Ent NVMe v2 AGN MU U.2 3.2TB
+               1028 2122  Ent NVMe v2 AGN FIPS MU U.2 6.4TB
+               1028 2123  Ent NVMe v2 AGN MU U.2 6.4TB
+               1028 2124  Ent NVMe v2 AGN FIPS MU U.2 6.4TB
+               1028 2125  Ent NVMe v2 AGN MU U.2 12.8TB
+               1028 2126  Ent NVMe v2 AGN FIPS RI U.2 1.92TB
+               1028 2127  Ent NVMe v2 AGN RI U.2 1.92TB
+               1028 2128  Ent NVMe v2 AGN FIPS RI U.2 3.84TB
+               1028 2129  Ent NVMe v2 AGN RI U.2 3.84TB
+               1028 2130  Ent NVMe v2 AGN FIPS RI U.2 7.68TB
+               1028 2131  Ent NVMe v2 AGN RI U.2 7.68TB
+               1028 2132  Ent NVMe v2 AGN FIPS RI U.2 15.36TB
+               1028 2133  Ent NVMe v2 AGN RI U.2 15.36TB
        ecec  Exynos 8895 PCIe Root Complex
 144e  OLITEC
 144f  Askey Computer Corp.
 1456  Advanced Hardware Architectures
 1457  Nuera Communications Inc
 1458  Gigabyte Technology Co., Ltd
+       3483  USB 3.0 Controller (VIA VL80x-based xHCI Controller)
 1459  DOOIN Electronics
 145a  Escalate Networks Inc
 145b  PRAIM SRL
        e836  M115S Hybrid Analog/DVB PAL/SECAM/NTSC Tuner
        f436  AVerTV Hybrid+FM
 1462  Micro-Star International Co., Ltd. [MSI]
+# VIA Driver-inf
+       3483  MSI USB 3.0 (VIA VL80x-based xHCI USB Controller)
        aaf0  Radeon RX 580 Gaming X 8G
 1463  Fast Corporation
 1464  Interactive Circuits & Systems Ltd
 148a  OPTO
 148b  INNOMEDIALOGIC Inc.
 148c  Tul Corporation / PowerColor
+       2391  Radeon RX 590 [Red Devil]
 148d  DIGICOM Systems, Inc.
        1003  HCF 56k Data/Fax Modem
 148e  OSI Plus Corporation
                103c 1240  Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM)
 14c2  DTK Computer
 14c3  MEDIATEK Corp.
+       7612  MT7612E 802.11acbgn PCI Express Wireless Network Adapter
        7630  MT7630e 802.11bgn Wireless Network Adapter
 # MT7612E too?
        7662  MT7662E 802.11ac PCI Express Wireless Network Adapter
+       7915  MT7915E 802.11ax PCI Express Wireless Network Adapter
 14c4  IWASAKI Information Systems Co Ltd
 14c5  Automation Products AB
 14c6  Data Race Inc
                103c 0890  NC6000 laptop
                103c 099c  NX6110/NC6120
                10cf 1279  LifeBook E8010D
-       165f  NetXtreme BCM5720 2-port Gigabit Ethernet PCIe
+       165f  NetXtreme BCM5720 Gigabit Ethernet PCIe
                1028 04f7  PowerEdge R320 server
                1028 08fd  PowerEdge R6515/R7515 LOM
                1028 08ff  PowerEdge Rx5xx LOM Board
                1028 0900  PowerEdge C6525 LOM
+# Dell 5720 LOM
+               1028 0917  PowerEdge C6520 LOM
                103c 1786  NC332T Adapter
                103c 193d  NC332i Adapter
                103c 2133  NC332i Adapter
                103c 339d  Ethernet 10Gb 2-port 530SFP+ Adapter
                193d 1003  530F-B
                193d 1006  530F-L
+               193d 100f  NIC-ETH522i-Mb-2x10G
        1690  NetXtreme BCM57760 Gigabit Ethernet PCIe
        1691  NetLink BCM57788 Gigabit Ethernet PCIe
                1028 04aa  XPS 8300
        16a0  NetLink BCM5785 Fast Ethernet
        16a1  BCM57840 NetXtreme II 10 Gigabit Ethernet
                1043 866e  PEB-10G/57840-2T 10GBase-T Network Adapter
+               193d 100b  NIC-ETH521i-Mb-4x10G
        16a2  BCM57840 NetXtreme II 10/20-Gigabit Ethernet
                103c 1916  FlexFabric 20Gb 2-port 630FLB Adapter
                103c 1917  FlexFabric 20Gb 2-port 630M Adapter
        16d4  BCM57402 NetXtreme-E Ethernet Partition
        16d5  BCM57407 NetXtreme-E 10GBase-T Ethernet Controller
        16d6  BCM57412 NetXtreme-E 10Gb RDMA Ethernet Controller
+               14e4 1202  BCM957412M4122C OCP 1x25G Type1 wRoCE
                14e4 4120  NetXtreme E-Series Advanced Dual-port 10Gb SFP+ Ethernet Network Daughter Card
                14e4 4126  NetXtreme-E Dual-port 10G SFP+ Ethernet OCP 3.0 Adapter (BCM957412N4120C)
                152d 8b20  BCM57412 NetXtreme-E 10Gb RDMA Ethernet Controller
                152d 8b22  BCM57412 NetXtreme-E 25Gb RDMA Ethernet Controller
        16d7  BCM57414 NetXtreme-E 10Gb/25Gb RDMA Ethernet Controller
-               14e4 1202  BCM957412M4122C OCP 1x25G Type1 wRoCE
                14e4 1402  BCM957414A4142CC 10Gb/25Gb Ethernet PCIe
                14e4 1404  BCM957414M4142C OCP 2x25G Type1 wRoCE
                14e4 4140  NetXtreme E-Series Advanced Dual-port 25Gb SFP28 Network Daughter Card
        1750  BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet
                14e4 2100  NetXtreme-E Dual-port 100G QSFP56 Ethernet PCIe4.0 x16 Adapter (BCM957508-P2100G)
                14e4 5208  NetXtreme-E Dual-port 100G QSFP56 Ethernet OCP 3.0 Adapter (BCM957508-N2100G)
+               14e4 d124  NetXtreme-E P2100D BCM57508 2x100G QSFP PCIE
+               14e4 df24  BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet
        1751  BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet
+               14e4 5045  NetXtreme-E BCM57504 4x25G OCP3.0
+               14e4 5250  NetXtreme-E BCM57504 4x25G KR Mezz
+               14e4 d142  NetXtreme-E P425D BCM57504 4x25G SFP28 PCIE
        1752  BCM57502 NetXtreme-E 10Gb/25Gb/40Gb/50Gb Ethernet
        1800  BCM57502 NetXtreme-E Ethernet Partition
        1801  BCM57504 NetXtreme-E Ethernet Partition
        1802  BCM57508 NetXtreme-E Ethernet Partition
+               14e4 df24  BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet Partition
        1803  BCM57502 NetXtreme-E RDMA Partition
        1804  BCM57504 NetXtreme-E RDMA Partition
-       1805  BCM57508 NetXtreme-E RDMA Partition
+       1805  BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz RDMA Partition
+               14e4 df24  NetXtreme-E NGM2100D BCM57508 2x100G KR Mezz RDMA Partition
        1806  BCM5750X NetXtreme-E Ethernet Virtual Function
+               14e4 df24  BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet Virtual Function
        1807  BCM5750X NetXtreme-E RDMA Virtual Function
+               14e4 df24  BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz RDMA Virtual Function
+       1808  BCM5750X NetXtreme-E Ethernet Virtual Function
+               14e4 df24  BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet Virtual Function
+       1809  BCM5750X NetXtreme-E RDMA Virtual Function
+               14e4 df24  BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz RDMA Virtual Function
+       2711  BCM2711 PCIe Bridge
        3352  BCM3352
        3360  BCM3360
        4210  BCM4210 iLine10 HomePNA 2.0
        4410  BCM4413 iLine32 HomePNA 2.0
        4411  BCM4413 V.90 56k modem
        4412  BCM4412 10/100BaseT
+       4415  BCM4359 802.11ac Dual-Band Wireless Network Controller
        441f  BCM4361 802.11ac Dual-Band Wireless Network Controller
        4420  BCM4361 802.11ac 2.4 GHz Wireless Network Controller
        4421  BCM4361 802.11ac 5 GHz Wireless Network Controller
                0070 6902  WinTV HVR-4000-HD
                0070 7801  WinTV HVR-1800 MCE
                0070 9001  Nova-T DVB-T
+               0070 9002  Nova-T DVB-T Model 909
                0070 9200  Nova-SE2 DVB-S
                0070 9202  Nova-S-Plus DVB-S
                0070 9402  WinTV-HVR1100 DVB-T/Hybrid
        9260  RCIM-II Real-Time Clock & Interrupt Module
        9271  RCIM-III Real-Time Clock & Interrupt Module (PCIe)
        9272  Pulse Width Modulator Card
+       9273  RCIM-IV Real-Time Clock & Interrupt Module (PCIe)
        9277  5 Volt Delta Sigma Converter Card
        9278  10 Volt Delta Sigma Converter Card
        9287  Analog Output Card
                15b3 0021  MCX4421A-ACQN ConnectX-4 Lx EN OCP,2x25G
                15b3 0025  ConnectX-4 Lx 25 GbE Dual Port SFP28 rNDC
                193d 100a  620F-B
+# NIC-ETH540F-LP-2P SFP+ Ethernet Card
+               193d 1023  NIC-ETH540F-LP-2P
+               193d 1031  NIC-ETH640i-Mb-2x25G
+# NIC-ETH640F-3S-2P OCP3.0 Card
+               193d 1083  NIC-ETH640F-3S-2P
+# NIC-ETH540F-3S-2P OCP3.0 2x10G Card
+               193d 1084  NIC-ETH540F-3S-2P
        1016  MT27710 Family [ConnectX-4 Lx Virtual Function]
        1017  MT27800 Family [ConnectX-5]
                15b3 0006  ConnectX®-5 EN network interface card, 100GbE single-port QSFP28, PCIe3.0 x16, tall bracket; MCX515A-CCAT
                15b3 0007  Mellanox ConnectX®-5 MCX516A-CCAT
                15b3 0020  ConnectX®-5 EN network interface card, 10/25GbE dual-port SFP28, PCIe3.0 x8, tall bracket ; MCX512A-ACAT
                15b3 0068  ConnectX®-5 EN network interface card for OCP2.0, Type 1, with host management, 25GbE dual-port SFP28, PCIe3.0 x8, no bracket Halogen free ; MCX542B-ACAN
+               193d 1051  NIC-IB1040i-Mb-2P
        1018  MT27800 Family [ConnectX-5 Virtual Function]
        1019  MT28800 Family [ConnectX-5 Ex]
                15b3 0008  ConnectX-5 Ex EN network interface card, 100GbE dual-port QSFP28, PCIe4.0 x16, tall bracket; MCX516A-CDAT
        1979  MT2910 Family [ConnectX-7 PCIe Bridge]
        197a  MT43162 Family [BlueField-3 Lx SoC PCIe Bridge]
        197b  MT43244 Family [BlueField-3 SoC PCIe Bridge]
+       2020  MT2892 Family [ConnectX-6 Dx Emulated PCIe Bridge]
+       2021  MT42822 Family [BlueField-2 SoC Emulated PCIe Bridge]
+       2023  MT2910 Family [ConnectX-7 Emulated PCIe Bridge]
+       2024  MT43244 Family [BlueField-3 SoC Emulated PCIe Bridge]
        4117  MT27712A0-FDCF-AE
                1bd4 0039  SN10XMP2P25
                1bd4 003a  25G SFP28 SP EO251FM9 Adapter
 15b7  Sandisk Corp
        2001  Skyhawk Series NVME SSD
        5001  WD Black NVMe SSD
-       5002  WD Black 2018 / PC SN720 NVMe SSD
-       5003  WD Black 2018 / PC SN520 NVMe SSD
-       5006  WD Black 2019/PC SN750 NVMe SSD
+       5002  WD Black 2018/SN750 / PC SN720 NVMe SSD
+       5003  WD Blue SN500 / PC SN520 NVMe SSD
+       5004  PC SN520 NVMe SSD
+       5005  PC SN520 NVMe SSD
+       5006  WD Black SN750 / PC SN730 NVMe SSD
        5009  WD Blue SN550 NVMe SSD
                15b7 5009  WD Blue SN550 NVMe SSD
+       500b  PC SN530 NVMe SSD
+               1414 500b  Xbox Series X
+       500d  WD Ultrastar DC SN340 NVMe SSD
+       5011  WD Black SN850
 15b8  ADDI-DATA GmbH
        1001  APCI1516 SP controller (16 digi outputs)
        1003  APCI1032 SP controller (32 digi inputs w/ opto coupler)
        2086  CryptoServer Se-Series Hardware Security Module
        c040  CryptoServer CSe-Series Hardware Security Module
        c051  CryptoServer Se-Series Gen2 Hardware Security Module
+       c070  u.trust Anchor Hardware Security Module cs7.2 Series
+       c071  u.trust Anchor Hardware Security Module cs7.3 Series
+       c072  u.trust Anchor Hardware Security Module cs7.3 Series Virtual Function
 # nee Atheros Communications, Inc.
 168c  Qualcomm Atheros
        0007  AR5210 Wireless Network Adapter [AR5000 802.11a]
        ab08  21x4x DEC-Tulip compatible 10/100 Ethernet
        ab09  21x4x DEC-Tulip compatible 10/100 Ethernet
 173b  Altima (nee Broadcom)
+       0001  AC1002 PCI Gigabit Ethernet controller
        03e8  AC1000 Gigabit Ethernet
        03e9  AC1001 Gigabit Ethernet
        03ea  AC9100 Gigabit Ethernet
        0245  PCA7428CE_F1 - Analog Inputs isolated
        0303  PCD-7006C Digital Input & Output PCI Card
        0800  PCD8006 - PCIe digital Inputs/Outputs
+       0840  PCA-8428 General-purpose multifunctional PCIe card with 8 analog inputs and 2 analog outputs
+       0841  PCA-8429 General-purpose multifunctional PCIe card with 8 analog inputs
+       0842  PCA-8438 General-purpose multifunctional PCIe card with 16 analog inputs and 2 analog outputs
+       0843  PCA-8439 General-purpose multifunctional PCIe card with 16 analog inputs
        ff00  CTU CAN FD PCIe Card
 1761  Pickering Interfaces Ltd
 1771  InnoVISION Multimedia Ltd.
        0004  Octeon (and older) FIPS
        0005  Octeon CN38XX Network Processor Pass 3.x
        0006  RoHS
-       0010  Nitrox XL NPX
+       0010  CN15XX/CN16XX [Nitrox PX]
+       0011  CNN35XX [Nitrox III]
+       0012  CNN55XX [Nitrox V]
        0020  Octeon CN31XX Network Processor
        0030  Octeon CN30XX Network Processor
        0040  Octeon CN58XX Network Processor
        8083  GL880 USB 1.1 UHCI controller
        8084  GL880 USB 2.0 EHCI controller
        9750  GL9750 SD Host Controller
+       9755  GL9755 SD Host Controller
        e763  GL9763E eMMC Controller
 17aa  Lenovo
+       3181  ThinkCentre M75n IoT
        402b  Intel 82599ES 10Gb 2-port Server Adapter X520-2
 17ab  Phillips Components
 17af  Hightech Information System Ltd.
                1385 6d00  WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter
                1737 0054  WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400
        0105  MSM8998 PCIe Root Complex
-       0108  SM8150/SA8195P PCIe Root Complex
-       0300  MDM9x35 LTE Modem
-       0301  MDM9640 PCIe Root Complex
-       0302  MDM9x55 LTE Modem [Snapdragon X12]
+       0108  SM8150 PCIe Root Complex
+       0109  SA8195P PCIe Root Complex
+       0300  MDM9x35 LTE Modem [Snapdragon X7]
+       0301  MDM9x45 LTE Modem [Snapdragon X12]
+       0302  MDM9x55 LTE Modem [Snapdragon X16]
        0400  Datacenter Technologies QDF2432 PCI Express Root Port
        0401  Datacenter Technologies QDF2400 PCI Express Root Port
        1000  QCS405 PCIe Root Complex
+       1101  QCA6390 Wireless Network Adapter [AX500-DBS (2x2)]
 17cc  NetChip Technology, Inc
        2280  USB 2.0
 17cd  Cadence Design Systems, Inc.
        0185  NT40A01 Network Adapter
        01a5  NT200A01 Network Adapter
        01c5  NT200A02 Network Adapter
+       01d5  NT50B01 Network Adapter
+       01e5  NT100A01 Network Adapter
 18f6  NextIO
        1000  [Nexsis] Switch Virtual P2P PCIe Bridge
        1001  [Texsis] Switch Virtual P2P PCIe Bridge
        0250  JMC250 PCI Express Gigabit Ethernet Controller
        0260  JMC260 PCI Express Fast Ethernet Controller
        0368  JMB368 IDE controller
+       0585  JMB58x AHCI SATA controller
        2360  JMB360 AHCI Controller
        2361  JMB361 AHCI/IDE
                1462 7235  P965 Neo MS-7235 mainboard
                19e5 d303  Hi1822 SP522 (2*8G FC)
                19e5 d306  Hi1822 SP523 (2*8G FC)
        1710  iBMA Virtual Network Adapter
-       1711  Hi1710 [iBMC Intelligent Management system chip w/VGA support]
+       1711  Hi171x Series [iBMC Intelligent Management system chip w/VGA support]
        1822  Hi1822 Family (4*25GE)
                19e5 d129  Hi1822 SP570 (4*25GE)
                19e5 d136  Hi1822 SP580 (4*25GE)
                19e5 d141  Hi1822 SP583 (4*25GE)
                19e5 d146  Hi1822 SP585 (4*25GE)
+       3714  ES3000 V5 NVMe PCIe SSD
+               19e5 5312  NVMe SSD ES3500P V5 2000GB 2.5" U.2
        371e  Hi1822 Family Virtual Bridge
+       3754  ES3000 V6 NVMe PCIe SSD
+               19e5 6122  NVMe SSD ES3600P V6 1600GB 2.5" U.2
+               19e5 6123  NVMe SSD ES3600P V6 3200GB 2.5" U.2
+               19e5 6124  NVMe SSD ES3600P V6 6400GB 2.5" U.2
+               19e5 6141  NVMe SSD ES3800P V6 800GB 2.5" U.2
+               19e5 6142  NVMe SSD ES3800P V6 1600GB 2.5" U.2
+               19e5 6212  NVMe SSD ES3500P V6 1920GB 2.5" U.2
+               19e5 6213  NVMe SSD ES3500P V6 3840GB 2.5" U.2
+               19e5 6214  NVMe SSD ES3500P V6 7680GB 2.5" U.2
+               19e5 6215  NVMe SSD ES3500P V6 15360GB 2.5" U.2
        375e  Hi1822 Family Virtual Function
        379e  Hi1822 Family Virtual Function
        a120  HiSilicon PCIe Root Port with Gen4
 1a4a  SLAC National Accelerator Lab TID-AIR
        1000  MCOR Power Supply Controller
        1010  AMC EVR - Stockholm Timing Board
-       1020  Cluster On Board (COB) Ethernet Switch
+       1020  PGPCard - Gen3 Cameralink Interface
+       1030  PGPCard - Gen3 GIGe Interface
        2000  PGPCard - 4 Lane
        2001  PGPCard - 8 Lane Plus EVR
        2010  PCI-Express EVR
-# PC-260-101-03
-       2020  PGP-GEN3 PCIe
+       2011  PCI-Express EVR - TPR Version
+       2020  PGP-GEN3 PCIe - 8 Lane Plus EVR
        2030  AXI Stream DAQ PCIe card
+       2040  EXO PCIe TEM
+       3000  COB DTM V1
+       3001  COB DTM V2
 1a51  Hectronic AB
 1a55  Rohde & Schwarz DVS GmbH
        0010  SDStationOEM
        1052  Virtio input
 # virtio 1.0
        1053  Virtio socket
+       105a  Virtio file system
        1110  Inter-VM shared memory
                1af4 1100  QEMU Virtual Machine
 1af5  Netezza Corp.
 1b13  Jaton Corp
 1b1a  K&F Computing Research Co.
        0e70  GRAPE
+1b1c  Corsair
 1b21  ASMedia Technology Inc.
        0611  ASM1061 SATA IDE Controller
        0612  ASM1062 Serial ATA Controller
                1849 0612  Motherboard
+       1040  ASM1040 XHCI Controller
        1042  ASM1042 SuperSpeed USB Host Controller
                1043 1059  K53SM motherboard
                1043 8488  P8B WS Motherboard
        1080  ASM1083/1085 PCIe to PCI Bridge
                1849 1080  Motherboard
        1142  ASM1042A USB 3.0 Host Controller
-       1184  ASM1184e PCIe Switch Port
-               1849 1184  ASM1184e PCIe Switch
+       1182  ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
+               1b21 118f  ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
+       1184  ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
+               1849 1184  ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
        1242  ASM1142 USB 3.1 Host Controller
        1343  ASM1143 USB 3.1 Host Controller
        2142  ASM2142 USB 3.1 Host Controller
+               1462 7a72  H270 PC MATE
        3242  ASM3242 USB 3.2 Host Controller
 1b26  Netcope Technologies, a.s.
        c132  COMBO-LXT155
        000b  QEMU PCIe Expander bridge
        000c  QEMU PCIe Root port
        000d  QEMU XHCI Host Controller
+       0010  QEMU NVM Express Controller
        0100  QXL paravirtual graphic card
                1af4 1100  QEMU Virtual Machine
 1b37  Signal Processing Devices Sweden AB
        0601  NumaChip N601
        0602  NumaChip N602
 1b4b  Marvell Technology Group Ltd.
+# device 1b4b:0100 reports incorrect vendor id due to hw erratum (correct is 11ab)
+       0100  88F3700 [Armada 3700 Family] ARM SoC
        0640  88SE9128 SATA III 6Gb/s RAID Controller
        2241  88NR2241 Non-Volatile memory controller
+               1028 2112  BOSS-N1 Monolithic
+               1028 2113  BOSS-N1 Modular
                1d49 0306  ThinkSystem M.2 NVMe 2-Bay RAID Enablement Kit
                1d49 0307  ThinkSystem 7mm NVMe 2-Bay Rear RAID Enablement Kit
        9120  88SE9120 SATA 6Gb/s Controller
        9172  88SE9172 SATA 6Gb/s Controller
        9178  88SE9170 PCIe SATA 6Gb/s Controller
        917a  88SE9172 SATA III 6Gb/s RAID Controller
+       9182  88SE9182 PCIe 2.0 x2 2-port SATA 6 Gb/s Controller
        9183  88SS9183 PCIe SSD Controller
        9192  88SE9172 SATA III 6Gb/s RAID Controller
        91a0  88SE912x SATA 6Gb/s Controller [IDE mode]
        91a4  88SE912x IDE Controller
+       9215  88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller
        9220  88SE9220 PCIe 2.0 x2 2-port SATA 6 Gb/s RAID Controller
-       9230  88SE9230 PCIe SATA 6Gb/s Controller
+       9230  88SE9230 PCIe 2.0 x2 4-port SATA 6 Gb/s RAID Controller
                1028 1fd6  BOSS-S1 Adapter
                1028 1fdf  BOSS-S1 Modular
                1028 1fe2  BOSS-S1 Adapter
 1b94  Signatec / Dynamic Signals Corp
        e400  PX14400 Dual Xilinx Virtex5 based Digitizer
 1b96  Western Digital
+       2200  Ultrastar DC SN630 NVMe SSD
+       2201  Ultrastar DC SN630 NVMe SSD
+       2300  Ultrastar DC SN840 NVMe SSD
+       2400  Ultrastar DC SN640 NVMe SSD
+       2401  Ultrastar DC SN640 NVMe SSD
+       2402  Ultrastar DC SN640 NVMe SSD
+       2404  Ultrastar DC SN640 NVMe SSD
+       2500  Ultrastar DC SN840 NVMe SSD
+       2600  Ultrastar DC ZN540 ZNS NVMe SSD
+       3714  PC SN730 NVMe SSD
+       3734  PC SN730 NVMe SSD
 1b9a  XAVi Technologies Corp.
 1baa  QNAP Systems, Inc.
 1bad  ReFLEX CES
 # Kersey 2.5" TCG
                1bb1 0152  Nytro 5520 TCG
                1bb1 01a1  Nytro XP7102
+       5012  FireCuda 510 SSD
+       5016  FireCuda 520 SSD
 1bb3  Bluecherry
        4304  BC-04120A MPEG4 4 port video encoder / decoder
        4309  BC-08240A MPEG4 4 port video encoder / decoder
 1bbf  Maxeler Technologies Ltd.
        0003  MAX3
        0004  MAX4
+1bc0  Innodisk Corporation
+       1001  PCIe 3TG6-P Controller
+       1002  PCIe 3TE6 Controller
+       1160  PCIe 3TE2 Controller
+       1321  PCIe 4TG-P Controller
+       1322  PCIe 4TE Controller
+       2262  PCIe 3TG3-P Controller
+       5208  PCIe 3TE7 Controller
+       5216  PCIe 3TE8 Controller
+       5236  PCIe 4TG2-P Controller
 1bcf  NEC Corporation
        001c  Vector Engine 1.0
 1bd0  Astronics Corporation
        1002  PM1553-5 (PC/104+ MIL-STD-1553 Interface Card)
        1004  AB3000 Series Rugged Computer
        1005  PE1000 (Multi-Protocol PCIe/104 Interface Card)
+       1006  webCS Wireless Aircraft Communications Server
+       1007  AB3000 Series Rugged Computer (Series N)
+       1008  ME1000 mPCIe Avionics Interface Card
+       100a  NG1 Series Avionics Converter
        1101  OmniBus II PCIe Multi-Protocol Interface Card
        1102  OmniBusBox II Multi-Protocol Interface Core
        1103  OmniBus II cPCIe/PXIe Multi-Protocol Interface Card
+       1200  NG3 Series Mil-Std-1553 Interface
+       1201  NG3 Series ARINC 429 Interface
+       1202  NG3 Series Avionics Discrete & Serial Interface
+       1203  NG3 Series Avionics Discrete Interface
 1bd4  Inspur Electronic Information Industry Co., Ltd.
        0911  Arria10_PCIe_F10A1150
 1bee  IXXAT Automation GmbH
        001b  FD720
        001c  FD922
        001d  Vega
+       001f  FD940
 1c28  Lite-On IT Corp. / Plextor
        0122  M6e PCI Express SSD [Marvell 88SS9183]
 # previously Fiberblaze
        00e1  PacketMover 2x100Gb [Tivoli]
        00e3  PacketMover 2x10Gb [Tivoli]
        00e5  PacketMover 2x10Gb [Corfu]
+       1000  SmartNIC N5010 4x100Gb
+       1001  SmartNIC N5011 w/2xE810 4x100Gb
        a000  FBC2CGG3 Capture 2x40Gb [Mango_02]
        a001  FBC2CGG3 Capture 2x100Gb [Mango_02]
        a003  FBC2CGG3 Capture 16x10Gb [Mango]
        1284  PC300 NVMe Solid State Drive 512GB
        1285  PC300 NVMe Solid State Drive 1TB
        1327  BC501 NVMe Solid State Drive 512GB
+       1339  BC511
        1504  SC300 512GB M.2 2280 SATA Solid State Drive
+       1527  PC401 NVMe Solid State Drive 256GB
        243b  PE6110 NVMe Solid State Drive
                1c5c 0100  PE6110 NVMe Solid State Drive
        2839  PE8000 Series NVMe Solid State Drive
                1c5c 0100  PE8000 Series NVMe Solid State Drive
 1c5f  Beijing Memblaze Technology Co. Ltd.
-       000d  PBlaze5 520/526 AIC
-       003d  PBlaze5 920/926 AIC
-       010d  PBlaze5 520/526 U.2
-       013d  PBlaze5 920/926 U.2
+       000d  PBlaze5 520/526
+       003d  PBlaze5 920/926
+       003e  PBlaze6 6920
+               1c5f 0a31  NVMe SSD PBlaze6 6920 3840GB 2.5" U.2
+               1c5f 0a41  NVMe SSD PBlaze6 6920 7680GB 2.5" U.2
+               1c5f 4a31  NVMe SSD PBlaze6 6920 3200GB 2.5" U.2
+               1c5f 4a41  NVMe SSD PBlaze6 6920 6400GB 2.5" U.2
        0540  PBlaze4 NVMe SSD
        0550  PBlaze5 700/900
        0555  PBlaze5 510/516
        0001  Hunter PCI Express
 1c8c  Mobiveil, Inc.
 1cb0  Shannon Systems
+       8266  Andalusia Series SSD
+               1cb0 2021  Andalusia Series OCS U.2 SSD
+               1cb0 2121  Andalusia Series ZNS U.2 SSD
+               1cb0 2f21  Andalusia Series NVMe U.2 SSD
        d000  Venice NVMe SSD
                1cb0 2010  Venice-E Series OCS U.2
                1cb0 2011  Venice Series OCS U.2
        0305  Simulyzer-RT CompactPCI Serial CAN-1 card
 # supports 8x CAN (-FD) interfaces
        0306  Simulyzer-RT CompactPCI Serial CAN-2 card (CAN-FD)
+       0307  Simulyzer-RT CompactPCI Serial DIO-2 card [Xilinx Zynq UltraScale+]
 1cd7  Nanjing Magewell Electronics Co., Ltd.
        0010  Pro Capture Endpoint
        0014  PRO CAPTURE AIO 4K PLUS
        0009  ExaNIC X25
        000a  ExaNIC X100
        000b  ExaNIC V9P
+       000c  ExaNIC V9P-3
        0100  ExaDISK FX1
 1cf0  Akitio
 1cf7  Subspace Dynamics
 1d00  Pure Storage
 1d05  Tongfang Hongkong Limited
 1d0f  Amazon.com, Inc.
+       8061  NVMe EBS Controller
        cd01  NVMe SSD Controller
        ec20  Elastic Network Adapter (ENA)
        efa0  Elastic Fabric Adapter (EFA)
        1014  AR-MAN-U280 [Manitou Class Accelerator for U280]
        1015  AR-ARK-BBDEV-FX0 [Arkville 32B DPDK Baseband Device]
        1016  AR-ARK-BBDEV-FX1 [Arkville 64B DPDK Baseband Device]
+       1017  AR-ARK-FX1 [Arkville 64B Multi-Homed Primary Endpoint]
+       1018  AR-ARK-FX1 [Arkville 64B Multi-Homed Secondary Endpoint]
+       1019  AR-ARK-FX1 [Arkville 64B Multi-Homed Tertiary Endpoint]
+       101a  AR-ARK-SRIOV-FX0 [Arkville 32B Primary Physical Function]
+       101b  AR-ARK-SRIOV-FX1 [Arkville 64B Primary Physical Function]
+       101c  AR-ARK-SRIOV-VF [Arkville Virtual Function]
        4200  A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument]
 1d72  Xiaomi
 1d78  DERA Storage
                1d78 3105  D5457 U.2 3.2TB NVMe SSD
                1d78 3107  D5457 U.2 6.4TB NVMe SSD
 1d7c  Aerotech, Inc.
+# Fiber-optic HyperWire motion control bus from Aerotech.
+       0001  HyperWire Adapter
 1d82  NETINT Technologies Inc.
        0101  Codensity D400 SSD
        0102  Codensity D408 PCIe Gen4 NVMe SSD
        0202  Codensity T408 Video Encoding-Decoding Accelerator
-1d87  Fuzhou Rockchip Electronics Co., Ltd
+# nee Fuzhou Rockchip Electronics Co., Ltd
+1d87  Rockchip Electronics Co., Ltd
        0100  RK3399 PCI Express Root Port
        1808  RK1808 Neural Network Processor Card
+       3566  RK3568 Remote Signal Processor
 1d8f  Enyx
-1d93  YADRO (KNS Group)
+1d93  YADRO
 1d94  Chengdu Haiguang IC Design Co., Ltd.
        1450  Root Complex
        1451  I/O Memory Management Unit
        0001  Colossus GC2 [C2]
        0002  Colossus GC1 [S1]
 1d97  Shenzhen Longsys Electronics Co., Ltd.
+       2263  SM2263EN/SM2263XT-based OEM SSD
 1d9b  Facebook, Inc.
        0010  Networking DOM Engine
        0011  IO Bridge
 1da1  Teko Telecom S.r.l.
 1da2  Sapphire Technology Limited
+       e26a  Radeon R7 250
 1da3  Habana Labs Ltd.
        0001  HL-1000 AI Inference Accelerator [Goya]
 # PCIe accelerator card for Deep Learning training tasks
        1000  HL-2000 AI Training Accelerator [Gaudi]
+# PCIe accelerator card for Deep Learning training tasks with secured firmware
+       1010  HL-2000 AI Training Accelerator [Gaudi secured]
 1db2  ATP ELECTRONICS INC
 1dbb  NGD Systems, Inc.
 1dbf  Guizhou Huaxintong Semiconductor Technology Co., Ltd
                1dd8 4000  Naples 100Gb 2-port QSFP28 x16 8GB
                1dd8 4001  Naples 100Gb 2-port QSFP28 x16 4GB
                1dd8 4002  Naples 25Gb 2-port SFP28 x8 4GB
-               1dd8 4007  DSP DSC-25 10/25G 2p OCP Card
-               1dd8 4008  DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC
+               1dd8 4007  DSP DSC-25 Ent 10/25G OCP3 Card
+               1dd8 4008  DSP DSC-25 10/25G 2p SFP28 Card
                1dd8 400a  DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card
                1dd8 400c  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
-               1dd8 400d  DSP DSC-100 100G 2p QSFP28 Card
+               1dd8 400d  DSP DSC-100 Ent 100Gb Card
+               1dd8 400e  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
        1001  DSC Virtual Downstream Port
                1dd8 4000  Naples 100Gb 2-port QSFP28 x16 8GB
                1dd8 4001  Naples 100Gb 2-port QSFP28 x16 4GB
                1dd8 4002  Naples 25Gb 2-port SFP28 x8 4GB
-               1dd8 4007  DSP DSC-25 10/25G 2p OCP Card
-               1dd8 4008  DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC
+               1dd8 4007  DSP DSC-25 Ent 10/25G OCP3 Card
+               1dd8 4008  DSP DSC-25 10/25G 2p SFP28 Card
                1dd8 400a  DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card
                1dd8 400c  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
-               1dd8 400d  DSP DSC-100 100G 2p QSFP28 Card
+               1dd8 400d  DSP DSC-100 Ent 100Gb Card
+               1dd8 400e  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
        1002  DSC Ethernet Controller
                1dd8 4000  Naples 100Gb 2-port QSFP28 x16 8GB
                1dd8 4001  Naples 100Gb 2-port QSFP28 x16 4GB
                1dd8 4002  Naples 25Gb 2-port SFP28 x8 4GB
-               1dd8 4007  DSP DSC-25 10/25G 2p OCP Card
-               1dd8 4008  DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC
+               1dd8 4007  DSP DSC-25 Ent 10/25G OCP3 Card
+               1dd8 4008  DSP DSC-25 10/25G 2p SFP28 Card
                1dd8 400a  DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card
                1dd8 400c  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
-               1dd8 400d  DSP DSC-100 100G 2p QSFP28 Card
+               1dd8 400d  DSP DSC-100 Ent 100Gb Card
+               1dd8 400e  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
        1003  DSC Ethernet Controller VF
                1dd8 4000  Naples 100Gb 2-port QSFP28 x16 8GB
                1dd8 4001  Naples 100Gb 2-port QSFP28 x16 4GB
                1dd8 4002  Naples 25Gb 2-port SFP28 x8 4GB
-               1dd8 4007  DSP DSC-25 10/25G 2p OCP Card
-               1dd8 4008  DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC
+               1dd8 4007  DSP DSC-25 Ent 10/25G OCP3 Card
+               1dd8 4008  DSP DSC-25 10/25G 2p SFP28 Card
                1dd8 400a  DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card
                1dd8 400c  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
-               1dd8 400d  DSP DSC-100 100G 2p QSFP28 Card
+               1dd8 400d  DSP DSC-100 Ent 100Gb Card
+               1dd8 400e  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
        1004  DSC Management Controller
                1dd8 4000  Naples 100Gb 2-port QSFP28 x16 8GB
                1dd8 4001  Naples 100Gb 2-port QSFP28 x16 4GB
                1dd8 4002  Naples 25Gb 2-port SFP28 x8 4GB
-               1dd8 4007  DSP DSC-25 10/25G 2p OCP Card
-               1dd8 4008  DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC
+               1dd8 4007  DSP DSC-25 Ent 10/25G OCP3 Card
+               1dd8 4008  DSP DSC-25 10/25G 2p SFP28 Card
                1dd8 400a  DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card
                1dd8 400c  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
-               1dd8 400d  DSP DSC-100 100G 2p QSFP28 Card
+               1dd8 400d  DSP DSC-100 Ent 100Gb Card
+               1dd8 400e  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
        1007  DSC Storage Accelerator
                1dd8 4000  Naples 100Gb 2-port QSFP28 x16 8GB
                1dd8 4001  Naples 100Gb 2-port QSFP28 x16 4GB
                1dd8 4002  Naples 25Gb 2-port SFP28 x8 4GB
-               1dd8 4007  DSP DSC-25 10/25G 2p OCP Card
-               1dd8 4008  DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC
+               1dd8 4007  DSP DSC-25 Ent 10/25G OCP3 Card
+               1dd8 4008  DSP DSC-25 10/25G 2p SFP28 Card
                1dd8 400a  DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card
                1dd8 400c  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
-               1dd8 400d  DSP DSC-100 100G 2p QSFP28 Card
+               1dd8 400d  DSP DSC-100 Ent 100Gb Card
+               1dd8 400e  DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card
 1de0  Groq
-       0000  Q100 Tensor Streaming Processor
+# rename due to conflict with a term in use by another company for an entirely different product.
+       0000  TSP100 Tensor Streaming Processor
 1de1  Tekram Technology Co.,Ltd.
        0391  TRM-S1040 [DC-315 / DC-395 series]
-       2020  DC-390
+       2020  DC-390 Series SCSI Adapter [AMD Am53C974]
        690c  690c
        dc29  DC290
 1de5  Eideticom, Inc
        e00a  eMAG PCI Express Root Port 5
        e00b  eMAG PCI Express Root Port 6
        e00c  eMAG PCI Express Root Port 7
+# Root Complex A (RCA)
+       e100  Altra PCI Express Root Complex A
+# RCA port 0
+       e101  Altra PCI Express Root Port a0
+# RCA port 1
+       e102  Altra PCI Express Root Port a1
+# RCA port 2
+       e103  Altra PCI Express Root Port a2
+# RAC port 3
+       e104  Altra PCI Express Root Port a3
+# RCA port 4
+       e105  Altra PCI Express Root Port a4
+# RCA port 5
+       e106  Altra PCI Express Root Port a5
+# RCA port 6
+       e107  Altra PCI Express Root Port a6
+# RCA port 7
+       e108  Altra PCI Express Root Port a7
+# Root Complex B (RCB)
+       e110  Altra PCI Express Root Complex B
+# RCB port 0
+       e111  Altra PCI Express Root Port b0
+# RCB port 1
+       e112  Altra PCI Express Root Port b1
+# RCB port 2
+       e113  Altra PCI Express Root Port b2
+# RCB port 3
+       e114  Altra PCI Express Root Port b3
+# RCB port 4
+       e115  Altra PCI Express Root Port b4
+# RCB port 5
+       e116  Altra PCI Express Root Port b5
+# RCB port 6
+       e117  Altra PCI Express Root Port b6
+# RCB port 7
+       e118  Altra PCI Express Root Port b7
 1df3  Ethernity Networks
        0201  ACE-NIC40 Programmable Network Accelerator
                1df3 0001  ENA1040
        0206  ACE-NIC200 Programmable Network Accelerator
                1df3 0000  Maintenance Mode
                1df3 0001  ENA2200F
+       0207  ACE-NIC50RN Programmable Network Accelerator
+               1df3 0000  Maintenance Mode
+               1df3 0001  ENA2050RN
+       0208  ACE-NIC100RN Programmable Network Accelerator
+               1df3 0000  Maintenance Mode
+               1df3 0001  ENA2100RN
 1df7  opencpi.org
        0001  ml605
        0002  alst4
                1028 210f  Dell Ent NVMe FIPS CM6 MU 3.2TB
                1028 2110  Dell Ent NVMe FIPS CM6 MU 6.4TB
                1e0f 0001  Generic NVMe CM6 RI 3.84TB
+       0009  NVMe SSD
+               1e0f 0001  Toshiba RC500 NVMe SSD 500GB
 1e17  Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
 1e24  Squirrels Research Labs
        0101  Acorn CLE-101
 1e26  Fujitsu Client Computing Limited
 1e36  Shanghai Enflame Technology Co. Ltd
        0001  T10 [CloudBlazer]
+       0002  T11 [CloudBlazer]
+       0003  T10(QSFP-DD) [CloudBlazer]
+       8011  I10 [CloudBlazer]
+       8012  I10L [CloudBlazer]
 # nee Thinci, Inc
 1e38  Blaize, Inc
        0102  Xplorer X1600
+1e3b  Shenzhen DAPU Microelectronics Co., Ltd
+       1098  Haishen NVMe SSD
+               1e3b 0001  Enterprise NVMe SSD U.2 0.8TB (H2100)
+               1e3b 0002  Enterprise NVMe SSD U.2 0.96TB (H2200)
+               1e3b 0004  Enterprise NVMe SSD U.2 1.6TB (H2100)
+               1e3b 0005  Enterprise NVMe SSD U.2 1.92TB (H2200)
+               1e3b 0009  Enterprise NVMe SSD U.2 0.8TB (H3100)
+               1e3b 000a  Enterprise NVMe SSD U.2 0.96TB (H3200)
+               1e3b 000c  Enterprise NVMe SSD U.2 1.6TB (H3100)
+               1e3b 000d  Enterprise NVMe SSD U.2 1.92TB (H3200)
+               1e3b 0014  Enterprise NVMe SSD U.2 3.2TB (H3100)
+               1e3b 0015  Enterprise NVMe SSD U.2 3.84TB (H3200)
+               1e3b 0021  Enterprise NVMe SSD U.2 6.4TB (H3100)
+               1e3b 0022  Enterprise NVMe SSD U.2 7.68TB (H3200)
+               1e3b 0061  Enterprise NVMe SSD HHHL 0.8TB (H2100)
+               1e3b 0062  Enterprise NVMe SSD HHHL 0.96TB (H2200)
+               1e3b 0064  Enterprise NVMe SSD HHHL 1.6TB (H2100)
+               1e3b 0065  Enterprise NVMe SSD HHHL 1.92TB (H2200)
+               1e3b 006c  Enterprise NVMe SSD HHHL 0.8TB (H3100)
+               1e3b 006d  Enterprise NVMe SSD HHHL 0.96TB (H3200)
+               1e3b 006f  Enterprise NVMe SSD HHHL 1.6TB (H3100)
+               1e3b 0070  Enterprise NVMe SSD HHHL 1.92TB (H3200)
+               1e3b 007c  Enterprise NVMe SSD HHHL 3.2TB (H3100)
+               1e3b 007d  Enterprise NVMe SSD HHHL 3.84TB (H3200)
+               1e3b 007f  Enterprise NVMe SSD HHHL 6.4TB (H3100)
+               1e3b 0080  Enterprise NVMe SSD HHHL 7.68TB (H3200)
 1e3d  Burlywood, Inc
 1e49  Yangtze Memory Technologies Co.,Ltd
 1e4b  MAXIO Technology (Hangzhou) Ltd.
        1601  NVMe SSD Controller MAP1601
 1e4c  GSI Technology
 # Associative Processing Unit (APU)
-       0010  APU [Leda-G]
+       0010  APU [Leda]
                1e4c 0120  SE120
 1e57  Beijing Panyi Technology Co., Ltd
        0100  The device has already been deleted.
                0000 0100  PY8800 64GB Accelerator
+1e60  Hailo Technologies Ltd.
+       2864  Hailo-8 AI Processor
 1e6b  Axiado Corp.
 1e7b  Dataland
 1e7c  Brainchip Inc
 # aka SED Systems
 1e94  Calian SED
 1e95  Solid State Storage Technology Corporation
+1ea0  Tencent Technology (Shenzhen) Company Limited
+       2a16  Cloud Intelligent Inference Controller
+1eab  Hefei DATANG Storage Technology Co.,LTD.
+       300a  NVMe SSD Controller 300A
+       300b  NVMe SSD Controller 300B
 1eae  XFX Limited
 1eb1  VeriSilicon Inc
        1001  Video Accelerator
+1ebd  EMERGETECH Company Ltd.
+       0101  Seirios 2063 Video Codec
+1ed3  Yeston
+1ed8  Digiteq Automotive
+       0101  FG4 PCIe Frame Grabber
+1ed9  Myrtle.ai
+1ee9  SUSE LLC
 # nee Tumsan Oy
 1fc0  Ascom (Finland) Oy
        0300  E2200 Dual E1/Rawpipe Card
 2348  Racore
        2010  8142 100VG/AnyLAN
 2646  Kingston Technology Company, Inc.
-       2263  A2000, M.2, 500GB
+       0010  HyperX Predator PCIe AHCI SSD
+       2262  KC2000 NVMe SSD
+       2263  A2000 NVMe SSD
+       5008  U-SNS8154P3 NVMe SSD
+       500d  OM3PDP3 NVMe SSD
 270b  Xantel Corporation
 270f  Chaintech Computer Co. Ltd
 2711  AVID Technology Inc.
        7053  CH353 PCI Dual Serial and Parallel Ports Controller
        7073  CH356 PCI Quad Serial and Parallel Ports Controller
        7173  CH355 PCI Quad Serial Port Controller
-434e  CAST Navigation LLC
+434e  Cornelis Networks
+43bc  Tiger Lake-H PCIe Root Port #5
 4444  Internext Compression Inc
        0016  iTVC16 (CX23416) Video Decoder
                0070 0003  WinTV PVR 250
        0100  2nd Generation Core Processor Family DRAM Controller
                1028 04aa  XPS 8300
                1043 844d  P8P67/P8H67 Series Motherboard
+               8086 200d  DH61CR motherboard
        0101  Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port
                1028 04b2  Vostro 3350
                106b 00dc  MacBookPro8,2 [Core i7, 15", 2011]
                1043 844d  P8B WS Motherboard
        0172  Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
        0176  3rd Gen Core processor Graphics Controller
+       0201  Arctic Sound
        0284  Comet Lake PCH-LP LPC Premium Controller/eSPI Controller
        02a3  Comet Lake PCH-LP SMBus Host Controller
        02a4  Comet Lake SPI (flash) Controller
        02a6  Comet Lake North Peak
+       02b0  Comet Lake PCI Express Root Port #9
+       02b1  Comet Lake PCI Express Root Port #10
+       02b3  Comet Lake PCI Express Root Port #12
+       02b4  Comet Lake PCI Express Root Port #13
+       02b8  Comet Lake PCI Express Root Port #1
+       02bc  Comet Lake PCI Express Root Port #5
+       02c5  Comet Lake Serial IO I2C Host Controller
        02c8  Comet Lake PCH-LP cAVS
        02d3  Comet Lake SATA AHCI Controller
        02e0  Comet Lake Management Engine Interface
        02e8  Serial IO I2C Host Controller
        02e9  Comet Lake Serial IO I2C Host Controller
+       02ea  Comet Lake PCH-LP LPSS: I2C Controller #2
        02ed  Comet Lake PCH-LP USB 3.1 xHCI Host Controller
        02ef  Comet Lake PCH-LP Shared SRAM
        02f0  Comet Lake PCH-LP CNVi WiFi
                8086 0034  Wireless-AC 9560 160MHz
                8086 0070  Wi-Fi 6 AX201 160MHz
                8086 0074  Wi-Fi 6 AX201 160MHz
+               8086 4070  Wireless-AC 9462 80MHz
        02f5  Comet Lake PCH-LP SCS3
        02f9  Comet Lake Thermal Subsytem
        02fc  Comet Lake Integrated Sensor Solution
        0406  Haswell Integrated Graphics Controller
        040a  Xeon E3-1200 v3 Processor Integrated Graphics Controller
        0412  Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
+               1028 05d7  Alienware X51 R2
                103c 1998  EliteDesk 800 G1
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
        0416  4th Gen Core Processor Integrated Graphics Controller
                17aa 220e  ThinkPad T440p
        06ab  Comet Lake PCH Serial IO SPI Controller #1
        06ac  Comet Lake PCI Express Root Port #21
        06b0  Comet Lake PCI Express Root Port #9
+       06bd  Comet Lake PCIe Port #6
        06c0  Comet Lake PCI Express Root Port #17
        06c8  Comet Lake PCH cAVS
+       06d2  Comet Lake SATA AHCI Controller
        06e0  Comet Lake HECI Controller
+       06e3  Comet Lake Keyboard and Text (KT) Redirection
        06e8  Comet Lake PCH Serial IO I2C Controller #0
        06e9  Comet Lake PCH Serial IO I2C Controller #1
        06ea  Comet Lake PCH Serial IO I2C Controller #2
                1028 1fe7  Express Flash NVMe 3.2TB 2.5" U.2 (P4600)
                1028 1fe8  Express Flash NVMe 2.0TB HHHL AIC (P4600)
                1028 1fe9  Express Flash NVMe 4.0TB HHHL AIC (P4600)
-       0b60  NVMe DC SSD [3DNAND, Beta Rock Controller]
+       0b26  Thunderbolt 4 Bridge [Goshen Ridge 2020]
+       0b27  Thunderbolt 4 USB Controller [Goshen Ridge 2020]
+       0b60  NVMe DC SSD [3DNAND, Sentinel Rock Controller]
                1028 2060  NVMe SED MU U.2 1.6TB (P5600)
                1028 2061  NVMe SED MU U.2 3.2TB (P5600)
                1028 2062  NVMe SED MU U.2 6.4TB (P5600)
                1028 2102  NVMe RI U.2 1.92TB (P5500)
                1028 2103  NVMe RI U.2 3.84TB (P5500)
                1028 2104  NVMe RI U.2 7.68TB (P5500)
+               8086 8008  NVMe Datacenter SSD [3DNAND] SE 2.5" U.2 (P5510)
+               8086 8d08  NVMe Datacenter SSD [3DNAND] VE 2.5" U.2 (P5316)
+               8086 8d1d  NVMe Datacenter SSD [3DNAND] VE E1.L 9.5/18mm (P5316)
+       0bd0  Ponte Vecchio 2T
        0be0  Atom Processor D2xxx/N2xxx Integrated Graphics Controller
        0be1  Atom Processor D2xxx/N2xxx Integrated Graphics Controller
                105b 0d7c  D270S/D250S Motherboard
        0bf6  Atom Processor D2xxx/N2xxx DRAM Controller
        0bf7  Atom Processor D2xxx/N2xxx DRAM Controller
        0c00  4th Gen Core Processor DRAM Controller
+               1028 05d7  Alienware X51 R2
                103c 1998  EliteDesk 800 G1
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
        0c01  Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller
        0c04  Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller
                103c 2159  Ethernet 10Gb 2-port 562i Adapter
                108e 7b11  Ethernet Server Adapter X520-2
                1170 004c  82599 DP 10G Mezzanine Adapter
-               15d9 0611  AOC-STGN-I2S [REV 1.01]
+               15d9 0611  AOC-STGN-i2S
                1734 11a9  10 Gigabit Dual Port Network Connection
                17aa 1071  ThinkServer X520-2 AnyFabric
                17aa 4007  82599ES 10-Gigabit SFI/SFP+ Network Connection
                8086 4532  Desktop Board D815EEA2/D815EFV
                8086 4541  D815EEA Motherboard
                8086 4557  D815EGEW Mainboard
+       1136  Thunderbolt 4 Bridge [Maple Ridge 4C 2020]
+       1137  Thunderbolt 4 NHI [Maple Ridge 4C 2020]
+       1138  Thunderbolt 4 USB Controller [Maple Ridge 4C 2020]
        1161  82806AA PCI64 Hub Advanced Programmable Interrupt Controller
                8086 1161  82806AA PCI64 Hub APIC
        1162  Xscale 80200 Big Endian Companion Chip
        123f  82466GX Integrated Hot-Plug Controller (IHPC)
        1240  82752 (752) AGP Graphics Accelerator
        124b  82380FB (MPCI2) Mobile Docking Controller
+       124c  Ethernet Connection E823-L for backplane
+       124d  Ethernet Connection E823-L for SFP
+       124e  Ethernet Connection E823-L/X557-AT 10GBASE-T
+       124f  Ethernet Connection E823-L 1GbE
        1250  430HX - 82439HX TXC [Triton II]
        1360  82806AA PCI64 Hub PCI Bridge
        1361  82806AA PCI64 Hub Controller (HRes)
        1503  82579V Gigabit Network Connection
                1043 849c  P8P67 Deluxe Motherboard
                10cf 161c  LIFEBOOK E752
+               8086 200d  DH61CR motherboard
        1507  Ethernet Express Module X520-P2
        1508  82598EB Gigabit BX Network Connection
        1509  82580 Gigabit Network Connection
        151b  CVL2510 Thunderbolt Controller [Light Peak 2C 2010]
        151c  82599 10 Gigabit TN Network Connection
                108e 7b13  Dual 10GBASE-T LP
+       151d  Ethernet Connection E823-L for QSFP
        1520  I350 Ethernet Controller Virtual Function
        1521  I350 Gigabit Network Connection
                1028 0602  Gigabit 2P I350-t LOM
                1093 775b  PCIe-8237 Ethernet Adapter
                10a9 802a  UV2-BaseIO dual-port GbE
                1137 023e  1GigE I350 LOM
+               15d9 0000  AOC-SGP-i4
                15d9 0652  Dual Port i350 GbE MicroLP [AOC-CGP-i2]
                17aa 1074  ThinkServer I350-T4 AnyFabric
                17aa 4005  I350 Gigabit Network Connection
                18d4 0c07  I350 1Gb 2-port RJ45 OCP Mezz Card MOP41-I-1GT2
                193d 1005  360T-B
                193d 1007  360T-L
+# NIC-ETH360T-3S-4P OCP3.0 4x1G Base-T Card
+               193d 1080  NIC-ETH360T-3S-4P
                1bd4 001d  1G base-T QP EP014Ti1 Adapter
                1bd4 0035  1G base-T QP EP014Ti1 Adapter
                8086 0001  Ethernet Server Adapter I350-T4
        156f  Ethernet Connection I219-LM
                1028 06dc  Latitude E7470
                103c 8079  EliteBook 840 G3
+               17aa 2247  ThinkPad T570
        1570  Ethernet Connection I219-V
        1571  Ethernet Virtual Function 700 Series
        1572  Ethernet Controller X710 for 10GbE SFP+
                17aa 0000  ThinkServer X710 AnyFabric for 10GbE SFP+
                17aa 4001  ThinkServer X710-4 AnyFabric for 10GbE SFP+
                17aa 4002  ThinkServer X710-2 AnyFabric for 10GbE SFP+
+               193d 1020  NIC-ETH561F-sL-4x10G
+               193d 1021  NIC-ETH561F-sL-2x10G
+# NIC-ETH561F-3S-2P OCP3.0 2x10G SFP+ Card
+               193d 1081  NIC-ETH561F-3S-2P
                19e5 d11c  Ethernet 2-port X710 10Gb SFP+ Adapter SP330
+               1bd4 0042  10G SFP+ DP EP102Fi4 Adapter
                1bd4 0056  Ethernet Network Adapter X710-BM2 for OCP NIC 3.0
                8086 0000  Ethernet Converged Network Adapter X710
                8086 0001  Ethernet Converged Network Adapter X710-4
        1577  DSL6540 Thunderbolt 3 NHI [Alpine Ridge 4C 2015]
        1578  DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
        157b  I210 Gigabit Network Connection
+               ea50 cc10  RXi2-BP
        157c  I210 Gigabit Backplane Connection
        157d  DSL5110 Thunderbolt 2 NHI (Low Power) [Win Ridge 2C 2014]
        157e  DSL5110 Thunderbolt 2 Bridge (Low Power) [Win Ridge 2C 2014]
                1059 0170  RD-01213 10GbE interface
                1590 0000  Ethernet 2-port 563i Adapter
                1590 00f8  Ethernet 2-port 563i Adapter
+               193d 100e  NIC-ETH561i-Mb-4x10G
                8086 0000  Ethernet Converged Network Adapter XL710-Q2
        1583  Ethernet Controller XL710 for 40GbE QSFP+
                1028 0000  Ethernet 40G 2P XL710 QSFP+ rNDC
        1591  Ethernet Controller E810-C for backplane
        1592  Ethernet Controller E810-C for QSFP
                1137 02bf  E810CQDA2 2x100 GbE QSFP28 PCIe NIC
+               193d 1050  NIC-ETH1060F-LP-2P 2x100GbE Ethernet PCIe Card
+               8086 0001  Ethernet Network Adapter E810-C-Q1
                8086 0002  Ethernet Network Adapter E810-C-Q2
                8086 0004  Ethernet Network Adapter E810-C-Q2
                8086 0005  Ethernet Network Adapter E810-C-Q1 for OCP3.0
                8086 000a  Ethernet Network Adapter E810-C-Q1 for OCP
                8086 000b  Ethernet 100G 2P E810-C Adapter
                8086 000c  Ethernet 100G 2P E810-C OCP
+               8086 000d  Ethernet Network Adapter E810-L-Q2 for OCP 3.0
+               8086 000e  Ethernet Network Adapter E810-2C-Q2
        1593  Ethernet Controller E810-C for SFP
                1137 02c3  E810XXVDA4 4x25/10 GbE SFP28 PCIe NIC
                8086 0002  Ethernet Network Adapter E810-L-2
        15b6  DSL6540 USB 3.1 Controller [Alpine Ridge]
        15b7  Ethernet Connection (2) I219-LM
        15b8  Ethernet Connection (2) I219-V
+               1462 7a72  H270 PC MATE
        15b9  Ethernet Connection (3) I219-LM
        15bb  Ethernet Connection (7) I219-LM
        15bc  Ethernet Connection (7) I219-V
                1137 0000  X710TLG GbE RJ45 PCIe NIC
                1137 02c1  X710T2LG 2x10 GbE RJ45 PCIe NIC
                1137 02c2  X710T4LG 4x10 GbE RJ45 PCIe NIC
+               1137 02d9  Ethernet Network Adapter X710-T2L OCP 3.0
+               1137 02da  Ethernet Network Adapter X710-T4L OCP 3.0
+# NIC-ETH565T-3S-2P OCP3.0 2x10G Base-T Card
+               193d 1082  NIC-ETH565T-3S-2P
                8086 0000  Ethernet Network Adapter X710-TL
                8086 0001  Ethernet Network Adapter X710-T4L
                8086 0002  Ethernet Network Adapter X710-T4L
        18a0  C4xxx Series QAT
        18a1  C4XXX Series QAT Virtual Function
        1900  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
-       1901  6th-9th Gen Core Processor PCIe Controller (x16)
+       1901  6th-10th Gen Core Processor PCIe Controller (x16)
        1902  HD Graphics 510
        1903  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
                1028 06e4  XPS 15 9550
+               1028 06e6  Latitude 11 5175 2-in-1
                103c 825b  OMEN-17-w001nv
                17aa 225d  ThinkPad T480
        1904  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
                1028 06dc  Latitude E7470
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
+               17aa 2247  ThinkPad T570
                17aa 382a  B51-80 Laptop
        1905  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8)
        1906  HD Graphics 510
        1909  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x4)
        190c  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        190f  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
        1910  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
                1028 06e4  XPS 15 9550
                103c 825b  OMEN-17-w001nv
        1911  Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
                1028 0869  Vostro 3470
+               1462 7a72  H270 PC MATE
                17aa 2247  ThinkPad T570
                17aa 224f  ThinkPad X1 Carbon 5th Gen
                17aa 225d  ThinkPad T480
                1028 06dc  Latitude E7470
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
+               17aa 2247  ThinkPad T570
        1918  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
        1919  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        191b  HD Graphics 530
                1028 06e4  XPS 15 9550
                103c 825b  OMEN-17-w001nv
        191d  HD Graphics P530
        191e  HD Graphics 515
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        191f  Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
        1921  HD Graphics 520
        1926  Iris Graphics 540
        1c02  6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller
                1028 04aa  XPS 8300
                1043 844d  P8 series motherboard
+               8086 200d  DH61CR motherboard
                8086 7270  Server Board S1200BT Family
        1c03  6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller
                1028 04a3  Precision M4600
                17aa 21cf  ThinkPad T520
 # Realtek ALC888 audio codec
                8086 2008  DQ67SW board
+               8086 200d  DH61CR motherboard
                8086 7270  Apple MacBookPro8,2 [Core i7, 15", 2011]
        1c22  6 Series/C200 Series Chipset Family SMBus Controller
                1028 04a3  Precision M4600
                1028 04da  Vostro 3750
                1043 844d  P8 series motherboard
                17aa 21cf  ThinkPad T520
+               8086 200d  DH61CR motherboard
                8086 7270  Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2
        1c24  6 Series/C200 Series Chipset Family Thermal Management Controller
        1c25  6 Series/C200 Series Chipset Family DMI to PCI Bridge
                1028 04da  Vostro 3750
                1043 844d  P8 series motherboard
                17aa 21cf  ThinkPad T520
+               8086 200d  DH61CR motherboard
                8086 7270  Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2
        1c27  6 Series/C200 Series Chipset Family USB Universal Host Controller #1
                8086 7270  Apple MacBookPro8,2 [Core i7, 15", 2011]
                1028 04da  Vostro 3750
                1043 844d  P8 series motherboard
                17aa 21cf  ThinkPad T520
+               8086 200d  DH61CR motherboard
                8086 7270  Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2
        1c33  6 Series/C200 Series Chipset Family LAN Controller
        1c35  6 Series/C200 Series Chipset Family VECI Controller
                1028 04da  Vostro 3750
                1043 844d  P8 series motherboard
                17aa 21cf  ThinkPad T520
+               8086 200d  DH61CR motherboard
                8086 7270  Apple MacBookPro8,2 [Core i7, 15", 2011]
        1c3b  6 Series/C200 Series Chipset Family MEI Controller #2
        1c3c  6 Series/C200 Series Chipset Family IDE-r Controller
        1c5a  Upgraded Q67 Express Chipset LPC Controller
        1c5b  6 Series/C200 Series Chipset Family LPC Controller
        1c5c  H61 Express Chipset LPC Controller
+               8086 200d  DH61CR motherboard
        1c5d  6 Series/C200 Series Chipset Family LPC Controller
        1c5e  6 Series/C200 Series Chipset Family LPC Controller
        1c5f  6 Series/C200 Series Chipset Family LPC Controller
                15d9 066b  X9SRL-F
        1d2d  C600/X79 series chipset USB2 Enhanced Host Controller #2
                1028 04f7  C602J on PowerEdge R320 server
+               103c 18a9  HP DL360e G8
                15d9 066b  X9SRL-F
        1d33  C600/X79 series chipset LAN Controller
        1d35  C600/X79 series chipset VECI Controller
        1f26  Atom processor C2000 RAID SATA2 Controller
        1f27  Atom processor C2000 RAID SATA2 Controller
        1f2c  Atom processor C2000 USB Enhanced Host Controller
+               0200 1028  Atom C2338 on Dell 0K8Y0N motherboard
        1f2e  Atom processor C2000 RAID SATA2 Controller
        1f2f  Atom processor C2000 RAID SATA2 Controller
        1f30  Atom processor C2000 2-Port IDE SATA3 Controller
                147b 0507  TH7II-RAID
                8086 4532  Desktop Board D815EEA2/D815EFV
                8086 4557  D815EGEW Mainboard
+               8086 4d44  D850EMV2 motherboard
                8086 5744  S845WD1-E mainboard
        2443  82801BA/BAM SMBus Controller
                1014 01c6  Netvista A40/A40p
                147b 0507  TH7II-RAID
                8086 4557  D815EGEW Mainboard
                8086 4656  Desktop Board D815EFV
+               8086 4d44  D850EMV2 motherboard
        2446  82801BA/BAM AC'97 Modem Controller
                1025 1016  Travelmate 612 TX
                104d 80df  Vaio PCG-FX403
                15d9 3280  Supermicro P4SBE Mainboard
                8086 4532  Desktop Board D815EEA2/D815EFV
                8086 4557  D815EGEW Mainboard
+               8086 4d44  D850EMV2 motherboard
                8086 5744  S845WD1-E mainboard
        244c  82801BAM ISA Bridge (LPC)
        244e  82801 PCI Bridge
                1cb8 0002  Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, TC6600 Fixed Port
                1cb8 0003  Omni-Path HFI Adapter 100 Series, 2 Port, 2 PCIe x16, Earth Simulation QSFP28
                1cb8 0004  Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, TC4600E QSFP28
+               434e 0001  Omni-Path HFI 100 Series, 1 Port, OCP 3.0 Adapter
                8086 2628  Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16
                8086 2629  Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x8
                8086 262a  Omni-Path HFI Adapter 100 Series, 2 Ports, Split PCIe x16
        250f  82820 820 (Camino) Chipset AGP Bridge
        2520  82805AA MTH Memory Translator Hub
        2521  82804AA MRH-S Memory Repeater Hub for SDRAM
+       2522  NVMe Optane Memory Series
+               8086 3806  Optane Memory 16GB
+               8086 3810  Optane Memory M10 16GB
        2526  Wireless-AC 9260
        2530  82850 850 (Tehama) Chipset Host Bridge (MCH)
                1028 00c7  Dimension 8100
                103c 0934  Compaq nw8240/nx8220
                103c 0944  Compaq nc6220 Notebook PC
                103c 099c  NX6110/NC6120
+               1043 82d9  Asus Eee PC 900
                104d 81b7  Vaio VGN-S3XP
                a304 81b7  Vaio VGN-S3XP
                e4bf 0ccd  CCD-CALYPSO
                8086 3904  NVMe Datacenter SSD [Optane] x4 AIC (P4800X)
                8086 3905  NVMe Datacenter SSD [Optane] 15mm 2.5" U.2 (P4800X)
        2723  Wi-Fi 6 AX200
-               8086 2723  Wireless AX200
+               1a56 1654  Killer™ Wi-Fi 6 AX1650x (AX200NGW)
+               8086 0084  Wi-Fi 6 AX200NGW
+       2725  Wi-Fi 6 AX210/AX211/AX411 160MHz
+               8086 0020  Wi-Fi 6 AX210 160MHz
+               8086 0024  Wi-Fi 6 AX210 160MHz
+               8086 0090  Wi-Fi 6 AX211 160MHz
+               8086 00b0  Wi-Fi 6 AX411 160MHz
+               8086 0310  Wi-Fi 6 AX210 160MHz
+               8086 0510  Wi-Fi 6 AX210 160MHz
+               8086 0a10  Wi-Fi 6 AX210 160MHz
+               8086 2020  Wi-Fi 6 AX210 160MHz
+               8086 4020  Wi-Fi 6 AX210 160MHz
+               8086 6020  Wi-Fi 6 AX210 160MHz
+               8086 6024  Wi-Fi 6 AX210 160MHz
+               8086 e020  Wi-Fi 6 AX210 160MHz
+               8086 e024  Wi-Fi 6 AX210 160MHz
        2770  82945G/GZ/P/PL Memory Controller Hub
                1028 01ad  OptiPlex GX620
                103c 2a3b  Pavilion A1512X
        277c  82975X Memory Controller Hub
                1043 8178  P5WDG2 WS Professional motherboard
        277d  82975X PCI Express Root Port
+       2780  82915G/GV/GL/910GL [Grantsdale] Graphics Device
        2782  82915G Integrated Graphics Controller
                1043 2582  P5GD1-VW Mainboard
                1734 105b  Scenic W620
                1028 022f  Inspiron 1525
                103c 30c0  Compaq 6710b
                103c 30c1  Compaq 6910p
+               103c 30c5  Compaq 8510p
                103c 30cc  Pavilion dv6700
                103c 30d9  Presario C700
                1043 1017  X58LE
        2a41  Mobile 4 Series Chipset PCI Express Graphics Port
                e4bf cc4d  CCM-BOOGIE
        2a42  Mobile 4 Series Chipset Integrated Graphics Controller
+               1028 02aa  Dell Inspiron 1545
                17aa 2112  ThinkPad T400
                e4bf cc4d  CCM-BOOGIE
        2a43  Mobile 4 Series Chipset Integrated Graphics Controller
                8086 4210  Dual Band Wireless AC 3165
        3166  Dual Band Wireless-AC 3165 Plus Bluetooth
                8086 4210  Dual Band Wireless-AC 3165
-       3184  UHD Graphics 605
-       3185  UHD Graphics 605
+       3184  GeminiLake [UHD Graphics 605]
+       3185  GeminiLake [UHD Graphics 600]
        318c  Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
        318e  Celeron/Pentium Silver Processor NorthPeak
        3190  Celeron/Pentium Silver Processor Gaussian Mixture Model
                17aa 380b  V130-15IGM Laptop (Lenovo) - Type 81HL
        319a  Celeron/Pentium Silver Processor Trusted Execution Engine Interface
        31a2  Celeron/Pentium Silver Processor Integrated Sensor Solution
+       31a8  Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
+               1849 31a8  Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
        31ac  Celeron/Pentium Silver Processor Serial IO I2C Host Controller
        31ae  Celeron/Pentium Silver Processor Serial IO I2C Host Controller
        31bc  Celeron/Pentium Silver Processor Serial IO UART Host Controller
        31d9  Gemini Lake PCI Express Root Port
        31da  Gemini Lake PCI Express Root Port
        31db  Gemini Lake PCI Express Root Port
-       31dc  AC 1550i Wireless
+       31dc  Gemini Lake PCH CNVi WiFi
+               1a56 1552  Killer(R) Wireless-AC 1550i Wireless Network Adapter (9560NGW)
+               8086 0034  Wireless-AC 9560
+       31e3  Celeron/Pentium Silver Processor SATA Controller
+       31e8  Celeron/Pentium Silver Processor LPC Controller
        31ee  Celeron/Pentium Silver Processor Serial IO UART Host Controller
        31f0  Gemini Lake Host Bridge
        3200  GD31244 PCI-X SATA HBA
        34aa  Ice Lake-LP Serial IO SPI Controller #0
        34ab  Ice Lake-LP Serial IO SPI Controller #1
        34b0  Ice Lake-LP PCI Express Root Port #9
+       34b7  Ice Lake-LP PCI Express Root Port #16
        34bc  Ice Lake-LP PCI Express Root Port #5
        34c5  Ice Lake-LP Serial IO I2c Controller #4
        34c6  Ice Lake-LP Serial IO I2c Controller #5
-       34c8  Smart Sound Technology Audio Controller
+       34c8  Ice Lake-LP Smart Sound Technology Audio Controller
        34d3  Ice Lake-LP SATA Controller [AHCI mode]
-       34e0  Management Engine Interface
+       34e0  Ice Lake-LP Management Engine
        34e8  Ice Lake-LP Serial IO I2C Controller #0
        34e9  Ice Lake-LP Serial IO I2C Controller #1
        34ea  Ice Lake-LP Serial IO I2C Controller #2
        34eb  Ice Lake-LP Serial IO I2C Controller #3
        34ed  Ice Lake-LP USB 3.1 xHCI Host Controller
-       34f0  Killer Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW)
+       34ef  Ice Lake-LP DRAM Controller
+       34f0  Ice Lake-LP PCH CNVi WiFi
+               1a56 1552  Killer(R) Wireless-AC 1550i Wireless Network Adapter (9560NGW)
+               8086 0074  Wi-Fi 6 AX201
+               8086 0264  Wireless-AC 9461
        34f8  Ice Lake-LP SD Controller
+       34fc  Ice Lake-LP Integrated Sensor Solution
        3500  6311ESB/6321ESB PCI Express Upstream Port
                103c 31fe  ProLiant DL140 G3
                15d9 9680  X7DBN Motherboard
        3e81  8th Gen Core Processor PCIe Controller (x16)
        3e85  8th Gen Core Processor PCIe Controller (x8)
        3e89  8th Gen Core Processor PCIe Controller (x4)
-       3e91  8th Gen Core Processor Gaussian Mixture Model
-       3e92  UHD Graphics 630 (Desktop)
+       3e90  CoffeeLake-S GT1 [UHD Graphics 610]
+       3e91  CoffeeLake-S GT2 [UHD Graphics 630]
+       3e92  CometLake-S GT2 [UHD Graphics 630]
                1028 0869  Vostro 3470
-       3e93  UHD Graphics 610
-       3e96  HD Graphics P630
-       3e98  UHD Graphics 630 (Desktop 9 Series)
-       3e9b  UHD Graphics 630 (Mobile)
-       3ea0  UHD Graphics 620 (Whiskey Lake)
+       3e93  CoffeeLake-S GT1 [UHD Graphics 610]
+       3e96  CoffeeLake-S GT2 [UHD Graphics P630]
+       3e98  CoffeeLake-S GT2 [UHD Graphics 630]
+       3e9b  CoffeeLake-H GT2 [UHD Graphics 630]
+       3ea0  WhiskeyLake-U GT2 [UHD Graphics 620]
                1028 089e  Inspiron 5482
-       3ea5  Iris Plus Graphics 655
+       3ea5  CoffeeLake-U GT3e [Iris Plus Graphics 655]
        3ec2  8th Gen Core Processor Host Bridge/DRAM Registers
                1028 0869  Vostro 3470
                1043 8694  PRIME H310M-D
        4032  5400 Chipset IOxAPIC
        4035  5400 Chipset FBD Registers
        4036  5400 Chipset FBD Registers
+       4041  NVMe Datacenter SSD [Optane]
        4100  Moorestown Graphics and Video
        4108  Atom Processor E6xx Integrated Graphics Controller
        4109  Atom Processor E6xx Integrated Graphics Controller
        4115  Atom Processor E6xx PCI Host Bridge #2
        4116  Atom Processor E6xx PCI Host Bridge #3
        4117  Atom Processor E6xx PCI Host Bridge #4
+       4140  NVMe Datacenter SSD [Optane]
+               1028 2134  NVMe Datacenter SSD [Optane] SED 400GB 2.5" U.2 (P5800X)
+               1028 2135  NVMe Datacenter SSD [Optane] SED 800GB 2.5" U.2 (P5800X)
+               1028 2136  NVMe Datacenter SSD [Optane] SED 1.6TB 2.5" U.2 (P5800X)
+               1028 2137  NVMe Datacenter SSD [Optane] 400GB 2.5" U.2 (P5800X)
+               1028 2138  NVMe Datacenter SSD [Optane] 800GB 2.5" U.2 (P5800X)
+               1028 2139  NVMe Datacenter SSD [Optane] 1.6TB 2.5" U.2 (P5800X)
        4220  PRO/Wireless 2200BG [Calexico2] Network Connection
                103c 0934  Compaq nw8240/nx8220
                103c 12f6  nc6120/nc6220/nw8240/nx8220
                8086 1216  WiMAX/WiFi Link 5150 ABG
                8086 1311  WiMAX/WiFi Link 5150 AGN
                8086 1316  WiMAX/WiFi Link 5150 ABG
+       438b  Tiger Lake-H LPC/eSPI Controller
+       43a3  Tiger Lake-H SMBus Controller
+       43a4  Tiger Lake-H SPI Controller
+       43b0  Tiger Lake-H PCI Express Root Port #9
+       43bc  Tiger Lake-H PCI Express Root Port #5
+       43c8  Tiger Lake-H HD Audio Controller
+       43e0  Tiger Lake-H Management Engine Interface
+       43e8  Tiger Lake-H Serial IO I2C Controller #0
+       43ed  Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller
+       43ef  Tiger Lake-H Shared SRAM
+       43f0  Tiger Lake PCH CNVi WiFi
+               8086 0034  Wireless-AC 9560
+               8086 0074  Wi-Fi 6 AX201 160MHz
+               8086 0264  Wireless-AC 9461
+               8086 02a4  Wireless-AC 9462
        444e  Turbo Memory Controller
        467f  Volume Management Device NVMe RAID Controller
+       4680  AlderLake-S GT1
+       46a0  AlderLake-P GT2
+       46c0  AlderLake-M GT1
+       4905  DG1 [Iris Xe MAX Graphics]
+       4906  DG1 [Iris Xe Pod]
+       4907  SG1 [Server GPU SG-18M]
+       4908  DG1 [Iris Xe Graphics]
        4c3d  Volume Management Device NVMe RAID Controller
+       4c8a  RocketLake-S GT1 [UHD Graphics 750]
+       4c8b  RocketLake-S GT1 [UHD Graphics 730]
+       4c90  RocketLake-S GT1 [UHD Graphics P750]
+       4c9a  RocketLake-S [UHD Graphics]
+       4da3  JaserLake SMBus
+       4da4  JaserLake SPI (flash) Controller
+       4de0  Management Engine Interface
+       4de8  Serial IO I2C Host Controller
+       4de9  Serial IO I2C Host Controller
+       4df0  Wi-Fi 6 AX201 160MHz
+       4e03  Dynamic Tuning service
+       4e19  JasperLake IPU
+       4e55  JasperLake [UHD Graphics]
+       4e61  JasperLake [UHD Graphics]
+       4e71  JasperLake [UHD Graphics]
+       4f80  DG2
+       4f81  DG2
+       4f82  DG2
        5001  LE80578
        5002  LE80578 Graphics Processor Unit
        5009  LE80578 Video Display Controller
                8086 0001  EtherExpress PRO/100 Server Ethernet Adapter
        530d  80310 (IOP) IO Processor
        5502  Ethernet Controller (2) I225-LMvP
+       5504  Ethernet Controller I226-K
        5845  QEMU NVM Express Controller
                1af4 1100  QEMU Virtual Machine
        5900  Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
        590c  Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
        590f  Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
                1462 7a68  B250 KRAIT GAMING (MS-7A68)
+               1462 7a72  H270 PC MATE
        5910  Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
        5911  Xeon E3-1200 v6/7th Gen Core Processor Gaussian Mixture Model
        5912  HD Graphics 630
+               1462 7a72  H270 PC MATE
        5914  Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers
                17aa 225d  ThinkPad T480
        5916  HD Graphics 620
                1993 0ded  mGuard-PCI AV#2
                1993 0dee  mGuard-PCI AV#1
                1993 0def  mGuard-PCI AV#0
+       8603  Ice Lake-LP Dynamic Tuning Processor Participant
        87c0  UHD Graphics 617
        8800  Platform Controller Hub EG20T PCI Express Port
        8801  Platform Controller Hub EG20T Packet Hub
        8818  Platform Controller Hub EG20T Controller Area Network (CAN) Controller
        8819  Platform Controller Hub EG20T IEEE 1588 Hardware Assist
        8a0d  Ice Lake Thunderbolt 3 NHI #1
+       8a12  Ice Lake-LP Processor Host Bridge/DRAM Registers
        8a13  Ice Lake Thunderbolt 3 USB Controller
        8a17  Ice Lake Thunderbolt 3 NHI #0
+       8a19  Image Signal Processor
        8a1d  Ice Lake Thunderbolt 3 PCI Express Root Port #0
        8a1f  Ice Lake Thunderbolt 3 PCI Express Root Port #1
        8a21  Ice Lake Thunderbolt 3 PCI Express Root Port #2
        8c00  8 Series/C220 Series Chipset Family 4-port SATA Controller 1 [IDE mode]
        8c01  8 Series Chipset Family 4-port SATA Controller 1 [IDE mode] - Mobile
        8c02  8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
+               1028 05d7  Alienware X51 R2
                103c 1998  EliteDesk 800 G1
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
        8c03  8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
                103c 1909  ZBook 15
                103c 1998  EliteDesk 800 G1
                1043 8534  ASUS H81I-PLUS
                17aa 220e  ThinkPad T440p
+               17aa 3098  ThinkCentre E73
        8c11  8 Series/C220 Series Chipset Family PCI Express Root Port #1
        8c12  8 Series/C220 Series Chipset Family PCI Express Root Port #2
                103c 1998  EliteDesk 800 G1
        8c18  8 Series/C220 Series Chipset Family PCI Express Root Port #5
        8c19  8 Series/C220 Series Chipset Family PCI Express Root Port #5
        8c1a  8 Series/C220 Series Chipset Family PCI Express Root Port #6
+               17aa 3098  ThinkCentre E73
        8c1b  8 Series/C220 Series Chipset Family PCI Express Root Port #6
        8c1c  8 Series/C220 Series Chipset Family PCI Express Root Port #7
        8c1d  8 Series/C220 Series Chipset Family PCI Express Root Port #7
        8c1e  8 Series/C220 Series Chipset Family PCI Express Root Port #8
        8c1f  8 Series/C220 Series Chipset Family PCI Express Root Port #8
        8c20  8 Series/C220 Series Chipset High Definition Audio Controller
+               1028 05d7  Alienware X51 R2
                103c 1909  ZBook 15
                103c 1998  EliteDesk 800 G1
                17aa 220e  ThinkPad T440p
                17aa 309f  ThinkCentre M83
        8c21  8 Series/C220 Series Chipset High Definition Audio Controller
        8c22  8 Series/C220 Series Chipset Family SMBus Controller
+               1028 05d7  Alienware X51 R2
                103c 1909  ZBook 15
                103c 1998  EliteDesk 800 G1
                17aa 220e  ThinkPad T440p
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
        8c23  8 Series Chipset Family CHAP Counters
        8c24  8 Series Chipset Family Thermal Management Controller
        8c26  8 Series/C220 Series Chipset Family USB EHCI #1
+               1028 05d7  Alienware X51 R2
                103c 1909  ZBook 15
                103c 1998  EliteDesk 800 G1
                17aa 220e  ThinkPad T440p
                17aa 2210  ThinkPad T540p
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
                2210 17aa  ThinkPad T540p
        8c2d  8 Series/C220 Series Chipset Family USB EHCI #2
+               1028 05d7  Alienware X51 R2
                103c 1909  ZBook 15
                103c 1998  EliteDesk 800 G1
                17aa 220e  ThinkPad T440p
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
        8c31  8 Series/C220 Series Chipset Family USB xHCI
+               1028 05d7  Alienware X51 R2
                103c 1909  ZBook 15
                103c 1998  EliteDesk 800 G1
                17aa 220e  ThinkPad T440p
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
        8c33  8 Series/C220 Series Chipset Family LAN Controller
        8c34  8 Series/C220 Series Chipset Family NAND Controller
        8c3a  8 Series/C220 Series Chipset Family MEI Controller #1
+               1028 05d7  Alienware X51 R2
                103c 1909  ZBook 15
                103c 1998  EliteDesk 800 G1
                17aa 220e  ThinkPad T440p
+               17aa 3098  ThinkCentre E73
                17aa 309f  ThinkCentre M83
        8c3b  8 Series/C220 Series Chipset Family MEI Controller #2
        8c3c  8 Series/C220 Series Chipset Family IDE-r Controller
        8c48  8 Series/C220 Series Chipset Family LPC Controller
        8c49  HM86 Express LPC Controller
        8c4a  H87 Express LPC Controller
+               1028 05d7  Alienware X51 R2
        8c4b  HM87 Express LPC Controller
        8c4c  Q85 Express LPC Controller
                17aa 309f  ThinkCentre M83
        8c5a  8 Series/C220 Series Chipset Family LPC Controller
        8c5b  8 Series/C220 Series Chipset Family LPC Controller
        8c5c  H81 Express LPC Controller
+               17aa 3098  ThinkCentre E73
        8c5d  8 Series/C220 Series Chipset Family LPC Controller
        8c5e  8 Series/C220 Series Chipset Family LPC Controller
        8c5f  8 Series/C220 Series Chipset Family LPC Controller
        9622  Integrated RAID
        9641  Integrated RAID
        96a1  Integrated RAID
+       9a01  11th Gen Core Processor PCIe Controller #1
+       9a03  TigerLake-LP Dynamic Tuning Processor Participant
        9a09  11th Gen Core Processor PCIe Controller
        9a0b  Volume Management Device NVMe RAID Controller
-       9a13  Tiger Lake-LP Thunderbolt USB Controller
+       9a0d  Tigerlake Telemetry Aggregator Driver
+       9a0f  11th Gen Core Processor PCIe Controller #0
+       9a11  GNA Scoring Accelerator module
+       9a13  Tiger Lake-LP Thunderbolt 4 USB Controller
        9a14  11th Gen Core Processor Host Bridge/DRAM Registers
-       9a1b  Tiger Lake-LP Thunderbolt NHI #0
-       9a1d  Tiger Lake-LP Thunderbolt NHI #1
-       9a23  Tiger Lake-LP Thunderbolt PCI Express Root Port #0
-       9a25  Tiger Lake-LP Thunderbolt PCI Express Root Port #1
-       9a27  Tiger Lake-LP Thunderbolt PCI Express Root Port #2
-       9a29  Tiger Lake-LP Thunderbolt PCI Express Root Port #3
+       9a17  Tiger Lake-H Thunderbolt 4 USB Controller
+       9a1b  Tiger Lake-LP Thunderbolt 4 NHI #0
+       9a1d  Tiger Lake-LP Thunderbolt 4 NHI #1
+       9a1f  Tiger Lake-H Thunderbolt 4 NHI #0
+       9a21  Tiger Lake-H Thunderbolt 4 NHI #1
+       9a23  Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #0
+       9a25  Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #1
+       9a26  11th Gen Core Processor Host Bridge/DRAM Registers
+       9a27  Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #2
+       9a29  Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #3
+       9a2b  Tiger Lake-H Thunderbolt 4 PCI Express Root Port #0
+       9a2d  Tiger Lake-H Thunderbolt 4 PCI Express Root Port #1
+       9a2f  Tiger Lake-H Thunderbolt 4 PCI Express Root Port #2
+       9a31  Tiger Lake-H Thunderbolt 4 PCI Express Root Port #3
        9a33  Tiger Lake Trace Hub
-       9a49  UHD Graphics
-       9b41  UHD Graphics
+       9a36  11th Gen Core Processor Host Bridge/DRAM Registers
+       9a49  TigerLake-LP GT2 [Iris Xe Graphics]
+       9a60  TigerLake-H GT1 [UHD Graphics]
+       9a68  TigerLake-H GT1 [UHD Graphics]
+       9b41  CometLake-U GT2 [UHD Graphics]
+               1028 09bd  Latitude 7310
        9b44  10th Gen Core Processor Host Bridge/DRAM Registers
+       9b53  Comet Lake-S 6c Host Bridge/DRAM Controller
        9b54  10th Gen Core Processor Host Bridge/DRAM Registers
        9b61  Comet Lake-U v1 4c Host Bridge/DRAM Controller
+       9b63  10th Gen Core Processor Host Bridge/DRAM Registers
        9b64  10th Gen Core Processor Host Bridge/DRAM Registers
-       9bc4  UHD Graphics
-       9bc8  UHD Graphics 630
+       9bc4  CometLake-H GT2 [UHD Graphics]
+       9bc5  CometLake-S GT2 [UHD Graphics 630]
+       9bc8  CometLake-S GT2 [UHD Graphics 630]
+       9bca  Comet Lake UHD Graphics
        9c00  8 Series SATA Controller 1 [IDE mode]
        9c01  8 Series SATA Controller 1 [IDE mode]
        9c02  8 Series SATA Controller 1 [AHCI mode]
        9d03  Sunrise Point-LP SATA Controller [AHCI mode]
                1025 115f  Acer Aspire E5-575G
                1028 06dc  Latitude E7470
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
                17aa 225d  ThinkPad T480
        9d16  Sunrise Point-LP PCI Express Root Port #7
        9d17  Sunrise Point-LP PCI Express Root Port #8
        9d18  Sunrise Point-LP PCI Express Root Port #9
+               17aa 2247  ThinkPad T570
                17aa 382a  B51-80 Laptop
        9d19  Sunrise Point-LP PCI Express Root Port #10
        9d1a  Sunrise Point-LP PCI Express Root Port #11
                1025 115f  Acer Aspire E5-575G
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
+               17aa 2247  ThinkPad T570
                17aa 224f  ThinkPad X1 Carbon 5th Gen
                17aa 225d  ThinkPad T480
                17aa 382a  B51-80 Laptop
                1025 115f  Acer Aspire E5-575G
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
                17aa 2247  ThinkPad T570
                1025 115f  Acer Aspire E5-575G
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
                17aa 2247  ThinkPad T570
                1025 115f  Acer Aspire E5-575G
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
                17aa 2247  ThinkPad T570
                17aa 382a  B51-80 Laptop
        9d32  CSI-2 Host Controller
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        9d35  Sunrise Point-LP Integrated Sensor Hub
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        9d3a  Sunrise Point-LP CSME HECI #1
                1025 115f  Acer Aspire E5-575G
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
                17aa 2247  ThinkPad T570
                17aa 382a  B51-80 Laptop
        9d3d  Sunrise Point-LP Active Management Technology - SOL
                103c 8079  EliteBook 840 G3
+               17aa 2247  ThinkPad T570
        9d43  Sunrise Point-LP LPC Controller
                17aa 382a  B51-80 Laptop
        9d46  LPC/eSPI Controller
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        9d48  Sunrise Point-LP LPC Controller
                1028 06dc  Latitude E7470
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
+               17aa 2247  ThinkPad T570
        9d4e  Sunrise Point LPC Controller/eSPI Controller
                17aa 225d  ThinkPad T480
        9d50  Sunrise Point LPC Controller
        9d60  Sunrise Point-LP Serial IO I2C Controller #0
                1025 115f  Acer Aspire E5-575G
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
                17aa 225d  ThinkPad T480
                8086 9d60  100 Series PCH/Sunrise Point PCH I2C0 [Skylake/Kaby Lake LPSS I2C]
        9d61  Sunrise Point-LP Serial IO I2C Controller #1
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        9d62  Sunrise Point-LP Serial IO I2C Controller #2
                1028 06d6  Latitude 7275 tablet
+               1028 06e6  Latitude 11 5175 2-in-1
        9d63  Sunrise Point-LP Serial IO I2C Controller #3
        9d64  Sunrise Point-LP Serial IO I2C Controller #4
        9d65  Sunrise Point-LP Serial IO I2C Controller #5
        9d70  Sunrise Point-LP HD Audio
                1028 06d6  Latitude 7275 tablet
                1028 06dc  Latitude E7470
+               1028 06e6  Latitude 11 5175 2-in-1
                1028 06f3  Latitude 3570
                103c 8079  EliteBook 840 G3
+               17aa 2247  ThinkPad T570
                17aa 382a  B51-80 Laptop
        9d71  Sunrise Point-LP HD Audio
                1025 1094  Acer Aspire E5-575G
        a0a9  Tiger Lake-LP Serial IO UART Controller #1
        a0ab  Tiger Lake-LP Serial IO SPI Controller #1
        a0b0  Tiger Lake-LP PCI Express Root Port #9
+       a0bd  Tigerlake PCH-LP PCI Express Root Port #6
        a0bf  Tiger Lake-LP PCI Express Root Port #8
        a0c5  Tiger Lake-LP Serial IO I2C Controller #4
        a0c6  Tiger Lake-LP Serial IO I2C Controller #5
        a252  Lewisburg SSATA Controller [AHCI mode]
        a256  Lewisburg SSATA Controller [RAID mode]
        a282  200 Series PCH SATA controller [AHCI mode]
+               1462 7a72  H270 PC MATE
        a286  200 Series PCH SATA controller [RAID mode]
        a290  200 Series PCH PCI Express Root Port #1
        a291  200 Series PCH PCI Express Root Port #2
        a292  200 Series PCH PCI Express Root Port #3
        a293  200 Series PCH PCI Express Root Port #4
        a294  200 Series PCH PCI Express Root Port #5
+               1462 7a72  H270 PC MATE
        a295  200 Series PCH PCI Express Root Port #6
        a296  200 Series PCH PCI Express Root Port #7
+               1462 7a72  H270 PC MATE
        a297  200 Series PCH PCI Express Root Port #8
        a298  200 Series PCH PCI Express Root Port #9
+               1462 7a72  H270 PC MATE
        a299  200 Series PCH PCI Express Root Port #10
        a29a  200 Series PCH PCI Express Root Port #11
        a29b  200 Series PCH PCI Express Root Port #12
        a29f  200 Series PCH PCI Express Root Port #16
        a2a0  200 Series/Z370 Chipset Family P2SB
        a2a1  200 Series/Z370 Chipset Family Power Management Controller
+               1462 7a72  H270 PC MATE
        a2a3  200 Series/Z370 Chipset Family SMBus Controller
+               1462 7a72  H270 PC MATE
        a2a4  200 Series/Z370 Chipset Family SPI Controller
        a2a5  200 Series/Z370 Chipset Family Gigabit Ethernet Controller
        a2a6  200 Series/Z370 Chipset Family Trace Hub
        a2a9  200 Series/Z370 Chipset Family Serial IO SPI Controller #0
        a2aa  200 Series/Z370 Chipset Family Serial IO SPI Controller #1
        a2af  200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
+               1462 7a72  H270 PC MATE
        a2b1  200 Series PCH Thermal Subsystem
+               1462 7a72  H270 PC MATE
        a2ba  200 Series PCH CSME HECI #1
+               1462 7a72  H270 PC MATE
        a2bb  200 Series PCH CSME HECI #2
        a2c4  200 Series PCH LPC Controller (H270)
+               1462 7a72  H270 PC MATE
        a2c5  200 Series PCH LPC Controller (Z270)
        a2c6  200 Series PCH LPC Controller (Q270)
        a2c7  200 Series PCH LPC Controller (Q250)
        a2ed  200 Series PCH PCI Express Root Port #23
        a2ee  200 Series PCH PCI Express Root Port #24
        a2f0  200 Series PCH HD Audio
+               1462 7a72  H270 PC MATE
+               1462 fa72  H270 PC MATE
        a304  H370 Chipset LPC/eSPI Controller
                1028 0869  Vostro 3470
        a305  Z390 Chipset LPC/eSPI Controller
        a324  Cannon Lake PCH SPI Controller
                1028 0869  Vostro 3470
        a328  Cannon Lake PCH Serial IO UART Host Controller
+       a32b  Cannon Lake PCH SPI Host Controller
        a32c  Cannon Lake PCH PCI Express Root Port #21
        a32d  Cannon Lake PCH PCI Express Root Port #22
        a32e  Cannon Lake PCH PCI Express Root Port #23
        a36d  Cannon Lake PCH USB 3.1 xHCI Host Controller
                1028 0869  Vostro 3470
        a36f  Cannon Lake PCH Shared SRAM
-       a370  Wireless-AC 9560 [Jefferson Peak]
+       a370  Cannon Lake PCH CNVi WiFi
                1a56 1552  Killer(R) Wireless-AC 1550i Wireless Network Adapter (9560NGW)
+               8086 0034  Wireless-AC 9560
        a379  Cannon Lake PCH Thermal Controller
                1028 0869  Vostro 3470
        a382  400 Series Chipset Family SATA AHCI Controller
+       a3a1  Memory controller
        a3a3  Comet Lake PCH-V SMBus Host Controller
+       a3af  Comet Lake PCH-V USB Controller
        a3b1  Comet Lake PCH-V Thermal Subsystem
        a620  6400/6402 Advanced Memory Buffer (AMB)
        abc0  Omni-Path Fabric Switch Silicon 100 Series
        d157  Core Processor System Control and Status Registers
        d158  Core Processor Miscellaneous Registers
        f1a5  SSD 600P Series
+# M.2 22 x 80mm, NVMe
+               8086 390a  SSDPEKKW256G7 256GB
        f1a6  SSD Pro 7600p/760p/E 6100p Series
                8086 390b  SSD Pro 7600p/760p/E 6100p Series [NVM Express]
        f1a8  SSD 660P Series
 8088  Beijing Wangxun Technology Co., Ltd.
        0101  WX1860A2 Gigabit Ethernet Controller
                8088 0201  Dual-Port Ethernet Network Adaptor SF200T
+               8088 4201  Dual-Port Ethernet Network Adaptor SF200T (WOL)
+               8088 8201  Dual-Port Ethernet Network Adaptor SF200T (NCSI)
+               8088 c201  Dual-Port Ethernet Network Adaptor SF200T (WOL, NCSI)
        0102  WX1860A2S Gigabit Ethernet Controller
                8088 0210  Dual-Port Ethernet Network Adaptor SF200T-S
        0103  WX1860A4 Gigabit Ethernet Controller
                8088 0401  Qual-Port Ethernet Network Adaptor SF400T
                8088 0440  Qual-Port Ethernet Network Adaptor SF400-OCP
+               8088 4103  Quad-Port Ethernet Network Adaptor SF400T (WOL)
+               8088 8103  Quad-Port Ethernet Network Adaptor SF400T (NCSI)
+               8088 c103  Quad-Port Ethernet Network Adaptor SF400T (WOL, NCSI)
        0104  WX1860A4S Gigabit Ethernet Controller
                8088 0410  Qual-Port Ethernet Network Adaptor SF400T-S
        0105  WX1860AL2 Gigabit Ethernet Controller
                8088 0202  Dual-Port Ethernet Network Adaptor SF200HT
+               8088 4202  Dual-Port Ethernet Network Adaptor SF200HT (WOL)
+               8088 8202  Dual-Port Ethernet Network Adaptor SF200HT (NCSI)
+               8088 c202  Dual-Port Ethernet Network Adaptor SF200HT (WOL, NCSI)
        0106  WX1860AL2S Gigabit Ethernet Controller
                8088 0220  Dual-Port Ethernet Network Adaptor SF200HT-S
        0107  WX1860AL4 Gigabit Ethernet Controller
                8088 0402  Qual-Port Ethernet Network Adaptor SF400HT
+               8088 4402  Quad-Port Ethernet Network Adaptor SF400HT (WOL)
+               8088 8402  Quad-Port Ethernet Network Adaptor SF400HT (NCSI)
+               8088 c402  Quad-Port Ethernet Network Adaptor SF400HT (WOL, NCSI)
        0108  WX1860AL4S Gigabit Ethernet Controller
                8088 0420  Qual-Port Ethernet Network Adaptor SF400HT-S
+       0109  WX1860-LC Gigabit Ethernet Controller
+       010a  WX1860A1 Gigabit Ethernet Controller
+# add new device ID
+       010b  WX1860AL1 Gigabit Ethernet Controller
+               8088 0102  Single-Port Ethernet Network Adaptor SF100HT
+               8088 4102  Single-Port Ethernet Network Adaptor SF100HT (WOL)
+               8088 8102  Single-Port Ethernet Network Adaptor SF100HT (NCSI)
+               8088 c102  Single-Port Ethernet Network Adaptor SF100HT (WOL, NCSI)
+       0111  WX1860A2 Ethernet Controller Virtual Function
+       0113  WX1860A4 Ethernet Controller Virtual Function
+       0115  WX1860AL2 Ethernet Controller Virtual Function
+       0117  WX1860AL4 Ethernet Controller Virtual Function
+       0119  WX1860-LC Gigabit Ethernet Controller Virtual Function
+       011a  WX1860A1 Gigabit Ethernet Controller Virtual Function
+       011b  WX1860AL1 Gigabit Ethernet Controller Virtual Function
+       1000  Ethernet Controller RP1000 Virtual Function for 10GbE SFP+
        1001  Ethernet Controller RP1000 for 10GbE SFP+
                8088 0000  Ethernet Network Adaptor RP1000 for 10GbE SFP+
+       2000  Ethernet Controller RP2000 Virtual Function for 10GbE SFP+
        2001  Ethernet Controller RP2000 for 10GbE SFP+
                8088 2000  Ethernet Network Adaptor RP2000 for 10GbE SFP+
 80ee  InnoTek Systemberatung GmbH
        1011  vSMP Foundation MEX/FLX controller [vSMP CTL]
 8800  Trigem Computer Inc.
        2008  Video assistant component
+8820  Stryker Corporation
+       2724  Mako Front Side Motor Controller [cPCI]
 8866  T-Square Design Inc.
 8888  Silicon Magic
 8912  TRX
        0001  SG2010 PCI over Starfabric Bridge
        0002  SG2010 PCI to Starfabric Gateway
        0003  SG1010 Starfabric Switch and PCI Bridge
+9a11  Tiger Lake-H Gaussian & Neural Accelerator
 9d32  Beijing Starblaze Technology Co. Ltd.
        0000  STAR1000 PCIe NVMe SSD Controller
        1001  STAR1000P PCIe NVMe SSD Controller
@@ -32743,6 +33563,7 @@ bdbd  Blackmagic Design
 c001  TSI Telsys
 c0a9  Micron/Crucial Technology
        2263  P1 NVMe PCIe SSD
+       540a  P2 NVMe PCIe SSD
 c0de  Motorola
 c0fe  Motion Engineering, Inc.
 ca3b  Cambrionix Ltd.
@@ -32866,7 +33687,7 @@ deda  XIMEA
        4021  MT camera
 e000  Winbond
        e000  W89C940
-e159  Tiger Jet Network Inc.
+e159  Tiger Jet Network Inc. / ICP DAS
        0001  Tiger3XX Modem/ISDN interface
                0059 0001  128k ISDN-S/T Adapter
                0059 0003  128k ISDN-U Adapter
@@ -32897,6 +33718,7 @@ ea01  Eagle Technology
        0046  PCI-766 Analog Output Card
        0052  PCI-703 Analog I/O Card
        0800  PCI-800 Digital I/O Card
+ea50  Emerson Automation Solutions
 # The main chip of all these devices is by Xilinx -> It could also be a Xilinx ID.
 ea60  RME
        9896  Digi32
@@ -33010,6 +33832,7 @@ f1d0  AJA Video
        eb23  Kona 1
        eb24  Kona HDMI
        eb25  Corvid 44 12g
+       eb26  T-Tap Pro
        efac  Xena SD-MM/SD-22-MM
        facd  Xena HD-MM
 f5f5  F5 Networks, Inc.
@@ -33166,6 +33989,9 @@ C 08  Generic system peripheral
        05  SD Host controller
        06  IOMMU
        80  System peripheral
+       99  Timing Card
+# PTP Grandmaster Source Clock
+               01  TAP Timing Card
 C 09  Input device controller
        00  Keyboard controller
        01  Digitizer Pen
index 02e2ef420927e14fd55a24b090bd010d04b95a86..a578a525e0b48302e5a9c75dc721f0c72d517a7a 100644 (file)
@@ -9,8 +9,8 @@
 #      The latest version can be obtained from
 #              http://www.linux-usb.org/usb.ids
 #
-# Version: 2020.08.26
-# Date:    2020-08-26 20:34:09
+# Version: 2021.06.06
+# Date:    2021-06-06 20:34:10
 #
 
 # Vendors, devices and interfaces. Please keep sorted.
        6217  Color LaserJet 4700
        6302  PhotoSmart 318/612
        6317  Color LaserJet 4730mfp
+       632a  LaserJet M203-M206
        6402  PhotoSmart 715 (ptp)
        6411  PhotoSmart C8100 series
        6417  LaserJet 5200
        5642  Storage Device
        5661  M5661 MP3 player
        5667  M5667 MP3 player
+       8841  Newmine Camera
        9665  Gateway Webcam
 0403  Future Technology Devices International, Ltd
        0000  H4SMK 7 Port Hub / Bricked Counterfeit FT232 Serial (UART) IC
        6014  FT232H Single HS USB-UART/FIFO IC
        6015  Bridge(I2C/SPI/UART/FIFO)
        601f  Myriad-RF LimeSDR-Mini
+       6ee0  EZO Carrier Board
        6f70  HB-RF-USB
        8028  Dev board JTAG (FT232H based)
        8040  4 Port Hub
        9090  SNAP Stick 200
        9132  LCD and Temperature Interface
        9133  CallerID
+       9134  Virtual keyboard
        9135  Rotary Pub alarm
        9136  Pulsecounter
+       9137  Ledbutton interface
        9e90  Marvell OpenRD Base/Client
        9f08  CIB-1894 Conclusion SmartLink Box:
        9f80  Ewert Energy Systems CANdapter
        f7c0  ZeitControl Cardsystems TagTracer MIFARE
        f850  USB-UIRT (Universal Infrared Receiver+Transmitter)
        f918  Ant8 Logic Probe
+       f9d9  Wetterempfanger 147.3kHz
        fa00  Matrix Orbital USB Serial
        fa01  Matrix Orbital MX2 or MX3
        fa02  Matrix Orbital MX4 or MX5
        00c0  Wireless Remocon
        00f7  Smart Display PK-SD10
        011d  e228 Mobile Phone
+       0193  RVT-R Writer
        0203  HID Audio Controls
        021d  Aterm WL54SU2 802.11g Wireless Adapter [Atheros AR5523]
        0248  Aterm PA-WL54GU
        3220  Sound Blaster Tactic(3D) Sigma sound card
        3232  Sound Blaster Premium HD [SBX]
        3237  SB X-Fi Surround 5.1 Pro
+       3241  Sound Blaster JAM
        3263  SB X-Fi Surround 5.1 Pro
        3f00  E-Mu Xboard 25 MIDI Controller
        3f02  E-Mu 0202
        4088  Live! Cam Chat HD [VF0700]
        4095  Live! Cam Sync HD [VF0770]
        4097  Live! Cam Chat HD [VF0700]
+       4099  Creative VF0800 [RealSense Camera SR300]
        4100  Nomad Jukebox 2
        4101  Nomad Jukebox 3
        4102  NOMAD MuVo^2
        0155  5800 XpressMusic (Multimedia mode)
        0156  5800 XpressMusic (Storage mode)
        0157  5800 XpressMusic (Imaging mode)
+       0189  N810 Internet Tablet WiMAX
        0199  6700 Classic (msc)
        019a  6700 Classic (PC Suite)
        019b  6700 Classic (mtp)
        01b1  6303 classic Phone (Mass storage mode)
        01b2  6303 classic Phone (Printing and media mode)
        01c7  N900 (Storage Mode)
-       01c8  N900 (PC-Suite Mode)
+       01c8  N900/N950 (PC-Suite Mode)
        0228  5530 XpressMusic
        023a  6730 Classic
        026a  N97 (mass storage)
        03c1  C7-00 (Media transfer mode)
        03c2  Sim
        03cd  C7-00 (Nokia Suite mode)
-       03d1  N950
+       03d1  N950 (Storage Mode)
+       03d2  N950 (PC Suite mode)
        0400  7600 Phone Parent
        0401  6650 GSM Phone
        0402  6255 Phone Parent
        0423  6682 Phone Parent
        0428  6230i Modem
        0429  6230i MultiMedia Card
-       0431  770 Internet Tablet
+       0431  770/N800 Internet Tablet
        0432  N90 Phone Parent
        0435  E70 (IP Passthrough/RNDIS mode)
        0436  E60 (IP Passthrough/RNDIS mode)
        04f9  6300 (PC Suite mode)
        0508  E65 (PC Suite mode)
        0509  E65 (Storage mode)
-       0518  N9 Phone
+       0518  N9 (Storage mode)
+       0519  N9 (RNDIS/Ethernet mode)
+       051a  N9 (PC Suite mode)
        054d  C2-01
        0600  Digital Pen SU-1B
        0610  CS-15 (Internet Stick 3G modem)
        b651  Ferrari GT Rumble Force Wheel
        b653  RGT Force Feedback Clutch Racing Wheel
        b654  Ferrari GT Force Feedback Wheel
+       b677  T150 Racing Wheel
        b678  T.Flight Rudder Pedals
        b679  T-Rudder
        b687  TWCS Throttle
        09a0  RTL8153B GigE [Surface Ethernet Adapter]
        09c0  Surface Type Cover
        0a00  Lumia 950 Dual SIM (RM-1118)
+       0b12  Xbox Wireless Controller (model 1914)
        930a  ISOUSB.SYS Intel 82930 Isochronous IO Test Board
        ffca  Catalina
        fff8  Keyboard
        0837  BCC950 ConferenceCam
        0840  QuickCam Express
        0843  Webcam C930e
+       0845  ConferenceCam CC3000e Camera
+       0846  ConferenceCam CC3000e Speakerphone
+       084b  ConferenceCam Connect Video
        0850  QuickCam Web
+       0857  Logi Group Speakerphone
        085c  C922 Pro Stream Webcam
+       085e  BRIO Ultra HD Webcam
        0870  QuickCam Express
+       0882  Logi Group Speakerphone
        0890  QuickCam Traveler
-       0892  OrbiCam
+       0892  C920 HD Pro Webcam
+       0893  StreamCam
        0894  CrystalCam
        0895  QuickCam for Dell Notebooks
        0896  OrbiCam
        0a5b  G933 Wireless Headset Dongle
        0a5d  G933 Headset Battery Charger
        0a66  [G533 Wireless Headset Dongle]
+       0a8f  H390 headset with microphone
        0b02  C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
        8801  Video Camera
        b014  Bluetooth Mouse M336/M337/M535
        c083  G403 Prodigy Gaming Mouse
        c084  G203 Gaming Mouse
        c08b  G502 SE HERO Gaming Mouse
+       c092  G203 LIGHTSYNC Gaming Mouse
        c101  UltraX Media Remote
        c110  Harmony 785/880/885 Remote
        c111  Harmony 525 Remote
        c24e  G500s Laser Gaming Mouse
        c24f  G29 Driving Force Racing Wheel [PS3]
        c260  G29 Driving Force Racing Wheel [PS4]
+       c262  G920 Driving Force Racing Wheel
        c281  WingMan Force
        c283  WingMan Force 3D
        c285  WingMan Strike Force 3D
        c332  G502 Proteus Spectrum Optical Mouse
        c335  G910 Orion Spectrum Mechanical Keyboard
        c33a  G413 Gaming Keyboard
+       c33f  G815 Mechanical Keyboard
        c401  TrackMan Marble Wheel
        c402  Marble Mouse (2-button)
        c403  Turbo TrackMan Marble FX
        c534  Unifying Receiver
        c537  Cordless Mouse Receiver
        c53a  PowerPlay Wireless Charging System
+       c53d  G631 Keyboard
        c603  3Dconnexion Spacemouse Plus XT
        c605  3Dconnexion CADman
        c606  3Dconnexion Spacemouse Classic
        5001  Cabo I Camera
        5002  VideoCam CABO II
        5003  VideoCam
+       8018  Expert Wireless Trackball Mouse (K72359WW)
+       8068  Pro Fit Ergo Vertical Wireless Trackball
 047e  Agere Systems, Inc. (Lucent)
        0300  ORiNOCO Card
        1001  USS720 Parallel Port
        c008  Audio 655 DSP
        c00e  Blackwire C310 headset
        c03b  HD1
+       ca01  Calisto 800 Series
        da60  DA60
 0480  Toshiba America Inc
        0001  InTouch Module
        0408  FS-1320D Printer
        0640  ECOSYS M6026cdn
        069b  ECOSYS M2635dn
+       06b4  ECOSYS M5526cdw
 0483  STMicroelectronics
        0137  BeWAN ADSL USB ST (blue or green)
        0138  Unicorn II (ST70138B + MTC-20174TQ chipset)
        04ac  Xerox Travel Scanner 100
        04bb  strobe 400 scanner
        04cd  Xerox Travel Scanner 150
+       04ee  Duplex Combo Scanner
 04a8  Multivideo Labs, Inc.
        0101  Hub
        0303  Peripheral Switch
        190d  CanoScan 9000F Mark II
        190e  CanoScan LiDE 120
        190f  CanoScan LiDE 220
+       1913  CanoScan LiDE 300
        2200  CanoScan LiDE 25
        2201  CanoScan FB320U
        2202  CanoScan FB620U
        32b4  EOS Rebel T6
        32bb  EOS M5
        32bf  PowerShot SX420 IS
+       32c0  PowerShot ELPH 190IS
        32c1  PowerShot ELPH 180 / IXUS 175
        32c2  PowerShot SX720 HS
        32c5  EOS M6
        040e  DSC D70s (ptp)
        040f  D200 (mass storage mode)
        0410  D200 (ptp)
+       0411  D80 (mass storage mode)
+       0412  D80 (MTP/PTP mode)
        0413  D40 (mass storage mode)
        041e  D60 digital camera (mass storage mode)
        0422  D700 (ptp)
 04b4  Cypress Semiconductor Corp.
        0001  Mouse
        0002  CY7C63x0x Thermometer
+       0008  CDC ACM serial port
        0033  Mouse
        0060  Wireless optical mouse
        00f3  FX3 micro-controller (DFU mode)
        0130  MyIRC Remote Receiver
        0306  Telephone Receiver
        0407  Optical Skype Mouse
+       0818  AE-SMKD92-* [Thumb Keyboard]
        0bad  MetaGeek Wi-Spy
        1002  CY7C63001 R100 FM Radio
        1006  Human Interface Device
        0e03  Thermal Receipt Printer [TM-T20]
        1114  XP-440 [Expression Home Small-in-One Printer]
        1129  ET-4750 [WorkForce ET-4750 EcoTank All-in-One]
+       1168  Workforce WF-7820/7840 Series
 04b9  Rainbow Technologies, Inc.
        0300  SafeNet USB SuperPro/UltraPro
        1000  iKey 1000 Token
        11f3  fi-6130Z
        125a  PalmSecure Sensor Device - MP
        132e  fi-7160
+       159f  ScanSnap iX1500
        200f  Sigma DP2 (Mass Storage)
        2010  Sigma DP2 (PictBridge)
        201d  SATA 3.0 6Gbit/s Adaptor [GROOVY]
        01d3  FinePix A920 (PTP)
        01d4  FinePix F50fd (PTP)
        01d5  FinePix F47 (PTP)
+       01e7  Fujifilm A850 Digital Camera
        01f7  FinePix J250 (PTP)
        01fd  A160
        023e  FinePix AX300
        0241  FinePix S3200 Digital Camera
        0278  FinePix JV300
        02c5  FinePix S9900W Digital Camera (PTP)
+       02e0  X-T200 Digital Camera
        5006  ASK-300
 04cc  ST-Ericsson
        1122  Hub
        0006  Wired Keyboard (78/79 key) [RPI Wired Keyboard 5]
        0022  Portable Keyboard
        0348  Keyboard
+       0407  Keyboard [TEX Shinobi]
        048e  Optical Mouse
        0499  Optical Mouse
        1135  Mouse [MGK-15BU/MLK-15BU]
        a09f  E-Signal LUOM G10 Mechanical Gaming Mouse
        a100  Mouse [HV-MS735]
        a11b  Mouse [MX-3200]
+       a153  Optical Gaming Mouse
        a29f  Microarray fingerprint reader
        b534  LGT8F328P Microprocessor
        e002  MCU
+       fc2a  Gaming Mouse [Redragon M709]
+       fc30  Gaming Mouse [Redragon M711]
+       fc38  Gaming Mouse [Redragon M602-RGB]
+       fc4d  Gaming Mouse [Redragon M908]
+       fc55  Venus MMO Gaming Mouse
 04da  Panasonic (Matsushita)
        0901  LS-120 Camera
        0912  SDR-S10
        b1ac  HP Laptop Integrated Webcam [2 MP Fixed]
        b1b4  Lenovo Integrated Camera
        b1b9  Asus Integrated Webcam
+       b1bb  2.0M UVC WebCam
        b1cf  Lenovo Integrated Camera
        b1d6  CNF9055 Toshiba Webcam
        b1d8  1.3M Webcam
        b444  Lenovo Integrated Webcam
        b49f  Bluetooth (RTL8723BE)
        b563  Integrated Camera
+       b5ab  Integrated Camera
+       b5ac  Integrated IR Camera
        b5ce  Integrated Camera
        b5cf  Integrated IR Camera
        b5db  HP Webcam
        02f4  2.4G Cordless Mouse
        0381  Touchscreen
        04a0  Dream Cheeky Stress/Panic Button
+       0c28  fingerprint sensor [FeinTech FPS00200]
        2234  Touchscreen
 04f4  Harting Elektronik, Inc.
 04f5  Fujitsu-ICL Systems, Inc.
        002b  HL-5250DN Printer
        002c  Printer
        002d  Printer
+       0037  HL-3040CN series
+       0038  HL-3070CW series
        0039  HL-5340 series
        0041  HL-2250DN Laser Printer
        0042  HL-2270DW Laser Printer
        01eb  MFC-7320
        01ec  MFC-9640CW
        01f4  MFC-5890CN
+       0204  DCP-165C
        020a  MFC-8670DN
        020c  DCP-9042CDN
        020d  MFC-9450CDN
        03bc  MFC-L2700DN
        03bd  DCP-J762N
        03fd  ADS-2700W
+       043f  MFC-L3770CDW
+       0440  MFC-9350CDW
+       0441  MFC-L3750CDW
+       0442  MFC-L3745CDW
+       0443  MFC-L3735CDN
+       0444  MFC-9150CDN
+       0445  MFC-L3730CDN
+       0446  MFC-L3710CW
+       0447  DCP-9030CDN
+       0448  DCP-L3550CDW
+       044a  HL-L3290CDW
+       044b  DCP-L3510CDW
+       044c  DCP-L3551CDW
        1000  Printer
        1002  Printer
        2002  PTUSB Printing
        204d  QL-720NW Label Printer (mass storage mode)
        2061  PT-P700 P-touch Label Printer
        2064  PT-P700 P-touch Label Printer RemovableDisk
+       2074  PT-D600 P-touch Label Printer
        209b  QL-800 Label Printer
        209c  QL-810W Label Printer
        209d  QL-820NWB Label Printer
        a4a2  Linux-USB Ethernet/RNDIS Gadget
        a4a3  Linux-USB user-mode isochronous source/sink
        a4a4  Linux-USB user-mode bulk source/sink
-       a4a5  Pocketbook Pro 903 / Mobius 2 Action Cam / xDuoo X3 / PocketBook Pro 602
+       a4a5  Linux-USB File-backed Storage Gadget
        a4a6  Linux-USB Serial Gadget
        a4a7  Linux-USB Serial Gadget (CDC ACM mode)
        a4a8  Linux-USB Printer Gadget
        a4a9  Linux-USB OBEX Gadget
        a4aa  Linux-USB CDC Composite Gadge (Ethernet and ACM)
+       a4ab  Linux-USB Multifunction Composite Gadget
+       a4ac  Linux-USB HID Gadget
 0526  Temic MHS S.A.
 0527  ALTRA
 0528  ATI Technologies, Inc.
        0689  Walkman NWZ-B173F
        06bb  WALKMAN NWZ-F805
        06c3  RC-S380
+       07c3  ILCE-6000 (aka Alpha-6000) in Mass Storage mode
        07c4  ILCE-6000 (aka Alpha-6000) in Mass Storage mode
        082f  Walkman NWZW Series
        0847  WG-C10 Portable Wireless Server
+       0877  UP-D898/X898 series
        0884  MDR-ZX770BN [Wireless Noise Canceling Stereo Headset]
        088c  Portable Headphone Amplifier
        08b7  ILCE-6000 (aka Alpha-6000) in MTP mode
        0c02  ILCE-7M3 [A7III] in Mass Storage mode
        0c03  ILCE-7M3 [A7III] in MTP mode
        0c34  ILCE-7M3 [A7III] in PC Remote mode
+       0c7f  WH-CH700N [Wireless Noise-Canceling Headphones]
        0cd3  WH-1000XM3 [Wireless Noise-Canceling Headphones]
        0cda  PlayStation Classic controller
+       0ce0  WF-1000XM3 [Wireless Noise-Canceling Headphones]
+       0cf0  MRW-G1
+       0d58  WH-1000XM4 [Wireless Noise-Canceling Headphones]
        1000  Wireless Buzz! Receiver
 054d  Try Corp.
 054e  Proside Corp.
        2213  CS682 2-Port USB 2.0 DVI KVM Switch
        2221  Winbond Hermon
        2404  4-port switch
+       2419  Virtual mouse/keyboard device
        2600  IDE Bridge
        2701  CE700A KVM Extender
        4000  DSB-650 10Mbps Ethernet [klsi]
        0001  Monitor
        0002  HID Monitor Controls
        0003  Device Bay Controller
+       4000  FlexScan EV3237
        4001  Monitor
+       4002  USB HID Monitor
+       4014  FlexScan EV2750
+       4026  FlexScan EV2451
+       4027  FlexScan EV2456
+       4036  FlexScan EV2785
+       4037  FlexScan EV3285
+       4044  FlexScan EV2457
+       4059  FlexScan EV2760
+       405b  FlexScan EV2460
+       405f  FlexScan EV2795
+       4065  FlexScan EV3895
 056e  Elecom Co., Ltd
        0002  29UO Mouse
        0057  Micro Grast Pop M-PGDL
        9230  Camera
        9320  Camera
        9331  Camera
+       9332  Camera - 1080p
        9422  Camera
        9520  Camera
 05a4  Ortek Technology, Inc.
        8204  Built-in Bluetooth 2.0+EDR HCI
        8205  Bluetooth HCI
        8206  Bluetooth HCI
+       8207  Built-in Bluetooth
        820a  Bluetooth HID Keyboard
        820b  Bluetooth HID Mouse
        820f  Bluetooth HCI
        8218  Bluetooth Host Controller
        821a  Bluetooth Host Controller
        821f  Built-in Bluetooth 2.0+EDR HCI
+       8233  iBridge
        8240  Built-in IR Receiver
        8241  Built-in IR Receiver
        8242  Built-in IR Receiver
        f102  VX7012 TV Box
        f103  VX7012 TV Box
        f104  VX7012 TV Box
+       f12a  Digital Microscope
        fd21  3M TL20 Temperature Logger
        fe00  Razer Mouse
 05e4  Red Wing Corp.
 05fc  Harman
        0001  Soundcraft Si Multi Digital Card
        0010  Soundcraft Si MADI combo card
+       0021  Soundcraft Signature 12 MTK
        7849  Harman/Kardon SoundSticks
 05fd  InterAct, Inc.
        0239  SV-239 HammerHead Digital
        0002  Sino Wealth keyboard/mouse 2.4 GHz receiver
        00f1  Keyboard (Labtec Ultra Flat Keyboard)
        00f2  Keyboard (Labtec Ultra Flat Keyboard)
+       1002  Mobius actioncam (webcam mode)
        6871  Mouse
        8611  NTK96550 based camera
 0604  Jean Co., Ltd
        00f7  OKI B4600 Mono Printer
        015e  OKIPOS 411/412 POS Printer
        01c9  OKI B430 Mono Printer
+       01db  MC860 Multifunction Printer
+       01dc  MC860 Multifunction Printer
+       01dd  MC860 Multifunction Printer
+       01de  MC860 Multifunction Printer
+       01df  CX2633 Multifunction Printer
+       01e0  ES8460 Multifunction Printer
        020b  OKI ES4140 Mono Printer
        02bb  OKI PT390 POS Printer
        0383  MC563 Multifunction Printer
        1101  Generic Display Device (Mass storage mode)
        c101  Generic Display Device
 1de6  MICRORISC s.r.o.
+1df7  SDRplay
+       2500  RSP1
+       3000  RSP1a
+       3010  RSP2/RSP2pro
+       3020  RSPduo
+       3030  RSPdx
 1e0e  Qualcomm / Option
        f000  iCON 210 UMTS Surfstick
 1e10  Point Grey Research, Inc.
 32b3  TEXA
        d1a6  TXT Multihub
        d1a7  TXT Multihub
+3310  MUDITA Sp. z o.o.
+       0100  Pure
+       0101  Pure tethering
 3333  InLine
        3333  2 port KVM switch model 60652K
 3334  AEI
        ffff  Mio DigiWalker Sync
 3344  Leaguer Microelectronics (LME)
        3744  OEM PC Remote
+3384  System76
+       0000  Thelio Io (thelio-io)
+       0001  Launch Configurable Keyboard (launch_1)
 348f  ISY
        2322  Wireless Presenter
 3504  Micro Star
diff --git a/src/initscripts/networking/red.down/10-miniupnpd b/src/initscripts/networking/red.down/10-miniupnpd
deleted file mode 100644 (file)
index eaf2239..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-[ -x /etc/init.d/miniupnpd ] && \
-       /etc/init.d/miniupnpd stop &>/dev/null
-
-exit 0
diff --git a/src/initscripts/networking/red.up/10-miniupnpd b/src/initscripts/networking/red.up/10-miniupnpd
deleted file mode 100644 (file)
index 5443133..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-[ -x /etc/init.d/miniupnpd ] && \
-       /etc/init.d/miniupnpd start &>/dev/null
-
-exit 0
diff --git a/src/initscripts/packages/asterisk b/src/initscripts/packages/asterisk
deleted file mode 100644 (file)
index ef5b5f9..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-########################################################################
-# Begin $rc_base/init.d/asterisk
-#
-# Description : Asterisk Script
-#
-# Authors     : Michael Tremer (mitch@ipfire.org)
-#
-# Version     : 01.00
-#
-# Notes       :
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-case "${1}" in
-       start)
-               boot_mesg "Starting Asterisk PBX..."
-               loadproc /usr/sbin/asterisk -p 
-               ;;
-
-       stop)
-               boot_mesg "Stopping Asterisk PBX..."
-               asterisk -rx "core stop gracefully" >/dev/null 2>&1
-               evaluate_retval
-               ;;
-
-       reload)
-               boot_mesg "Reloading Asterisk PBX..."
-               asterisk -rx "reload" >/dev/null 2>&1
-               evaluate_retval
-               ;;
-
-       restart)
-               ${0} stop
-               sleep 1
-               ${0} start
-               ;;
-
-       status)
-               statusproc /usr/sbin/asterisk > /tmp/ast 2>&1
-               STAT=$(cat /tmp/ast)
-               rm -f /tmp/ast
-               echo $STAT
-               EX_Z=$(echo $STAT | grep "not" | wc -l)
-               exit $EX_Z
-               ;;
-
-       remod)
-               case "${2}" in
-                       sip)asterisk -rx "sip reload" >/dev/null 2>&1 ;;
-                       iax)asterisk -rx "iax2 reload" >/dev/null 2>&1 ;;
-                       ext)asterisk -rx "dialplan reload" >/dev/null 2>&1 ;;
-                       *) echo "Usage: ${0} remod {sip|iax|ext}"; exit 1 ;;
-               esac
-               ;;
-
-       test) touch /tmp/test$$
-               ;;
-
-       *)
-               echo "Usage: ${0} {start|stop|reload|restart|status|remod}"
-               exit 1
-               ;;
-esac
-
-# End $rc_base/init.d/asterisk
diff --git a/src/initscripts/packages/bluetooth b/src/initscripts/packages/bluetooth
deleted file mode 100644 (file)
index e3ee1b1..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-# Begin $rc_base/init.d/bluetooth
-
-# Based on sysklogd script from LFS-3.1 and earlier.
-# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
-
-. /etc/sysconfig/rc
-. $rc_functions
-
-eval $(/usr/local/bin/readhash /var/ipfire/bluetooth/settings)
-
-case "$1" in
-        start)
-                boot_mesg "Starting Bluetooth daemon..."
-                loadproc /usr/sbin/hcid
-               sleep 1
-
-               if [ "$PASSKEY_AGENT" == "on" ]; then
-                   boot_mesg "Starting Bluetooth passkey-agent..."
-                   loadproc /usr/bin/passkey-agent --default $PWD &
-               fi
-
-               if [ "$RFCOMM0_BIND" == "on" ]; then
-                   boot_mesg "Bind rfcomm0 to cellphone/modem ${RFCOMM0_DEVICE//-/:}/$RFCOMM0_CHANNEL ..."
-                   rfcomm bind /dev/rfcomm0 ${RFCOMM0_DEVICE//-/:} $RFCOMM0_CHANNEL
-                   evaluate_retval
-               fi
-               if [ "$RFCOMM1_BIND" == "on" ]; then
-                   boot_mesg "Bind rfcomm1 to cellphone/modem ${RFCOMM1_DEVICE//-/:}/${RFCOMM1_CHANNEL} ..."
-                   rfcomm bind /dev/rfcomm1 ${RFCOMM1_DEVICE//-/:} $RFCOMM1_CHANNEL
-                   evaluate_retval
-               fi
-               exit 0;
-               
-                ;;
-
-        stop)
-               if [ -e /dev/rfcomm0 ]; then
-                   boot_mesg "Release rfcomm0..."
-                   rfcomm release rfcomm0
-               fi
-               if [ -e /dev/rfcomm1 ]; then
-                   boot_mesg "Release rfcomm1..."
-                   rfcomm release rfcomm1
-               fi
-                boot_mesg "Stopping Bluetooth daemon..."
-               killproc /usr/sbin/hcid
-               exit 0;
-                ;;
-
-        restart)
-                $0 stop
-                sleep 1
-                $0 start
-                ;;
-
-        status)
-                statusproc /usr/sbin/hcid
-               statusproc /usr/bin/passkey-agent
-               ;;
-
-        *)
-                echo "Usage: $0 {start|stop|restart|status}"
-                exit 1
-                ;;
-esac
-
-# End $rc_base/init.d/bluetooth
index c94f429ab9d0c4d8e3072eeb6cccb161e710912e..35cc3c653c0b220918158316c8e9a7df2d15e76d 100644 (file)
 
 [ -r "/etc/sysconfig/dnsdist" ] && . /etc/sysconfig/dnsdist
 
+check_config() {
+       if ! /usr/bin/dnsdist --check-config >/dev/null; then
+               boot_mesg "dnsdist configuration file contains errors" "${FAILURE}"
+               echo_failure
+               return 1
+       fi
+
+       return 0
+}
+
 case "${1}" in
        start)
+               if ! check_config; then
+                       exit 1
+               fi
+
                boot_mesg "Starting dnsdist..."
 
                # Increasing maximum number of open files
@@ -29,11 +43,19 @@ case "${1}" in
                ;;
 
        reload)
+               if ! check_config; then
+                       exit 1
+               fi
+
                boot_mesg "Reloading dnsdist..."
                reloadproc /usr/bin/dnsdist
                ;;
 
        restart)
+               if ! check_config; then
+                       exit 1
+               fi
+
                ${0} stop
                sleep 1
                ${0} start
diff --git a/src/initscripts/packages/lcd4linux b/src/initscripts/packages/lcd4linux
deleted file mode 100644 (file)
index 34f8c8b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-# Begin $rc_base/init.d/lcd4linux
-
-
-. /etc/sysconfig/rc
-. $rc_functions
-
-case "$1" in
-       start)
-               boot_mesg "Starting lcd4linux..."
-               if [ ! -f /etc/lcd4linux.conf ]; then
-                       boot_mesg "No configuration file found, not starting."
-                       exit 1
-               fi
-
-               loadproc /usr/bin/lcd4linux
-               ;;
-
-       stop)
-               boot_mesg "Stopping lcd4linux..."
-               killproc /usr/bin/lcd4linux
-               ;;
-
-       reload)
-               boot_mesg "Reloading lcd4linux..."
-               reloadproc /usr/bin/lcd4linux
-               ;;
-
-       restart)
-               $0 stop
-               sleep 3
-               $0 start
-               ;;
-
-       status)
-               statusproc /usr/bin/lcd4linux
-               ;;
-
-       *)
-               echo "Usage: $0 {start|stop|reload|restart|status}"
-               exit 1
-               ;;
-esac
-
-
-# End $rc_base/init.d/lcd4linux
diff --git a/src/initscripts/packages/miniupnpd b/src/initscripts/packages/miniupnpd
deleted file mode 100644 (file)
index 1fd02a2..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-########################################################################
-# Begin $rc_base/init.d/miniupnpd
-#
-# Description : Miniupnp daemon
-#
-# Authors     : Michael Tremer <michael.tremer@ipfire.org>
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-if [ ! -e /etc/miniupnpd/id ]; then
-       uuidgen > /etc/miniupnpd/id
-fi
-
-UUID=$(cat /etc/miniupnpd/id)
-
-EXT_DEV=$(cat /var/ipfire/red/iface)
-EXT_IP4=$(cat /var/ipfire/red/local-ipaddress)
-
-. /var/ipfire/ethernet/settings
-
-for i in GREEN_ADDRESS BLUE_ADDRESS; do
-       [ -n "${!i}" ] && LISTEN_IP="${LISTEN_IP} -a ${!i}"
-done
-
-function flush_iptables() {
-       # Flush iptables to remove all entries that were left
-       iptables -F UPNPFW
-       iptables -t nat -F UPNPFW
-}
-
-case "${1}" in
-       start)
-               boot_mesg "Starting miniupnpd..."
-
-               flush_iptables
-
-               loadproc miniupnpd -f /etc/miniupnpd/miniupnpd.conf \
-                       -i ${EXT_DEV} -o ${EXT_IP4} ${LISTEN_IP} \
-                       -u ${UUID}
-               ;;
-
-       stop)
-               boot_mesg "Stopping miniupnpd..."
-               killproc miniupnpd
-
-               flush_iptables
-               ;;
-
-       restart)
-               ${0} stop
-               sleep 1
-               ${0} start
-               ;;
-
-       status)
-               statusproc miniupnpd
-               ;;
-
-       *)
-               echo "Usage: ${0} {start|stop|restart|status}"
-               exit 1
-               ;;
-esac
-
-# End $rc_base/init.d/miniupnpd
diff --git a/src/initscripts/packages/motion b/src/initscripts/packages/motion
deleted file mode 100644 (file)
index f5fa9c6..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-
-. /etc/sysconfig/rc
-. $rc_functions
-
-case "$1" in
-       start)
-               boot_mesg "Starting motion webcam server..."
-               if [ ! -e /dev/video0 ]; then
-                       boot_mesg "Error! No video input device found."
-                       echo_failure
-                       #No 3 min wait
-                       exit 0;
-               fi
-               chown :video /dev/video*
-               mkdir -p /var/motion/cam1
-               chown -R video: /var/motion/cam1
-               loadproc sudo -u video /usr/bin/motion
-               ;;
-
-       stop)
-               boot_mesg "Stopping motion webcam server..."
-               killproc /usr/bin/motion
-               ;;
-
-       restart)
-               $0 stop
-               sleep 1
-               $0 start
-               ;;
-
-       status)
-               statusproc /usr/bin/motion
-               ;;
-
-       *)
-               echo "Usage: $0 {start|stop|restart|status}"
-               exit 1
-               ;;
-esac
-
-# End $rc_base/init.d/motion
diff --git a/src/initscripts/packages/sane b/src/initscripts/packages/sane
deleted file mode 100644 (file)
index 6b391e9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-########################################################################
-# Begin $rc_base/init.d/sane
-#
-# Description : Sane Network deamon
-#
-# Authors     : Arne Fitzenreiter (arne_f@ipfire.org)
-#
-# Version     : 01.00
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-case "${1}" in
-       start)
-               boot_mesg "Starting saned - network scanner deamon..."
-               loadproc /usr/sbin/saned -lD
-               evaluate_retval
-               ;;
-
-       stop)
-               boot_mesg "Stopping saned - network scanner deamon..."
-               killproc /usr/sbin/saned
-               ;;
-
-       restart)
-               ${0} stop
-               sleep 1
-               ${0} start
-               ;;
-
-       status)
-               statusproc /usr/sbin/saned
-               ;;
-
-       *)
-               echo "Usage: ${0} {start|stop|restart|status}"
-               exit 1
-               ;;
-esac
-
-# End $rc_base/init.d/sane
index 65f1c979bb4007f1987fbfe897b5e1d91ed30f23..1e558ee86a55b2013ac014266138cce42488b84e 100644 (file)
@@ -98,74 +98,11 @@ iptables_init() {
        iptables -t raw -N CONNTRACK
        iptables -t raw -A PREROUTING -j CONNTRACK
 
-       # Conntrack helpers (https://home.regit.org/netfilter-en/secure-use-of-helpers/)
+       # Conntrack helper (https://home.regit.org/netfilter-en/secure-use-of-helpers/)
 
        # GRE (always enabled)
        modprobe nf_conntrack_proto_gre
 
-       # SIP
-       if [ "${CONNTRACK_SIP}" = "on" ]; then
-               modprobe nf_nat_sip
-               iptables -A CONNTRACK -m conntrack --ctstate RELATED \
-                       -m helper --helper sip -j ACCEPT
-               for proto in udp tcp; do
-                       iptables -t raw -A CONNTRACK -p "${proto}" --dport 5060 -j CT --helper sip
-               done
-       fi
-
-       # H.323
-       if [ "${CONNTRACK_H323}" = "on" ]; then
-               modprobe nf_nat_h323
-               iptables -A CONNTRACK -m conntrack --ctstate RELATED \
-                       -m helper --helper h323 -j ACCEPT
-
-               # Gatekeeper RAS
-               iptables -t raw -A CONNTRACK -p udp --dport 1719 -j CT --helper RAS
-
-               # Q.931
-               iptables -t raw -A CONNTRACK -p tcp --dport 1720 -j CT --helper Q.931
-       fi
-
-       # FTP
-       if [ "${CONNTRACK_FTP}" = "on" ]; then
-               modprobe nf_nat_ftp
-               iptables -A CONNTRACK -m conntrack --ctstate RELATED \
-                       -m helper --helper ftp -p tcp --dport 1024: -j ACCEPT
-               iptables -t raw -A CONNTRACK -p tcp --dport 21 -j CT --helper ftp
-       fi
-
-       # PPTP
-       if [ "${CONNTRACK_PPTP}" = "on" ]; then
-               modprobe nf_nat_pptp
-               iptables -A CONNTRACK -m conntrack --ctstate RELATED \
-                       -m helper --helper pptp -j ACCEPT
-               iptables -t raw -A CONNTRACK -p tcp --dport 1723 -j CT --helper pptp
-       fi
-
-       # TFTP
-       if [ "${CONNTRACK_TFTP}" = "on" ]; then
-               modprobe nf_nat_tftp
-               iptables -A CONNTRACK -m conntrack --ctstate RELATED \
-                       -m helper --helper tftp -j ACCEPT
-               iptables -t raw -A CONNTRACK -p udp --dport 69 -j CT --helper tftp
-       fi
-
-       # IRC
-       if [ "${CONNTRACK_IRC}" = "on" ]; then
-               modprobe nf_nat_irc
-               iptables -A CONNTRACK -m conntrack --ctstate RELATED \
-                       -m helper --helper irc -j ACCEPT
-               iptables -t raw -A CONNTRACK -p tcp --dport 6667 -j CT --helper irc
-       fi
-
-       # Amanda
-       if [ "${CONNTRACK_AMANDA}" = "on" ]; then
-               modprobe nf_nat_amanda
-               iptables -A CONNTRACK -m conntrack --ctstate RELATED \
-                       -m helper --helper amanda -j ACCEPT
-               iptables -t raw -A CONNTRACK -p tcp -j CT --helper amanda
-       fi
-
        # Fix for braindead ISPs
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
 
@@ -363,12 +300,6 @@ iptables_init() {
                        -m mark --mark 3 -j SNAT --to-source "${ORANGE_ADDRESS}"
        fi
 
-       # upnp chain for our upnp daemon
-       iptables -t nat -N UPNPFW
-       iptables -t nat -A PREROUTING -j UPNPFW
-       iptables -N UPNPFW
-       iptables -A FORWARD -m conntrack --ctstate NEW -j UPNPFW
-
        # RED chain, used for the red interface
        iptables -N REDINPUT
        iptables -A INPUT -j REDINPUT
diff --git a/src/initscripts/system/upnpd b/src/initscripts/system/upnpd
deleted file mode 100644 (file)
index ca05abf..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-########################################################################
-# Begin $rc_base/init.d/
-#
-# Description : UPnP Starter
-#
-# Authors     : Michael Tremer
-#
-# Version     : 01.00
-#
-# Notes       : for www.ipfire.org - GPLv2
-#
-########################################################################
-
-. /etc/sysconfig/rc
-. ${rc_functions}
-
-# defaults
-ALLOW_MULTICAST=no
-
-# configuration
-eval $(/usr/local/bin/readhash /var/ipfire/upnp/settings)
-
-case "$1" in
-       start)
-               boot_mesg "Starting Universal Plug'n'Play daemon..."
-               loadproc /usr/sbin/upnpd $EXTIFACE $INTIFACE
-               evaluate_retval
-               [ "$ALLOW_MULTICAST" != "no" ] && route add -net 239.0.0.0 netmask 255.0.0.0 $INTIFACE
-               ;;
-
-       stop)
-               boot_mesg "Stopping Universal Plug'n'Play daemon..."
-               killproc /usr/sbin/upnpd
-               evaluate_retval
-               [ "$ALLOW_MULTICAST" != "no" ] && route del -net 239.0.0.0 netmask 255.0.0.0 $INTIFACE
-               ;;
-
-       restart)
-               ${0} stop
-               sleep 1
-               ${0} start
-
-               ;;
-       status)
-               statusproc
-               ;;
-
-       *)
-               echo "Usage: ${0} {start|stop|reload|restart|status}"
-               exit 1
-               ;;
-esac
-
-# End $rc_base/init.d/
index 4d5c6219ab2c30bf24a28cb50b3b1b710b9881c2..f9a19b60d8206bf0433ab3104262a1acae4893f3 100644 (file)
@@ -73,6 +73,9 @@ my %pakfiresettings = ();
 # Make version
 $Conf::version = &make_version();
 
+# Pakfire lock file.
+our $lockfile = "/tmp/pakfire_lock";
+
 sub message {
        my $message = shift;
                
index c69a8d3ad6dcf056f83518c4910463938c01f5cd..4139d106b8c0ef7ff4f4ad46839e0da64c9662cb 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2015   IPFire Team   <info@ipfire.org>                   #
+# Copyright (C) 2007-2021   IPFire Team   <info@ipfire.org>                   #
 #                                                                             #
 # 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        #
@@ -31,6 +31,7 @@
        
        my $interactive = 1;
        my $force = "noforce";
+       my $locked;
        
        &Pakfire::logger("PAKFIRE INFO: IPFire Pakfire $Conf::version started!");
 
                &Pakfire::message("PAKFIRE ERROR: You need to be online to run pakfire!");
                exit 2;
        }
+
+       # Check if a lockfile already exists.
+       if (-e "$Pakfire::lockfile") {
+               &Pakfire::message("PAKFIRE ERROR: Another instance of pakfire is already running!");
+               exit 1;
+       }
+
+       # Write lockfile.
+       open(LOCK, ">$Pakfire::lockfile");
+
+       # Pakfire has locked in this session set locket to "1".
+       $locked = "1";
+
+       # Close filehandle.
+       close(LOCK);
        
        ### Check if we are started by another name
        #
 
        &Pakfire::logger("PAKFIRE INFO: Pakfire has finished. Closing.");
 
+       END {
+               # Check if pakfire has been locked in this session.
+               if ($locked) {
+                       # Remove lockfile.
+                       unlink($Pakfire::lockfile);
+               }
+       }
+
        exit 0;
diff --git a/src/paks/asterisk/install.sh b/src/paks/asterisk/install.sh
deleted file mode 100644 (file)
index 24ce657..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-extract_files
-restore_backup ${NAME}
-start_service ${NAME}
diff --git a/src/paks/asterisk/uninstall.sh b/src/paks/asterisk/uninstall.sh
deleted file mode 100644 (file)
index bd755e3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-echo "/var/ipfire/asterisk/" >> /var/ipfire/backup/addons/includes/asterisk
-echo "/var/log/asterisk/cdr-csv/" >> /var/ipfire/backup/addons/includes/asterisk
-stop_service ${NAME}
-make_backup ${NAME}
-remove_files
diff --git a/src/paks/asterisk/update.sh b/src/paks/asterisk/update.sh
deleted file mode 100644 (file)
index 9977665..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007-2020 IPFire-Team <info@ipfire.org>.                   #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-extract_backup_includes
-./uninstall.sh
-./install.sh
diff --git a/src/paks/motion/uninstall.sh b/src/paks/motion/uninstall.sh
deleted file mode 100644 (file)
index 66f4344..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-make_backup ${NAME}
-remove_files
diff --git a/src/paks/motion/update.sh b/src/paks/motion/update.sh
deleted file mode 100644 (file)
index 9977665..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007-2020 IPFire-Team <info@ipfire.org>.                   #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-extract_backup_includes
-./uninstall.sh
-./install.sh
diff --git a/src/patches/Python-2.7.3-gdbm-1.patch b/src/patches/Python-2.7.3-gdbm-1.patch
deleted file mode 100644 (file)
index c72b452..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur Python-2.7-org/setup.py Python-2.7/setup.py
---- Python-2.7-org/setup.py    2010-06-27 14:36:16.000000000 +0200
-+++ Python-2.7/setup.py        2010-07-13 22:23:04.000000000 +0200
-@@ -1125,7 +1125,7 @@
-                                                                'ndbm'):
-                             ndbm_libs = ['ndbm']
-                         else:
--                            ndbm_libs = []
-+                            ndbm_libs = ['gdbm', 'gdbm_compat' ]
-                         print "building dbm using ndbm"
-                         dbmext = Extension('dbm', ['dbmmodule.c'],
-                                            define_macros=[
-@@ -1140,7 +1140,7 @@
-                         if self.compiler.find_library_file(lib_dirs,
-                                                                'gdbm_compat'):
-                             gdbm_libs.append('gdbm_compat')
--                        if find_file("gdbm/ndbm.h", inc_dirs, []) is not None:
-+                        if find_file("ndbm.h", inc_dirs, []) is not None:
-                             print "building dbm using gdbm"
-                             dbmext = Extension(
-                                 'dbm', ['dbmmodule.c'],
diff --git a/src/patches/Python-2.7.9-gdbm-1.patch b/src/patches/Python-2.7.9-gdbm-1.patch
deleted file mode 100644 (file)
index c72b452..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur Python-2.7-org/setup.py Python-2.7/setup.py
---- Python-2.7-org/setup.py    2010-06-27 14:36:16.000000000 +0200
-+++ Python-2.7/setup.py        2010-07-13 22:23:04.000000000 +0200
-@@ -1125,7 +1125,7 @@
-                                                                'ndbm'):
-                             ndbm_libs = ['ndbm']
-                         else:
--                            ndbm_libs = []
-+                            ndbm_libs = ['gdbm', 'gdbm_compat' ]
-                         print "building dbm using ndbm"
-                         dbmext = Extension('dbm', ['dbmmodule.c'],
-                                            define_macros=[
-@@ -1140,7 +1140,7 @@
-                         if self.compiler.find_library_file(lib_dirs,
-                                                                'gdbm_compat'):
-                             gdbm_libs.append('gdbm_compat')
--                        if find_file("gdbm/ndbm.h", inc_dirs, []) is not None:
-+                        if find_file("ndbm.h", inc_dirs, []) is not None:
-                             print "building dbm using gdbm"
-                             dbmext = Extension(
-                                 'dbm', ['dbmmodule.c'],
diff --git a/src/patches/arm-dont-require-distutils.patch b/src/patches/arm-dont-require-distutils.patch
deleted file mode 100644 (file)
index 1fe2b8a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -Nur arm.vanilla/src/util/hostnames.py arm/src/util/hostnames.py
---- arm.vanilla/src/util/hostnames.py  2012-04-29 05:59:24.000000000 +0200
-+++ arm/src/util/hostnames.py  2013-07-31 17:59:19.245591564 +0200
-@@ -30,7 +30,6 @@
- import threading
- import itertools
- import Queue
--import distutils.sysconfig
- from util import log, sysTools
-@@ -264,7 +263,7 @@
-     # 'socket.gethostbyaddr'. The following checks if the system has the
-     # gethostbyname_r function, which determines if python resolutions can be
-     # done in parallel or not. If so, this is preferable.
--    isSocketResolutionParallel = distutils.sysconfig.get_config_var("HAVE_GETHOSTBYNAME_R")
-+    isSocketResolutionParallel = True #distutils.sysconfig.get_config_var("HAVE_GETHOSTBYNAME_R")
-     self.useSocketResolution = CONFIG["queries.hostnames.useSocketModule"] and isSocketResolutionParallel
-     
-     for _ in range(CONFIG["queries.hostnames.poolSize"]):
diff --git a/src/patches/arm-multi-grsec-compile-fixes.patch b/src/patches/arm-multi-grsec-compile-fixes.patch
deleted file mode 100644 (file)
index b71d9ae..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur linux-3.14.76.org/arch/arm/mach-omap2/cclock3xxx_data.c linux-3.14.76/arch/arm/mach-omap2/cclock3xxx_data.c
---- linux-3.14.76.org/arch/arm/mach-omap2/cclock3xxx_data.c    2016-08-18 06:26:02.000000000 +0200
-+++ linux-3.14.76/arch/arm/mach-omap2/cclock3xxx_data.c        2016-08-18 06:37:51.442186995 +0200
-@@ -250,7 +250,7 @@
- static struct clk dpll1_ck;
--static struct clk_ops dpll1_ck_ops;
-+static clk_ops_no_const dpll1_ck_ops;
- static struct clk_ops dpll1_ck_ops_34xx __initdata = {
-       .init           = &omap2_init_clk_clkdm,
-diff -Naur linux-3.14.76.org/net/ipv6/addrconf.c linux-3.14.76/net/ipv6/addrconf.c
---- linux-3.14.76.org/net/ipv6/addrconf.c      2016-08-18 06:25:51.000000000 +0200
-+++ linux-3.14.76/net/ipv6/addrconf.c  2016-08-18 06:31:51.802186824 +0200
-@@ -4818,7 +4818,7 @@
- {
-       struct inet6_dev *idev = ctl->extra1;
-       int min_mtu = IPV6_MIN_MTU;
--      struct ctl_table lctl;
-+      ctl_table_no_const lctl;
-       lctl = *ctl;
-       lctl.extra1 = &min_mtu;
diff --git a/src/patches/asterisk-no-ffmpeg.patch b/src/patches/asterisk-no-ffmpeg.patch
deleted file mode 100644 (file)
index 7bc2e84..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/usr/src/asterisk-11.9.0/res/Makefile.orig    2014-04-28 20:30:50.500877461 +0200
-+++ build/usr/src/asterisk-11.9.0/res/Makefile 2014-04-28 20:31:39.357034757 +0200
-@@ -75,7 +75,7 @@
-       rm -f pjproject/build.mak
- pjproject/build.mak: pjproject/aconfigure
--      (cd pjproject && CFLAGS="-fPIC" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --disable-floating-point --disable-sound --disable-oss --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-g711-codec)
-+      (cd pjproject && CFLAGS="-fPIC" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --disable-floating-point --disable-sound --disable-oss --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-g711-codec --disable-opencore-amrnb --disable-video --disable-sdl --disable-ffmpeg --disable-v4l2)
- ifneq ($(findstring $(MAKECMDGOALS),all),)
- -include pjproject/build.mak
diff --git a/src/patches/asterisk-ssl-reader-should-block.patch b/src/patches/asterisk-ssl-reader-should-block.patch
deleted file mode 100644 (file)
index 3b2f0ed..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream issue 18345
-Link: https://issues.asterisk.org/jira/browse/ASTERISK-18345
-Patch-By: Filip Jenicek
-
-Submitted upstream:   2012-05-31 09:12
-For Asterisk version: 1.8.4
-
-The HOOK_T ssl_read function should behave the same way as the system read function 
-by blocking and waiting for (more) data from the SSL subsystem. Failure to do this 
-will drop data on the floor and ultimately disconnect SSL clients.
-
---- asterisk/main/tcptls.c
-+++ asterisk/main/tcptls.c
-@@ -55,6 +55,14 @@
- static HOOK_T ssl_read(void *cookie, char *buf, LEN_T len)
- {
-       int i = SSL_read(cookie, buf, len-1);
-+
-+      /* ssl_read should block and wait for the SSL layer to provide all data */
-+      while (i < 0 && SSL_get_error(cookie, i) == SSL_ERROR_WANT_READ) {
-+              ast_debug(1, "SSL_read - data not ready.\n");
-+              if (ast_wait_for_input(SSL_get_fd(cookie), 5000) <= 0) return 0;
-+              i = SSL_read(cookie, buf, len-1);
-+      }
-+
- #if 0
-       if (i >= 0)
-               buf[i] = '\0';
diff --git a/src/patches/compat-drivers-3.8.3-ath_ignore_eeprom_regdomain.patch b/src/patches/compat-drivers-3.8.3-ath_ignore_eeprom_regdomain.patch
deleted file mode 100644 (file)
index acfb12f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -Naur compat-drivers-3.8.3-2-snpu.org/drivers/net/wireless/ath/regd.c compat-drivers-3.8.3-2-snpu/drivers/net/wireless/ath/regd.c
---- compat-drivers-3.8.3-2-snpu.org/drivers/net/wireless/ath/regd.c    2013-03-15 22:55:09.000000000 +0100
-+++ compat-drivers-3.8.3-2-snpu/drivers/net/wireless/ath/regd.c        2013-08-22 11:51:36.793297656 +0200
-@@ -200,6 +200,8 @@
-       u32 bandwidth = 0;
-       int r;
-+      return;
-+
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
-               if (!wiphy->bands[band])
-@@ -259,6 +261,8 @@
-       u32 bandwidth = 0;
-       int r;
-+      return;
-+
-       sband = wiphy->bands[IEEE80211_BAND_2GHZ];
-       if (!sband)
-               return;
-@@ -308,6 +312,8 @@
-       struct ieee80211_channel *ch;
-       unsigned int i;
-+      return;
-+
-       if (!wiphy->bands[IEEE80211_BAND_5GHZ])
-               return;
-@@ -514,6 +520,8 @@
- {
-       const struct ieee80211_regdomain *regd;
-+      return 0;
-+
-       wiphy->reg_notifier = reg_notifier;
-       wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY;
diff --git a/src/patches/cups-str4609.patch b/src/patches/cups-str4609.patch
deleted file mode 100644 (file)
index 2a9761b..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-diff -up cups-1.7.5/cgi-bin/ipp-var.c.str4609 cups-1.7.5/cgi-bin/ipp-var.c
---- cups-1.7.5/cgi-bin/ipp-var.c.str4609       2014-05-22 15:59:21.000000000 +0200
-+++ cups-1.7.5/cgi-bin/ipp-var.c       2015-06-10 10:31:45.297965345 +0200
-@@ -1206,21 +1206,7 @@ cgiSetIPPObjectVars(
-             * Rewrite URIs...
-             */
--              if (!strcmp(name, "member_uris"))
--            {
--              char    url[1024];      /* URL for class member... */
--
--
--              cgiRewriteURL(attr->values[i].string.text, url,
--                            sizeof(url), NULL);
--
--                snprintf(valptr, sizeof(value) - (valptr - value),
--                       "<A HREF=\"%s\">%s</A>", url,
--                       strrchr(attr->values[i].string.text, '/') + 1);
--            }
--            else
--              cgiRewriteURL(attr->values[i].string.text, valptr,
--                            sizeof(value) - (valptr - value), NULL);
-+            cgiRewriteURL(attr->values[i].string.text, valptr, sizeof(value) - (valptr - value), NULL);
-               break;
-             }
-diff -up cups-1.7.5/cgi-bin/template.c.str4609 cups-1.7.5/cgi-bin/template.c
---- cups-1.7.5/cgi-bin/template.c.str4609      2014-03-05 22:11:32.000000000 +0100
-+++ cups-1.7.5/cgi-bin/template.c      2015-06-10 10:31:45.297965345 +0200
-@@ -659,39 +659,7 @@ cgi_puts(const char *s,                   /* I - String
-   while (*s)
-   {
-     if (*s == '<')
--    {
--     /*
--      * Pass <A HREF="url"> and </A>, otherwise quote it...
--      */
--
--      if (!_cups_strncasecmp(s, "<A HREF=\"", 9))
--      {
--        fputs("<A HREF=\"", out);
--      s += 9;
--
--      while (*s && *s != '\"')
--      {
--          if (*s == '&')
--            fputs("&amp;", out);
--        else
--          putc(*s, out);
--
--        s ++;
--      }
--
--        if (*s)
--        s ++;
--
--      fputs("\">", out);
--      }
--      else if (!_cups_strncasecmp(s, "</A>", 4))
--      {
--        fputs("</A>", out);
--      s += 3;
--      }
--      else
--        fputs("&lt;", out);
--    }
-+      fputs("&lt;", out);
-     else if (*s == '>')
-       fputs("&gt;", out);
-     else if (*s == '\"')
-diff -up cups-1.7.5/scheduler/client.c.str4609 cups-1.7.5/scheduler/client.c
---- cups-1.7.5/scheduler/client.c.str4609      2015-06-10 10:31:45.280965399 +0200
-+++ cups-1.7.5/scheduler/client.c      2015-06-10 10:31:45.300965335 +0200
-@@ -598,7 +598,12 @@ cupsdCloseClient(cupsd_client_t *con)     /*
-     httpClearCookie(HTTP(con));
-     httpClearFields(HTTP(con));
--    cupsdClearString(&con->filename);
-+    if (con->filename)
-+    {
-+      unlink(con->filename);
-+      cupsdClearString(&con->filename);
-+    }
-+
-     cupsdClearString(&con->command);
-     cupsdClearString(&con->options);
-     cupsdClearString(&con->query_string);
-diff -up cups-1.7.5/scheduler/env.c.str4609 cups-1.7.5/scheduler/env.c
---- cups-1.7.5/scheduler/env.c.str4609 2015-06-10 10:31:45.208965629 +0200
-+++ cups-1.7.5/scheduler/env.c 2015-06-10 10:31:45.300965335 +0200
-@@ -131,6 +131,13 @@ cupsdSetEnv(const char *name,             /* I - Na
-     return;
-  /*
-+  * Do not allow dynamic linker variables when running as root...
-+  */
-+
-+  if (!RunUser && (!strncmp(name, "DYLD_", 5) || !strncmp(name, "LD_", 3)))
-+    return;
-+
-+ /*
-   * See if this variable has already been defined...
-   */
-diff -up cups-1.7.5/scheduler/ipp.c.str4609 cups-1.7.5/scheduler/ipp.c
---- cups-1.7.5/scheduler/ipp.c.str4609 2015-06-10 10:31:45.287965377 +0200
-+++ cups-1.7.5/scheduler/ipp.c 2015-06-10 10:31:45.299965339 +0200
-@@ -412,8 +412,7 @@ cupsdProcessIPPRequest(
-           * Remote unauthenticated user masquerading as local root...
-           */
--          _cupsStrFree(username->values[0].string.text);
--          username->values[0].string.text = _cupsStrAlloc(RemoteRoot);
-+            ippSetString(con->request, &username, 0, RemoteRoot);
-         }
-       }
-@@ -1576,7 +1575,7 @@ add_job(cupsd_client_t  *con,            /* I - Cl
-     cupsdSetString(&job->username, con->username);
-     if (attr)
--      cupsdSetString(&attr->values[0].string.text, con->username);
-+      ippSetString(job->attrs, &attr, 0, con->username);
-   }
-   else if (attr)
-   {
-@@ -1594,9 +1593,8 @@ add_job(cupsd_client_t  *con,            /* I - Cl
-                  "job-originating-user-name", NULL, job->username);
-   else
-   {
--    attr->group_tag = IPP_TAG_JOB;
--    _cupsStrFree(attr->name);
--    attr->name = _cupsStrAlloc("job-originating-user-name");
-+    ippSetGroupTag(job->attrs, &attr, IPP_TAG_JOB);
-+    ippSetName(job->attrs, &attr, "job-originating-user-name");
-   }
-   if (con->username[0] || auth_info)
-@@ -1630,48 +1628,11 @@ add_job(cupsd_client_t  *con,          /* I - Cl
-       * Also, we can only have 1 value and it must be a name value.
-       */
--      switch (attr->value_tag)
--      {
--        case IPP_TAG_STRING :
--      case IPP_TAG_TEXTLANG :
--      case IPP_TAG_NAMELANG :
--      case IPP_TAG_TEXT :
--      case IPP_TAG_NAME :
--      case IPP_TAG_KEYWORD :
--      case IPP_TAG_URI :
--      case IPP_TAG_URISCHEME :
--      case IPP_TAG_CHARSET :
--      case IPP_TAG_LANGUAGE :
--      case IPP_TAG_MIMETYPE :
--         /*
--          * Free old strings...
--          */
--
--          for (i = 0; i < attr->num_values; i ++)
--          {
--            _cupsStrFree(attr->values[i].string.text);
--            attr->values[i].string.text = NULL;
--            if (attr->values[i].string.language)
--            {
--              _cupsStrFree(attr->values[i].string.language);
--              attr->values[i].string.language = NULL;
--            }
--            }
--
--      default :
--            break;
--      }
--
--     /*
--      * Use the default connection hostname instead...
--      */
--
--      attr->value_tag             = IPP_TAG_NAME;
--      attr->num_values            = 1;
--      attr->values[0].string.text = _cupsStrAlloc(con->http.hostname);
-+      ippDeleteAttribute(job->attrs, attr);
-+      ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-originating-host-name", NULL, con->http.hostname);
-     }
--
--    attr->group_tag = IPP_TAG_JOB;
-+    else
-+      ippSetGroupTag(job->attrs, &attr, IPP_TAG_JOB);
-   }
-   else
-   {
-@@ -1767,8 +1728,8 @@ add_job(cupsd_client_t  *con,            /* I - Cl
-       attr = ippAddStrings(job->attrs, IPP_TAG_JOB, IPP_TAG_NAME, "job-sheets",
-                            2, NULL, NULL);
--      attr->values[0].string.text = _cupsStrRetain(printer->job_sheets[0]);
--      attr->values[1].string.text = _cupsStrRetain(printer->job_sheets[1]);
-+      ippSetString(job->attrs, &attr, 0, printer->job_sheets[0]);
-+      ippSetString(job->attrs, &attr, 1, printer->job_sheets[1]);
-     }
-     job->job_sheets = attr;
-@@ -1794,7 +1755,7 @@ add_job(cupsd_client_t  *con,            /* I - Cl
-           * Force the leading banner to have the classification on it...
-         */
--          cupsdSetString(&attr->values[0].string.text, Classification);
-+          ippSetString(job->attrs, &attr, 0, Classification);
-         cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED "
-                                            "job-sheets=\"%s,none\", "
-@@ -1811,7 +1772,7 @@ add_job(cupsd_client_t  *con,            /* I - Cl
-         * Can't put two different security markings on the same document!
-         */
--          cupsdSetString(&attr->values[1].string.text, attr->values[0].string.text);
-+          ippSetString(job->attrs, &attr, 1, attr->values[0].string.text);
-         cupsdLogJob(job, CUPSD_LOG_NOTICE, "CLASSIFICATION FORCED "
-                                            "job-sheets=\"%s,%s\", "
-@@ -1851,18 +1812,18 @@ add_job(cupsd_client_t  *con,          /* I - Cl
-         if (attr->num_values > 1 &&
-           !strcmp(attr->values[0].string.text, attr->values[1].string.text))
-       {
--          cupsdSetString(&(attr->values[0].string.text), Classification);
--          cupsdSetString(&(attr->values[1].string.text), Classification);
-+          ippSetString(job->attrs, &attr, 0, Classification);
-+          ippSetString(job->attrs, &attr, 1, Classification);
-       }
-         else
-       {
-           if (attr->num_values == 1 ||
-             strcmp(attr->values[0].string.text, "none"))
--            cupsdSetString(&(attr->values[0].string.text), Classification);
-+            ippSetString(job->attrs, &attr, 0, Classification);
-           if (attr->num_values > 1 &&
-             strcmp(attr->values[1].string.text, "none"))
--            cupsdSetString(&(attr->values[1].string.text), Classification);
-+          ippSetString(job->attrs, &attr, 1, Classification);
-         }
-         if (attr->num_values > 1)
-@@ -3098,8 +3059,8 @@ authenticate_job(cupsd_client_t  *con,   /
-   if (attr)
-   {
--    attr->value_tag = IPP_TAG_KEYWORD;
--    cupsdSetString(&(attr->values[0].string.text), "no-hold");
-+    ippSetValueTag(job->attrs, &attr, IPP_TAG_KEYWORD);
-+    ippSetString(job->attrs, &attr, 0, "no-hold");
-   }
-  /*
-@@ -8224,11 +8185,7 @@ print_job(cupsd_client_t  *con,         /* I -
-              filetype->type);
-     if (format)
--    {
--      _cupsStrFree(format->values[0].string.text);
--
--      format->values[0].string.text = _cupsStrAlloc(mimetype);
--    }
-+      ippSetString(con->request, &format, 0, mimetype);
-     else
-       ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
-                  "document-format", NULL, mimetype);
-@@ -8765,10 +8722,8 @@ release_job(cupsd_client_t  *con,       /* I -
-   if (attr)
-   {
--    _cupsStrFree(attr->values[0].string.text);
--
--    attr->value_tag = IPP_TAG_KEYWORD;
--    attr->values[0].string.text = _cupsStrAlloc("no-hold");
-+    ippSetValueTag(job->attrs, &attr, IPP_TAG_KEYWORD);
-+    ippSetString(job->attrs, &attr, 0, "no-hold");
-     cupsdAddEvent(CUPSD_EVENT_JOB_CONFIG_CHANGED, cupsdFindDest(job->dest), job,
-                   "Job job-hold-until value changed by user.");
-@@ -9461,11 +9416,7 @@ send_document(cupsd_client_t  *con,     /* I
-     if ((jformat = ippFindAttribute(job->attrs, "document-format",
-                                     IPP_TAG_MIMETYPE)) != NULL)
--    {
--      _cupsStrFree(jformat->values[0].string.text);
--
--      jformat->values[0].string.text = _cupsStrAlloc(mimetype);
--    }
-+      ippSetString(job->attrs, &jformat, 0, mimetype);
-     else
-       ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
-                  "document-format", NULL, mimetype);
-diff -up cups-1.7.5/scheduler/job.c.str4609 cups-1.7.5/scheduler/job.c
---- cups-1.7.5/scheduler/job.c.str4609 2015-06-10 10:31:45.288965374 +0200
-+++ cups-1.7.5/scheduler/job.c 2015-06-10 10:31:45.299965339 +0200
-@@ -375,7 +375,7 @@ cupsdCheckJobs(void)
-           if ((attr = ippFindAttribute(job->attrs, "job-actual-printer-uri",
-                                      IPP_TAG_URI)) != NULL)
--            cupsdSetString(&attr->values[0].string.text, printer->uri);
-+            ippSetString(job->attrs, &attr, 0, printer->uri);
-         else
-           ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI,
-                        "job-actual-printer-uri", NULL, printer->uri);
-@@ -2109,7 +2109,7 @@ cupsdMoveJob(cupsd_job_t     *job,       /* I
-   if ((attr = ippFindAttribute(job->attrs, "job-printer-uri",
-                                IPP_TAG_URI)) != NULL)
--    cupsdSetString(&(attr->values[0].string.text), p->uri);
-+    ippSetString(job->attrs, &attr, 0, p->uri);
-   cupsdAddEvent(CUPSD_EVENT_JOB_STOPPED, p, job,
-                 "Job #%d moved from %s to %s.", job->id, olddest,
-@@ -2306,7 +2306,7 @@ cupsdSetJobHoldUntil(cupsd_job_t *job,   /
-       attr = ippFindAttribute(job->attrs, "job-hold-until", IPP_TAG_NAME);
-     if (attr)
--      cupsdSetString(&(attr->values[0].string.text), when);
-+      ippSetString(job->attrs, &attr, 0, when);
-     else
-       attr = ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                           "job-hold-until", NULL, when);
-@@ -2560,8 +2560,8 @@ cupsdSetJobState(
-       if (attr)
-       {
--        attr->value_tag = IPP_TAG_KEYWORD;
--        cupsdSetString(&(attr->values[0].string.text), "no-hold");
-+        ippSetValueTag(job->attrs, &attr, IPP_TAG_KEYWORD);
-+        ippSetString(job->attrs, &attr, 0, "no-hold");
-       }
-     default :
-@@ -4598,7 +4598,7 @@ start_job(cupsd_job_t     *job,          /* I -
-                                             "job-printer-state-message",
-                                             IPP_TAG_TEXT);
-   if (job->printer_message)
--    cupsdSetString(&(job->printer_message->values[0].string.text), "");
-+    ippSetString(job->attrs, &job->printer_message, 0, "");
-   ippSetString(job->attrs, &job->reasons, 0, "job-printing");
-   cupsdSetJobState(job, IPP_JOB_PROCESSING, CUPSD_JOB_DEFAULT, NULL);
-@@ -5216,15 +5216,14 @@ update_job_attrs(cupsd_job_t *job,     /* I
-   if (job->state_value != IPP_JOB_PROCESSING &&
-       job->status_level == CUPSD_LOG_INFO)
-   {
--    cupsdSetString(&(job->printer_message->values[0].string.text), "");
-+    ippSetString(job->attrs, &job->printer_message, 0, "");
-     job->dirty = 1;
-     cupsdMarkDirty(CUPSD_DIRTY_JOBS);
-   }
-   else if (job->printer->state_message[0] && do_message)
-   {
--    cupsdSetString(&(job->printer_message->values[0].string.text),
--                 job->printer->state_message);
-+    ippSetString(job->attrs, &job->printer_message, 0, job->printer->state_message);
-     job->dirty = 1;
-     cupsdMarkDirty(CUPSD_DIRTY_JOBS);
-diff -up cups-1.7.5/scheduler/main.c.str4609 cups-1.7.5/scheduler/main.c
---- cups-1.7.5/scheduler/main.c.str4609        2015-06-10 10:31:45.265965447 +0200
-+++ cups-1.7.5/scheduler/main.c        2015-06-10 10:31:45.300965335 +0200
-@@ -1205,8 +1205,8 @@ cupsdAddString(cups_array_t **a, /* IO -
-   if (!*a)
-     *a = cupsArrayNew3((cups_array_func_t)strcmp, NULL,
-                      (cups_ahash_func_t)NULL, 0,
--                     (cups_acopy_func_t)_cupsStrAlloc,
--                     (cups_afree_func_t)_cupsStrFree);
-+                     (cups_acopy_func_t)strdup,
-+                     (cups_afree_func_t)free);
-   return (cupsArrayAdd(*a, (char *)s));
- }
-@@ -1236,7 +1236,7 @@ cupsdClearString(char **s)               /* O - Strin
- {
-   if (s && *s)
-   {
--    _cupsStrFree(*s);
-+    free(*s);
-     *s = NULL;
-   }
- }
-@@ -1317,10 +1317,10 @@ cupsdSetString(char       **s,         /* O - N
-     return;
-   if (*s)
--    _cupsStrFree(*s);
-+    free(*s);
-   if (v)
--    *s = _cupsStrAlloc(v);
-+    *s = strdup(v);
-   else
-     *s = NULL;
- }
-@@ -1351,13 +1351,13 @@ cupsdSetStringf(char       **s,                /* O -
-     vsnprintf(v, sizeof(v), f, ap);
-     va_end(ap);
--    *s = _cupsStrAlloc(v);
-+    *s = strdup(v);
-   }
-   else
-     *s = NULL;
-   if (olds)
--    _cupsStrFree(olds);
-+    free(olds);
- }
-@@ -1804,8 +1804,7 @@ process_children(void)
-           }
-           if (job->printer_message)
--            cupsdSetString(&(job->printer_message->values[0].string.text),
--                           message);
-+            ippSetString(job->attrs, &job->printer_message, 0, message);
-         }
-       }
diff --git a/src/patches/db-4.4.20-fixes-1.patch b/src/patches/db-4.4.20-fixes-1.patch
deleted file mode 100644 (file)
index 8c11876..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-Submitted By: Dan Nicholson <dnicholson AT linuxfromscratch DOT org>
-Date: 2006-09-02
-Initial Package Version: 4.4.20
-Origin: Upstream - http://www.sleepycat.com/update/4.4.20/patch.4.4.20.html
-Description: Bug fixes provided by the developer. Contains patches 1-4.
-
-diff -pNur db-4.4.20.orig/db/db_cam.c db-4.4.20/db/db_cam.c
---- db-4.4.20.orig/db/db_cam.c 2006-01-10 16:19:21.000000000 +0000
-+++ db-4.4.20/db/db_cam.c      2006-08-03 14:31:20.220319610 +0000
-@@ -579,11 +579,12 @@ __db_c_get(dbc_arg, key, data, flags)
-           flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
-               if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
-                       return (ret);
--              if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
-+              if (F_ISSET(dbc_arg, DBC_TRANSIENT))
-+                      opd = cp->opd;
-+              else if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
-                       return (ret);
--              switch (ret =
--                  opd->c_am_get(opd, key, data, flags, NULL)) {
-+              switch (ret = opd->c_am_get(opd, key, data, flags, NULL)) {
-               case 0:
-                       goto done;
-               case DB_NOTFOUND:
-@@ -596,12 +597,18 @@ __db_c_get(dbc_arg, key, data, flags)
-                               if ((ret = __db_c_close(opd)) != 0)
-                                       goto err;
-                               opd = NULL;
-+                              if (F_ISSET(dbc_arg, DBC_TRANSIENT))
-+                                      cp->opd = NULL;
-                               break;
-                       }
-                       goto err;
-               default:
-                       goto err;
-               }
-+      } else if (cp->opd != NULL && F_ISSET(dbc_arg, DBC_TRANSIENT)) {
-+              if ((ret = __db_c_close(cp->opd)) != 0)
-+                      goto err;
-+              cp->opd = NULL;
-       }
-       /*
-diff -pNur db-4.4.20.orig/mp/mp_fget.c db-4.4.20/mp/mp_fget.c
---- db-4.4.20.orig/mp/mp_fget.c        2005-10-12 17:53:36.000000000 +0000
-+++ db-4.4.20/mp/mp_fget.c     2006-08-03 14:31:20.223318410 +0000
-@@ -587,8 +587,11 @@ alloc:            /*
-        */
-       if (state != SECOND_MISS && bhp->ref == 1) {
-               bhp->priority = UINT32_MAX;
--              SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
--              SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
-+              if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) !=
-+                   SH_TAILQ_LAST(&hp->hash_bucket, hq, __bh)) {
-+                      SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
-+                      SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
-+              }
-               hp->hash_priority =
-                   SH_TAILQ_FIRSTP(&hp->hash_bucket, __bh)->priority;
-       }
-diff -pNur db-4.4.20.orig/qam/qam_files.c db-4.4.20/qam/qam_files.c
---- db-4.4.20.orig/qam/qam_files.c     2005-10-20 18:57:12.000000000 +0000
-+++ db-4.4.20/qam/qam_files.c  2006-08-03 14:31:20.211323209 +0000
-@@ -411,6 +411,12 @@ __qam_fremove(dbp, pgnoaddr)
-           DB_APP_DATA, buf, 0, NULL, &real_name)) != 0)
-               goto err;
- #endif
-+
-+      mpf = array->mpfarray[offset].mpf;
-+      /* This extent my already be marked for delete and closed. */
-+      if (mpf == NULL)
-+              goto err;
-+
-       /*
-        * The log must be flushed before the file is deleted.  We depend on
-        * the log record of the last delete to recreate the file if we crash.
-@@ -418,7 +424,6 @@ __qam_fremove(dbp, pgnoaddr)
-       if (LOGGING_ON(dbenv) && (ret = __log_flush(dbenv, NULL)) != 0)
-               goto err;
--      mpf = array->mpfarray[offset].mpf;
-       (void)__memp_set_flags(mpf, DB_MPOOL_UNLINK, 1);
-       /* Someone could be real slow, let them close it down. */
-       if (array->mpfarray[offset].pinref != 0)
-diff -pNur db-4.4.20.orig/txn/txn.c db-4.4.20/txn/txn.c
---- db-4.4.20.orig/txn/txn.c   2005-11-01 14:50:03.000000000 +0000
-+++ db-4.4.20/txn/txn.c        2006-08-03 14:31:20.215321609 +0000
-@@ -1049,12 +1049,14 @@ __txn_set_name(txn, name)
-               return (ret);
-       memcpy(txn->name, name, len);
-+      TXN_SYSTEM_LOCK(dbenv);
-       if (td->name != INVALID_ROFF) {
-               __db_shalloc_free(
-                   &mgr->reginfo, R_ADDR(&mgr->reginfo, td->name));
-               td->name = INVALID_ROFF;
-       }
-       if ((ret = __db_shalloc(&mgr->reginfo, len, 0, &p)) != 0) {
-+              TXN_SYSTEM_UNLOCK(dbenv);
-               __db_err(dbenv,
-                   "Unable to allocate memory for transaction name");
-@@ -1063,6 +1065,7 @@ __txn_set_name(txn, name)
-               return (ret);
-       }
-+      TXN_SYSTEM_UNLOCK(dbenv);
-       td->name = R_OFFSET(&mgr->reginfo, p);
-       memcpy(p, name, len);
diff --git a/src/patches/diffutils-2.8.1-i18n-1.patch b/src/patches/diffutils-2.8.1-i18n-1.patch
deleted file mode 100644 (file)
index 488885b..0000000
+++ /dev/null
@@ -1,802 +0,0 @@
-Submitted by: Alexander E. Patrakov
-Date: 2005-08-13
-Initial Package Version: 2.8.1
-Upstream Status: Unknown, but required for LSB >= 2.0 certification
-Origin: RedHat
-Description: Fixes treatment of whitespace in multibyte locales.
-
---- diffutils-2.8.4/src/diff.c.i18n    2002-06-17 01:55:42.000000000 -0400
-+++ diffutils-2.8.4/src/diff.c 2002-11-16 18:41:37.000000000 -0500
-@@ -275,6 +275,13 @@
-   re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING);
-   excluded = new_exclude ();
-+#ifdef HANDLE_MULTIBYTE
-+  if (MB_CUR_MAX > 1)
-+    lines_differ = lines_differ_multibyte;
-+  else
-+#endif
-+    lines_differ = lines_differ_singlebyte;
-+
-   /* Decode the options.  */
-   while ((c = getopt_long (argc, argv, shortopts, longopts, 0)) != -1)
---- diffutils-2.8.4/src/diff.h.i18n    2002-11-16 18:31:32.000000000 -0500
-+++ diffutils-2.8.4/src/diff.h 2002-11-16 18:48:58.000000000 -0500
-@@ -23,6 +23,19 @@
- #include "system.h"
- #include <stdio.h>
-+/* For platform which support the ISO C amendement 1 functionality we
-+   support user defined character classes.  */
-+#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H
-+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.  */
-+# include <wchar.h>
-+# include <wctype.h>
-+# if defined (HAVE_MBRTOWC)
-+#  define HANDLE_MULTIBYTE      1
-+# endif
-+#endif
-+
-+#define TAB_WIDTH 8
-+
- /* What kind of changes a hunk contains.  */
- enum changes
- {
-@@ -350,7 +363,13 @@
- extern char const pr_program[];
- char *concat (char const *, char const *, char const *);
- char *dir_file_pathname (char const *, char const *);
--bool lines_differ (char const *, char const *);
-+
-+bool (*lines_differ) (char const *, char const *);
-+bool lines_differ_singlebyte (char const *, char const *);
-+#ifdef HANDLE_MULTIBYTE
-+bool lines_differ_multibyte (char const *, char const *);
-+#endif
-+
- lin translate_line_number (struct file_data const *, lin);
- struct change *find_change (struct change *);
- struct change *find_reverse_change (struct change *);
---- diffutils-2.8.4/src/io.c.i18n      2002-06-11 02:06:32.000000000 -0400
-+++ diffutils-2.8.4/src/io.c   2002-11-16 18:57:30.000000000 -0500
-@@ -26,6 +26,7 @@
- #include <regex.h>
- #include <setmode.h>
- #include <xalloc.h>
-+#include <assert.h>
- /* Rotate an unsigned value to the left.  */
- #define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n)))
-@@ -213,6 +214,28 @@
\f
- /* Split the file into lines, simultaneously computing the equivalence
-    class for each line.  */
-+#ifdef HANDLE_MULTIBYTE
-+# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL)                        \
-+do                                                                    \
-+{                                                                     \
-+    mbstate_t state_bak = STATE;                                      \
-+                                                                      \
-+    CONVFAIL = 0;                                                     \
-+    MBLENGTH = mbrtowc (&WC, P, END - (char const *)P, &STATE);               \
-+                                                                      \
-+    switch (MBLENGTH)                                                 \
-+      {                                                                       \
-+      case (size_t)-2:                                                        \
-+      case (size_t)-1:                                                        \
-+      STATE = state_bak;                                              \
-+      ++CONVFAIL;                                                     \
-+        /* Fall through. */                                           \
-+      case 0:                                                         \
-+      MBLENGTH = 1;                                                   \
-+      }                                                                       \
-+}                                                                     \
-+while (0)
-+#endif
- static void
- find_and_hash_each_line (struct file_data *current)
-@@ -239,12 +262,280 @@
-   bool same_length_diff_contents_compare_anyway =
-     diff_length_compare_anyway | ignore_case;
-+#ifdef HANDLE_MULTIBYTE
-+  wchar_t   wc;
-+  size_t    mblength;
-+  mbstate_t state;
-+  int       convfail;
-+  
-+  memset (&state, '\0', sizeof (mbstate_t));
-+#endif
-+
-   while ((char const *) p < suffix_begin)
-     {
-       char const *ip = (char const *) p;
-       h = 0;
-+#ifdef HANDLE_MULTIBYTE
-+      if (MB_CUR_MAX > 1)
-+      {
-+        wchar_t   lo_wc;
-+        char      mbc[MB_LEN_MAX];
-+        mbstate_t state_wc;
-+
-+        /* Hash this line until we find a newline.  */
-+        switch (ignore_white_space)
-+          {
-+          case IGNORE_ALL_SPACE:
-+            while (1)
-+              {
-+                if (*p == '\n')
-+                  {
-+                    ++p;
-+                    break;
-+                  }
-+
-+                MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+                if (convfail)
-+                  mbc[0] = *p++;
-+                else if (!iswspace (wc))
-+                  {
-+                    bool flag = 0;
-+
-+                    if (ignore_case)
-+                      {
-+                        lo_wc = towlower (wc);
-+                        if (lo_wc != wc)
-+                          {
-+                            flag = 1;
-+
-+                            p += mblength;
-+                            memset (&state_wc, '\0', sizeof(mbstate_t));
-+                            mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+                            assert (mblength != (size_t)-1 &&
-+                                mblength != (size_t)-2);
-+
-+                            mblength = (mblength < 1) ? 1 : mblength;
-+                          }
-+                      }
-+
-+                    if (!flag)
-+                      {
-+                        for (i = 0; i < mblength; i++)
-+                          mbc[i] =  *p++;
-+                      }
-+                  }
-+                else
-+                  {
-+                    p += mblength;
-+                    continue;
-+                  }
-+
-+                for (i = 0; i < mblength; i++)
-+                  h = HASH (h, mbc[i]);
-+              }
-+            break;
-+
-+          case IGNORE_SPACE_CHANGE:
-+            while (1)
-+              {
-+                if (*p == '\n')
-+                  {
-+                    ++p;
-+                    break;
-+                  }
-+                MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+                if (!convfail && iswspace (wc))
-+                  {
-+                    while (1)
-+                      {
-+                        if (*p == '\n')
-+                          {
-+                            ++p;
-+                            goto hashing_done;
-+                          }
-+
-+                        p += mblength;
-+                        MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+                        if (convfail || (!convfail && !iswspace (wc)))
-+                          break;
-+                      }
-+                    h = HASH (h, ' ');
-+                  }
-+
-+                /* WC is now the first non-space.  */
-+                if (convfail)
-+                  mbc[0] = *p++;
-+                else
-+                  {
-+                    bool flag = 0;
-+
-+                    if (ignore_case)
-+                      {
-+                        lo_wc = towlower (wc);
-+                        if (lo_wc != wc)
-+                          {
-+                            flag = 1;
-+
-+                            p += mblength;
-+                            memset (&state_wc, '\0', sizeof(mbstate_t));
-+                            mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+                            assert (mblength != (size_t)-1 &&
-+                                mblength != (size_t)-2);
-+
-+                            mblength = (mblength < 1) ? 1 : mblength;
-+                          }
-+                      }
-+
-+                    if (!flag)
-+                      {
-+                        for (i = 0; i < mblength; i++)
-+                          mbc[i] = *p++;
-+                      }
-+                  }
-+
-+                for (i = 0; i < mblength; i++)
-+                  h = HASH (h, mbc[i]);
-+              }
-+            break;
-+
-+          case IGNORE_TAB_EXPANSION:
-+              {
-+                size_t column = 0;
-+
-+                while (1)
-+                  {
-+                    if (*p == '\n')
-+                      {
-+                        ++p;
-+                        break;
-+                      }
-+
-+                    MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+                    if (convfail)
-+                      {
-+                        h = HASH (h, *p++);
-+                        ++column;
-+                      }
-+                    else
-+                      {
-+                        bool flag;
-+
-+                        switch (wc)
-+                          {
-+                          case L'\b':
-+                            column -= 0 < column;
-+                            h = HASH (h, '\b');
-+                            ++p;
-+                            break;
-+
-+                          case L'\t':
-+                              {
-+                                int repetitions;
-+
-+                                repetitions = TAB_WIDTH - column % TAB_WIDTH;
-+                                column += repetitions;
-+                                do
-+                                  h = HASH (h, ' ');
-+                                while (--repetitions != 0);
-+                                ++p;
-+                              }
-+                            break;
-+
-+                          case L'\r':
-+                            column = 0;
-+                            h = HASH (h, '\r');
-+                            ++p;
-+                            break;
-+
-+                          default:
-+                            flag = 0;
-+                            column += wcwidth (wc);
-+                            if (ignore_case)
-+                              {
-+                                lo_wc = towlower (wc);
-+                                if (lo_wc != wc)
-+                                  {
-+                                    flag = 1;
-+                                    p += mblength;
-+                                    memset (&state_wc, '\0', sizeof(mbstate_t));
-+                                    mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+                                    assert (mblength != (size_t)-1 &&
-+                                        mblength != (size_t)-2);
-+
-+                                    mblength = (mblength < 1) ? 1 : mblength;
-+                                  }
-+                              }
-+
-+                            if (!flag)
-+                              {
-+                                for (i = 0; i < mblength; i++)
-+                                  mbc[i] = *p++;
-+                              }
-+
-+                            for (i = 0; i < mblength; i++)
-+                              h = HASH (h, mbc[i]);
-+                          }
-+                      }
-+                  }
-+              }
-+            break;
-+
-+          default:
-+            while (1)
-+              {
-+                if (*p == '\n')
-+                  {
-+                    ++p;
-+                    break;
-+                  }
-+
-+                MBC2WC (p, suffix_begin, mblength, wc, state, convfail);
-+
-+                if (convfail)
-+                  mbc[0] = *p++;
-+                else
-+                  {
-+                    int flag = 0;
-+
-+                    if (ignore_case)
-+                      {
-+                        lo_wc = towlower (wc);
-+                        if (lo_wc != wc)
-+                          {
-+                            flag = 1;
-+                            p += mblength;
-+                            memset (&state_wc, '\0', sizeof(mbstate_t));
-+                            mblength = wcrtomb (mbc, lo_wc, &state_wc);
-+
-+                            assert (mblength != (size_t)-1 &&
-+                                mblength != (size_t)-2);
-+
-+                            mblength = (mblength < 1) ? 1 : mblength;
-+                          }
-+                      }
-+
-+                    if (!flag)
-+                      {
-+                        for (i = 0; i < mblength; i++)
-+                          mbc[i] = *p++;
-+                      }
-+                  }
-+
-+                for (i = 0; i < mblength; i++)
-+                  h = HASH (h, mbc[i]);
-+              }
-+          }
-+      }
-+      else
-+#endif
-       /* Hash this line until we find a newline.  */
-       if (ignore_case)
-       switch (ignore_white_space)
---- diffutils-2.8.4/src/side.c.i18n    2002-06-11 02:06:32.000000000 -0400
-+++ diffutils-2.8.4/src/side.c 2002-11-16 18:41:37.000000000 -0500
-@@ -73,11 +73,72 @@
-   register size_t out_position = 0;
-   register char const *text_pointer = line[0];
-   register char const *text_limit = line[1];
-+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
-+  unsigned char mbc[MB_LEN_MAX];
-+  wchar_t wc;
-+  mbstate_t state, state_bak;
-+  size_t mbc_pos, mblength;
-+  int mbc_loading_flag = 0;
-+  int wc_width;
-+
-+  memset (&state, '\0', sizeof (mbstate_t));
-+#endif
-   while (text_pointer < text_limit)
-     {
-       register unsigned char c = *text_pointer++;
-+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
-+      if (MB_CUR_MAX > 1 && mbc_loading_flag)
-+      {
-+        mbc_loading_flag = 0;
-+        state_bak = state;
-+        mbc[mbc_pos++] = c;
-+
-+process_mbc:
-+        mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
-+
-+        switch (mblength)
-+          {
-+          case (size_t)-2:    /* Incomplete multibyte character. */
-+            mbc_loading_flag = 1;
-+            state = state_bak;
-+            break;
-+
-+          case (size_t)-1:    /* Invalid as a multibyte character. */
-+            if (in_position++ < out_bound)
-+              {
-+                out_position = in_position;
-+                putc (mbc[0], out);
-+              }
-+            memmove (mbc, mbc + 1, --mbc_pos);
-+            if (mbc_pos > 0)
-+              {
-+                mbc[mbc_pos] = '\0';
-+                goto process_mbc;
-+              }
-+            break;
-+
-+          default:
-+            wc_width = wcwidth (wc);
-+            if (wc_width < 1) /* Unprintable multibyte character. */
-+              {
-+                if (in_position <= out_bound)
-+                  fprintf (out, "%lc", (wint_t)wc);
-+              }
-+            else              /* Printable multibyte character. */
-+              {
-+                in_position += wc_width;
-+                if (in_position <= out_bound)
-+                  {
-+                    out_position = in_position;
-+                    fprintf (out, "%lc", (wint_t)wc);
-+                  }
-+              }
-+          }
-+        continue;
-+      }
-+#endif
-       switch (c)
-       {
-       case '\t':
-@@ -135,8 +196,39 @@
-         break;
-       default:
--        if (! ISPRINT (c))
--          goto control_char;
-+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
-+        if (MB_CUR_MAX > 1)
-+          {
-+            memset (mbc, '\0', MB_LEN_MAX);
-+            mbc_pos = 0;
-+            mbc[mbc_pos++] = c;
-+            state_bak = state;
-+
-+            mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
-+
-+            /* The value of mblength is always less than 2 here. */
-+            switch (mblength)
-+              {
-+              case (size_t)-2:        /* Incomplete multibyte character. */
-+                state = state_bak;
-+                mbc_loading_flag = 1;
-+                continue;
-+
-+              case (size_t)-1:        /* Invalid as a multibyte character. */
-+                state = state_bak;
-+                break;
-+
-+              default:
-+                if (! iswprint (wc))
-+                  goto control_char;
-+              }
-+          }
-+        else
-+#endif
-+          {
-+            if (! ISPRINT (c))
-+              goto control_char;
-+          }
-         /* falls through */
-       case ' ':
-         if (in_position++ < out_bound)
---- diffutils-2.8.4/src/util.c.i18n    2002-06-11 02:06:32.000000000 -0400
-+++ diffutils-2.8.4/src/util.c 2002-11-16 18:41:37.000000000 -0500
-@@ -321,7 +321,7 @@
-    Return nonzero if the lines differ.  */
- bool
--lines_differ (char const *s1, char const *s2)
-+lines_differ_singlebyte (char const *s1, char const *s2)
- {
-   register unsigned char const *t1 = (unsigned char const *) s1;
-   register unsigned char const *t2 = (unsigned char const *) s2;
-@@ -450,6 +450,293 @@
-   return 1;
- }
-+
-+#ifdef HANDLE_MULTIBYTE
-+# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL)                        \
-+do                                                                    \
-+{                                                                     \
-+    mbstate_t bak = STATE;                                            \
-+                                                                      \
-+    CONVFAIL = 0;                                                     \
-+    MBLENGTH = mbrtowc (&WC, T, END - T, &STATE);                     \
-+                                                                      \
-+    switch (MBLENGTH)                                                 \
-+      {                                                                       \
-+      case (size_t)-2:                                                        \
-+      case (size_t)-1:                                                        \
-+      STATE = bak;                                                    \
-+      ++CONVFAIL;                                                     \
-+        /* Fall through. */                                           \
-+      case 0:                                                         \
-+      MBLENGTH = 1;                                                   \
-+      }                                                                       \
-+}                                                                     \
-+while (0)
-+
-+bool
-+lines_differ_multibyte (char const *s1, char const *s2)
-+{
-+  unsigned char const *end1, *end2;
-+  unsigned char c1, c2;
-+  wchar_t wc1, wc2, wc1_bak, wc2_bak;
-+  size_t mblen1, mblen2;
-+  mbstate_t state1, state2, state1_bak, state2_bak;
-+  int convfail1, convfail2, convfail1_bak, convfail2_bak;
-+  
-+  unsigned char const *t1 = (unsigned char const *) s1;
-+  unsigned char const *t2 = (unsigned char const *) s2;
-+  unsigned char const *t1_bak, *t2_bak;
-+  size_t column = 0;
-+
-+  if (ignore_white_space == IGNORE_NO_WHITE_SPACE  && !ignore_case)
-+    {
-+      while (*t1 != '\n')
-+      if (*t1++ != * t2++)
-+        return 1;
-+      return 0;
-+    }
-+
-+  memset (&state1, '\0', sizeof (mbstate_t));
-+  memset (&state2, '\0', sizeof (mbstate_t));
-+
-+  end1 = s1 + strlen (s1);
-+  end2 = s2 + strlen (s2);
-+
-+  while (1)
-+    {
-+      c1 = *t1;
-+      c2 = *t2;
-+      MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+      MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+
-+      /* Test for exact char equality first, since it's a common case.  */
-+      if (convfail1 ^ convfail2)
-+      break;
-+      else if (convfail1 && convfail2 && c1 != c2)
-+      break;
-+      else if (!convfail1 && !convfail2 && wc1 != wc2)
-+      {
-+        switch (ignore_white_space)
-+          {
-+          case IGNORE_ALL_SPACE:
-+            /* For -w, just skip past any white space.  */
-+            while (1)
-+              {
-+                if (convfail1)
-+                  break;
-+                else if (wc1 == L'\n' || !iswspace (wc1))
-+                  break;
-+
-+                t1 += mblen1;
-+                c1 = *t1;
-+                MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+              }
-+
-+            while (1)
-+              {
-+                if (convfail2)
-+                  break;
-+                else if (wc2 == L'\n' || !iswspace (wc2))
-+                  break;
-+
-+                t2 += mblen2;
-+                c2 = *t2;
-+                MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+              }
-+            t1 += mblen1;
-+            t2 += mblen2;
-+            break;
-+
-+          case IGNORE_SPACE_CHANGE:
-+            /* For -b, advance past any sequence of white space in
-+               line 1 and consider it just one space, or nothing at
-+               all if it is at the end of the line.  */
-+            if (wc1 != L'\n' && iswspace (wc1))
-+              {
-+                size_t mblen_bak;
-+                mbstate_t state_bak;
-+
-+                do
-+                  {
-+                    t1 += mblen1;
-+                    mblen_bak = mblen1;
-+                    state_bak = state1;
-+                    MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+                  }
-+                while (!convfail1 && (wc1 != L'\n' && iswspace (wc1)));
-+
-+                state1 = state_bak;
-+                mblen1 = mblen_bak;
-+                t1 -= mblen1;
-+                convfail1 = 0;
-+                wc1 = L' ';
-+              }
-+
-+            /* Likewise for line 2.  */
-+            if (wc2 != L'\n' && iswspace (wc2))
-+              {
-+                size_t mblen_bak;
-+                mbstate_t state_bak;
-+
-+                do
-+                  {
-+                    t2 += mblen2;
-+                    mblen_bak = mblen2;
-+                    state_bak = state2;
-+                    MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+                  }
-+                while (!convfail2 && (wc2 != L'\n' && iswspace (wc2)));
-+
-+                state2 = state_bak;
-+                mblen2 = mblen_bak;
-+                t2 -= mblen2;
-+                convfail2 = 0;
-+                wc2 = L' ';
-+              }
-+
-+            if (wc1 != wc2)
-+              {
-+                if (wc2 == L' ' && wc1 != L'\n' &&
-+                    t1 > (unsigned char const *)s1 &&
-+                    !convfail1_bak && iswspace (wc1_bak))
-+                  {
-+                    t1 = t1_bak;
-+                    wc1 = wc1_bak;
-+                    state1 = state1_bak;
-+                    convfail1 = convfail1_bak;
-+                    continue;
-+                  }
-+                if (wc1 == L' ' && wc2 != L'\n'
-+                    && t2 > (unsigned char const *)s2
-+                    && !convfail2_bak && iswspace (wc2_bak))
-+                  {
-+                    t2 = t2_bak;
-+                    wc2 = wc2_bak;
-+                    state2 = state2_bak;
-+                    convfail2 = convfail2_bak;
-+                    continue;
-+                  }
-+              }
-+
-+            t1_bak = t1;                t2_bak = t2;
-+            wc1_bak = wc1;              wc2_bak = wc2;
-+            state1_bak = state1;        state2_bak = state2;
-+            convfail1_bak = convfail1;  convfail2_bak = convfail2;
-+
-+            if (wc1 == L'\n')
-+              wc1 = L' ';
-+            else
-+              t1 += mblen1;
-+
-+            if (wc2 == L'\n')
-+              wc2 = L' ';
-+            else
-+              t2 += mblen2;
-+
-+            break;
-+
-+          case IGNORE_TAB_EXPANSION:
-+            if ((wc1 == L' ' && wc2 == L'\t')
-+                || (wc1 == L'\t' && wc2 == L' '))
-+              {
-+                size_t column2 = column;
-+
-+                while (1)
-+                  {
-+                    if (convfail1)
-+                      {
-+                        ++t1;
-+                        break;
-+                      }
-+                    else if (wc1 == L' ')
-+                      column++;
-+                    else if (wc1 == L'\t')
-+                      column += TAB_WIDTH - column % TAB_WIDTH;
-+                    else
-+                      {
-+                        t1 += mblen1;
-+                        break;
-+                      }
-+
-+                    t1 += mblen1;
-+                    c1 = *t1;
-+                    MBC2WC (t1, end1, mblen1, wc1, state1, convfail1);
-+                  }
-+
-+                while (1)
-+                  {
-+                    if (convfail2)
-+                      {
-+                        ++t2;
-+                        break;
-+                      }
-+                    else if (wc2 == L' ')
-+                      column2++;
-+                    else if (wc2 == L'\t')
-+                      column2 += TAB_WIDTH - column2 % TAB_WIDTH;
-+                    else
-+                      {
-+                        t2 += mblen2;
-+                        break;
-+                      }
-+
-+                    t2 += mblen2;
-+                    c2 = *t2;
-+                    MBC2WC (t2, end2, mblen2, wc2, state2, convfail2);
-+                  }
-+
-+                if (column != column2)
-+                  return 1;
-+              }
-+            else
-+              {
-+                t1 += mblen1;
-+                t2 += mblen2;
-+              }
-+            break;
-+
-+          case IGNORE_NO_WHITE_SPACE:
-+            t1 += mblen1;
-+            t2 += mblen2;
-+            break;
-+          }
-+
-+        /* Lowercase all letters if -i is specified.  */
-+        if (ignore_case)
-+          {
-+            if (!convfail1)
-+              wc1 = towlower (wc1);
-+            if (!convfail2)
-+              wc2 = towlower (wc2);
-+          }
-+
-+        if (convfail1 ^ convfail2)
-+          break;
-+        else if (convfail1 && convfail2 && c1 != c2)
-+          break;
-+        else if (!convfail1 && !convfail2 && wc1 != wc2)
-+          break;
-+      }
-+      else
-+      {
-+        t1_bak = t1;                  t2_bak = t2;
-+        wc1_bak = wc1;                wc2_bak = wc2;
-+        state1_bak = state1;          state2_bak = state2;
-+        convfail1_bak = convfail1;    convfail2_bak = convfail2;
-+
-+        t1 += mblen1;                 t2 += mblen2;
-+      }
-+      
-+      if (!convfail1 && wc1 == L'\n')
-+      return 0;
-+
-+      column += convfail1 ? 1 :
-+      (wc1 == L'\t') ? TAB_WIDTH - column % TAB_WIDTH : wcwidth (wc1);
-+    }
-+
-+  return 1;
-+}
-+#endif
\f
- /* Find the consecutive changes at the start of the script START.
-    Return the last link before the first gap.  */
diff --git a/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch b/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
deleted file mode 100644 (file)
index 07f4f7e..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 174387405e98cd94c627832ae23abcb9be7e5623 Mon Sep 17 00:00:00 2001
-From: Jean Delvare <jdelvare@suse.de>
-Date: Wed, 31 Jan 2018 18:52:47 +0100
-Subject: dmidecode: Fix firmware version of TPM device
-
-Both the operator (detected by clang, reported by Xorg) and the mask
-for the minor firmware version field of TPM devices were wrong.
-
-Signed-off-by: Jean Delvare <jdelvare@suse.de>
-Fixes: 48a8132058a0 ("dmidecode: Add support for structure type 43 (TPM Device)")
----
- dmidecode.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dmidecode.c b/dmidecode.c
-index 87faaa9..a593170 100644
---- a/dmidecode.c
-+++ b/dmidecode.c
-@@ -4511,7 +4511,7 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
-                               case 0x02:
-                                       printf("\tFirmware Revision: %u.%u\n",
-                                               DWORD(data + 0x0A) >> 16,
--                                              DWORD(data + 0x0A) && 0xFF);
-+                                              DWORD(data + 0x0A) & 0xFFFF);
-                                       /*
-                                        * We skip the next 4 bytes, as their
-                                        * format is not standardized and their
--- 
-cgit v1.0-41-gc330
-
diff --git a/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch b/src/patches/dmidecode/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/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch b/src/patches/dmidecode/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/src/patches/dpfhack.patch b/src/patches/dpfhack.patch
deleted file mode 100644 (file)
index 2a47317..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur dpf_alt/python/Makefile dpf/python/Makefile
---- dpf_alt/python/Makefile    2011-04-18 17:14:12.000000000 +0200
-+++ dpf/python/Makefile        2011-08-14 13:22:46.129748815 +0200
-@@ -32,7 +32,7 @@
- endif
- ifeq (Linux, $(PLATFORM))
--      PYTHON=$(shell pyversions -d)
-+      PYTHON=python2.7
-       include $(DEVLIB)/unixdll.mk
-       DLLDEPS = $(CLIENTLIB) -l$(PYTHON)
-       PYTHONINCLUDES = -I/usr/include/$(PYTHON)
diff --git a/src/patches/fireinfo-2.2.0-python-3.8.patch b/src/patches/fireinfo-2.2.0-python-3.8.patch
new file mode 100644 (file)
index 0000000..ca0e684
--- /dev/null
@@ -0,0 +1,26 @@
+From 1d70d3cbf7e1fe1e1f0760e9a79e520e416519fe Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Tue, 18 May 2021 13:40:51 +0000
+Subject: [PATCH] python: Fix linking against Python 3.8
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ede2cb6..6efe73c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,7 +91,7 @@ AC_SUBST([OUR_LDFLAGS], $with_ldflags)
+ # Python
+ AM_PATH_PYTHON([3.7])
+-PKG_CHECK_MODULES([PYTHON_DEVEL], [python-${PYTHON_VERSION}])
++PKG_CHECK_MODULES([PYTHON_DEVEL], [python-${PYTHON_VERSION}-embed python-${PYTHON_VERSION}])
+ AC_CONFIG_FILES([
+       Makefile
+-- 
+2.20.1
+
diff --git a/src/patches/fireinfo-Don-t-crash-when-proc-cpuinfo-doesn-t-have-any-infor.patch b/src/patches/fireinfo-Don-t-crash-when-proc-cpuinfo-doesn-t-have-any-infor.patch
deleted file mode 100644 (file)
index a99c618..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From e2b6025dea547bf8de4bd2b8056f2a8227c635f5 Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Wed, 13 Jun 2018 20:56:41 +0200
-Subject: [PATCH 1/2] Don't crash when /proc/cpuinfo doesn't have any
- information
-
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- src/fireinfo/cpu.py | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/src/fireinfo/cpu.py b/src/fireinfo/cpu.py
-index 541575a..dc76caf 100644
---- a/src/fireinfo/cpu.py
-+++ b/src/fireinfo/cpu.py
-@@ -108,10 +108,11 @@ class CPU(object):
-               """
-                       Return the model string of this CPU.
-               """
--              try:
--                      return self.__cpuinfo["model_name"]
--              except KeyError:
--                      return self.__cpuinfo["Processor"]
-+              for key in ("model_name", "Processor"):
-+                      try:
-+                              return self.__cpuinfo[key]
-+                      except KeyError:
-+                              pass
-       @property
-       def vendor(self):
--- 
-2.12.2
-
diff --git a/src/patches/fireinfo-Ignore-any-systems-with-ID-Default-string.patch b/src/patches/fireinfo-Ignore-any-systems-with-ID-Default-string.patch
deleted file mode 100644 (file)
index ace5d01..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From d1f6789178e141664895332af79dbe7aa9e5ab68 Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Wed, 13 Jun 2018 20:58:42 +0200
-Subject: [PATCH 2/2] Ignore any systems with ID "Default string"
-
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- src/fireinfo/system.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py
-index e3295af..73c3882 100644
---- a/src/fireinfo/system.py
-+++ b/src/fireinfo/system.py
-@@ -42,6 +42,7 @@ INVALID_ID_STRINGS = (
-       "N/A", "n/a",
-       "12345", "54321", "202020",
-       "Chassis", "chassis",
-+      "Default string",
-       "EVAL",
-       "Not Applicable",
-       "None", "empty",
--- 
-2.12.2
-
diff --git a/src/patches/fireinfo-support-upstream-proxy-with-authentication.patch b/src/patches/fireinfo-support-upstream-proxy-with-authentication.patch
deleted file mode 100644 (file)
index 1e5a986..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 74c5e2adc61548900e256c3e58a0a63f5b3c2a4f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Peter=20M=C3=BCller?= <peter.mueller@link38.eu>
-Date: Tue, 4 Dec 2018 18:13:15 +0100
-Subject: [PATCH] fireinfo: support upstream proxy with authentication
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fireinfo could not send its profile to https://fireinfo.ipfire.org/
-if the machine is behind an upstream proxy which requires username
-and password. This is fixed by tweaking urllib2's opening handler.
-
-To apply this on existing installations, the fireinfo package
-needs to be shipped during an update.
-
-The third version of this patch fixes bogus indention, assembles
-proxy authentication string more readable and preserves HTTP
-proxy handler.
-
-Fixes #11905
-
-Signed-off-by: Peter Müller <peter.mueller@link38.eu>
-Cc: Michael Tremer <michael.tremer@ipfire.org>
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- src/sendprofile | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
- mode change 100644 => 100755 src/sendprofile
-
-diff --git a/src/sendprofile b/src/sendprofile
-old mode 100644
-new mode 100755
-index b836567..3ce68b9
---- a/src/sendprofile
-+++ b/src/sendprofile
-@@ -73,10 +73,20 @@ def send_profile(profile):
-       request.add_header("User-Agent", "fireinfo/%s" % fireinfo.__version__)
-       # Set upstream proxy if we have one.
--      # XXX this cannot handle authentication
-       proxy = get_upstream_proxy()
-+
-       if proxy["host"]:
--              request.set_proxy(proxy["host"], "http")
-+              # handling upstream proxies with authentication is more tricky...
-+              if proxy["user"] and proxy["pass"]:
-+                      prx_auth_string = "http://%s:%s@%s/" % (proxy["user"], proxy["pass"], proxy["host"])
-+
-+                      proxy_handler = urllib2.ProxyHandler({'http': prx_auth_string, 'https': prx_auth_string})
-+                      auth = urllib2.HTTPBasicAuthHandler()
-+                      opener = urllib2.build_opener(proxy_handler, auth, urllib2.HTTPHandler)
-+                      urllib2.install_opener(opener)
-+              else:
-+                      request.set_proxy(proxy["host"], "http")
-+                      request.set_proxy(proxy["host"], "https")
-       try:
-               urllib2.urlopen(request, timeout=60)
--- 
-2.6.3
-
diff --git a/src/patches/gzip-1.9-gnulib.patch b/src/patches/gzip-1.9-gnulib.patch
deleted file mode 100644 (file)
index 68e8d51..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-From 1831628c0630ae96a43586b2a25ca51cbdba3e53 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <address@hidden>
-Date: Mon, 5 Mar 2018 10:56:29 -0800
-Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Daniel P. Berrangé in:
-https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
-* lib/fbufmode.c (fbufmode):
-* lib/fflush.c (clear_ungetc_buffer_preserving_position)
-(disable_seek_optimization, rpl_fflush):
-* lib/fpending.c (__fpending):
-* lib/fpurge.c (fpurge):
-* lib/freadable.c (freadable):
-* lib/freadahead.c (freadahead):
-* lib/freading.c (freading):
-* lib/freadptr.c (freadptr):
-* lib/freadseek.c (freadptrinc):
-* lib/fseeko.c (fseeko):
-* lib/fseterr.c (fseterr):
-* lib/fwritable.c (fwritable):
-* lib/fwriting.c (fwriting):
-Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
-* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
-Define if not already defined.
----
- ChangeLog        | 23 +++++++++++++++++++++++
- lib/fbufmode.c   |  2 +-
- lib/fflush.c     |  6 +++---
- lib/fpending.c   |  2 +-
- lib/fpurge.c     |  2 +-
- lib/freadable.c  |  2 +-
- lib/freadahead.c |  2 +-
- lib/freading.c   |  2 +-
- lib/freadptr.c   |  2 +-
- lib/freadseek.c  |  2 +-
- lib/fseeko.c     |  4 ++--
- lib/fseterr.c    |  2 +-
- lib/fwritable.c  |  2 +-
- lib/fwriting.c   |  2 +-
- lib/stdio-impl.h |  6 ++++++
- 15 files changed, 45 insertions(+), 16 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 667f91663..beb835670 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,26 @@
-+2018-03-05  Paul Eggert  <address@hidden>
-+
-+      fflush: adjust to glibc 2.28 libio.h removal
-+      Problem reported by Daniel P. Berrangé in:
-+      https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
-+      * lib/fbufmode.c (fbufmode):
-+      * lib/fflush.c (clear_ungetc_buffer_preserving_position)
-+      (disable_seek_optimization, rpl_fflush):
-+      * lib/fpending.c (__fpending):
-+      * lib/fpurge.c (fpurge):
-+      * lib/freadable.c (freadable):
-+      * lib/freadahead.c (freadahead):
-+      * lib/freading.c (freading):
-+      * lib/freadptr.c (freadptr):
-+      * lib/freadseek.c (freadptrinc):
-+      * lib/fseeko.c (fseeko):
-+      * lib/fseterr.c (fseterr):
-+      * lib/fwritable.c (fwritable):
-+      * lib/fwriting.c (fwriting):
-+      Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
-+      * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
-+      Define if not already defined.
-+
- 2018-01-07  Jim Meyering  <meyering@fb.com>
-       version 1.9
-       * NEWS: Record release date.
-diff --git a/lib/fflush.c b/lib/fflush.c
-index 983ade0ff..a6edfa105 100644
---- a/lib/fflush.c
-+++ b/lib/fflush.c
-@@ -33,7 +33,7 @@
- #undef fflush
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- /* Clear the stream's ungetc buffer, preserving the value of ftello (fp).  */
- static void
-@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
- #endif
--#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
- # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
-   if (stream == NULL || ! freading (stream))
-     return fflush (stream);
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   clear_ungetc_buffer_preserving_position (stream);
-diff --git a/lib/fpurge.c b/lib/fpurge.c
-index b1d417c7a..3aedcc373 100644
---- a/lib/fpurge.c
-+++ b/lib/fpurge.c
-@@ -62,7 +62,7 @@ fpurge (FILE *fp)
-   /* Most systems provide FILE as a struct and the necessary bitmask in
-      <stdio.h>, because they need it for implementing getc() and putc() as
-      fast macros.  */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   fp->_IO_read_end = fp->_IO_read_ptr;
-   fp->_IO_write_ptr = fp->_IO_write_base;
-   /* Avoid memory leak when there is an active ungetc buffer.  */
-diff --git a/lib/freading.c b/lib/freading.c
-index 73c28acdd..c24d0c88a 100644
---- a/lib/freading.c
-+++ b/lib/freading.c
-@@ -31,7 +31,7 @@ freading (FILE *fp)
-   /* Most systems provide FILE as a struct and the necessary bitmask in
-      <stdio.h>, because they need it for implementing getc() and putc() as
-      fast macros.  */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   return ((fp->_flags & _IO_NO_WRITES) != 0
-           || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
-               && fp->_IO_read_base != NULL));
-diff --git a/lib/fseeko.c b/lib/fseeko.c
-index 0101ab55f..193f4e8ce 100644
---- a/lib/fseeko.c
-+++ b/lib/fseeko.c
-@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
- #endif
-   /* These tests are based on fpurge.c.  */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   if (fp->_IO_read_end == fp->_IO_read_ptr
-       && fp->_IO_write_ptr == fp->_IO_write_base
-       && fp->_IO_save_base == NULL)
-@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
-           return -1;
-         }
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-       fp->_flags &= ~_IO_EOF_SEEN;
-       fp->_offset = pos;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
-diff --git a/lib/fseterr.c b/lib/fseterr.c
-index 82649c3ac..adb637256 100644
---- a/lib/fseterr.c
-+++ b/lib/fseterr.c
-@@ -29,7 +29,7 @@ fseterr (FILE *fp)
-   /* Most systems provide FILE as a struct and the necessary bitmask in
-      <stdio.h>, because they need it for implementing getc() and putc() as
-      fast macros.  */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   fp->_flags |= _IO_ERR_SEEN;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
-   /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-diff --git a/lib/stdio-impl.h b/lib/stdio-impl.h
-index 78d896e9f..05c5752a2 100644
---- a/lib/stdio-impl.h
-+++ b/lib/stdio-impl.h
-@@ -18,6 +18,12 @@
-    the same implementation of stdio extension API, except that some fields
-    have different naming conventions, or their access requires some casts.  */
-+/* Glibc 2.28 made _IO_IN_BACKUP private.  For now, work around this
-+   problem by defining it ourselves.  FIXME: Do not rely on glibc
-+   internals.  */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
- /* BSD stdio derived implementations.  */
--- 
-2.14.3
-
diff --git a/src/patches/igb-5.3.4.4_fix_hung_at_dev_get_stats.patch b/src/patches/igb-5.3.4.4_fix_hung_at_dev_get_stats.patch
deleted file mode 100644 (file)
index a92c441..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-Don't read phy_idle_errors at dev_get_stats() because this can
-hung the userspace.
-
-https://sourceforge.net/p/e1000/bugs/500/
-Why this is set to wont-fix?
-
-I think it is better when phy errors are not reportet in the stats
-than a random hanging of the whole sytem.
-
-diff -Naur igb-5.3.4.4.org/src/igb_main.c igb-5.3.4.4/src/igb_main.c
---- igb-5.3.4.4.org/src/igb_main.c     2016-02-26 01:48:39.000000000 +0100
-+++ igb-5.3.4.4/src/igb_main.c 2016-03-31 09:22:10.671794282 +0200
-@@ -6032,14 +6032,14 @@
-       /* Tx Dropped needs to be maintained elsewhere */
--      /* Phy Stats */
--      if (hw->phy.media_type == e1000_media_type_copper) {
--              if ((adapter->link_speed == SPEED_1000) &&
--                 (!e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_tmp))) {
--                      phy_tmp &= PHY_IDLE_ERROR_COUNT_MASK;
--                      adapter->phy_stats.idle_errors += phy_tmp;
--              }
--      }
-+//    /* Phy Stats */
-+//    if (hw->phy.media_type == e1000_media_type_copper) {
-+//            if ((adapter->link_speed == SPEED_1000) &&
-+//               (!e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_tmp))) {
-+//                    phy_tmp &= PHY_IDLE_ERROR_COUNT_MASK;
-+//                    adapter->phy_stats.idle_errors += phy_tmp;
-+//            }
-+//    }
-       /* Management Stats */
-       adapter->stats.mgptc += E1000_READ_REG(hw, E1000_MGTPTC);
diff --git a/src/patches/iptables-1.4.14-ipp2p-0.8.2-ipfire.patch b/src/patches/iptables-1.4.14-ipp2p-0.8.2-ipfire.patch
deleted file mode 100644 (file)
index 9a11eb5..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-diff -Naur iptables-1.4.6.org/extensions/.ipp2p-test iptables-1.4.6/extensions/.ipp2p-test
---- iptables-1.4.6.org/extensions/.ipp2p-test  1970-01-01 01:00:00.000000000 +0100
-+++ iptables-1.4.6/extensions/.ipp2p-test      2010-02-13 20:02:52.000000000 +0100
-@@ -0,0 +1,2 @@
-+#! /bin/sh
-+[ -f $KERNEL_DIR/include/linux/netfilter_ipv4/ipt_ipp2p.h ] && echo ipp2p
-diff -Naur iptables-1.4.6.org/extensions/libipt_ipp2p.c iptables-1.4.6/extensions/libipt_ipp2p.c
---- iptables-1.4.6.org/extensions/libipt_ipp2p.c       1970-01-01 01:00:00.000000000 +0100
-+++ iptables-1.4.6/extensions/libipt_ipp2p.c   2010-02-13 20:02:52.000000000 +0100
-@@ -0,0 +1,424 @@
-+#include <stdio.h>
-+#include <netdb.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <getopt.h>
-+#include <ctype.h>
-+
-+#include <iptables.h>
-+
-+#include <linux/netfilter_ipv4/ipt_ipp2p.h>
-+
-+#ifndef XTABLES_VERSION
-+#define XTABLES_VERSION IPTABLES_VERSION
-+#endif
-+
-+#ifdef IPT_LIB_DIR
-+#define xtables_target iptables_target
-+#define xtables_register_target register_target
-+#endif
-+
-+static void
-+help(void)
-+{
-+    printf(
-+    "IPP2P v%s options:\n"
-+    " --ipp2p Grab all known p2p packets\n"
-+    " --edk           [TCP&UDP]       All known eDonkey/eMule/Overnet packets\n"
-+    " --dc            [TCP]           All known Direct Connect packets\n"
-+    " --kazaa [TCP&UDP]       All known KaZaA packets\n"
-+    " --gnu           [TCP&UDP]       All known Gnutella packets\n"
-+    " --bit           [TCP&UDP]       All known BitTorrent packets\n"
-+    " --apple [TCP]           All known AppleJuice packets\n"
-+    " --winmx [TCP]           All known WinMX\n"
-+    " --soul          [TCP]           All known SoulSeek\n"
-+    " --ares          [TCP]           All known Ares\n\n"
-+    " EXPERIMENTAL protocols (please send feedback to: ipp2p@ipp2p.org) :\n"
-+    " --mute          [TCP]           All known Mute packets\n"
-+    " --waste [TCP]           All known Waste packets\n"
-+    " --xdcc          [TCP]           All known XDCC packets (only xdcc login)\n\n"
-+    " DEBUG SUPPPORT, use only if you know why\n"
-+    " --debug         Generate kernel debug output, THIS WILL SLOW DOWN THE FILTER\n"
-+    "\nNote that the follwing options will have the same meaning:\n"
-+    " '--ipp2p' is equal to '--edk --dc --kazaa --gnu --bit --apple --winmx --soul --ares'\n"
-+    "\nIPP2P was intended for TCP only. Due to increasing usage of UDP we needed to change this.\n"
-+    "You can now use -p udp to search UDP packets only or without -p switch to search UDP and TCP packets.\n"
-+    "\nSee README included with this package for more details or visit http://www.ipp2p.org\n"
-+    "\nExamples:\n"
-+    " iptables -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 0x01\n"
-+    " iptables -A FORWARD -p udp -m ipp2p --kazaa --bit -j DROP\n"
-+    " iptables -A FORWARD -p tcp -m ipp2p --edk --soul -j DROP\n\n"
-+    , IPP2P_VERSION);
-+}
-+
-+static struct option opts[] = {
-+        { "ipp2p", 0, 0, '1' },
-+        { "edk", 0, 0, '2' }, 
-+      { "dc", 0, 0, '7' },
-+      { "gnu", 0, 0, '9' },
-+      { "kazaa", 0, 0, 'a' },
-+      { "bit", 0, 0, 'b' },
-+      { "apple", 0, 0, 'c' }, 
-+      { "soul", 0, 0, 'd' },  
-+      { "winmx", 0, 0, 'e' }, 
-+      { "ares", 0, 0, 'f' },
-+      { "mute", 0, 0, 'g' },
-+      { "waste", 0, 0, 'h' },
-+      { "xdcc", 0, 0, 'i' },
-+      { "debug", 0, 0, 'j' },
-+        {0}
-+};
-+
-+
-+static void
-+#ifdef _XTABLES_H
-+init(struct xt_entry_match *m)
-+#else
-+init(struct ipt_entry_match *t, unsigned int *nfcache)
-+#endif
-+{
-+    struct ipt_p2p_info *info = (struct ipt_p2p_info *)m->data;
-+
-+#ifndef _XTABLES_H
-+    *nfcache |= NFC_UNKNOWN;
-+#endif
-+
-+    /*init the module with default values*/
-+    info->cmd = 0;
-+    info->debug = 0;
-+
-+}
-+
-+
-+static int
-+parse(int c, char **argv, int invert, unsigned int *flags,
-+#ifdef _XTABLES_H
-+      const void *entry, struct xt_entry_match **match)
-+#else
-+      const struct ipt_entry *entry, unsigned int *nfcache, struct ipt_entry_match **match)
-+#endif
-+{
-+    struct ipt_p2p_info *info = (struct ipt_p2p_info *)(*match)->data;
-+    
-+    switch (c) {
-+      case '1':               /*cmd: ipp2p*/
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified once!");
-+
-+/*        if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p-data' may only be "
-+                              "specified alone!");
-+*/
-+
-+          if ((*flags) != 0)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+          *flags += SHORT_HAND_IPP2P;
-+          info->cmd = *flags;
-+          break;
-+          
-+      case '2':               /*cmd: edk*/
-+          if ((*flags & IPP2P_EDK) == IPP2P_EDK)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--edk' may only be "
-+                              "specified once");
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+/*        if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p-data' may only be "
-+                              "specified alone!");*/
-+            if ((*flags & IPP2P_DATA_EDK) == IPP2P_DATA_EDK)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: use `--edk' OR `--edk-data' but not both of them!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+          *flags += IPP2P_EDK;
-+          info->cmd = *flags;     
-+          break;
-+
-+
-+      case '7':               /*cmd: dc*/
-+            if ((*flags & IPP2P_DC) == IPP2P_DC)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--dc' may only be "
-+                                "specified once!");
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+/*        if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p-data' may only be "
-+                              "specified alone!");*/
-+            if ((*flags & IPP2P_DATA_DC) == IPP2P_DATA_DC)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: use `--dc' OR `--dc-data' but not both of them!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_DC;
-+          info->cmd = *flags;
-+          break;
-+
-+
-+      case '9':               /*cmd: gnu*/
-+            if ((*flags & IPP2P_GNU) == IPP2P_GNU)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--gnu' may only be "
-+                                "specified once!");
-+/*        if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p-data' may only be "
-+                              "specified alone!");*/
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+            if ((*flags & IPP2P_DATA_GNU) == IPP2P_DATA_GNU)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: use `--gnu' OR `--gnu-data' but not both of them!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_GNU;
-+          info->cmd = *flags;
-+          break;
-+
-+      case 'a':               /*cmd: kazaa*/
-+            if ((*flags & IPP2P_KAZAA) == IPP2P_KAZAA)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--kazaa' may only be "
-+                                "specified once!");
-+/*        if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p-data' may only be "
-+                              "specified alone!");*/
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+            if ((*flags & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: use `--kazaa' OR `--kazaa-data' but not both of them!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_KAZAA;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+
-+      case 'b':               /*cmd: bit*/
-+            if ((*flags & IPP2P_BIT) == IPP2P_BIT)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--bit' may only be "
-+                                "specified once!");
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_BIT;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+
-+      case 'c':               /*cmd: apple*/
-+            if ((*flags & IPP2P_APPLE) == IPP2P_APPLE)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--apple' may only be "
-+                                "specified once!");
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_APPLE;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+
-+
-+      case 'd':               /*cmd: soul*/
-+            if ((*flags & IPP2P_SOUL) == IPP2P_SOUL)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--soul' may only be "
-+                                "specified once!");
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_SOUL;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+
-+
-+      case 'e':               /*cmd: winmx*/
-+            if ((*flags & IPP2P_WINMX) == IPP2P_WINMX)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--winmx' may only be "
-+                                "specified once!");
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_WINMX;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+
-+      case 'f':               /*cmd: ares*/
-+            if ((*flags & IPP2P_ARES) == IPP2P_ARES)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--ares' may only be "
-+                                "specified once!");
-+          if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
-+                  xtables_error(PARAMETER_PROBLEM,
-+                              "ipp2p: `--ipp2p' may only be "
-+                              "specified alone!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_ARES;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+      
-+      case 'g':               /*cmd: mute*/
-+            if ((*flags & IPP2P_MUTE) == IPP2P_MUTE)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--mute' may only be "
-+                                "specified once!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_MUTE;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+      case 'h':               /*cmd: waste*/
-+            if ((*flags & IPP2P_WASTE) == IPP2P_WASTE)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--waste' may only be "
-+                                "specified once!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_WASTE;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+      case 'i':               /*cmd: xdcc*/
-+            if ((*flags & IPP2P_XDCC) == IPP2P_XDCC)
-+            xtables_error(PARAMETER_PROBLEM,
-+                                "ipp2p: `--ares' may only be "
-+                                "specified once!");
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+            *flags += IPP2P_XDCC;
-+          info->cmd = *flags;
-+          break;                                                                                                                                                                                                                      
-+
-+      case 'j':               /*cmd: debug*/
-+          if (invert) xtables_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+          info->debug = 1;
-+          break;                                                                                                                                                                                                                      
-+
-+      default:
-+//            xtables_error(PARAMETER_PROBLEM,
-+//        "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");
-+          return 0;
-+    }
-+    return 1;
-+}
-+
-+
-+static void
-+final_check(unsigned int flags)
-+{
-+    if (!flags)
-+            xtables_error(PARAMETER_PROBLEM,
-+          "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");
-+}
-+
-+static void
-+#ifdef _XTABLES_H
-+print(const void *ip,
-+      const struct xt_entry_match *match,
-+#else
-+print(const struct ipt_ip *ip,
-+      const struct ipt_entry_match *match,
-+#endif
-+      int numeric)
-+{
-+    struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data;
-+    
-+    printf("ipp2p v%s", IPP2P_VERSION);
-+    if ((info->cmd & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P) printf(" --ipp2p");
-+//    if ((info->cmd & SHORT_HAND_DATA) == SHORT_HAND_DATA) printf(" --ipp2p-data");
-+    if ((info->cmd & IPP2P_KAZAA) == IPP2P_KAZAA) printf(" --kazaa");
-+//    if ((info->cmd & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA) printf(" --kazaa-data");
-+//    if ((info->cmd & IPP2P_DATA_GNU) == IPP2P_DATA_GNU) printf(" --gnu-data");
-+    if ((info->cmd & IPP2P_GNU) == IPP2P_GNU) printf(" --gnu");
-+    if ((info->cmd & IPP2P_EDK) == IPP2P_EDK) printf(" --edk");
-+//    if ((info->cmd & IPP2P_DATA_EDK) == IPP2P_DATA_EDK) printf(" --edk-data");
-+//    if ((info->cmd & IPP2P_DATA_DC) == IPP2P_DATA_DC) printf(" --dc-data");
-+    if ((info->cmd & IPP2P_DC) == IPP2P_DC) printf(" --dc");
-+    if ((info->cmd & IPP2P_BIT) == IPP2P_BIT) printf(" --bit");
-+    if ((info->cmd & IPP2P_APPLE) == IPP2P_APPLE) printf(" --apple");
-+    if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf(" --soul");
-+    if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf(" --winmx");
-+    if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf(" --ares");
-+    if ((info->cmd & IPP2P_MUTE) == IPP2P_MUTE) printf(" --mute");
-+    if ((info->cmd & IPP2P_WASTE) == IPP2P_WASTE) printf(" --waste");
-+    if ((info->cmd & IPP2P_XDCC) == IPP2P_XDCC) printf(" --xdcc");
-+    if (info->debug != 0) printf(" --debug");
-+    printf(" ");
-+}
-+
-+static void
-+#ifdef _XTABLES_H
-+save(const void *ip,
-+     const struct xt_entry_match *match)
-+#else
-+save(const struct ipt_ip *ip,
-+     const struct ipt_entry_match *match)
-+#endif
-+{
-+    struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data;
-+    
-+    if ((info->cmd & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P) printf("--ipp2p ");
-+//    if ((info->cmd & SHORT_HAND_DATA) == SHORT_HAND_DATA) printf("--ipp2p-data ");
-+    if ((info->cmd & IPP2P_KAZAA) == IPP2P_KAZAA) printf("--kazaa ");
-+//    if ((info->cmd & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA) printf("--kazaa-data ");
-+//    if ((info->cmd & IPP2P_DATA_GNU) == IPP2P_DATA_GNU) printf("--gnu-data ");
-+    if ((info->cmd & IPP2P_GNU) == IPP2P_GNU) printf("--gnu ");
-+    if ((info->cmd & IPP2P_EDK) == IPP2P_EDK) printf("--edk ");
-+//    if ((info->cmd & IPP2P_DATA_EDK) == IPP2P_DATA_EDK) printf("--edk-data ");
-+//    if ((info->cmd & IPP2P_DATA_DC) == IPP2P_DATA_DC) printf("--dc-data ");
-+    if ((info->cmd & IPP2P_DC) == IPP2P_DC) printf("--dc ");
-+    if ((info->cmd & IPP2P_BIT) == IPP2P_BIT) printf("--bit ");
-+    if ((info->cmd & IPP2P_APPLE) == IPP2P_APPLE) printf("--apple ");
-+    if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf("--soul ");
-+    if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf("--winmx ");
-+    if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf("--ares ");
-+    if ((info->cmd & IPP2P_MUTE) == IPP2P_MUTE) printf(" --mute");
-+    if ((info->cmd & IPP2P_WASTE) == IPP2P_WASTE) printf(" --waste");
-+    if ((info->cmd & IPP2P_XDCC) == IPP2P_XDCC) printf(" --xdcc");
-+    if (info->debug != 0) printf("--debug ");
-+}
-+
-+              
-+static 
-+struct xtables_match ipp2p= 
-+{ 
-+    .next           = NULL,
-+    .name           = "ipp2p",
-+    .version        = XTABLES_VERSION,
-+    .size           = XT_ALIGN(sizeof(struct ipt_p2p_info)),
-+    .userspacesize  = XT_ALIGN(sizeof(struct ipt_p2p_info)),
-+    .help           = &help,
-+    .init           = &init,
-+    .parse          = &parse,
-+    .final_check    = &final_check,
-+    .print          = &print,
-+    .save           = &save,
-+    .extra_opts     = opts
-+};
-+                                          
-+
-+
-+void _init(void)
-+{
-+    xtables_register_match(&ipp2p);
-+}
-+
-diff -Naur iptables-1.4.6.org/extensions/libipt_ipp2p.man iptables-1.4.6/extensions/libipt_ipp2p.man
---- iptables-1.4.6.org/extensions/libipt_ipp2p.man     1970-01-01 01:00:00.000000000 +0100
-+++ iptables-1.4.6/extensions/libipt_ipp2p.man 2010-02-13 20:02:52.000000000 +0100
-@@ -0,0 +1,43 @@
-+This module matches certain packets in P2P flows. It is not
-+designed to match all packets belonging to a P2P connection - 
-+use IPP2P together with CONNMARK for this purpose. Also visit
-+http://www.ipp2p.org for detailed information.
-+
-+Use it together with -p tcp or -p udp to search these protocols
-+only or without -p switch to search packets of both protocols.
-+
-+IPP2P provides the following options:
-+.TP
-+.B "--edk "
-+Matches as many eDonkey/eMule packets as possible.
-+.TP
-+.B "--kazaa "
-+Matches as many KaZaA packets as possible.
-+.TP
-+.B "--gnu "
-+Matches as many Gnutella packets as possible.
-+.TP
-+.B "--dc "
-+Matches as many Direct Connect packets as possible.
-+.TP
-+.B "--bit "
-+Matches BitTorrent packets.
-+.TP
-+.B "--apple "
-+Matches AppleJuice packets.
-+.TP
-+.B "--soul "
-+Matches some SoulSeek packets. Considered as beta, use careful!
-+.TP
-+.B "--winmx "
-+Matches some WinMX packets. Considered as beta, use careful!
-+.TP
-+.B "--ares "
-+Matches Ares and AresLite packets. Use together with -j DROP only.
-+.TP
-+.B "--ipp2p "
-+Short hand for: --edk --kazaa --gnu --dc
-+.TP
-+.B "--debug "
-+Prints some information about each hit into kernel logfile. May 
-+produce huge logfiles so beware!
diff --git a/src/patches/iputils-20020927-headers.patch b/src/patches/iputils-20020927-headers.patch
deleted file mode 100644 (file)
index 3f8be16..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-diff -urN iputils/clockdiff.c iputils.new/clockdiff.c
---- iputils/clockdiff.c        2002-02-22 19:10:59.000000000 -0500
-+++ iputils.new/clockdiff.c    2003-09-10 09:20:28.000000000 -0400
-@@ -2,6 +2,7 @@
- #include <sys/types.h>
- #include <sys/param.h>
- #include <stdio.h>
-+#include <linux/types.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <math.h>
-diff -urN iputils/ping6.c iputils.new/ping6.c
---- iputils/ping6.c    2003-09-10 17:27:48.000000000 -0400
-+++ iputils.new/ping6.c        2003-09-10 17:22:43.000000000 -0400
-@@ -68,8 +68,44 @@
-  */
- #include "ping_common.h"
--#include <linux/in6.h>
--#include <linux/ipv6.h>
-+struct ipv6_rt_hdr {
-+        __u8            nexthdr;
-+        __u8            hdrlen;
-+        __u8            type;
-+        __u8            segments_left;
-+
-+        /*
-+         *      type specific data
-+         *      variable length field
-+         */
-+};
-+
-+struct rt0_hdr {
-+        struct ipv6_rt_hdr      rt_hdr;
-+        __u32                   bitmap;         /* strict/loose bit map */
-+        struct in6_addr         addr[0];
-+
-+#define rt0_type                rt_hdr.type;
-+};
-+#define IPV6_SRCRT_TYPE_0     0       /* IPv6 type 0 Routing Header   */
-+struct ipv6hdr {
-+#if defined(__LITTLE_ENDIAN)
-+        __u8                    priority:4,
-+                                version:4;
-+#elif defined(__BIG_ENDIAN)
-+        __u8                    version:4,
-+                                priority:4;
-+#endif
-+        __u8                    flow_lbl[3];
-+
-+        __u16                   payload_len;
-+        __u8                    nexthdr;
-+        __u8                    hop_limit;
-+
-+        struct  in6_addr        saddr;
-+        struct  in6_addr        daddr;
-+};
-+
- #include <linux/icmpv6.h>
- #define BIT_CLEAR(nr, addr) do { ((__u32 *)(addr))[(nr) >> 5] &= ~(1U << ((nr) & 31)); } while(0)
-diff -urN iputils/ping.c iputils.new/ping.c
---- iputils/ping.c     2003-09-10 17:27:48.000000000 -0400
-+++ iputils.new/ping.c 2003-09-10 17:18:16.000000000 -0400
-@@ -60,8 +60,8 @@
- #include "ping_common.h"
-+#include <linux/icmp.h>
- #include <netinet/ip.h>
--#include <netinet/ip_icmp.h>
- #define       MAXIPLEN        60
-diff -urN iputils/ping_common.h iputils.new/ping_common.h
---- iputils/ping_common.h      2002-09-20 11:08:11.000000000 -0400
-+++ iputils.new/ping_common.h  2003-09-10 17:16:16.000000000 -0400
-@@ -19,6 +19,7 @@
- #include <netinet/in.h>
- #include <arpa/inet.h>
-+#include <linux/types.h>
- #include <linux/errqueue.h>
- #include "SNAPSHOT.h"
-diff -urN iputils/tftpd.c iputils.new/tftpd.c
---- iputils/tftpd.c    2002-01-23 19:31:41.000000000 -0500
-+++ iputils.new/tftpd.c        2003-09-10 09:39:45.000000000 -0400
-@@ -57,7 +57,6 @@
- #include <sys/socket.h>
- #include <netinet/in.h>
--#include <linux/in6.h>
- #include <netdb.h>
- #include <setjmp.h>
-diff -urN iputils/tracepath6.c iputils.new/tracepath6.c
---- iputils/tracepath6.c       2001-09-01 22:03:46.000000000 -0400
-+++ iputils.new/tracepath6.c   2003-09-10 09:40:18.000000000 -0400
-@@ -14,8 +14,7 @@
- #include <unistd.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
--
--#include <linux/in6.h>
-+#include <linux/types.h>
- #include <linux/errqueue.h>
- #include <errno.h>
- #include <string.h>
-diff -urN iputils/tracepath.c iputils.new/tracepath.c
---- iputils/tracepath.c        2002-02-22 19:10:59.000000000 -0500
-+++ iputils.new/tracepath.c    2003-09-10 06:14:35.000000000 -0400
-@@ -13,6 +13,7 @@
- #include <stdlib.h>
- #include <unistd.h>
- #include <sys/socket.h>
-+#include <linux/types.h>
- #include <linux/errqueue.h>
- #include <errno.h>
- #include <string.h>
-diff -urN iputils/traceroute6.c iputils.new/traceroute6.c
---- iputils/traceroute6.c      2002-09-20 11:44:22.000000000 -0400
-+++ iputils.new/traceroute6.c  2003-09-10 10:12:47.000000000 -0400
-@@ -246,9 +246,24 @@
- #include <netinet/ip_icmp.h>
- #include <netinet/udp.h>
--#include <linux/ipv6.h>
--#include <linux/in6.h>
-+#include <linux/types.h>
-+struct ipv6hdr {
-+#if defined(__LITTLE_ENDIAN)
-+        __u8                    priority:4,
-+                                version:4;
-+#elif defined(__BIG_ENDIAN)
-+        __u8                    version:4,
-+                                priority:4;
-+#endif
-+        __u8                    flow_lbl[3];
-+
-+        __u16                   payload_len;
-+        __u8                    nexthdr;
-+        __u8                    hop_limit;
-+        struct  in6_addr        saddr;
-+        struct  in6_addr        daddr;
-+};
- #include <linux/icmpv6.h>
- #include <arpa/inet.h>
diff --git a/src/patches/iputils-20020927-rh.patch b/src/patches/iputils-20020927-rh.patch
deleted file mode 100644 (file)
index 23d6fd8..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
---- iputils/doc/Makefile.rh7   2002-02-23 01:17:57.000000000 +0100
-+++ iputils/doc/Makefile       2004-05-12 14:55:16.724448173 +0200
-@@ -2,7 +2,7 @@
- HTMLFILES=$(subst .sgml,.html,$(SGMLFILES)) index.html
- MANFILES=$(subst .sgml,.8,$(SGMLFILES))
--all: html
-+all:
- html: $(HTMLFILES) iputils.html
---- iputils/Makefile.rh7       2002-09-20 20:23:55.000000000 +0200
-+++ iputils/Makefile   2004-05-12 15:08:25.638310270 +0200
-@@ -24,14 +24,14 @@
- CC=gcc
- # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
- #CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g -Werror
--CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
--CFLAGS=$(CCOPT) $(GLIBCFIX) -I$(KERNEL_INCLUDE) -I../include $(DEFINES) 
-+#CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
-+#CFLAGS=$(CCOPT) $(DEFINES) 
- IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
- IPV6_TARGETS=tracepath6 traceroute6 ping6
- TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
--all: check-kernel $(TARGETS)
-+all: $(TARGETS)
- tftpd: tftpd.o tftpsubs.o
diff --git a/src/patches/iputils-glibckernheaders.patch b/src/patches/iputils-glibckernheaders.patch
deleted file mode 100644 (file)
index 88a54b1..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-diff -ru iputils/include-glibc/netinet/in.h iputils-clean/include-glibc/netinet/in.h
---- iputils/include-glibc/netinet/in.h 2000-06-18 14:57:25.000000000 -0400
-+++ iputils-clean/include-glibc/netinet/in.h   2003-09-03 11:21:55.000000000 -0400
-@@ -8,4 +8,45 @@
- #define SOL_IP        0
--#endif        /* netinet/in.h */
-+/* Functions to convert between host and network byte order.
-+
-+   Please note that these functions normally take `unsigned long int' or
-+   `unsigned short int' values as arguments and also return them.  But
-+   this was a short-sighted decision since on different systems the types
-+   may have different representations but the values are always the same.  */
-+
-+extern u_int32_t ntohl (u_int32_t __netlong) __THROW __attribute__ ((__const__));
-+extern u_int16_t ntohs (u_int16_t __netshort)
-+     __THROW __attribute__ ((__const__));
-+extern u_int32_t htonl (u_int32_t __hostlong)
-+     __THROW __attribute__ ((__const__));
-+extern u_int16_t htons (u_int16_t __hostshort)
-+     __THROW __attribute__ ((__const__));
-+
-+#include <endian.h>
-+
-+/* Get machine dependent optimized versions of byte swapping functions.  */
-+#include <bits/byteswap.h>
-+
-+#ifdef __OPTIMIZE__
-+/* We can optimize calls to the conversion functions.  Either nothing has
-+   to be done or we are using directly the byte-swapping functions which
-+   often can be inlined.  */
-+# if __BYTE_ORDER == __BIG_ENDIAN
-+/* The host byte order is the same as network byte order,
-+   so these functions are all just identity.  */
-+# define ntohl(x)     (x)
-+# define ntohs(x)     (x)
-+# define htonl(x)     (x)
-+# define htons(x)     (x)
-+# else
-+#  if __BYTE_ORDER == __LITTLE_ENDIAN
-+#   define ntohl(x)   __bswap_32 (x)
-+#   define ntohs(x)   __bswap_16 (x)
-+#   define htonl(x)   __bswap_32 (x)
-+#   define htons(x)   __bswap_16 (x)
-+#  endif
-+# endif
-+#endif
-+
-+#endif /* netinet/in.h */
-diff -ru iputils/ping6.c iputils-clean/ping6.c
---- iputils/ping6.c    2003-09-03 11:22:46.000000000 -0400
-+++ iputils-clean/ping6.c      2003-09-03 11:15:42.000000000 -0400
-@@ -879,7 +879,7 @@
-       once = 1;
-       /* Patch bpflet for current identifier. */
--      insns[1] = (struct sock_filter)BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, __constant_htons(ident), 0, 1);
-+      insns[1] = (struct sock_filter)BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, htons(ident), 0, 1);
-       if (setsockopt(icmp_sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter)))
-               perror("WARNING: failed to install socket filter\n");
-diff -ru iputils/ping.c iputils-clean/ping.c
---- iputils/ping.c     2003-09-03 11:22:46.000000000 -0400
-+++ iputils-clean/ping.c       2003-09-03 11:15:26.000000000 -0400
-@@ -1196,7 +1196,7 @@
-       once = 1;
-       /* Patch bpflet for current identifier. */
--      insns[2] = (struct sock_filter)BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, __constant_htons(ident), 0, 1);
-+      insns[2] = (struct sock_filter)BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, htons(ident), 0, 1);
-       if (setsockopt(icmp_sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter)))
-               perror("WARNING: failed to install socket filter\n");
diff --git a/src/patches/kbd-1.12-backspace-1.patch b/src/patches/kbd-1.12-backspace-1.patch
deleted file mode 100644 (file)
index 8bcbb94..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-Submitted By: Alexander E. Patrakov
-Date: 2005-05-16
-Initial Package Version: 1.12
-Upstream Status: Not submitted, possibly incomplete
-Description: Makes Backspace and Delete keys consistent in all i386 keymaps.
-Obsoletes the /etc/kbd/bs-sends-del file for i386.
-
-diff -urN kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-l.map kbd-1.12/data/keymaps/i386/dvorak/dvorak-l.map
---- kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-l.map        2002-10-11 17:08:51.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/dvorak/dvorak-l.map     2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-r.map kbd-1.12/data/keymaps/i386/dvorak/dvorak-r.map
---- kbd-1.12.orig/data/keymaps/i386/dvorak/dvorak-r.map        2002-10-11 17:08:51.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/dvorak/dvorak-r.map     2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map kbd-1.12/data/keymaps/i386/fgGIod/tr_f-latin5.map
---- kbd-1.12.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map     2002-10-13 06:21:12.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/fgGIod/tr_f-latin5.map  2005-05-16 19:54:48.000000000 +0600
-@@ -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              Tab             
-       alt     keycode  15 = Meta_Tab        
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/lt.l4.map kbd-1.12/data/keymaps/i386/qwerty/lt.l4.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/lt.l4.map   2002-10-13 05:59:51.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/lt.l4.map        2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/lt.map kbd-1.12/data/keymaps/i386/qwerty/lt.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/lt.map      2002-10-13 06:00:25.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/lt.map   2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/no-latin1.map kbd-1.12/data/keymaps/i386/qwerty/no-latin1.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/no-latin1.map       2002-10-11 17:08:49.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/no-latin1.map    2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru-ms.map kbd-1.12/data/keymaps/i386/qwerty/ru-ms.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru-ms.map   2002-10-13 06:07:05.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru-ms.map        2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru.map kbd-1.12/data/keymaps/i386/qwerty/ru.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru.map      2002-10-13 06:02:19.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru.map   2005-05-16 19:56:08.000000000 +0600
-@@ -37,7 +37,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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru1.map kbd-1.12/data/keymaps/i386/qwerty/ru1.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru1.map     2002-10-13 06:02:30.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru1.map  2005-05-16 19:55:32.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ru2.map kbd-1.12/data/keymaps/i386/qwerty/ru2.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ru2.map     2002-10-13 06:05:47.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ru2.map  2005-05-16 19:56:52.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/se-ir209.map kbd-1.12/data/keymaps/i386/qwerty/se-ir209.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/se-ir209.map        2002-10-13 06:12:48.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/se-ir209.map     2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/se-lat6.map kbd-1.12/data/keymaps/i386/qwerty/se-lat6.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/se-lat6.map 2002-10-13 06:13:01.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/se-lat6.map      2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/tr_q-latin5.map kbd-1.12/data/keymaps/i386/qwerty/tr_q-latin5.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/tr_q-latin5.map     2002-10-11 17:08:49.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/tr_q-latin5.map  2005-05-16 19:54:48.000000000 +0600
-@@ -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              Tab
-       alt     keycode  15 = Meta_Tab
-diff -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf-ws.map kbd-1.12/data/keymaps/i386/qwerty/ua-utf-ws.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf-ws.map       2002-10-13 06:07:56.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua-utf-ws.map    2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf.map kbd-1.12/data/keymaps/i386/qwerty/ua-utf.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua-utf.map  2002-10-13 06:08:07.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua-utf.map       2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua-ws.map kbd-1.12/data/keymaps/i386/qwerty/ua-ws.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua-ws.map   2002-10-13 06:08:19.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua-ws.map        2005-05-16 19:54:48.000000000 +0600
-@@ -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 -urN kbd-1.12.orig/data/keymaps/i386/qwerty/ua.map kbd-1.12/data/keymaps/i386/qwerty/ua.map
---- kbd-1.12.orig/data/keymaps/i386/qwerty/ua.map      2002-10-13 06:08:31.000000000 +0600
-+++ kbd-1.12/data/keymaps/i386/qwerty/ua.map   2005-05-16 19:54:48.000000000 +0600
-@@ -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 --git a/src/patches/kbd-1.12-gcc4_fixes-1.patch b/src/patches/kbd-1.12-gcc4_fixes-1.patch
deleted file mode 100644 (file)
index ce1d429..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
-Date: 2005-07-28
-Initial Package Version: 1.12
-Upstream Status: Unknown
-Origin: http://cvs.fedora.redhat.com/viewcvs/devel/kbd/kbd-1.12-alias.patch?rev=1.2&view=markup
-Description: Fix violations of C aliasing rules, triggered by gcc4.
-
-diff -Naur kbd-1.12.orig/src/psffontop.c kbd-1.12/src/psffontop.c
---- kbd-1.12.orig/src/psffontop.c      2004-01-16 19:45:31.000000000 +0000
-+++ kbd-1.12/src/psffontop.c   2005-07-28 20:33:57.946088984 +0000
-@@ -59,7 +59,6 @@
- static unsigned int
- assemble_ucs2(char **inptr, int cnt) {
--      unsigned char **in = (unsigned char **) inptr;
-       unsigned int u1, u2;
-       if (cnt < 2) {
-@@ -68,8 +67,8 @@
-               exit(EX_DATAERR);
-       }
--      u1 = *(*in)++;
--      u2 = *(*in)++;
-+      u1 = (unsigned char)*(*inptr)++;
-+      u2 = (unsigned char)*(*inptr)++;
-       return (u1 | (u2 << 8));
- }
-@@ -110,7 +109,6 @@
-  */
- static void
- get_uni_entry(char **inptr, char **endptr, struct unicode_list *up, int utf8) {
--      unsigned char **in = (unsigned char **) inptr;
-       unsigned char uc;
-       unicode unichar;
-       int inseq = 0;
-@@ -126,14 +124,14 @@
-                       exit(EX_DATAERR);
-               }
-               if (utf8) {
--                      uc = *(*in)++;
-+                      uc = *(*inptr)++;
-                       if (uc == PSF2_SEPARATOR)
-                               break;
-                       if (uc == PSF2_STARTSEQ) {
-                               inseq = 1;
-                               continue;
-                       }
--                      --(*in);
-+                      --(*inptr);
-                       unichar = assemble_utf8(inptr, *endptr - *inptr);
-               } else {
-                       unichar = assemble_ucs2(inptr, *endptr - *inptr);
diff --git a/src/patches/kbd-1.12-more-programs-1.patch b/src/patches/kbd-1.12-more-programs-1.patch
deleted file mode 100644 (file)
index 227abed..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-Submitted By: Greg Schafer <greg at linuxfromscratch dot org>
-Date: 2004-01-07
-Initial Package Version: 1.10
-Origin: LFS Book and Anderson Lizardo <lizardo at linuxfromscratch dot org>
-        (based on kbd-1.08-more-programs.patch)
-Description: Install additional programs included in kbd package,
-             including their manpages. Note: setlogcons does not have
-             a manpage.
-
-diff -Naur kbd-1.10.orig/man/Makefile kbd-1.10/man/Makefile
---- kbd-1.10.orig/man/Makefile 2002-10-11 22:12:53.000000000 +0000
-+++ kbd-1.10/man/Makefile      2004-01-07 02:36:13.471404128 +0000
-@@ -7,6 +7,9 @@
-               install -d -m 755 $(MANDIR)/$$i; \
-               install -m 644 $$i/*.[0-9] $(MANDIR)/$$i; \
-       done
-+      install -d -m 755 $(MANDIR)/man8
-+      install -m 644 man8misc/setvesablank.8 $(MANDIR)/man8
-+      install -m 644 man8misc/getunimap.8 $(MANDIR)/man8
-       rm -f $(MANDIR)/man5/keytables.5
- clean:
-diff -Naur kbd-1.10.orig/src/Makefile.in kbd-1.10/src/Makefile.in
---- kbd-1.10.orig/src/Makefile.in      2004-01-03 17:53:06.000000000 +0000
-+++ kbd-1.10/src/Makefile.in   2004-01-07 02:36:44.706655648 +0000
-@@ -46,8 +46,9 @@
- OLDPROGS= mapscrn loadunimap
- # Not installed by default
--MISC    = screendump setlogcons setvesablank spawn_console spawn_login \
--        getunimap clrunimap outpsfheader setpalette
-+#MISC    = screendump setlogcons setvesablank spawn_console spawn_login \
-+#       getunimap clrunimap outpsfheader setpalette
-+MISC     = setlogcons setvesablank getunimap
- # Installed by default
- SHCMDS  = unicode_start unicode_stop
-@@ -73,7 +74,7 @@
- install:      all
-       install -d -m 0755 $(BINDIR) $(LOADKEYS_BINDIR)
-       install -s -m 0755 $(setowner) $(PROGS) $(OLDPROGS) $(BINDIR)
--#     install -s -m 0755 $(setowner) $(MISC) $(BINDIR)
-+      install -s -m 0755 $(setowner) $(MISC) $(BINDIR)
-       install -c -m 0755 $(setowner) $(SHCMDS) $(BINDIR)
-       for i in psfaddtable psfgettable psfstriptable; do \
-               rm -f $(BINDIR)/$$i; ln -s psfxtable $(BINDIR)/$$i; \
diff --git a/src/patches/libcap-2.50-install_capsh_again.patch b/src/patches/libcap-2.50-install_capsh_again.patch
new file mode 100644 (file)
index 0000000..0ae7520
--- /dev/null
@@ -0,0 +1,38 @@
+From 1f8d32942be54850a3a89c7b58ba5613b5525c58 Mon Sep 17 00:00:00 2001
+From: "Andrew G. Morgan" <morgan@kernel.org>
+Date: Fri, 28 May 2021 13:41:17 -0700
+Subject: [PATCH] Make capsh an installed binary again
+
+Bug report from Jan Palus:
+
+  https://bugzilla.kernel.org/show_bug.cgi?id=213261
+
+Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
+---
+ progs/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/progs/Makefile b/progs/Makefile
+index 313dc4d..3c3dc97 100644
+--- a/progs/Makefile
++++ b/progs/Makefile
+@@ -32,14 +32,14 @@ $(BUILD): %: %.o $(DEPS)
+ install: all
+       mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR)
+-      for p in $(PROGS) ; do \
++      for p in $(PROGS) capsh ; do \
+               install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \
+       done
+ ifeq ($(RAISE_SETFCAP),yes)
+       $(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap
+ endif
+-test: $(PROGS)
++test: $(PROGS) capsh
+ capshdoc.h.cf: capshdoc.h ./mkcapshdoc.sh
+       ./mkcapshdoc.sh > $@
+-- 
+2.32.0.rc2
+
diff --git a/src/patches/linux-3.10-smsc95xx-add_mac_addr_param.patch b/src/patches/linux-3.10-smsc95xx-add_mac_addr_param.patch
deleted file mode 100644 (file)
index 6a4b3c5..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-diff -Naur linux-3.10.10/drivers/net/usb/smsc95xx.c linux-c1af7c6db316763b9dce7137495cb9ada8fa17b4/drivers/net/usb/smsc95xx.c
---- linux-3.10.10/drivers/net/usb/smsc95xx.c   2013-08-29 18:47:51.000000000 +0200
-+++ linux-c1af7c6db316763b9dce7137495cb9ada8fa17b4/drivers/net/usb/smsc95xx.c  2013-08-30 20:12:54.000000000 +0200
-@@ -61,6 +61,7 @@
- #define SUSPEND_SUSPEND3              (0x08)
- #define SUSPEND_ALLMODES              (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
-                                        SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
-+#define MAC_ADDR_LEN                    (6)
- struct smsc95xx_priv {
-       u32 mac_cr;
-@@ -76,6 +77,10 @@
- module_param(turbo_mode, bool, 0644);
- MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
-+static char *macaddr = ":";
-+module_param(macaddr, charp, 0);
-+MODULE_PARM_DESC(macaddr, "MAC address");
-+
- static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
-                                           u32 *data, int in_pm)
- {
-@@ -765,8 +770,59 @@
-       return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
- }
-+/* Check the macaddr module parameter for a MAC address */
-+static int smsc95xx_is_macaddr_param(struct usbnet *dev, u8 *dev_mac)
-+{
-+       int i, j, got_num, num;
-+       u8 mtbl[MAC_ADDR_LEN];
-+
-+       if (macaddr[0] == ':')
-+               return 0;
-+
-+       i = 0;
-+       j = 0;
-+       num = 0;
-+       got_num = 0;
-+       while (j < MAC_ADDR_LEN) {
-+               if (macaddr[i] && macaddr[i] != ':') {
-+                       got_num++;
-+                       if ('0' <= macaddr[i] && macaddr[i] <= '9')
-+                               num = num * 16 + macaddr[i] - '0';
-+                       else if ('A' <= macaddr[i] && macaddr[i] <= 'F')
-+                               num = num * 16 + 10 + macaddr[i] - 'A';
-+                       else if ('a' <= macaddr[i] && macaddr[i] <= 'f')
-+                               num = num * 16 + 10 + macaddr[i] - 'a';
-+                       else
-+                               break;
-+                       i++;
-+               } else if (got_num == 2) {
-+                       mtbl[j++] = (u8) num;
-+                       num = 0;
-+                       got_num = 0;
-+                       i++;
-+               } else {
-+                       break;
-+               }
-+       }
-+
-+       if (j == MAC_ADDR_LEN) {
-+               netif_dbg(dev, ifup, dev->net, "Overriding MAC address with: "
-+               "%02x:%02x:%02x:%02x:%02x:%02x\n", mtbl[0], mtbl[1], mtbl[2],
-+                                               mtbl[3], mtbl[4], mtbl[5]);
-+               for (i = 0; i < MAC_ADDR_LEN; i++)
-+                       dev_mac[i] = mtbl[i];
-+               return 1;
-+       } else {
-+               return 0;
-+       }
-+}
-+
- static void smsc95xx_init_mac_address(struct usbnet *dev)
- {
-+       /* Check module parameters */
-+       if (smsc95xx_is_macaddr_param(dev, dev->net->dev_addr))
-+               return;
-+
-       /* try reading mac address from EEPROM */
-       if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
-                       dev->net->dev_addr) == 0) {
diff --git a/src/patches/linux-3.10.10-mv_cesa_disable_failing_hmac_sha1.patch b/src/patches/linux-3.10.10-mv_cesa_disable_failing_hmac_sha1.patch
deleted file mode 100644 (file)
index e892d88..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur linux-3.10.10.org/drivers/crypto/mv_cesa.c linux-3.10.10/drivers/crypto/mv_cesa.c
---- linux-3.10.10.org/drivers/crypto/mv_cesa.c 2013-08-29 18:47:51.000000000 +0200
-+++ linux-3.10.10/drivers/crypto/mv_cesa.c     2013-09-04 13:06:35.000000000 +0200
-@@ -1120,6 +1120,7 @@
-       else
-               printk(KERN_WARNING MV_CESA "Could not register sha1 driver\n");
-+/*
-       ret = crypto_register_ahash(&mv_hmac_sha1_alg);
-       if (ret == 0) {
-               cpg->has_hmac_sha1 = 1;
-@@ -1127,6 +1128,7 @@
-               printk(KERN_WARNING MV_CESA
-                      "Could not register hmac-sha1 driver\n");
-       }
-+*/
-       return 0;
- err_unreg_ecb:
diff --git a/src/patches/linux-3.10.39-add_libertas_uap.patch b/src/patches/linux-3.10.39-add_libertas_uap.patch
deleted file mode 100644 (file)
index be9a493..0000000
+++ /dev/null
@@ -1,5081 +0,0 @@
-diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
-index f8f0156..42a0702 100644
---- a/drivers/net/wireless/Kconfig
-+++ b/drivers/net/wireless/Kconfig
-@@ -51,6 +51,14 @@ config LIBERTAS_THINFIRM_USB
-       ---help---
-         A driver for Marvell Libertas 8388 USB devices using thinfirm.
-+config LIBERTAS_UAP
-+      tristate "Marvell 8xxx Libertas UAP"
-+      depends on MAC80211
-+      depends on MMC
-+      select FW_LOADER
-+      ---help---
-+        Driver for Marvell Libertas 8xxx micro AP.
-+
- config AIRO
-       tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
-       depends on ISA_DMA_API && (PCI || BROKEN)
-diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
-index 67156ef..475a1b3 100644
---- a/drivers/net/wireless/Makefile
-+++ b/drivers/net/wireless/Makefile
-@@ -37,6 +37,8 @@ obj-$(CONFIG_LIBERTAS)               += libertas/
- obj-$(CONFIG_LIBERTAS_THINFIRM)       += libertas_tf/
-+obj-$(CONFIG_LIBERTAS_UAP)    += libertas_uap/
-+
- obj-$(CONFIG_ADM8211) += adm8211.o
- obj-$(CONFIG_MWL8K)   += mwl8k.o
-diff --git a/drivers/net/wireless/libertas_uap/Makefile b/drivers/net/wireless/libertas_uap/Makefile
-new file mode 100644
-index 0000000..821f2a4
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/Makefile
-@@ -0,0 +1,6 @@
-+obj-$(CONFIG_LIBERTAS_UAP) += uap8xxx.o
-+
-+uap8xxx-y += uap_main.o uap_sdio_mmc.o
-+uap8xxx-$(CONFIG_PROC_FS) += uap_proc.o uap_debug.o
-+
-+EXTRA_CFLAGS += -DFPNUM='"52"' -DPXA3XX_DMA_ALIGN -DDEBUG_LEVEL1
-diff --git a/drivers/net/wireless/libertas_uap/uap_debug.c b/drivers/net/wireless/libertas_uap/uap_debug.c
-new file mode 100644
-index 0000000..a2f6dc9
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_debug.c
-@@ -0,0 +1,260 @@
-+/** @file uap_debug.c
-+  * @brief This file contains functions for debug proc file.
-+  *
-+  * Copyright (C) 2008-2009, Marvell International Ltd.
-+  *
-+  * This software file (the "File") is distributed by Marvell International
-+  * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+  * (the "License").  You may use, redistribute and/or modify this File in
-+  * accordance with the terms and conditions of the License, a copy of which
-+  * is available along with the File in the gpl.txt file or by writing to
-+  * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+  * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+  *
-+  * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+  * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+  * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+  * this warranty disclaimer.
-+  *
-+  */
-+#ifdef CONFIG_PROC_FS
-+#include  "uap_headers.h"
-+
-+/********************************************************
-+              Local Variables
-+********************************************************/
-+
-+#define item_size(n) (sizeof ((uap_adapter *)0)->n)
-+#define item_addr(n) ((u32) &((uap_adapter *)0)->n)
-+
-+#define item_dbg_size(n) (sizeof (((uap_adapter *)0)->dbg.n))
-+#define item_dbg_addr(n) ((u32) &(((uap_adapter *)0)->dbg.n))
-+
-+#define item_dev_size(n) (sizeof ((uap_dev_t *)0)->n)
-+#define item_dev_addr(n) ((u32) &((uap_dev_t *)0)->n)
-+
-+/** MicroAp device offset */
-+#define OFFSET_UAP_DEV                0x01
-+/** Bluetooth adapter offset */
-+#define OFFSET_UAP_ADAPTER    0x02
-+
-+struct debug_data
-+{
-+    /** Name */
-+    char name[32];
-+    /** Size */
-+    u32 size;
-+    /** Address */
-+    u32 addr;
-+    /** Offset */
-+    u32 offset;
-+    /** Flag */
-+    u32 flag;
-+};
-+
-+/* To debug any member of uap_adapter, simply add one line here.
-+ */
-+static struct debug_data items[] = {
-+    {"cmd_sent", item_dev_size(cmd_sent), 0, item_dev_addr(cmd_sent),
-+     OFFSET_UAP_DEV},
-+    {"data_sent", item_dev_size(data_sent), 0, item_dev_addr(data_sent),
-+     OFFSET_UAP_DEV},
-+    {"IntCounter", item_size(IntCounter), 0, item_addr(IntCounter),
-+     OFFSET_UAP_ADAPTER},
-+    {"cmd_pending", item_size(cmd_pending), 0, item_addr(cmd_pending),
-+     OFFSET_UAP_ADAPTER},
-+    {"num_cmd_h2c_fail", item_dbg_size(num_cmd_host_to_card_failure), 0,
-+     item_dbg_addr(num_cmd_host_to_card_failure), OFFSET_UAP_ADAPTER},
-+    {"num_tx_h2c_fail", item_dbg_size(num_tx_host_to_card_failure), 0,
-+     item_dbg_addr(num_tx_host_to_card_failure), OFFSET_UAP_ADAPTER},
-+    {"psmode", item_size(psmode), 0, item_addr(psmode), OFFSET_UAP_ADAPTER},
-+    {"ps_state", item_size(ps_state), 0, item_addr(ps_state),
-+     OFFSET_UAP_ADAPTER},
-+#ifdef DEBUG_LEVEL1
-+    {"drvdbg", sizeof(drvdbg), (u32) & drvdbg, 0, 0}
-+#endif
-+};
-+
-+static int num_of_items = sizeof(items) / sizeof(items[0]);
-+
-+/********************************************************
-+              Global Variables
-+********************************************************/
-+
-+/********************************************************
-+              Local Functions
-+********************************************************/
-+/**
-+ *  @brief proc read function
-+ *
-+ *  @param page          pointer to buffer
-+ *  @param s       read data starting position
-+ *  @param off     offset
-+ *  @param cnt     counter
-+ *  @param eof     end of file flag
-+ *  @param data    data to output
-+ *  @return      number of output data
-+ */
-+static int uap_debug_proc_show(struct seq_file *s, void *data) {
-+    int val = 0;
-+    int i;
-+
-+    struct debug_data *d = (struct debug_data *)s->private;
-+
-+    if (MODULE_GET == 0)
-+        return UAP_STATUS_FAILURE;
-+
-+    for (i = 0; i < num_of_items; i++) {
-+        if (d[i].size == 1)
-+            val = *((u8 *) d[i].addr);
-+        else if (d[i].size == 2)
-+            val = *((u16 *) d[i].addr);
-+        else if (d[i].size == 4)
-+            val = *((u32 *) d[i].addr);
-+
-+        seq_printf(s, "%s=%d\n", d[i].name, val);
-+    }
-+    MODULE_PUT;
-+    return 0;
-+}
-+
-+static int uap_debug_proc_open(struct inode* inode, struct file* file) {
-+      return single_open(file, uap_debug_proc_show, PDE_DATA(inode));
-+}
-+
-+/**
-+ *  @brief proc write function
-+ *
-+ *  @param f     file pointer
-+ *  @param buf     pointer to data buffer
-+ *  @param cnt     data number to write
-+ *  @param data    data to write
-+ *  @return      number of data
-+ */
-+static ssize_t uap_debug_proc_write(struct file *f, const char __user *buf, size_t cnt, loff_t *data) {
-+    int r, i;
-+    char *pdata;
-+    char *p;
-+    char *p0;
-+    char *p1;
-+    char *p2;
-+    struct debug_data *d = (struct debug_data *)PDE_DATA(file_inode(f));
-+
-+    if (MODULE_GET == 0)
-+        return UAP_STATUS_FAILURE;
-+
-+    pdata = (char *) kmalloc(cnt, GFP_KERNEL);
-+    if (pdata == NULL) {
-+        MODULE_PUT;
-+        return 0;
-+    }
-+
-+    if (copy_from_user(pdata, buf, cnt)) {
-+        PRINTM(INFO, "Copy from user failed\n");
-+        kfree(pdata);
-+        MODULE_PUT;
-+        return 0;
-+    }
-+
-+    p0 = pdata;
-+    for (i = 0; i < num_of_items; i++) {
-+        do {
-+            p = strstr(p0, d[i].name);
-+            if (p == NULL)
-+                break;
-+            p1 = strchr(p, '\n');
-+            if (p1 == NULL)
-+                break;
-+            p0 = p1++;
-+            p2 = strchr(p, '=');
-+            if (!p2)
-+                break;
-+            p2++;
-+            r = string_to_number(p2);
-+            if (d[i].size == 1)
-+                *((u8 *) d[i].addr) = (u8) r;
-+            else if (d[i].size == 2)
-+                *((u16 *) d[i].addr) = (u16) r;
-+            else if (d[i].size == 4)
-+                *((u32 *) d[i].addr) = (u32) r;
-+            break;
-+        } while (TRUE);
-+    }
-+    kfree(pdata);
-+#ifdef DEBUG_LEVEL1
-+    printk(KERN_ALERT "drvdbg = 0x%x\n", drvdbg);
-+    printk(KERN_ALERT "INFO  (%08lx) %s\n", DBG_INFO,
-+           (drvdbg & DBG_INFO) ? "X" : "");
-+    printk(KERN_ALERT "WARN  (%08lx) %s\n", DBG_WARN,
-+           (drvdbg & DBG_WARN) ? "X" : "");
-+    printk(KERN_ALERT "ENTRY (%08lx) %s\n", DBG_ENTRY,
-+           (drvdbg & DBG_ENTRY) ? "X" : "");
-+    printk(KERN_ALERT "CMD_D (%08lx) %s\n", DBG_CMD_D,
-+           (drvdbg & DBG_CMD_D) ? "X" : "");
-+    printk(KERN_ALERT "DAT_D (%08lx) %s\n", DBG_DAT_D,
-+           (drvdbg & DBG_DAT_D) ? "X" : "");
-+    printk(KERN_ALERT "CMND  (%08lx) %s\n", DBG_CMND,
-+           (drvdbg & DBG_CMND) ? "X" : "");
-+    printk(KERN_ALERT "DATA  (%08lx) %s\n", DBG_DATA,
-+           (drvdbg & DBG_DATA) ? "X" : "");
-+    printk(KERN_ALERT "ERROR (%08lx) %s\n", DBG_ERROR,
-+           (drvdbg & DBG_ERROR) ? "X" : "");
-+    printk(KERN_ALERT "FATAL (%08lx) %s\n", DBG_FATAL,
-+           (drvdbg & DBG_FATAL) ? "X" : "");
-+    printk(KERN_ALERT "MSG   (%08lx) %s\n", DBG_MSG,
-+           (drvdbg & DBG_MSG) ? "X" : "");
-+#endif
-+    MODULE_PUT;
-+    return cnt;
-+}
-+
-+static const struct file_operations uap_debug_proc_fops = {
-+      .owner   = THIS_MODULE,
-+      .open    = uap_debug_proc_open,
-+      .read    = seq_read,
-+      .llseek  = seq_lseek,
-+      .release = single_release,
-+      .write   = uap_debug_proc_write,
-+};
-+
-+/********************************************************
-+              Global Functions
-+********************************************************/
-+/**
-+ *  @brief create debug proc file
-+ *
-+ *  @param priv          pointer uap_private
-+ *  @param dev     pointer net_device
-+ *  @return      N/A
-+ */
-+void
-+uap_debug_entry(uap_private * priv, struct net_device *dev)
-+{
-+    int i;
-+
-+    if (priv->proc_entry == NULL)
-+        return;
-+
-+    for (i = 0; i < num_of_items; i++) {
-+        if (items[i].flag & OFFSET_UAP_ADAPTER)
-+            items[i].addr = items[i].offset + (u32) priv->adapter;
-+        if (items[i].flag & OFFSET_UAP_DEV)
-+            items[i].addr = items[i].offset + (u32) & priv->uap_dev;
-+    }
-+    proc_create_data("debug", 0644, priv->proc_entry, &uap_debug_proc_fops,
-+      &items[0]);
-+}
-+
-+/**
-+ *  @brief remove proc file
-+ *
-+ *  @param priv          pointer uap_private
-+ *  @return      N/A
-+ */
-+void
-+uap_debug_remove(uap_private * priv)
-+{
-+    remove_proc_entry("debug", priv->proc_entry);
-+}
-+
-+#endif
-diff --git a/drivers/net/wireless/libertas_uap/uap_drv.h b/drivers/net/wireless/libertas_uap/uap_drv.h
-new file mode 100644
-index 0000000..5aa009f
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_drv.h
-@@ -0,0 +1,667 @@
-+/** @file uap_drv.h
-+  * @brief This file contains Linux OS related definitions and
-+  * declarations, uAP driver
-+  *
-+  * Copyright (C) 2008-2009, Marvell International Ltd.
-+  *
-+  * This software file (the "File") is distributed by Marvell International
-+  * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+  * (the "License").  You may use, redistribute and/or modify this File in
-+  * accordance with the terms and conditions of the License, a copy of which
-+  * is available along with the File in the gpl.txt file or by writing to
-+  * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+  * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+  *
-+  * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+  * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+  * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+  * this warranty disclaimer.
-+  *
-+  */
-+
-+#ifndef _UAP_DRV_H
-+#define _UAP_DRV_H
-+
-+/** Driver release version */
-+#define DRIVER_VERSION                "26146"
-+
-+/** True */
-+#ifndef       TRUE
-+#define TRUE                  1
-+#endif
-+/** False */
-+#ifndef       FALSE
-+#define       FALSE                   0
-+#endif
-+
-+/** Bit definitions */
-+#ifndef BIT
-+#define BIT(x)        (1UL << (x))
-+#endif
-+
-+/** Dma addresses are 32-bits wide.  */
-+#ifndef __ATTRIB_ALIGN__
-+#define __ATTRIB_ALIGN__ __attribute__((aligned(4)))
-+#endif
-+
-+/**  attribute pack */
-+#ifndef __ATTRIB_PACK__
-+#define __ATTRIB_PACK__ __attribute__ ((packed))
-+#endif
-+
-+/** Debug Macro definition*/
-+#ifdef        DEBUG_LEVEL1
-+
-+extern u32 drvdbg;
-+
-+/** Debug message control bit definition for drvdbg */
-+/** Debug message */
-+#define       DBG_MSG         BIT(0)
-+/** Debug fatal message */
-+#define DBG_FATAL     BIT(1)
-+/** Debug error message */
-+#define DBG_ERROR     BIT(2)
-+/** Debug data message */
-+#define DBG_DATA      BIT(3)
-+/** Debug command message */
-+#define DBG_CMND      BIT(4)
-+
-+/** Debug data */
-+#define DBG_DAT_D     BIT(16)
-+/** Debug command */
-+#define DBG_CMD_D     BIT(17)
-+
-+/** Debug entry */
-+#define DBG_ENTRY     BIT(28)
-+/** Debug warning */
-+#define DBG_WARN      BIT(29)
-+/** Debug info */
-+#define DBG_INFO      BIT(30)
-+
-+/** Print info */
-+#define       PRINTM_INFO(msg...)  {if (drvdbg & DBG_INFO) printk(KERN_DEBUG msg);}
-+/** Print warn message */
-+#define       PRINTM_WARN(msg...)  {if (drvdbg & DBG_WARN) printk(KERN_DEBUG msg);}
-+/** Print entry */
-+#define       PRINTM_ENTRY(msg...) {if (drvdbg & DBG_ENTRY) printk(KERN_DEBUG msg);}
-+/** Print cmd_d */
-+#define       PRINTM_CMD_D(msg...) {if (drvdbg & DBG_CMD_D) printk(KERN_DEBUG msg);}
-+/** Print data_d */
-+#define       PRINTM_DAT_D(msg...) {if (drvdbg & DBG_DAT_D) printk(KERN_DEBUG msg);}
-+/** Print command */
-+#define       PRINTM_CMND(msg...)  {if (drvdbg & DBG_CMND) printk(KERN_DEBUG msg);}
-+/** Print data */
-+#define       PRINTM_DATA(msg...)  {if (drvdbg & DBG_DATA) printk(KERN_DEBUG msg);}
-+/** Print error message */
-+#define       PRINTM_ERROR(msg...) {if (drvdbg & DBG_ERROR) printk(KERN_DEBUG msg);}
-+/** Print fatal message */
-+#define       PRINTM_FATAL(msg...) {if (drvdbg & DBG_FATAL) printk(KERN_DEBUG msg);}
-+/** Print message */
-+#define       PRINTM_MSG(msg...)   {if (drvdbg & DBG_MSG) printk(KERN_ALERT msg);}
-+/** Print level */
-+#define       PRINTM(level,msg...) PRINTM_##level(msg)
-+
-+#else
-+
-+#define       PRINTM(level,msg...) do {} while (0)
-+
-+#endif /* DEBUG_LEVEL1 */
-+
-+/** Wait until a condition becomes true */
-+#define ASSERT(cond)                                          \
-+do {                                                          \
-+      if (!(cond))                                            \
-+              PRINTM(INFO, "ASSERT: %s, %s:%i\n",             \
-+                     __FUNCTION__, __FILE__, __LINE__);       \
-+} while(0)
-+
-+/** Log enrty point for debugging */
-+#define       ENTER()                 PRINTM(ENTRY, "Enter: %s, %s:%i\n", __FUNCTION__, \
-+                                                      __FILE__, __LINE__)
-+/** Log exit point for debugging */
-+#define       LEAVE()                 PRINTM(ENTRY, "Leave: %s, %s:%i\n", __FUNCTION__, \
-+                                                      __FILE__, __LINE__)
-+
-+#ifdef        DEBUG_LEVEL1
-+/** Dump buffer length */
-+#define DBG_DUMP_BUF_LEN    64
-+/** Maximum dump per line */
-+#define MAX_DUMP_PER_LINE   16
-+/** Data dump length */
-+#define DATA_DUMP_LEN       32
-+
-+static inline void
-+hexdump(char *prompt, u8 * buf, int len)
-+{
-+    int i;
-+    char dbgdumpbuf[DBG_DUMP_BUF_LEN];
-+    char *ptr = dbgdumpbuf;
-+
-+    printk(KERN_DEBUG "%s:\n", prompt);
-+    for (i = 1; i <= len; i++) {
-+        ptr += sprintf(ptr, "%02x ", *buf);
-+        buf++;
-+        if (i % MAX_DUMP_PER_LINE == 0) {
-+            *ptr = 0;
-+            printk(KERN_DEBUG "%s\n", dbgdumpbuf);
-+            ptr = dbgdumpbuf;
-+        }
-+    }
-+    if (len % MAX_DUMP_PER_LINE) {
-+        *ptr = 0;
-+        printk(KERN_DEBUG "%s\n", dbgdumpbuf);
-+    }
-+}
-+
-+/** Debug command */
-+#define DBG_HEXDUMP_CMD_D(x,y,z)    {if (drvdbg & DBG_CMD_D) hexdump(x,y,z);}
-+/** Debug data */
-+#define DBG_HEXDUMP_DAT_D(x,y,z)    {if (drvdbg & DBG_DAT_D) hexdump(x,y,z);}
-+/** Debug hexdump */
-+#define       DBG_HEXDUMP(level,x,y,z)    DBG_HEXDUMP_##level(x,y,z)
-+/** hexdump */
-+#define HEXDUMP(x,y,z)              {if (drvdbg & DBG_INFO) hexdump(x,y,z);}
-+#else
-+/** Do nothing since debugging is not turned on */
-+#define DBG_HEXDUMP(level,x,y,z)    do {} while (0)
-+/** Do nothing since debugging is not turned on */
-+#define HEXDUMP(x,y,z)              do {} while (0)
-+#endif
-+
-+/**
-+ * Typedefs
-+ */
-+/** Unsigned char */
-+typedef u8 BOOLEAN;
-+
-+/*
-+ * OS macro definitions
-+ */
-+/** OS macro to get time */
-+#define os_time_get() jiffies
-+
-+/** OS macro to update transfer start time */
-+#define UpdateTransStart(dev) { \
-+      dev->trans_start = jiffies; \
-+}
-+
-+/** Try to get a reference to the module */
-+#define MODULE_GET    try_module_get(THIS_MODULE)
-+/** Decrease module reference count */
-+#define MODULE_PUT    module_put(THIS_MODULE)
-+
-+/** OS macro to initialize semaphore */
-+#define OS_INIT_SEMAPHORE(x)  sema_init(x,1)
-+/** OS macro to acquire blocking semaphore */
-+#define OS_ACQ_SEMAPHORE_BLOCK(x)     down_interruptible(x)
-+/** OS macro to acquire non-blocking semaphore */
-+#define OS_ACQ_SEMAPHORE_NOBLOCK(x)   down_trylock(x)
-+/** OS macro to release semaphore */
-+#define OS_REL_SEMAPHORE(x)           up(x)
-+
-+static inline void
-+os_sched_timeout(u32 millisec)
-+{
-+    set_current_state(TASK_INTERRUPTIBLE);
-+    schedule_timeout((millisec * HZ) / 1000);
-+}
-+
-+/** Maximum size of ethernet packet */
-+#define MRVDRV_MAXIMUM_ETH_PACKET_SIZE        1514
-+
-+/** Maximum size of multicast list */
-+#define MRVDRV_MAX_MULTICAST_LIST_SIZE        32
-+
-+/** Find minimum */
-+#ifndef MIN
-+#define MIN(a,b)              ((a) < (b) ? (a) : (b))
-+#endif
-+
-+/** Find maximum */
-+#ifndef MAX
-+#define MAX(a,b)              ((a) > (b) ? (a) : (b))
-+#endif
-+
-+/** Find number of elements */
-+#ifndef NELEMENTS
-+#define NELEMENTS(x) (sizeof(x)/sizeof(x[0]))
-+#endif
-+
-+/** Buffer Constants */
-+
-+/** Size of command buffer */
-+#define MRVDRV_SIZE_OF_CMD_BUFFER       (2 * 1024)
-+
-+/** Length of device length */
-+#define DEV_NAME_LEN                  32
-+
-+/** Length of ethernet address */
-+#ifndef       ETH_ALEN
-+#define ETH_ALEN                      6
-+#endif
-+
-+/** Default watchdog timeout */
-+#define MRVDRV_DEFAULT_WATCHDOG_TIMEOUT (2 * HZ)
-+
-+/** Success */
-+#define UAP_STATUS_SUCCESS         (0)
-+/** Failure */
-+#define UAP_STATUS_FAILURE         (-1)
-+/** Not accepted */
-+#define UAP_STATUS_NOT_ACCEPTED    (-2)
-+
-+/** Max loop count (* 100ms) for waiting device ready at init time */
-+#define MAX_WAIT_DEVICE_READY_COUNT   50
-+
-+/** Tx high watermark. Stop Tx queue after this is crossed */
-+#define TX_HIGH_WATERMARK   4
-+/** Tx low watermark. Restart Tx queue after this is crossed */
-+#define TX_LOW_WATERMARK    2
-+
-+/** Netlink protocol number */
-+#define NETLINK_MARVELL     (MAX_LINKS - 1)
-+/** Netlink maximum payload size */
-+#define NL_MAX_PAYLOAD      1024
-+/** Netlink multicast group number */
-+#define NL_MULTICAST_GROUP  1
-+
-+/** 20 seconds */
-+#define MRVDRV_TIMER_20S              20000
-+
-+/** Host Command option for wait till Send */
-+#define HostCmd_OPTION_WAITFORSEND            0x0001
-+/** Host Command option for wait for RSP */
-+#define HostCmd_OPTION_WAITFORRSP             0x0002
-+/** Host Command option for wait for RSP or Timeout */
-+#define HostCmd_OPTION_WAITFORRSP_TIMEOUT     0x0003
-+/** Host Command option for wait for RSP of sleep confirm */
-+#define HostCmd_OPTION_WAITFORRSP_SLEEPCONFIRM   0x0004
-+
-+/** Sleep until a condition gets true or a timeout elapses */
-+#define os_wait_interruptible_timeout(waitq, cond, timeout) \
-+      wait_event_interruptible_timeout(waitq, cond, ((timeout) * HZ / 1000))
-+
-+/** Private command ID to Host command */
-+#define       UAPHOSTCMD                      (SIOCDEVPRIVATE + 1)
-+
-+/** Private command ID to Power Mode */
-+#define       UAP_POWER_MODE                  (SIOCDEVPRIVATE + 3)
-+/** sleep_param */
-+typedef struct _ps_sleep_param
-+{
-+    /** control bitmap */
-+    u32 ctrl_bitmap;
-+    /** minimum sleep period (micro second) */
-+    u32 min_sleep;
-+    /** maximum sleep period (micro second) */
-+    u32 max_sleep;
-+} ps_sleep_param;
-+
-+/** inactivity sleep_param */
-+typedef struct _inact_sleep_param
-+{
-+    /** inactivity timeout (micro second) */
-+    u32 inactivity_to;
-+    /** miniumu awake period (micro second) */
-+    u32 min_awake;
-+    /** maximum awake period (micro second) */
-+    u32 max_awake;
-+} inact_sleep_param;
-+
-+/** flag for ps mode */
-+#define PS_FLAG_PS_MODE                 1
-+/** flag for sleep param */
-+#define PS_FLAG_SLEEP_PARAM             2
-+/** flag for inactivity sleep param */
-+#define PS_FLAG_INACT_SLEEP_PARAM       4
-+
-+/** Disable power mode */
-+#define PS_MODE_DISABLE                      0
-+/** Enable periodic dtim ps */
-+#define PS_MODE_PERIODIC_DTIM                1
-+/** Enable inactivity ps */
-+#define PS_MODE_INACTIVITY                   2
-+
-+/** sleep parameter */
-+#define SLEEP_PARAMETER                     1
-+/** inactivity sleep parameter */
-+#define INACTIVITY_SLEEP_PARAMETER          2
-+/** ps_mgmt */
-+typedef struct _ps_mgmt
-+{
-+    /** flags for valid field */
-+    u16 flags;
-+    /** power mode */
-+    u16 ps_mode;
-+    /** sleep param */
-+    ps_sleep_param sleep_param;
-+    /** inactivity sleep param */
-+    inact_sleep_param inact_param;
-+} ps_mgmt;
-+
-+/** Semaphore structure */
-+typedef struct semaphore SEMAPHORE;
-+
-+/** Global Varibale Declaration */
-+/** Private data structure of the device */
-+typedef struct _uap_private uap_private;
-+/** Adapter data structure of the device */
-+typedef struct _uap_adapter uap_adapter;
-+/** private structure */
-+extern uap_private *uappriv;
-+
-+/** ENUM definition*/
-+
-+/** Hardware status codes */
-+typedef enum _HARDWARE_STATUS
-+{
-+    HWReady,
-+    HWInitializing,
-+    HWReset,
-+    HWClosing,
-+    HWNotReady
-+} HARDWARE_STATUS;
-+
-+/** info for debug purpose */
-+typedef struct _uap_dbg
-+{
-+        /** Number of host to card command failures */
-+    u32 num_cmd_host_to_card_failure;
-+        /** Number of host to card Tx failures */
-+    u32 num_tx_host_to_card_failure;
-+} uap_dbg;
-+
-+/** Set thread state */
-+#define OS_SET_THREAD_STATE(x)                set_current_state(x)
-+
-+typedef struct
-+{
-+    /** Task */
-+    struct task_struct *task;
-+    /** Queue */
-+    wait_queue_head_t waitQ;
-+    /** PID */
-+    pid_t pid;
-+    /** Private structure */
-+    void *priv;
-+} uap_thread;
-+
-+static inline void
-+uap_activate_thread(uap_thread * thr)
-+{
-+        /** Record the thread pid */
-+    thr->pid = current->pid;
-+
-+        /** Initialize the wait queue */
-+    init_waitqueue_head(&thr->waitQ);
-+}
-+
-+static inline void
-+uap_deactivate_thread(uap_thread * thr)
-+{
-+    thr->pid = 0;
-+    return;
-+}
-+
-+static inline void
-+uap_create_thread(int (*uapfunc) (void *), uap_thread * thr, char *name)
-+{
-+    thr->task = kthread_run(uapfunc, thr, "%s", name);
-+}
-+
-+static inline int
-+uap_terminate_thread(uap_thread * thr)
-+{
-+    /* Check if the thread is active or not */
-+    if (!thr->pid)
-+        return -1;
-+    kthread_stop(thr->task);
-+    return 0;
-+}
-+
-+/** Data structure for the Marvell uAP device */
-+typedef struct _uap_dev
-+{
-+        /** device name */
-+    char name[DEV_NAME_LEN];
-+        /** card pointer */
-+    void *card;
-+        /** IO port */
-+    u32 ioport;
-+        /** Rx unit */
-+    u8 rx_unit;
-+        /** Data sent:
-+          TRUE - Data is sent to fw, no Tx Done received
-+          FALSE - Tx done received for previous Tx */
-+    BOOLEAN data_sent;
-+        /** CMD sent:
-+          TRUE - CMD is sent to fw, no CMD Done received
-+          FALSE - CMD done received for previous CMD */
-+    BOOLEAN cmd_sent;
-+        /** netdev pointer */
-+    struct net_device *netdev;
-+} uap_dev_t, *puap_dev_t;
-+
-+/** Private structure for the MV device */
-+struct _uap_private
-+{
-+        /** Device open */
-+    int open;
-+
-+        /** Device adapter structure */
-+    uap_adapter *adapter;
-+        /** Device structure */
-+    uap_dev_t uap_dev;
-+
-+        /** Net device statistics structure */
-+    struct net_device_stats stats;
-+
-+        /** Number of Tx timeouts */
-+    u32 num_tx_timeout;
-+
-+        /** Media connection status */
-+    BOOLEAN MediaConnected;
-+
-+#ifdef CONFIG_PROC_FS
-+    struct proc_dir_entry *proc_uap;
-+    struct proc_dir_entry *proc_entry;
-+#endif                          /* CONFIG_PROC_FS */
-+
-+        /** Firmware helper */
-+    const struct firmware *fw_helper;
-+        /** Firmware */
-+    const struct firmware *firmware;
-+        /** Hotplug device */
-+    struct device *hotplug_device;
-+        /** thread to service interrupts */
-+    uap_thread MainThread;
-+        /** Driver lock */
-+    spinlock_t driver_lock;
-+        /** Driver lock flags */
-+    ulong driver_flags;
-+
-+};
-+
-+/** PS_CMD_ConfirmSleep */
-+typedef struct _PS_CMD_ConfirmSleep
-+{
-+        /** SDIO Length */
-+    u16 SDLen;
-+    /** SDIO Type */
-+    u16 SDType;
-+        /** Command */
-+    u16 Command;
-+        /** Size */
-+    u16 Size;
-+        /** Sequence number */
-+    u16 SeqNum;
-+        /** Result */
-+    u16 Result;
-+} __ATTRIB_PACK__ PS_CMD_ConfirmSleep, *PPS_CMD_ConfirmSleep;
-+
-+/** Wlan Adapter data structure*/
-+struct _uap_adapter
-+{
-+        /** Power save confirm sleep command */
-+    PS_CMD_ConfirmSleep PSConfirmSleep;
-+        /** Device status */
-+    HARDWARE_STATUS HardwareStatus;
-+        /** Interrupt counter */
-+    u32 IntCounter;
-+        /** Tx packet queue */
-+    struct sk_buff_head tx_queue;
-+        /** Cmd packet queue */
-+    struct sk_buff_head cmd_queue;
-+        /** Command sequence number */
-+    u16 SeqNum;
-+        /** Command buffer */
-+    u8 *CmdBuf;
-+        /** cmd pending flag */
-+    u8 cmd_pending;
-+        /** cmd wait option */
-+    u8 cmd_wait_option;
-+        /** Command buffer length */
-+    u32 CmdSize;
-+        /** Command wait queue */
-+    wait_queue_head_t cmdwait_q __ATTRIB_ALIGN__;
-+        /** Command wait queue state flag */
-+    u8 CmdWaitQWoken;
-+        /** PnP support */
-+    BOOLEAN SurpriseRemoved;
-+        /** Debug */
-+    uap_dbg dbg;
-+        /** Netlink kernel socket */
-+    struct sock *nl_sk;
-+        /** Semaphore for CMD */
-+    SEMAPHORE CmdSem;
-+         /** Power Save mode */
-+    u8 psmode;
-+        /** Power Save state */
-+    u8 ps_state;
-+        /** Number of wakeup tries */
-+    u32 WakeupTries;
-+};
-+
-+static inline int
-+os_upload_rx_packet(uap_private * priv, struct sk_buff *skb)
-+{
-+    skb->dev = priv->uap_dev.netdev;
-+    skb->protocol = eth_type_trans(skb, priv->uap_dev.netdev);
-+    skb->ip_summed = CHECKSUM_UNNECESSARY;
-+    if (in_interrupt())
-+        netif_rx(skb);
-+    else
-+        netif_rx_ni(skb);
-+    return 0;
-+}
-+
-+/*
-+ *  netif carrier_on/off and start(wake)/stop_queue handling
-+ */
-+static inline void
-+os_carrier_on(uap_private * priv)
-+{
-+    if (!netif_carrier_ok(priv->uap_dev.netdev) &&
-+        (priv->MediaConnected == TRUE)) {
-+        netif_carrier_on(priv->uap_dev.netdev);
-+    }
-+}
-+
-+static inline void
-+os_carrier_off(uap_private * priv)
-+{
-+    if (netif_carrier_ok(priv->uap_dev.netdev)) {
-+        netif_carrier_off(priv->uap_dev.netdev);
-+    }
-+}
-+
-+static inline void
-+os_start_queue(uap_private * priv)
-+{
-+    if (netif_queue_stopped(priv->uap_dev.netdev) &&
-+        (priv->MediaConnected == TRUE)) {
-+        netif_wake_queue(priv->uap_dev.netdev);
-+    }
-+}
-+
-+static inline void
-+os_stop_queue(uap_private * priv)
-+{
-+    if (!netif_queue_stopped(priv->uap_dev.netdev)) {
-+        netif_stop_queue(priv->uap_dev.netdev);
-+    }
-+}
-+
-+/** Interface specific header */
-+#define INTF_HEADER_LEN         4
-+
-+/** headroom alignment for tx packet */
-+#define HEADER_ALIGNMENT      8
-+
-+/** The number of times to try when polling for status bits */
-+#define MAX_POLL_TRIES                        100
-+
-+/** Length of SNAP header */
-+#define MRVDRV_SNAP_HEADER_LEN          8
-+
-+/** Extra length of Tx packet buffer */
-+#define EXTRA_LEN     36
-+
-+/** Buffer size for ethernet Tx packets */
-+#define MRVDRV_ETH_TX_PACKET_BUFFER_SIZE \
-+      (ETH_FRAME_LEN + sizeof(TxPD) + EXTRA_LEN)
-+
-+/** Buffer size for ethernet Rx packets */
-+#define MRVDRV_ETH_RX_PACKET_BUFFER_SIZE \
-+      (ETH_FRAME_LEN + sizeof(RxPD) \
-+       + MRVDRV_SNAP_HEADER_LEN + EXTRA_LEN)
-+
-+/** Packet type: data, command & event */
-+typedef enum _mv_type
-+{
-+    MV_TYPE_DAT = 0,
-+    MV_TYPE_CMD = 1,
-+    MV_TYPE_EVENT = 3
-+} mv_type;
-+
-+/** Disable interrupt */
-+#define OS_INT_DISABLE        spin_lock_irqsave(&priv->driver_lock, priv->driver_flags)
-+/** Enable interrupt */
-+#define       OS_INT_RESTORE  spin_unlock_irqrestore(&priv->driver_lock, priv->driver_flags)
-+
-+int uap_process_rx_packet(uap_private * priv, struct sk_buff *skb);
-+void uap_interrupt(uap_private * priv);
-+uap_private *uap_add_card(void *card);
-+int uap_remove_card(void *card);
-+int uap_process_event(uap_private * priv, u8 * payload, uint len);
-+int uap_soft_reset(uap_private * priv);
-+int uap_process_sleep_confirm_resp(uap_private * priv, u8 * resp, int resp_len);
-+
-+#ifdef CONFIG_PROC_FS
-+/** The proc fs interface */
-+void uap_proc_entry(uap_private * priv, struct net_device *dev);
-+void uap_proc_remove(uap_private * priv);
-+int string_to_number(char *s);
-+void uap_debug_entry(uap_private * priv, struct net_device *dev);
-+void uap_debug_remove(uap_private * priv);
-+#endif /* CONFIG_PROC_FS */
-+
-+int sbi_register(void);
-+
-+void sbi_unregister(void);
-+int sbi_register_dev(uap_private * priv);
-+int sbi_unregister_dev(uap_private * priv);
-+int sbi_prog_fw_w_helper(uap_private *);
-+
-+int sbi_host_to_card(uap_private * priv, u8 * payload, u16 nb);
-+int sbi_enable_host_int(uap_private * priv);
-+int sbi_disable_host_int(uap_private * priv);
-+
-+int sbi_get_int_status(uap_private * priv, u8 * ireg);
-+/** Check firmware status */
-+int sbi_check_fw_status(uap_private *, int);
-+int sbi_prog_helper(uap_private *);
-+
-+int sbi_wakeup_firmware(uap_private * priv);
-+
-+#endif /* _UAP_DRV_H */
-diff --git a/drivers/net/wireless/libertas_uap/uap_fw.h b/drivers/net/wireless/libertas_uap/uap_fw.h
-new file mode 100644
-index 0000000..23a40d6
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_fw.h
-@@ -0,0 +1,359 @@
-+/** @file uap_fw.h
-+ *
-+ * @brief This file contains firmware specific defines.
-+ *
-+ * Copyright (C) 2008-2009, Marvell International Ltd.
-+ *
-+ * This software file (the "File") is distributed by Marvell International
-+ * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+ * (the "License").  You may use, redistribute and/or modify this File in
-+ * accordance with the terms and conditions of the License, a copy of which
-+ * is available along with the File in the gpl.txt file or by writing to
-+ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+ *
-+ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+ * this warranty disclaimer.
-+ *
-+ */
-+/********************************************************
-+Change log:
-+      02/26/08: Initial creation
-+********************************************************/
-+
-+#ifndef _UAP_FW_H
-+#define _UAP_FW_H
-+
-+/** uap upload size */
-+#define       UAP_UPLD_SIZE                   2312
-+/** Packet type Micro AP */
-+#define PKT_TYPE_MICROAP              1
-+/** Packet type client */
-+#define PKT_TYPE_CLIENT                       0
-+
-+/** TxPD descriptor */
-+typedef struct _TxPD
-+{
-+        /** Bss Type */
-+    u8 BssType;
-+        /** Bss num */
-+    u8 BssNum;
-+        /** Tx packet length */
-+    u16 TxPktLength;
-+        /** Tx packet offset */
-+    u16 TxPktOffset;
-+        /** Tx packet type */
-+    u16 TxPktType;
-+        /** Tx Control */
-+    u32 TxControl;
-+        /** reserved */
-+    u32 reserved[2];
-+} __ATTRIB_PACK__ TxPD, *PTxPD;
-+
-+/** RxPD Descriptor */
-+typedef struct _RxPD
-+{
-+        /** Bss Type */
-+    u8 BssType;
-+        /** Bss Num */
-+    u8 BssNum;
-+        /** Tx packet length */
-+    u16 RxPktLength;
-+        /** Tx packet offset */
-+    u16 RxPktOffset;
-+} __ATTRIB_PACK__ RxPD, *PRxPD;
-+
-+#ifdef BIG_ENDIAN
-+/** Convert from 16 bit little endian format to CPU format */
-+#define uap_le16_to_cpu(x) le16_to_cpu(x)
-+/** Convert from 32 bit little endian format to CPU format */
-+#define uap_le32_to_cpu(x) le32_to_cpu(x)
-+/** Convert from 64 bit little endian format to CPU format */
-+#define uap_le64_to_cpu(x) le64_to_cpu(x)
-+/** Convert to 16 bit little endian format from CPU format */
-+#define uap_cpu_to_le16(x) cpu_to_le16(x)
-+/** Convert to 32 bit little endian format from CPU format */
-+#define uap_cpu_to_le32(x) cpu_to_le32(x)
-+/** Convert to 64 bit little endian format from CPU format */
-+#define uap_cpu_to_le64(x) cpu_to_le64(x)
-+
-+/** Convert TxPD to little endian format from CPU format */
-+#define endian_convert_TxPD(x);                                         \
-+    {                                                                   \
-+        (x)->TxPktLength = uap_cpu_to_le16((x)->TxPktLength);         \
-+        (x)->TxPktOffset = uap_cpu_to_le32((x)->TxPktOffset);         \
-+        (x)->TxControl = uap_cpu_to_le32((x)->TxControl);              \
-+        (x)->TxPktType = uap_cpu_to_le32((x)->TxPktType);             \
-+    }
-+
-+/** Convert RxPD from little endian format to CPU format */
-+#define endian_convert_RxPD(x);                                       \
-+    {                                                                 \
-+        (x)->RxPktLength = uap_le16_to_cpu((x)->RxPktLength);         \
-+        (x)->RxPktOffset = uap_le32_to_cpu((x)->RxPktOffset);         \
-+    }
-+#else /* BIG_ENDIAN */
-+/** Do nothing */
-+#define uap_le16_to_cpu(x) x
-+/** Do nothing */
-+#define uap_le32_to_cpu(x) x
-+/** Do nothing */
-+#define uap_le64_to_cpu(x) x
-+/** Do nothing */
-+#define uap_cpu_to_le16(x) x
-+/** Do nothing */
-+#define uap_cpu_to_le32(x) x
-+/** Do nothing */
-+#define uap_cpu_to_le64(x) x
-+
-+/** Do nothing */
-+#define endian_convert_TxPD(x)
-+/** Do nothing */
-+#define endian_convert_RxPD(x)
-+#endif /* BIG_ENDIAN */
-+
-+/** Host Command ID : Function initialization */
-+#define HostCmd_CMD_FUNC_INIT                 0x00a9
-+/** Host Command ID : Function shutdown */
-+#define HostCmd_CMD_FUNC_SHUTDOWN             0x00aa
-+
-+/** Host Command id: SYS_INFO  */
-+#define HOST_CMD_APCMD_SYS_INFO               0x00ae
-+/** Host Command id: SYS_RESET  */
-+#define HOST_CMD_APCMD_SYS_RESET              0x00af
-+/** Host Command id: SYS_CONFIGURE  */
-+#define HOST_CMD_APCMD_SYS_CONFIGURE          0x00b0
-+/** Host Command id: BSS_START  */
-+#define HOST_CMD_APCMD_BSS_START              0x00b1
-+/** Host Command id: SYS_STOP  */
-+#define HOST_CMD_APCMD_BSS_STOP               0x00b2
-+/** Host Command id: STA_LIST  */
-+#define HOST_CMD_APCMD_STA_LIST               0x00b3
-+/** Host Command id: STA_FILTER_TABLE  */
-+#define HOST_CMD_APCMD_STA_FILTER_TABLE       0x00b4
-+/** Host Command id: STA_DEAUTH  */
-+#define HOST_CMD_APCMD_STA_DEAUTH             0x00b5
-+/** Host Command id: SOFT_RESET  */
-+#define HOST_CMD_APCMD_SOFT_RESET             0x00d5
-+/** Host Command id: POWER_MGMT_EXT  */
-+#define HOST_CMD_POWER_MGMT_EXT               0x00ef
-+/** Host Command id: SLEEP_CONFIRM*/
-+#define HOST_CMD_SLEEP_CONFIRM              0x00d8
-+
-+/** TLV type : SSID */
-+#define TLV_TYPE_SSID                         0x0000
-+/** TLV type : Rates */
-+#define TLV_TYPE_RATES                                0x0001
-+/** TLV type : PHY DS */
-+#define TLV_TYPE_PHY_DS                               0x0003
-+
-+/** TLV Id : Base id */
-+#define PROPRIETARY_TLV_BASE_ID               0x0100
-+/** TLV Id : AP_MAC_ADDRESS */
-+#define MRVL_AP_MAC_ADDRESS_TLV_ID      (PROPRIETARY_TLV_BASE_ID + 43)
-+/** TLV Id : Beacon period */
-+#define MRVL_BEACON_PERIOD_TLV_ID       (PROPRIETARY_TLV_BASE_ID + 44)
-+/** TLV Id : Dtim period */
-+#define MRVL_DTIM_PERIOD_TLV_ID         (PROPRIETARY_TLV_BASE_ID + 45)
-+/** TLV Id : Basic rates */
-+#define MRVL_BASIC_RATES_TLV_ID         (PROPRIETARY_TLV_BASE_ID + 46)
-+/** TLV Id : Tx Power */
-+#define MRVL_TX_POWER_TLV_ID            (PROPRIETARY_TLV_BASE_ID + 47)
-+/** TLV Id : Broadcast SSID control */
-+#define MRVL_BCAST_SSID_CTL_TLV_ID      (PROPRIETARY_TLV_BASE_ID + 48)
-+/** TLV Id : Preamble control */
-+#define MRVL_PREAMBLE_CTL_TLV_ID        (PROPRIETARY_TLV_BASE_ID + 49)
-+/** TLV Id : Antenna control */
-+#define MRVL_ANTENNA_CTL_TLV_ID         (PROPRIETARY_TLV_BASE_ID + 50)
-+/** TLV Id : RTS threshold */
-+#define MRVL_RTS_THRESHOLD_TLV_ID       (PROPRIETARY_TLV_BASE_ID + 51)
-+/** TLV Id : Radio control */
-+#define MRVL_RADIO_CTL_TLV_ID           (PROPRIETARY_TLV_BASE_ID + 52)
-+/** TLV Id : TX data rate */
-+#define MRVL_TX_DATA_RATE_TLV_ID        (PROPRIETARY_TLV_BASE_ID + 53)
-+/** TLV Id : Packet forward control */
-+#define MRVL_PKT_FWD_CTL_TLV_ID         (PROPRIETARY_TLV_BASE_ID + 54)
-+/** TLV Id : STA info */
-+#define MRVL_STA_INFO_TLV_ID            (PROPRIETARY_TLV_BASE_ID + 55)
-+/** TLV Id : STA MAC address filter */
-+#define MRVL_STA_MAC_ADDR_FILTER_TLV_ID (PROPRIETARY_TLV_BASE_ID + 56)
-+/** TLV Id : STA ageout timer */
-+#define MRVL_STA_AGEOUT_TIMER_TLV_ID    (PROPRIETARY_TLV_BASE_ID + 57)
-+/** TLV Id : Security config */
-+#define MRVL_SECURITY_CFG_TLV_ID        (PROPRIETARY_TLV_BASE_ID + 58)
-+/** TLV Id : WEP KEY */
-+#define MRVL_WEP_KEY_TLV_ID             (PROPRIETARY_TLV_BASE_ID + 59)
-+/** TLV Id : WPA Passphrase */
-+#define MRVL_WPA_PASSPHRASE_TLV_ID      (PROPRIETARY_TLV_BASE_ID + 60)
-+
-+/** Action get */
-+#define ACTION_GET    0
-+/** Action set */
-+#define ACTION_SET    1
-+/** Length of ethernet address */
-+#ifndef       ETH_ALEN
-+#define ETH_ALEN                      6
-+#endif
-+
-+/** HostCmd_DS_GEN */
-+typedef struct
-+{
-+    /** Command */
-+    u16 Command;
-+    /** Size */
-+    u16 Size;
-+    /** Sequence number */
-+    u16 SeqNum;
-+    /** Result */
-+    u16 Result;
-+} __ATTRIB_PACK__ HostCmd_DS_GEN;
-+
-+/** Size of HostCmd_DS_GEN */
-+#define S_DS_GEN    sizeof(HostCmd_DS_GEN)
-+
-+/** _HostCmd_HEADER*/
-+typedef struct
-+{
-+    /** Command Header : Command */
-+    u16 Command;
-+    /** Command Header : Size */
-+    u16 Size;
-+} __ATTRIB_PACK__ HostCmd_HEADER;
-+
-+/** HostCmd_SYS_CONFIG */
-+typedef struct _HostCmd_SYS_CONFIG
-+{
-+        /** CMD Action GET/SET*/
-+    u16 Action;
-+        /** Tlv buffer */
-+    u8 TlvBuffer[0];
-+} __ATTRIB_PACK__ HostCmd_SYS_CONFIG;
-+
-+/** HostCmd_DS_POWER_MGMT_EXT */
-+typedef struct _HostCmd_DS_POWER_MGMT_EXT
-+{
-+    /** CMD Action Get/Set*/
-+    u16 action;
-+    /** power mode */
-+    u16 power_mode;
-+} __ATTRIB_PACK__ HostCmd_DS_POWER_MGMT_EXT;
-+
-+/** _HostCmd_DS_COMMAND*/
-+typedef struct _HostCmd_DS_COMMAND
-+{
-+
-+        /** Command Header : Command */
-+    u16 Command;
-+        /** Command Header : Size */
-+    u16 Size;
-+        /** Command Header : Sequence number */
-+    u16 SeqNum;
-+        /** Command Header : Result */
-+    u16 Result;
-+        /** Command Body */
-+    union
-+    {
-+        HostCmd_SYS_CONFIG sys_config;
-+        HostCmd_DS_POWER_MGMT_EXT pm_cfg;
-+
-+    } params;
-+} __ATTRIB_PACK__ HostCmd_DS_COMMAND;
-+
-+/** MrvlIEtypesHeader_*/
-+typedef struct _MrvlIEtypesHeader
-+{
-+    /** Header type */
-+    u16 Type;
-+    /** Header length */
-+    u16 Len;
-+} __ATTRIB_PACK__ MrvlIEtypesHeader_t;
-+
-+/** MrvlIEtypes_Data_t */
-+typedef struct _MrvlIEtypes_Data_t
-+{
-+    /** Header */
-+    MrvlIEtypesHeader_t Header;
-+    /** Data */
-+    u8 Data[1];
-+} __ATTRIB_PACK__ MrvlIEtypes_Data_t;
-+
-+/** MrvlIEtypes_ChanListParamSet_t */
-+typedef struct _MrvlIEtypes_MacAddr_t
-+{
-+    /** Header */
-+    MrvlIEtypesHeader_t Header;
-+    /** AP MAC address */
-+    u8 ApMacAddr[ETH_ALEN];
-+} __ATTRIB_PACK__ MrvlIEtypes_MacAddr_t;
-+
-+/** Event ID: BSS started */
-+#define MICRO_AP_EV_ID_BSS_START    46
-+
-+/** Event ID: BSS idle event */
-+#define MICRO_AP_EV_BSS_IDLE       67
-+
-+/** Event ID: BSS active event */
-+#define MICRO_AP_EV_BSS_ACTIVE             68
-+
-+/** Event ID: PS_AWAKE */
-+#define EVENT_PS_AWAKE     0x0a
-+
-+/** Event ID: PS_SLEEP */
-+#define EVENT_PS_SLEEP     0x0b
-+
-+/** PS_STATE */
-+typedef enum _PS_STATE
-+{
-+    PS_STATE_AWAKE,
-+    PS_STATE_PRE_SLEEP,
-+    PS_STATE_SLEEP
-+} PS_STATE;
-+
-+/** TLV type: AP Sleep param */
-+#define TLV_TYPE_AP_SLEEP_PARAM         (PROPRIETARY_TLV_BASE_ID + 106)
-+/** TLV type: AP Inactivity Sleep param */
-+#define TLV_TYPE_AP_INACT_SLEEP_PARAM   (PROPRIETARY_TLV_BASE_ID + 107)
-+
-+/** MrvlIEtypes_sleep_param_t */
-+typedef struct _MrvlIEtypes_sleep_param_t
-+{
-+    /** Header */
-+    MrvlIEtypesHeader_t header;
-+    /** control bitmap */
-+    u32 ctrl_bitmap;
-+    /** min_sleep */
-+    u32 min_sleep;
-+    /** max_sleep */
-+    u32 max_sleep;
-+} __ATTRIB_PACK__ MrvlIEtypes_sleep_param_t;
-+
-+/** MrvlIEtypes_inact_sleep_param_t */
-+typedef struct _MrvlIEtypes_inact_sleep_param_t
-+{
-+    /** Header */
-+    MrvlIEtypesHeader_t header;
-+    /** inactivity timeout */
-+    u32 inactivity_to;
-+    /** min_awake */
-+    u32 min_awake;
-+    /** max_awake */
-+    u32 max_awake;
-+} __ATTRIB_PACK__ MrvlIEtypes_inact_sleep_param_t;
-+
-+/** AP_Event */
-+typedef struct _AP_Event
-+{
-+    /** Event ID */
-+    u32 EventId;
-+    /*
-+     * Reserved for STA_ASSOCIATED event and contains
-+     * status information for the MIC_COUNTERMEASURES event.
-+     */
-+    /** Reserved/status */
-+    u16 status;
-+    /** AP MAC address */
-+    u8 MacAddr[ETH_ALEN];
-+} __ATTRIB_PACK__ AP_Event;
-+#endif /* _UAP_FW_H */
-diff --git a/drivers/net/wireless/libertas_uap/uap_headers.h b/drivers/net/wireless/libertas_uap/uap_headers.h
-new file mode 100644
-index 0000000..fa09af4
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_headers.h
-@@ -0,0 +1,64 @@
-+/** @file uap_headers.h
-+ *
-+ * @brief This file contains all the necessary include file.
-+ *
-+  * Copyright (C) 2008-2009, Marvell International Ltd.
-+ *
-+ * This software file (the "File") is distributed by Marvell International
-+ * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+ * (the "License").  You may use, redistribute and/or modify this File in
-+ * accordance with the terms and conditions of the License, a copy of which
-+ * is available along with the File in the gpl.txt file or by writing to
-+ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+ *
-+ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+ * this warranty disclaimer.
-+ *
-+ */
-+#ifndef _UAP_HEADERS_H
-+#define _UAP_HEADERS_H
-+
-+/* Linux header files */
-+#include    <linux/kernel.h>
-+#include    <linux/module.h>
-+#include    <linux/init.h>
-+#include    <linux/version.h>
-+#include    <linux/param.h>
-+#include    <linux/types.h>
-+#include    <linux/interrupt.h>
-+#include    <linux/proc_fs.h>
-+#include    <linux/kthread.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
-+#include    <linux/semaphore.h>
-+#else
-+#include    <asm/semaphore.h>
-+#endif
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
-+#include    <linux/config.h>
-+#endif
-+
-+/* Net header files */
-+#include    <linux/netdevice.h>
-+#include    <linux/net.h>
-+#include    <linux/skbuff.h>
-+#include    <linux/if_ether.h>
-+#include    <linux/etherdevice.h>
-+#include    <net/sock.h>
-+#include    <linux/netlink.h>
-+#include    <linux/firmware.h>
-+#include    <linux/delay.h>
-+
-+#include    "uap_drv.h"
-+#include    "uap_fw.h"
-+
-+#include <linux/mmc/sdio.h>
-+#include <linux/mmc/sdio_ids.h>
-+#include <linux/mmc/sdio_func.h>
-+#include <linux/mmc/card.h>
-+#include "uap_sdio_mmc.h"
-+
-+#endif /* _UAP_HEADERS_H */
-diff --git a/drivers/net/wireless/libertas_uap/uap_main.c b/drivers/net/wireless/libertas_uap/uap_main.c
-new file mode 100644
-index 0000000..6ad8403
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_main.c
-@@ -0,0 +1,1817 @@
-+/** @file uap_main.c
-+  * @brief This file contains the major functions in uAP
-+  * driver. It includes init, exit etc..
-+  * This file also contains the initialization for SW,
-+  * FW and HW
-+  *
-+  * Copyright (C) 2008-2009, Marvell International Ltd.
-+  *
-+  * This software file (the "File") is distributed by Marvell International
-+  * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+  * (the "License").  You may use, redistribute and/or modify this File in
-+  * accordance with the terms and conditions of the License, a copy of which
-+  * is available along with the File in the gpl.txt file or by writing to
-+  * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+  * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+  *
-+  * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+  * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+  * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+  * this warranty disclaimer.
-+  *
-+  */
-+/**
-+  * @mainpage uAP Linux Driver
-+  *
-+  * @section overview_sec Overview
-+  *
-+  * This is Linux reference driver for Marvell uAP.
-+  *
-+  * @section copyright_sec Copyright
-+  *
-+  * Copyright (C) 2008, Marvell International Ltd.
-+  *
-+  */
-+
-+#include      "uap_headers.h"
-+
-+/**
-+ * the global variable of a pointer to uap_private
-+ * structure variable
-+ */
-+uap_private *uappriv = NULL;
-+#ifdef DEBUG_LEVEL1
-+#define DEFAULT_DEBUG_MASK    (DBG_MSG | DBG_FATAL | DBG_ERROR)
-+u32 drvdbg = DEFAULT_DEBUG_MASK;
-+#endif
-+/** Helper name */
-+char *helper_name = NULL;
-+/** Firmware name */
-+char *fw_name = NULL;
-+
-+/** Semaphore for add/remove card */
-+SEMAPHORE AddRemoveCardSem;
-+
-+/********************************************************
-+              Local Functions
-+********************************************************/
-+/**
-+ *  @brief This function send sleep confirm command to firmware
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS for success otherwise UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_dnld_sleep_confirm_cmd(uap_private * priv)
-+{
-+    uap_adapter *Adapter = priv->adapter;
-+    int ret = UAP_STATUS_SUCCESS;
-+    ENTER();
-+    PRINTM(CMND, "Sleep confirm\n");
-+    Adapter->cmd_pending = TRUE;
-+    Adapter->cmd_wait_option = HostCmd_OPTION_WAITFORRSP_SLEEPCONFIRM;
-+    ret =
-+        sbi_host_to_card(priv, (u8 *) & Adapter->PSConfirmSleep,
-+                         sizeof(PS_CMD_ConfirmSleep));
-+    if (ret != UAP_STATUS_SUCCESS) {
-+        Adapter->ps_state = PS_STATE_AWAKE;
-+        Adapter->cmd_pending = FALSE;
-+        Adapter->cmd_wait_option = FALSE;
-+    }
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function process sleep confirm resp from firmware
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @param resp       A pointer to resp buf
-+ *  @param resp_len   resp buf len
-+ *  @return      UAP_STATUS_SUCCESS for success otherwise UAP_STATUS_FAILURE
-+ */
-+int
-+uap_process_sleep_confirm_resp(uap_private * priv, u8 * resp, int resp_len)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    HostCmd_DS_COMMAND *cmd;
-+    uap_adapter *Adapter = priv->adapter;
-+    ENTER();
-+    PRINTM(CMND, "Sleep confirm resp\n");
-+    if (!resp_len) {
-+        PRINTM(ERROR, "Cmd Size is 0\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    cmd = (HostCmd_DS_COMMAND *) resp;
-+    cmd->Result = uap_le16_to_cpu(cmd->Result);
-+    if (cmd->Result != UAP_STATUS_SUCCESS) {
-+        PRINTM(ERROR, "HOST_CMD_APCMD_PS_SLEEP_CONFIRM fail=%x\n", cmd->Result);
-+        ret = -EFAULT;
-+    }
-+  done:
-+    if (ret == UAP_STATUS_SUCCESS)
-+        Adapter->ps_state = PS_STATE_SLEEP;
-+    else
-+        Adapter->ps_state = PS_STATE_AWAKE;
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function checks condition and prepares to
-+ *  send sleep confirm command to firmware if OK.
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @return           n/a
-+ */
-+static void
-+uap_ps_cond_check(uap_private * priv)
-+{
-+    uap_adapter *Adapter = priv->adapter;
-+
-+    ENTER();
-+    if (!priv->uap_dev.cmd_sent &&
-+        !Adapter->cmd_pending && !Adapter->IntCounter) {
-+        uap_dnld_sleep_confirm_cmd(priv);
-+    } else {
-+        PRINTM(INFO, "Delay Sleep Confirm (%s%s%s)\n",
-+               (priv->uap_dev.cmd_sent) ? "D" : "",
-+               (Adapter->cmd_pending) ? "C" : "",
-+               (Adapter->IntCounter) ? "I" : "");
-+    }
-+    LEAVE();
-+}
-+
-+/**
-+ *  @brief This function add cmd to cmdQ and waiting for response
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param skb           A pointer to the skb for process
-+ *  @param wait_option Wait option
-+ *  @return      UAP_STATUS_SUCCESS for success otherwise UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_process_cmd(uap_private * priv, struct sk_buff *skb, u8 wait_option)
-+{
-+    uap_adapter *Adapter = priv->adapter;
-+    int ret = UAP_STATUS_SUCCESS;
-+    HostCmd_DS_COMMAND *cmd;
-+    u8 *headptr;
-+    ENTER();
-+    if (Adapter->HardwareStatus != HWReady) {
-+        PRINTM(ERROR, "Hw not ready, uap_process_cmd\n");
-+        kfree(skb);
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    skb->cb[0] = wait_option;
-+    headptr = skb->data;
-+    *(u16 *) & headptr[0] = uap_cpu_to_le16(skb->len);
-+    *(u16 *) & headptr[2] = uap_cpu_to_le16(MV_TYPE_CMD);
-+    cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN);
-+    Adapter->SeqNum++;
-+    cmd->SeqNum = uap_cpu_to_le16(Adapter->SeqNum);
-+    PRINTM(CMND, "process_cmd: %x\n", cmd->Command);
-+    DBG_HEXDUMP(CMD_D, "process_cmd", (u8 *) cmd, cmd->Size);
-+    if (!wait_option) {
-+        skb_queue_tail(&priv->adapter->cmd_queue, skb);
-+        wake_up_interruptible(&priv->MainThread.waitQ);
-+        LEAVE();
-+        return ret;
-+    }
-+    if (OS_ACQ_SEMAPHORE_BLOCK(&Adapter->CmdSem)) {
-+        PRINTM(ERROR, "Acquire semaphore error, uap_prepare_cmd\n");
-+        kfree(skb);
-+        LEAVE();
-+        return -EBUSY;
-+    }
-+    skb_queue_tail(&priv->adapter->cmd_queue, skb);
-+    Adapter->CmdWaitQWoken = FALSE;
-+    wake_up_interruptible(&priv->MainThread.waitQ);
-+    /* Sleep until response is generated by FW */
-+    if (wait_option == HostCmd_OPTION_WAITFORRSP_TIMEOUT) {
-+        if (!os_wait_interruptible_timeout
-+            (Adapter->cmdwait_q, Adapter->CmdWaitQWoken, MRVDRV_TIMER_20S)) {
-+            PRINTM(ERROR, "Cmd timeout\n");
-+            Adapter->cmd_pending = FALSE;
-+            ret = -EFAULT;
-+        }
-+    } else
-+        wait_event_interruptible(Adapter->cmdwait_q, Adapter->CmdWaitQWoken);
-+    OS_REL_SEMAPHORE(&Adapter->CmdSem);
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief Inspect the response buffer for pointers to expected TLVs
-+ *
-+ *
-+ *  @param pTlv        Pointer to the start of the TLV buffer to parse
-+ *  @param tlvBufSize  Size of the TLV buffer
-+ *  @param reqTlvType  request tlv's tlvtype
-+ *  @param ppTlv       Output parameter: Pointer to the request TLV if found
-+ *
-+ *  @return            void
-+ */
-+static void
-+uap_get_tlv_ptrs(MrvlIEtypes_Data_t * pTlv, int tlvBufSize,
-+                 u16 reqTlvType, MrvlIEtypes_Data_t ** ppTlv)
-+{
-+    MrvlIEtypes_Data_t *pCurrentTlv;
-+    int tlvBufLeft;
-+    u16 tlvType;
-+    u16 tlvLen;
-+
-+    ENTER();
-+    pCurrentTlv = pTlv;
-+    tlvBufLeft = tlvBufSize;
-+    *ppTlv = NULL;
-+    PRINTM(INFO, "uap_get_tlv: tlvBufSize = %d, reqTlvType=%x\n", tlvBufSize,
-+           reqTlvType);
-+    while (tlvBufLeft >= sizeof(MrvlIEtypesHeader_t)) {
-+        tlvType = uap_le16_to_cpu(pCurrentTlv->Header.Type);
-+        tlvLen = uap_le16_to_cpu(pCurrentTlv->Header.Len);
-+        if (reqTlvType == tlvType)
-+            *ppTlv = (MrvlIEtypes_Data_t *) pCurrentTlv;
-+        if (*ppTlv) {
-+            HEXDUMP("TLV Buf", (u8 *) * ppTlv, tlvLen);
-+            break;
-+        }
-+        tlvBufLeft -= (sizeof(pTlv->Header) + tlvLen);
-+        pCurrentTlv = (MrvlIEtypes_Data_t *) (pCurrentTlv->Data + tlvLen);
-+    }                           /* while */
-+    LEAVE();
-+}
-+
-+/**
-+ *  @brief This function get mac
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS on success, otherwise failure code
-+ */
-+static int
-+uap_get_mac_address(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u32 CmdSize;
-+    HostCmd_DS_COMMAND *cmd;
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb;
-+    MrvlIEtypes_MacAddr_t *pMacAddrTlv;
-+    MrvlIEtypes_Data_t *pTlv;
-+    u16 tlvBufSize;
-+    ENTER();
-+    skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER);
-+    if (!skb) {
-+        PRINTM(ERROR, "No free skb\n");
-+        ret = -ENOMEM;
-+        goto done;
-+    }
-+    CmdSize =
-+        S_DS_GEN + sizeof(HostCmd_SYS_CONFIG) + sizeof(MrvlIEtypes_MacAddr_t);
-+    cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN);
-+    cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_SYS_CONFIGURE);
-+    cmd->Size = uap_cpu_to_le16(CmdSize);
-+    cmd->params.sys_config.Action = uap_cpu_to_le16(ACTION_GET);
-+    pMacAddrTlv =
-+        (MrvlIEtypes_MacAddr_t *) (skb->data + INTF_HEADER_LEN + S_DS_GEN +
-+                                   sizeof(HostCmd_SYS_CONFIG));
-+    pMacAddrTlv->Header.Type = uap_cpu_to_le16(MRVL_AP_MAC_ADDRESS_TLV_ID);
-+    pMacAddrTlv->Header.Len = uap_cpu_to_le16(ETH_ALEN);
-+    skb_put(skb, CmdSize + INTF_HEADER_LEN);
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) {
-+        PRINTM(ERROR, "Fail to process cmd SYS_CONFIGURE Query\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    if (!Adapter->CmdSize) {
-+        PRINTM(ERROR, "Cmd Size is 0\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    cmd = (HostCmd_DS_COMMAND *) Adapter->CmdBuf;
-+    cmd->Result = uap_le16_to_cpu(cmd->Result);
-+    if (cmd->Result != UAP_STATUS_SUCCESS) {
-+        PRINTM(ERROR, "uap_get_mac_address fail=%x\n", cmd->Result);
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    pTlv =
-+        (MrvlIEtypes_Data_t *) (Adapter->CmdBuf + S_DS_GEN +
-+                                sizeof(HostCmd_SYS_CONFIG));
-+    tlvBufSize = Adapter->CmdSize - S_DS_GEN - sizeof(HostCmd_SYS_CONFIG);
-+    uap_get_tlv_ptrs(pTlv, tlvBufSize, MRVL_AP_MAC_ADDRESS_TLV_ID,
-+                     (MrvlIEtypes_Data_t **) & pMacAddrTlv);
-+    if (pMacAddrTlv) {
-+        memcpy(priv->uap_dev.netdev->dev_addr, pMacAddrTlv->ApMacAddr,
-+               ETH_ALEN);
-+        HEXDUMP("Original MAC addr", priv->uap_dev.netdev->dev_addr, ETH_ALEN);
-+    }
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function checks the conditions and sends packet to device
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param skb           A pointer to the skb for process
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_process_tx(uap_private * priv, struct sk_buff *skb)
-+{
-+    uap_adapter *Adapter = priv->adapter;
-+    int ret = UAP_STATUS_SUCCESS;
-+    TxPD *pLocalTxPD;
-+    u8 *headptr;
-+    struct sk_buff *newskb;
-+    int newheadlen;
-+    ENTER();
-+    ASSERT(skb);
-+    if (!skb) {
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+    if (skb_headroom(skb) < (sizeof(TxPD) + INTF_HEADER_LEN + HEADER_ALIGNMENT)) {
-+        newheadlen = sizeof(TxPD) + INTF_HEADER_LEN + HEADER_ALIGNMENT;
-+        PRINTM(WARN, "Tx: Insufficient skb headroom %d\n", skb_headroom(skb));
-+        /* Insufficient skb headroom - allocate a new skb */
-+        newskb = skb_realloc_headroom(skb, newheadlen);
-+        if (unlikely(newskb == NULL)) {
-+            PRINTM(ERROR, "Tx: Cannot allocate skb\n");
-+            ret = UAP_STATUS_FAILURE;
-+            goto done;
-+        }
-+        kfree_skb(skb);
-+        skb = newskb;
-+        PRINTM(INFO, "new skb headroom %d\n", skb_headroom(skb));
-+    }
-+    /* headptr should be aligned */
-+    headptr = skb->data - sizeof(TxPD) - INTF_HEADER_LEN;
-+    headptr = (u8 *) ((u32) headptr & ~((u32) (HEADER_ALIGNMENT - 1)));
-+
-+    pLocalTxPD = (TxPD *) (headptr + INTF_HEADER_LEN);
-+    memset(pLocalTxPD, 0, sizeof(TxPD));
-+    pLocalTxPD->BssType = PKT_TYPE_MICROAP;
-+    pLocalTxPD->TxPktLength = skb->len;
-+    /* offset of actual data */
-+    pLocalTxPD->TxPktOffset = (long) skb->data - (long) pLocalTxPD;
-+    endian_convert_TxPD(pLocalTxPD);
-+    *(u16 *) & headptr[0] =
-+        uap_cpu_to_le16(skb->len + ((long) skb->data - (long) headptr));
-+    *(u16 *) & headptr[2] = uap_cpu_to_le16(MV_TYPE_DAT);
-+    ret =
-+        sbi_host_to_card(priv, headptr,
-+                         skb->len + ((long) skb->data - (long) headptr));
-+    if (ret) {
-+        PRINTM(ERROR, "uap_process_tx Error: sbi_host_to_card failed: 0x%X\n",
-+               ret);
-+        Adapter->dbg.num_tx_host_to_card_failure++;
-+        goto done;
-+    }
-+    PRINTM(DATA, "Data => FW\n");
-+    DBG_HEXDUMP(DAT_D, "Tx", headptr,
-+                MIN(skb->len + sizeof(TxPD), DATA_DUMP_LEN));
-+  done:
-+    /* Freed skb */
-+    kfree_skb(skb);
-+    LEAVE();
-+    return ret;
-+}
-+
-+static struct netlink_kernel_cfg cfg = {
-+      .groups = NL_MULTICAST_GROUP,
-+};
-+
-+/**
-+ *  @brief This function initializes the adapter structure
-+ *  and set default value to the member of adapter.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_init_sw(uap_private * priv)
-+{
-+    uap_adapter *Adapter = priv->adapter;
-+
-+    ENTER();
-+
-+    if (!(Adapter->CmdBuf = kmalloc(MRVDRV_SIZE_OF_CMD_BUFFER, GFP_KERNEL))) {
-+        PRINTM(INFO, "Failed to allocate command buffer!\n");
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+
-+    Adapter->cmd_pending = FALSE;
-+    Adapter->CmdWaitQWoken = FALSE;
-+    Adapter->ps_state = PS_STATE_AWAKE;
-+    Adapter->WakeupTries = 0;
-+
-+    memset(&Adapter->PSConfirmSleep, 0, sizeof(PS_CMD_ConfirmSleep));
-+        /** SDIO header */
-+    Adapter->PSConfirmSleep.SDLen =
-+        uap_cpu_to_le16(sizeof(PS_CMD_ConfirmSleep));
-+    Adapter->PSConfirmSleep.SDType = uap_cpu_to_le16(MV_TYPE_CMD);
-+    Adapter->PSConfirmSleep.SeqNum = 0;
-+    Adapter->PSConfirmSleep.Command = uap_cpu_to_le16(HOST_CMD_SLEEP_CONFIRM);
-+    Adapter->PSConfirmSleep.Size = uap_cpu_to_le16(sizeof(HostCmd_DS_GEN));
-+    Adapter->PSConfirmSleep.Result = 0;
-+
-+    init_waitqueue_head(&Adapter->cmdwait_q);
-+    OS_INIT_SEMAPHORE(&Adapter->CmdSem);
-+
-+    skb_queue_head_init(&Adapter->tx_queue);
-+    skb_queue_head_init(&Adapter->cmd_queue);
-+
-+    /* Status variable */
-+    Adapter->HardwareStatus = HWInitializing;
-+
-+    /* PnP support */
-+    Adapter->SurpriseRemoved = FALSE;
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
-+    Adapter->nl_sk = netlink_kernel_create(NETLINK_MARVELL,
-+                                           NL_MULTICAST_GROUP, NULL,
-+                                           THIS_MODULE);
-+#else
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
-+    Adapter->nl_sk = netlink_kernel_create(NETLINK_MARVELL,
-+                                           NL_MULTICAST_GROUP, NULL, NULL,
-+                                           THIS_MODULE);
-+#else
-+    Adapter->nl_sk = netlink_kernel_create(&init_net, NETLINK_MARVELL, &cfg);
-+#endif
-+#endif
-+    if (!Adapter->nl_sk) {
-+        PRINTM(ERROR,
-+               "Could not initialize netlink event passing mechanism!\n");
-+    }
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+
-+/**
-+ *  @brief This function sends FUNC_INIT command to firmware
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS on success, otherwise failure code
-+ */
-+static int
-+uap_func_init(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u32 CmdSize;
-+    HostCmd_DS_GEN *cmd;
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb;
-+    ENTER();
-+    if (Adapter->HardwareStatus != HWReady) {
-+        PRINTM(ERROR, "uap_func_init:Hardware is not ready!\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER);
-+    if (!skb) {
-+        PRINTM(ERROR, "No free skb\n");
-+        ret = -ENOMEM;
-+        goto done;
-+    }
-+    CmdSize = sizeof(HostCmd_DS_GEN);
-+    cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN);
-+    cmd->Command = uap_cpu_to_le16(HostCmd_CMD_FUNC_INIT);
-+    cmd->Size = uap_cpu_to_le16(CmdSize);
-+    skb_put(skb, CmdSize + INTF_HEADER_LEN);
-+    PRINTM(CMND, "HostCmd_CMD_FUNC_INIT\n");
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) {
-+        PRINTM(ERROR, "Fail to process cmd HostCmd_CMD_FUNC_INIT\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function sends FUNC_SHUTDOWN command to firmware
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS on success, otherwise failure code
-+ */
-+static int __exit
-+uap_func_shutdown(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u32 CmdSize;
-+    HostCmd_DS_GEN *cmd;
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb;
-+    ENTER();
-+    if (Adapter->HardwareStatus != HWReady) {
-+        PRINTM(ERROR, "uap_func_shutdown:Hardware is not ready!\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER);
-+    if (!skb) {
-+        PRINTM(ERROR, "No free skb\n");
-+        ret = -ENOMEM;
-+        goto done;
-+    }
-+    CmdSize = sizeof(HostCmd_DS_GEN);
-+    cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN);
-+    cmd->Command = uap_cpu_to_le16(HostCmd_CMD_FUNC_SHUTDOWN);
-+    cmd->Size = uap_cpu_to_le16(CmdSize);
-+    skb_put(skb, CmdSize + INTF_HEADER_LEN);
-+    PRINTM(CMND, "HostCmd_CMD_FUNC_SHUTDOWN\n");
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) {
-+        PRINTM(ERROR, "Fail to process cmd HostCmd_CMD_FUNC_SHUTDOWN\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function initializes firmware
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_init_fw(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    ENTER();
-+    sbi_disable_host_int(priv);
-+    /* Check if firmware is already running */
-+    if (sbi_check_fw_status(priv, 1) == UAP_STATUS_SUCCESS) {
-+        PRINTM(MSG, "UAP FW already running! Skip FW download\n");
-+    } else {
-+        if ((ret = request_firmware(&priv->fw_helper, helper_name,
-+                                    priv->hotplug_device)) < 0) {
-+            PRINTM(FATAL,
-+                   "request_firmware() failed (helper), error code = %#x\n",
-+                   ret);
-+            goto done;
-+        }
-+
-+        /* Download the helper */
-+        ret = sbi_prog_helper(priv);
-+
-+        if (ret) {
-+            PRINTM(FATAL,
-+                   "Bootloader in invalid state! Helper download failed!\n");
-+            ret = UAP_STATUS_FAILURE;
-+            goto done;
-+        }
-+        if ((ret = request_firmware(&priv->firmware, fw_name,
-+                                    priv->hotplug_device)) < 0) {
-+            PRINTM(FATAL, "request_firmware() failed, error code = %#x\n", ret);
-+            goto done;
-+        }
-+
-+        /* Download the main firmware via the helper firmware */
-+        if (sbi_prog_fw_w_helper(priv)) {
-+            PRINTM(FATAL, "UAP FW download failed!\n");
-+            ret = UAP_STATUS_FAILURE;
-+            goto done;
-+        }
-+        /* Check if the firmware is downloaded successfully or not */
-+        if (sbi_check_fw_status(priv, MAX_FIRMWARE_POLL_TRIES) ==
-+            UAP_STATUS_FAILURE) {
-+            PRINTM(FATAL, "FW failed to be active in time!\n");
-+            ret = UAP_STATUS_FAILURE;
-+            goto done;
-+        }
-+        PRINTM(MSG, "UAP FW is active\n");
-+    }
-+    sbi_enable_host_int(priv);
-+    priv->adapter->HardwareStatus = HWReady;
-+    if (uap_func_init(priv) != UAP_STATUS_SUCCESS) {
-+        ret = UAP_STATUS_FAILURE;
-+        goto done;
-+    }
-+  done:
-+    if (priv->fw_helper)
-+        release_firmware(priv->fw_helper);
-+    if (priv->firmware)
-+        release_firmware(priv->firmware);
-+    LEAVE();
-+    return ret;
-+
-+}
-+
-+/**
-+ *  @brief This function frees the structure of adapter
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      n/a
-+ */
-+static void
-+uap_free_adapter(uap_private * priv)
-+{
-+    uap_adapter *Adapter = priv->adapter;
-+
-+    ENTER();
-+
-+    if (Adapter) {
-+        if ((Adapter->nl_sk) && ((Adapter->nl_sk)->sk_socket)) {
-+            sock_release((Adapter->nl_sk)->sk_socket);
-+            Adapter->nl_sk = NULL;
-+        }
-+        if (Adapter->CmdBuf)
-+            kfree(Adapter->CmdBuf);
-+        skb_queue_purge(&priv->adapter->tx_queue);
-+        skb_queue_purge(&priv->adapter->cmd_queue);
-+        /* Free the adapter object itself */
-+        kfree(Adapter);
-+        priv->adapter = NULL;
-+    }
-+
-+    LEAVE();
-+}
-+
-+/**
-+ *  @brief This function handles the major job in uap driver.
-+ *  it handles the event generated by firmware, rx data received
-+ *  from firmware and tx data sent from kernel.
-+ *
-+ *  @param data    A pointer to uap_thread structure
-+ *  @return        BT_STATUS_SUCCESS
-+ */
-+static int
-+uap_service_main_thread(void *data)
-+{
-+    uap_thread *thread = data;
-+    uap_private *priv = thread->priv;
-+    uap_adapter *Adapter = priv->adapter;
-+    wait_queue_t wait;
-+    u8 ireg = 0;
-+    struct sk_buff *skb;
-+    ENTER();
-+    uap_activate_thread(thread);
-+    init_waitqueue_entry(&wait, current);
-+    current->flags |= PF_NOFREEZE;
-+
-+    for (;;) {
-+        add_wait_queue(&thread->waitQ, &wait);
-+        OS_SET_THREAD_STATE(TASK_INTERRUPTIBLE);
-+        if ((Adapter->WakeupTries) ||
-+            (!Adapter->IntCounter && Adapter->ps_state == PS_STATE_PRE_SLEEP) ||
-+            (!priv->adapter->IntCounter
-+             && (priv->uap_dev.data_sent ||
-+                 skb_queue_empty(&priv->adapter->tx_queue))
-+             && (priv->uap_dev.cmd_sent || Adapter->cmd_pending ||
-+                 skb_queue_empty(&priv->adapter->cmd_queue))
-+            )) {
-+            PRINTM(INFO, "Main: Thread sleeping...\n");
-+            schedule();
-+        }
-+        OS_SET_THREAD_STATE(TASK_RUNNING);
-+        remove_wait_queue(&thread->waitQ, &wait);
-+        if (kthread_should_stop() || Adapter->SurpriseRemoved) {
-+            PRINTM(INFO, "main-thread: break from main thread: "
-+                   "SurpriseRemoved=0x%x\n", Adapter->SurpriseRemoved);
-+            /* Cancel pending command */
-+            if (Adapter->cmd_pending == TRUE) {
-+                /* Wake up cmd Q */
-+                Adapter->CmdWaitQWoken = TRUE;
-+                wake_up_interruptible(&Adapter->cmdwait_q);
-+            }
-+            break;
-+        }
-+
-+        PRINTM(INFO, "Main: Thread waking up...\n");
-+        if (priv->adapter->IntCounter) {
-+            OS_INT_DISABLE;
-+            Adapter->IntCounter = 0;
-+            OS_INT_RESTORE;
-+            sbi_get_int_status(priv, &ireg);
-+        } else if ((priv->adapter->ps_state == PS_STATE_SLEEP) &&
-+                   (!skb_queue_empty(&priv->adapter->cmd_queue) ||
-+                    !skb_queue_empty(&priv->adapter->tx_queue))) {
-+            priv->adapter->WakeupTries++;
-+            PRINTM(CMND, "%lu : Wakeup device...\n", os_time_get());
-+            sbi_wakeup_firmware(priv);
-+            continue;
-+        }
-+        if (Adapter->ps_state == PS_STATE_PRE_SLEEP)
-+            uap_ps_cond_check(priv);
-+
-+        /* The PS state is changed during processing of Sleep Request event
-+           above */
-+        if ((Adapter->ps_state == PS_STATE_SLEEP) ||
-+            (Adapter->ps_state == PS_STATE_PRE_SLEEP))
-+            continue;
-+        /* Execute the next command */
-+        if (!priv->uap_dev.cmd_sent && !Adapter->cmd_pending &&
-+            (Adapter->HardwareStatus == HWReady)) {
-+            if (!skb_queue_empty(&priv->adapter->cmd_queue)) {
-+                skb = skb_dequeue(&priv->adapter->cmd_queue);
-+                if (skb) {
-+                    Adapter->CmdSize = 0;
-+                    Adapter->cmd_pending = TRUE;
-+                    Adapter->cmd_wait_option = skb->cb[0];
-+                    if (sbi_host_to_card(priv, skb->data, skb->len)) {
-+                        PRINTM(ERROR, "Cmd:sbi_host_to_card failed!\n");
-+                        Adapter->cmd_pending = FALSE;
-+                        Adapter->dbg.num_cmd_host_to_card_failure++;
-+                        /* Wake up cmd Q */
-+                        Adapter->CmdWaitQWoken = TRUE;
-+                        wake_up_interruptible(&Adapter->cmdwait_q);
-+                    } else {
-+                        if (Adapter->cmd_wait_option ==
-+                            HostCmd_OPTION_WAITFORSEND) {
-+                            /* Wake up cmd Q */
-+                            Adapter->CmdWaitQWoken = TRUE;
-+                            wake_up_interruptible(&Adapter->cmdwait_q);
-+                            Adapter->cmd_wait_option = FALSE;
-+                        }
-+                    }
-+                    kfree_skb(skb);
-+                }
-+            }
-+        }
-+        if (!priv->uap_dev.data_sent && (Adapter->HardwareStatus == HWReady)) {
-+            if (!skb_queue_empty(&priv->adapter->tx_queue)) {
-+                skb = skb_dequeue(&priv->adapter->tx_queue);
-+                if (skb) {
-+                    if (uap_process_tx(priv, skb)) {
-+                        priv->stats.tx_dropped++;
-+                        priv->stats.tx_errors++;
-+                        os_start_queue(priv);
-+                    } else {
-+                        priv->stats.tx_packets++;
-+                        priv->stats.tx_bytes += skb->len;
-+                    }
-+
-+                }
-+            }
-+        }
-+    }
-+    uap_deactivate_thread(thread);
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+
-+/**
-+ *  @brief uap hostcmd ioctl handler
-+ *
-+ *  @param dev      A pointer to net_device structure
-+ *  @param req      A pointer to ifreq structure
-+ *  @return         UAP_STATUS_SUCCESS --success, otherwise fail
-+ */
-+/*********  format of ifr_data *************/
-+/*    buf_len + Hostcmd_body             */
-+/*    buf_len: 4 bytes                     */
-+/*             the length of the buf which */
-+/*             can be used to return data  */
-+/*             to application            */
-+/*    Hostcmd_body                       */
-+/*******************************************/
-+static int
-+uap_hostcmd_ioctl(struct net_device *dev, struct ifreq *req)
-+{
-+    u32 buf_len;
-+    HostCmd_HEADER head;
-+    uap_private *priv = (uap_private *) netdev_priv(dev);
-+    uap_adapter *Adapter = priv->adapter;
-+    int ret = UAP_STATUS_SUCCESS;
-+    struct sk_buff *skb;
-+
-+    ENTER();
-+
-+    /* Sanity check */
-+    if (req->ifr_data == NULL) {
-+        PRINTM(ERROR, "uap_hostcmd_ioctl() corrupt data\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    if (copy_from_user(&buf_len, req->ifr_data, sizeof(buf_len))) {
-+        PRINTM(ERROR, "Copy from user failed\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    memset(&head, 0, sizeof(HostCmd_HEADER));
-+    /* Get the command size from user space */
-+    if (copy_from_user
-+        (&head, req->ifr_data + sizeof(buf_len), sizeof(HostCmd_HEADER))) {
-+        PRINTM(ERROR, "Copy from user failed\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    head.Size = uap_le16_to_cpu(head.Size);
-+    if (head.Size > MRVDRV_SIZE_OF_CMD_BUFFER) {
-+        PRINTM(ERROR, "CmdSize too big=%d\n", head.Size);
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    PRINTM(CMND, "ioctl: hostcmd=%x, size=%d,buf_len=%d\n", head.Command,
-+           head.Size, buf_len);
-+    skb = dev_alloc_skb(head.Size + INTF_HEADER_LEN);
-+    if (!skb) {
-+        PRINTM(ERROR, "No free skb\n");
-+        LEAVE();
-+        return -ENOMEM;
-+    }
-+
-+    /* Get the command from user space */
-+    if (copy_from_user
-+        (skb->data + INTF_HEADER_LEN, req->ifr_data + sizeof(buf_len),
-+         head.Size)) {
-+        PRINTM(ERROR, "Copy from user failed\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    skb_put(skb, head.Size + INTF_HEADER_LEN);
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP)) {
-+        PRINTM(ERROR, "Fail to process cmd\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    if (!Adapter->CmdSize) {
-+        PRINTM(ERROR, "Cmd Size is 0\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    if (Adapter->CmdSize > buf_len) {
-+        PRINTM(ERROR, "buf_len is too small\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    /* Copy to user */
-+    if (copy_to_user
-+        (req->ifr_data + sizeof(buf_len), Adapter->CmdBuf, Adapter->CmdSize)) {
-+        PRINTM(ERROR, "Copy to user failed!\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief uap power mode ioctl handler
-+ *
-+ *  @param dev      A pointer to net_device structure
-+ *  @param req      A pointer to ifreq structure
-+ *  @return         UAP_STATUS_SUCCESS --success, otherwise fail
-+ */
-+static int
-+uap_power_mode_ioctl(struct net_device *dev, struct ifreq *req)
-+{
-+    ps_mgmt pm_cfg;
-+    int ret = UAP_STATUS_SUCCESS;
-+    uap_private *priv = (uap_private *) netdev_priv(dev);
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb = NULL;
-+    HostCmd_DS_COMMAND *cmd;
-+    u32 CmdSize;
-+    u8 *tlv = NULL;
-+    MrvlIEtypes_sleep_param_t *sleep_tlv = NULL;
-+    MrvlIEtypes_inact_sleep_param_t *inact_tlv = NULL;
-+    u16 tlv_buf_left = 0;
-+    MrvlIEtypesHeader_t *tlvbuf = NULL;
-+    u16 tlv_type = 0;
-+    u16 tlv_len = 0;
-+
-+    ENTER();
-+
-+    /* Sanity check */
-+    if (req->ifr_data == NULL) {
-+        PRINTM(ERROR, "uap_power_mode_ioctl() corrupt data\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+
-+    memset(&pm_cfg, 0, sizeof(ps_mgmt));
-+    if (copy_from_user(&pm_cfg, req->ifr_data, sizeof(ps_mgmt))) {
-+        PRINTM(ERROR, "Copy from user failed\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    PRINTM(CMND,
-+           "ioctl power: flag=0x%x ps_mode=%d ctrl_bitmap=%d min_sleep=%d max_sleep=%d "
-+           "inact_to=%d min_awake=%d max_awake=%d\n", pm_cfg.flags,
-+           (int) pm_cfg.ps_mode, (int) pm_cfg.sleep_param.ctrl_bitmap,
-+           (int) pm_cfg.sleep_param.min_sleep,
-+           (int) pm_cfg.sleep_param.max_sleep,
-+           (int) pm_cfg.inact_param.inactivity_to,
-+           (int) pm_cfg.inact_param.min_awake,
-+           (int) pm_cfg.inact_param.max_awake);
-+
-+    if (pm_cfg.
-+        flags & ~(PS_FLAG_PS_MODE | PS_FLAG_SLEEP_PARAM |
-+                  PS_FLAG_INACT_SLEEP_PARAM)) {
-+        PRINTM(ERROR, "Invalid parameter: flags = 0x%x\n", pm_cfg.flags);
-+        ret = -EINVAL;
-+        goto done;
-+    }
-+    if (pm_cfg.ps_mode > PS_MODE_INACTIVITY) {
-+        PRINTM(ERROR, "Invalid parameter: ps_mode = %d\n", (int) pm_cfg.flags);
-+        ret = -EINVAL;
-+        goto done;
-+    }
-+
-+    skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER);
-+    if (!skb) {
-+        PRINTM(INFO, "No free skb\n");
-+        ret = -ENOMEM;
-+        goto done;
-+    }
-+
-+    CmdSize = S_DS_GEN + sizeof(HostCmd_DS_POWER_MGMT_EXT);
-+
-+    cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN);
-+    cmd->Command = uap_cpu_to_le16(HOST_CMD_POWER_MGMT_EXT);
-+    if (!pm_cfg.flags) {
-+        cmd->params.pm_cfg.action = uap_cpu_to_le16(ACTION_GET);
-+    } else {
-+        cmd->params.pm_cfg.action = uap_cpu_to_le16(ACTION_SET);
-+        cmd->params.pm_cfg.power_mode = uap_cpu_to_le16(pm_cfg.ps_mode);
-+        tlv = (u8 *) & cmd->params.pm_cfg + sizeof(HostCmd_DS_POWER_MGMT_EXT);
-+
-+        if ((pm_cfg.ps_mode) && (pm_cfg.flags & PS_FLAG_SLEEP_PARAM)) {
-+            sleep_tlv = (MrvlIEtypes_sleep_param_t *) tlv;
-+            sleep_tlv->header.Type = uap_cpu_to_le16(TLV_TYPE_AP_SLEEP_PARAM);
-+            sleep_tlv->header.Len =
-+                uap_cpu_to_le16(sizeof(MrvlIEtypes_sleep_param_t) -
-+                                sizeof(MrvlIEtypesHeader_t));
-+            sleep_tlv->ctrl_bitmap =
-+                uap_cpu_to_le32(pm_cfg.sleep_param.ctrl_bitmap);
-+            sleep_tlv->min_sleep =
-+                uap_cpu_to_le32(pm_cfg.sleep_param.min_sleep);
-+            sleep_tlv->max_sleep =
-+                uap_cpu_to_le32(pm_cfg.sleep_param.max_sleep);
-+            CmdSize += sizeof(MrvlIEtypes_sleep_param_t);
-+            tlv += sizeof(MrvlIEtypes_sleep_param_t);
-+        }
-+        if ((pm_cfg.ps_mode == PS_MODE_INACTIVITY) &&
-+            (pm_cfg.flags & PS_FLAG_INACT_SLEEP_PARAM)) {
-+            inact_tlv = (MrvlIEtypes_inact_sleep_param_t *) tlv;
-+            inact_tlv->header.Type =
-+                uap_cpu_to_le16(TLV_TYPE_AP_INACT_SLEEP_PARAM);
-+            inact_tlv->header.Len =
-+                uap_cpu_to_le16(sizeof(MrvlIEtypes_inact_sleep_param_t) -
-+                                sizeof(MrvlIEtypesHeader_t));
-+            inact_tlv->inactivity_to =
-+                uap_cpu_to_le32(pm_cfg.inact_param.inactivity_to);
-+            inact_tlv->min_awake =
-+                uap_cpu_to_le32(pm_cfg.inact_param.min_awake);
-+            inact_tlv->max_awake =
-+                uap_cpu_to_le32(pm_cfg.inact_param.max_awake);
-+            CmdSize += sizeof(MrvlIEtypes_inact_sleep_param_t);
-+            tlv += sizeof(MrvlIEtypes_inact_sleep_param_t);
-+        }
-+    }
-+    cmd->Size = uap_cpu_to_le16(CmdSize);
-+    skb_put(skb, CmdSize + INTF_HEADER_LEN);
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP)) {
-+        PRINTM(ERROR, "Fail to process cmd POWER_MODE\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    if (!Adapter->CmdSize) {
-+        PRINTM(ERROR, "Cmd Size is 0\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    cmd = (HostCmd_DS_COMMAND *) Adapter->CmdBuf;
-+    cmd->Result = uap_le16_to_cpu(cmd->Result);
-+    if (cmd->Result != UAP_STATUS_SUCCESS) {
-+        PRINTM(ERROR, "HOST_CMD_APCMD_POWER_MODE fail=%x\n", cmd->Result);
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    if (pm_cfg.flags) {
-+        Adapter->psmode = uap_le16_to_cpu(cmd->params.pm_cfg.power_mode);
-+    } else {
-+        pm_cfg.flags = PS_FLAG_PS_MODE;
-+        pm_cfg.ps_mode = uap_le16_to_cpu(cmd->params.pm_cfg.power_mode);
-+        tlv_buf_left =
-+            cmd->Size - (sizeof(HostCmd_DS_POWER_MGMT_EXT) + S_DS_GEN);
-+        tlvbuf =
-+            (MrvlIEtypesHeader_t *) ((u8 *) & cmd->params.pm_cfg +
-+                                     sizeof(HostCmd_DS_POWER_MGMT_EXT));
-+        while (tlv_buf_left >= sizeof(MrvlIEtypesHeader_t)) {
-+            tlv_type = uap_le16_to_cpu(tlvbuf->Type);
-+            tlv_len = uap_le16_to_cpu(tlvbuf->Len);
-+            switch (tlv_type) {
-+            case TLV_TYPE_AP_SLEEP_PARAM:
-+                sleep_tlv = (MrvlIEtypes_sleep_param_t *) tlvbuf;
-+                pm_cfg.flags |= PS_FLAG_SLEEP_PARAM;
-+                pm_cfg.sleep_param.ctrl_bitmap =
-+                    uap_le32_to_cpu(sleep_tlv->ctrl_bitmap);
-+                pm_cfg.sleep_param.min_sleep =
-+                    uap_le32_to_cpu(sleep_tlv->min_sleep);
-+                pm_cfg.sleep_param.max_sleep =
-+                    uap_le32_to_cpu(sleep_tlv->max_sleep);
-+                break;
-+            case TLV_TYPE_AP_INACT_SLEEP_PARAM:
-+                inact_tlv = (MrvlIEtypes_inact_sleep_param_t *) tlvbuf;
-+                pm_cfg.flags |= PS_FLAG_INACT_SLEEP_PARAM;
-+                pm_cfg.inact_param.inactivity_to =
-+                    uap_le32_to_cpu(inact_tlv->inactivity_to);
-+                pm_cfg.inact_param.min_awake =
-+                    uap_le32_to_cpu(inact_tlv->min_awake);
-+                pm_cfg.inact_param.max_awake =
-+                    uap_le32_to_cpu(inact_tlv->max_awake);
-+                break;
-+            }
-+            tlv_buf_left -= tlv_len + sizeof(MrvlIEtypesHeader_t);
-+            tlvbuf =
-+                (MrvlIEtypesHeader_t *) ((u8 *) tlvbuf + tlv_len +
-+                                         sizeof(MrvlIEtypesHeader_t));
-+        }
-+        /* Copy to user */
-+        if (copy_to_user(req->ifr_data, &pm_cfg, sizeof(ps_mgmt))) {
-+            PRINTM(ERROR, "Copy to user failed!\n");
-+            LEAVE();
-+            return -EFAULT;
-+        }
-+    }
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function send bss_stop command to firmware
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS on success, otherwise failure code
-+ */
-+static int
-+uap_bss_stop(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u32 CmdSize;
-+    HostCmd_DS_GEN *cmd;
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb;
-+    ENTER();
-+    if (Adapter->HardwareStatus != HWReady) {
-+        PRINTM(ERROR, "uap_bss_stop:Hardware is not ready!\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER);
-+    if (!skb) {
-+        PRINTM(ERROR, "No free skb\n");
-+        ret = -ENOMEM;
-+        goto done;
-+    }
-+    CmdSize = sizeof(HostCmd_DS_GEN);
-+    cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN);
-+    cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_BSS_STOP);
-+    cmd->Size = uap_cpu_to_le16(CmdSize);
-+    skb_put(skb, CmdSize + INTF_HEADER_LEN);
-+    PRINTM(CMND, "APCMD_BSS_STOP\n");
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) {
-+        PRINTM(ERROR, "Fail to process cmd BSS_STOP\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/********************************************************
-+              Global Functions
-+********************************************************/
-+/**
-+ *  @brief This function send soft_reset command to firmware
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS on success, otherwise failure code
-+ */
-+int
-+uap_soft_reset(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u32 CmdSize;
-+    HostCmd_DS_GEN *cmd;
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb;
-+    ENTER();
-+    ret = uap_bss_stop(priv);
-+    if (ret != UAP_STATUS_SUCCESS)
-+        goto done;
-+    skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER);
-+    if (!skb) {
-+        PRINTM(ERROR, "No free skb\n");
-+        ret = -ENOMEM;
-+        goto done;
-+    }
-+    CmdSize = sizeof(HostCmd_DS_GEN);
-+    cmd = (HostCmd_DS_GEN *) (skb->data + INTF_HEADER_LEN);
-+    cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_SOFT_RESET);
-+    cmd->Size = uap_cpu_to_le16(CmdSize);
-+    skb_put(skb, CmdSize + INTF_HEADER_LEN);
-+    PRINTM(CMND, "APCMD_SOFT_RESET\n");
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORSEND)) {
-+        PRINTM(ERROR, "Fail to process cmd SOFT_RESET\n");
-+        ret = -EFAULT;
-+        goto done;
-+    }
-+    Adapter->SurpriseRemoved = TRUE;
-+    /* delay to allow hardware complete reset */
-+    os_sched_timeout(5);
-+    if (priv->MediaConnected == TRUE) {
-+        os_stop_queue(priv);
-+        os_carrier_off(priv);
-+        priv->MediaConnected = FALSE;
-+    }
-+    Adapter->CmdSize = 0;
-+    Adapter->CmdWaitQWoken = TRUE;
-+    wake_up_interruptible(&Adapter->cmdwait_q);
-+    skb_queue_purge(&priv->adapter->tx_queue);
-+    skb_queue_purge(&priv->adapter->cmd_queue);
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function processes received packet and forwards it
-+ *  to kernel/upper layer
-+ *
-+ *  @param priv    A pointer to uap_private
-+ *  @param skb     A pointer to skb which includes the received packet
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+uap_process_rx_packet(uap_private * priv, struct sk_buff *skb)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    RxPD *pRxPD;
-+    ENTER();
-+    priv->adapter->ps_state = PS_STATE_AWAKE;
-+    pRxPD = (RxPD *) skb->data;
-+    endian_convert_RxPD(pRxPD);
-+    DBG_HEXDUMP(DAT_D, "Rx", skb->data, MIN(skb->len, DATA_DUMP_LEN));
-+    skb_pull(skb, pRxPD->RxPktOffset);
-+    priv->stats.rx_packets++;
-+    priv->stats.rx_bytes += skb->len;
-+    os_upload_rx_packet(priv, skb);
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function opens the network device
-+ *
-+ *  @param dev     A pointer to net_device structure
-+ *  @return        UAP_STATUS_SUCCESS
-+ */
-+static int
-+uap_open(struct net_device *dev)
-+{
-+    uap_private *priv = (uap_private *) (uap_private *) netdev_priv(dev);
-+    uap_adapter *Adapter = priv->adapter;
-+    int i = 0;
-+
-+    ENTER();
-+
-+    /* On some systems the device open handler will be called before HW ready. */
-+    /* Use the following flag check and wait function to work around the issue. */
-+    while ((Adapter->HardwareStatus != HWReady) &&
-+           (i < MAX_WAIT_DEVICE_READY_COUNT)) {
-+        i++;
-+        os_sched_timeout(100);
-+    }
-+    if (i >= MAX_WAIT_DEVICE_READY_COUNT) {
-+        PRINTM(FATAL, "HW not ready, uap_open() return failure\n");
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+
-+    if (MODULE_GET == 0)
-+        return UAP_STATUS_FAILURE;
-+
-+    priv->open = TRUE;
-+    if (priv->MediaConnected == TRUE) {
-+        os_carrier_on(priv);
-+        os_start_queue(priv);
-+    } else {
-+        os_stop_queue(priv);
-+        os_carrier_off(priv);
-+    }
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+
-+/**
-+ *  @brief This function closes the network device
-+ *
-+ *  @param dev     A pointer to net_device structure
-+ *  @return        UAP_STATUS_SUCCESS
-+ */
-+static int
-+uap_close(struct net_device *dev)
-+{
-+    uap_private *priv = (uap_private *) netdev_priv(dev);
-+
-+    ENTER();
-+    skb_queue_purge(&priv->adapter->tx_queue);
-+    os_stop_queue(priv);
-+    os_carrier_off(priv);
-+
-+    MODULE_PUT;
-+    priv->open = FALSE;
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+
-+/**
-+ *  @brief This function returns the network statistics
-+ *
-+ *  @param dev     A pointer to uap_private structure
-+ *  @return        A pointer to net_device_stats structure
-+ */
-+static struct net_device_stats *
-+uap_get_stats(struct net_device *dev)
-+{
-+    uap_private *priv = (uap_private *) netdev_priv(dev);
-+
-+    return &priv->stats;
-+}
-+
-+/**
-+ *  @brief This function sets the MAC address to firmware.
-+ *
-+ *  @param dev     A pointer to uap_private structure
-+ *  @param addr    MAC address to set
-+ *  @return        UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_set_mac_address(struct net_device *dev, void *addr)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    uap_private *priv = (uap_private *) netdev_priv(dev);
-+    struct sockaddr *pHwAddr = (struct sockaddr *) addr;
-+    u32 CmdSize;
-+    HostCmd_DS_COMMAND *cmd;
-+    MrvlIEtypes_MacAddr_t *pMacAddrTlv;
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb;
-+
-+    ENTER();
-+
-+    /* Dump MAC address */
-+    DBG_HEXDUMP(CMD_D, "Original MAC addr", dev->dev_addr, ETH_ALEN);
-+    DBG_HEXDUMP(CMD_D, "New MAC addr", pHwAddr->sa_data, ETH_ALEN);
-+    if (priv->open && (priv->MediaConnected == TRUE)) {
-+        os_carrier_on(priv);
-+        os_start_queue(priv);
-+    }
-+    skb = dev_alloc_skb(MRVDRV_SIZE_OF_CMD_BUFFER);
-+    if (!skb) {
-+        PRINTM(ERROR, "No free skb\n");
-+        LEAVE();
-+        return -ENOMEM;
-+    }
-+    CmdSize =
-+        S_DS_GEN + sizeof(HostCmd_SYS_CONFIG) + sizeof(MrvlIEtypes_MacAddr_t);
-+    cmd = (HostCmd_DS_COMMAND *) (skb->data + INTF_HEADER_LEN);
-+    cmd->Command = uap_cpu_to_le16(HOST_CMD_APCMD_SYS_CONFIGURE);
-+    cmd->Size = uap_cpu_to_le16(CmdSize);
-+    cmd->params.sys_config.Action = uap_cpu_to_le16(ACTION_SET);
-+    pMacAddrTlv =
-+        (MrvlIEtypes_MacAddr_t *) ((u8 *) cmd + S_DS_GEN +
-+                                   sizeof(HostCmd_SYS_CONFIG));
-+    pMacAddrTlv->Header.Type = uap_cpu_to_le16(MRVL_AP_MAC_ADDRESS_TLV_ID);
-+    pMacAddrTlv->Header.Len = uap_cpu_to_le16(ETH_ALEN);
-+    memcpy(pMacAddrTlv->ApMacAddr, pHwAddr->sa_data, ETH_ALEN);
-+    skb_put(skb, CmdSize + INTF_HEADER_LEN);
-+    PRINTM(CMND, "set_mac_address\n");
-+    if (UAP_STATUS_SUCCESS !=
-+        uap_process_cmd(priv, skb, HostCmd_OPTION_WAITFORRSP_TIMEOUT)) {
-+        PRINTM(ERROR, "Fail to set mac address\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    if (!Adapter->CmdSize) {
-+        PRINTM(ERROR, "Cmd Size is 0\n");
-+        LEAVE();
-+        return -EFAULT;
-+    }
-+    cmd = (HostCmd_DS_COMMAND *) Adapter->CmdBuf;
-+    cmd->Result = uap_cpu_to_le16(cmd->Result);
-+    if (cmd->Result != UAP_STATUS_SUCCESS) {
-+        PRINTM(ERROR, "set mac addrress fail,cmd result=%x\n", cmd->Result);
-+        ret = -EFAULT;
-+    } else
-+        memcpy(dev->dev_addr, pHwAddr->sa_data, ETH_ALEN);
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function handles the timeout of packet
-+ *  transmission
-+ *
-+ *  @param dev     A pointer to net_device structure
-+ *  @return        n/a
-+ */
-+static void
-+uap_tx_timeout(struct net_device *dev)
-+{
-+    uap_private *priv = (uap_private *) netdev_priv(dev);
-+
-+    ENTER();
-+
-+    PRINTM(DATA, "Tx timeout\n");
-+    UpdateTransStart(dev);
-+    priv->num_tx_timeout++;
-+    priv->adapter->IntCounter++;
-+    wake_up_interruptible(&priv->MainThread.waitQ);
-+
-+    LEAVE();
-+}
-+
-+/**
-+ *  @brief This function handles packet transmission
-+ *
-+ *  @param skb     A pointer to sk_buff structure
-+ *  @param dev     A pointer to net_device structure
-+ *  @return        UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
-+{
-+    uap_private *priv = (uap_private *) netdev_priv(dev);
-+    int ret = UAP_STATUS_SUCCESS;
-+
-+    ENTER();
-+    PRINTM(DATA, "Data <= kernel\n");
-+    DBG_HEXDUMP(DAT_D, "Tx", skb->data, MIN(skb->len, DATA_DUMP_LEN));
-+    /* skb sanity check */
-+    if (!skb->len || (skb->len > MRVDRV_MAXIMUM_ETH_PACKET_SIZE)) {
-+        PRINTM(ERROR, "Tx Error: Bad skb length %d : %d\n", skb->len,
-+               MRVDRV_MAXIMUM_ETH_PACKET_SIZE);
-+        priv->stats.tx_dropped++;
-+        kfree(skb);
-+        goto done;
-+    }
-+    skb_queue_tail(&priv->adapter->tx_queue, skb);
-+    wake_up_interruptible(&priv->MainThread.waitQ);
-+    if (skb_queue_len(&priv->adapter->tx_queue) > TX_HIGH_WATERMARK) {
-+        UpdateTransStart(dev);
-+        os_stop_queue(priv);
-+    }
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief ioctl function - entry point
-+ *
-+ *  @param dev      A pointer to net_device structure
-+ *  @param req      A pointer to ifreq structure
-+ *  @param cmd      command
-+ *  @return         UAP_STATUS_SUCCESS--success, otherwise fail
-+ */
-+static int
-+uap_do_ioctl(struct net_device *dev, struct ifreq *req, int cmd)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+
-+    ENTER();
-+
-+    PRINTM(CMND, "uap_do_ioctl: ioctl cmd = 0x%x\n", cmd);
-+
-+    switch (cmd) {
-+    case UAPHOSTCMD:
-+        ret = uap_hostcmd_ioctl(dev, req);
-+        break;
-+    case UAP_POWER_MODE:
-+        ret = uap_power_mode_ioctl(dev, req);
-+        break;
-+    default:
-+        ret = -EINVAL;
-+        break;
-+    }
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function handles events generated by firmware
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param payload A pointer to payload buffer
-+ *  @param len           Length of the payload
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+uap_process_event(uap_private * priv, u8 * payload, uint len)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    uap_adapter *Adapter = priv->adapter;
-+    struct sk_buff *skb = NULL;
-+    struct nlmsghdr *nlh = NULL;
-+    struct sock *sk = Adapter->nl_sk;
-+    AP_Event *pEvent;
-+
-+    ENTER();
-+    Adapter->ps_state = PS_STATE_AWAKE;
-+    if (len > NL_MAX_PAYLOAD) {
-+        PRINTM(ERROR, "event size is too big!!! len=%d\n", len);
-+        ret = UAP_STATUS_FAILURE;
-+        goto done;
-+    }
-+    pEvent = (AP_Event *) payload;
-+    PRINTM(CMND, "Event: %d\n", pEvent->EventId);
-+    switch (pEvent->EventId) {
-+    case MICRO_AP_EV_ID_BSS_START:
-+        memcpy(priv->uap_dev.netdev->dev_addr, pEvent->MacAddr, ETH_ALEN);
-+        DBG_HEXDUMP(CMD_D, "BSS MAC addr", priv->uap_dev.netdev->dev_addr,
-+                    ETH_ALEN);
-+        break;
-+    case MICRO_AP_EV_BSS_ACTIVE:
-+        // carrier on
-+        priv->MediaConnected = TRUE;
-+        os_carrier_on(priv);
-+        os_start_queue(priv);
-+        break;
-+    case MICRO_AP_EV_BSS_IDLE:
-+        os_stop_queue(priv);
-+        os_carrier_off(priv);
-+        priv->MediaConnected = FALSE;
-+        break;
-+    case EVENT_PS_AWAKE:
-+        PRINTM(CMND, "UAP: PS_AWAKE\n");
-+        Adapter->ps_state = PS_STATE_AWAKE;
-+        Adapter->WakeupTries = 0;
-+        break;
-+    case EVENT_PS_SLEEP:
-+        PRINTM(CMND, "UAP: PS_SLEEP\n");
-+        Adapter->ps_state = PS_STATE_PRE_SLEEP;
-+        break;
-+    default:
-+        break;
-+    }
-+    if ((pEvent->EventId == EVENT_PS_AWAKE) ||
-+        (pEvent->EventId == EVENT_PS_SLEEP))
-+        goto done;
-+    if (sk) {
-+        /* Allocate skb */
-+        if (!(skb = alloc_skb(NLMSG_SPACE(NL_MAX_PAYLOAD), GFP_ATOMIC))) {
-+            PRINTM(ERROR, "Could not allocate skb for netlink.\n");
-+            ret = UAP_STATUS_FAILURE;
-+            goto done;
-+        }
-+        nlh = (struct nlmsghdr *) skb->data;
-+        nlh->nlmsg_len = NLMSG_SPACE(len);
-+
-+        /* From kernel */
-+        nlh->nlmsg_pid = 0;
-+        nlh->nlmsg_flags = 0;
-+
-+        /* Data */
-+        skb_put(skb, nlh->nlmsg_len);
-+        memcpy(NLMSG_DATA(nlh), payload, len);
-+
-+        /* From Kernel */
-+        NETLINK_CB(skb).portid = 0;
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
-+        /* Multicast message */
-+        NETLINK_CB(skb).dst_pid = 0;
-+#endif
-+
-+        /* Multicast group number */
-+        NETLINK_CB(skb).dst_group = NL_MULTICAST_GROUP;
-+
-+        /* Send message */
-+        netlink_broadcast(sk, skb, 0, NL_MULTICAST_GROUP, GFP_KERNEL);
-+
-+        ret = UAP_STATUS_SUCCESS;
-+    } else {
-+        PRINTM(ERROR, "Could not send event through NETLINK. Link down.\n");
-+        ret = UAP_STATUS_FAILURE;
-+    }
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function handles the interrupt. it will change PS
-+ *  state if applicable. it will wake up main_thread to handle
-+ *  the interrupt event as well.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return        n/a
-+ */
-+void
-+uap_interrupt(uap_private * priv)
-+{
-+    ENTER();
-+    priv->adapter->IntCounter++;
-+    priv->adapter->WakeupTries = 0;
-+    PRINTM(INFO, "*\n");
-+    wake_up_interruptible(&priv->MainThread.waitQ);
-+
-+    LEAVE();
-+
-+}
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29)
-+/** Network device handlers */
-+static const struct net_device_ops uap_netdev_ops = {
-+    .ndo_open = uap_open,
-+    .ndo_start_xmit = uap_hard_start_xmit,
-+    .ndo_stop = uap_close,
-+    .ndo_do_ioctl = uap_do_ioctl,
-+    .ndo_set_mac_address = uap_set_mac_address,
-+    .ndo_tx_timeout = uap_tx_timeout,
-+    .ndo_get_stats = uap_get_stats,
-+};
-+#endif
-+
-+/**
-+ * @brief This function adds the card. it will probe the
-+ * card, allocate the uap_priv and initialize the device.
-+ *
-+ *  @param card    A pointer to card
-+ *  @return        A pointer to uap_private structure
-+ */
-+uap_private *
-+uap_add_card(void *card)
-+{
-+    struct net_device *dev = NULL;
-+    uap_private *priv = NULL;
-+
-+    ENTER();
-+
-+    if (OS_ACQ_SEMAPHORE_BLOCK(&AddRemoveCardSem))
-+        goto exit_sem_err;
-+
-+    /* Allocate an Ethernet device */
-+    if (!(dev = alloc_etherdev(sizeof(uap_private)))) {
-+        PRINTM(FATAL, "Init ethernet device failed!\n");
-+        goto error;
-+    }
-+    priv = (uap_private *) netdev_priv(dev);
-+
-+    /* Allocate name */
-+    if (dev_alloc_name(dev, "uap%d") < 0) {
-+        PRINTM(ERROR, "Could not allocate device name!\n");
-+        goto error;
-+    }
-+
-+    /* Allocate buffer for uap_adapter */
-+    if (!(priv->adapter = kmalloc(sizeof(uap_adapter), GFP_KERNEL))) {
-+        PRINTM(FATAL, "Allocate buffer for uap_adapter failed!\n");
-+        goto error;
-+    }
-+    memset(priv->adapter, 0, sizeof(uap_adapter));
-+
-+    priv->uap_dev.netdev = dev;
-+    priv->uap_dev.card = card;
-+    priv->MediaConnected = FALSE;
-+    uappriv = priv;
-+    ((struct sdio_mmc_card *) card)->priv = priv;
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
-+    SET_MODULE_OWNER(dev);
-+#endif
-+
-+    /* Setup the OS Interface to our functions */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
-+    dev->open = uap_open;
-+    dev->stop = uap_close;
-+    dev->hard_start_xmit = uap_hard_start_xmit;
-+    dev->tx_timeout = uap_tx_timeout;
-+    dev->get_stats = uap_get_stats;
-+    dev->do_ioctl = uap_do_ioctl;
-+    dev->set_mac_address = uap_set_mac_address;
-+    dev->set_multicast_list = uap_set_multicast_list;
-+#else
-+    dev->netdev_ops = &uap_netdev_ops;
-+#endif
-+    dev->watchdog_timeo = MRVDRV_DEFAULT_WATCHDOG_TIMEOUT;
-+    dev->hard_header_len += sizeof(TxPD) + INTF_HEADER_LEN;
-+    dev->hard_header_len += HEADER_ALIGNMENT;
-+#define NETIF_F_DYNALLOC 16
-+    dev->features |= NETIF_F_DYNALLOC;
-+    dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
-+
-+    /* Init SW */
-+    if (uap_init_sw(priv)) {
-+        PRINTM(FATAL, "Software Init Failed\n");
-+        goto error;
-+    }
-+
-+    PRINTM(INFO, "Starting kthread...\n");
-+    priv->MainThread.priv = priv;
-+    spin_lock_init(&priv->driver_lock);
-+    uap_create_thread(uap_service_main_thread, &priv->MainThread,
-+                      "uap_main_service");
-+    while (priv->MainThread.pid == 0) {
-+        os_sched_timeout(2);
-+    }
-+
-+    /* Register the device */
-+    if (sbi_register_dev(priv) < 0) {
-+        PRINTM(FATAL, "Failed to register uap device!\n");
-+        goto err_registerdev;
-+    }
-+#ifdef FW_DNLD_NEEDED
-+    SET_NETDEV_DEV(dev, priv->hotplug_device);
-+#endif
-+
-+    /* Init FW and HW */
-+    if (uap_init_fw(priv)) {
-+        PRINTM(FATAL, "Firmware Init Failed\n");
-+        goto err_init_fw;
-+    }
-+
-+    priv->uap_dev.cmd_sent = FALSE;
-+    priv->uap_dev.data_sent = FALSE;
-+
-+    /* Get mac address from firmware */
-+    if (uap_get_mac_address(priv)) {
-+        PRINTM(FATAL, "Fail to get mac address\n");
-+        goto err_init_fw;
-+    }
-+    /* Register network device */
-+    if (register_netdev(dev)) {
-+        printk(KERN_ERR "Cannot register network device!\n");
-+        goto err_init_fw;
-+    }
-+#ifdef CONFIG_PROC_FS
-+    uap_proc_entry(priv, dev);
-+    uap_debug_entry(priv, dev);
-+#endif /* CPNFIG_PROC_FS */
-+    OS_REL_SEMAPHORE(&AddRemoveCardSem);
-+
-+    LEAVE();
-+    return priv;
-+  err_init_fw:
-+    sbi_unregister_dev(priv);
-+  err_registerdev:
-+    ((struct sdio_mmc_card *) card)->priv = NULL;
-+    /* Stop the thread servicing the interrupts */
-+    priv->adapter->SurpriseRemoved = TRUE;
-+    wake_up_interruptible(&priv->MainThread.waitQ);
-+    while (priv->MainThread.pid) {
-+        os_sched_timeout(1);
-+    }
-+  error:
-+    if (dev) {
-+        if (dev->reg_state == NETREG_REGISTERED)
-+            unregister_netdev(dev);
-+        if (priv->adapter)
-+            uap_free_adapter(priv);
-+        free_netdev(dev);
-+        uappriv = NULL;
-+    }
-+    OS_REL_SEMAPHORE(&AddRemoveCardSem);
-+  exit_sem_err:
-+    LEAVE();
-+    return NULL;
-+}
-+
-+/**
-+ *  @brief This function removes the card.
-+ *
-+ *  @param card    A pointer to card
-+ *  @return        UAP_STATUS_SUCCESS
-+ */
-+int
-+uap_remove_card(void *card)
-+{
-+    uap_private *priv = uappriv;
-+    uap_adapter *Adapter;
-+    struct net_device *dev;
-+
-+    ENTER();
-+
-+    if (OS_ACQ_SEMAPHORE_BLOCK(&AddRemoveCardSem))
-+        goto exit_sem_err;
-+
-+    if (!priv || !(Adapter = priv->adapter)) {
-+        goto exit_remove;
-+    }
-+    Adapter->SurpriseRemoved = TRUE;
-+    if (Adapter->cmd_pending == TRUE) {
-+        /* Wake up cmd Q */
-+        Adapter->CmdWaitQWoken = TRUE;
-+        wake_up_interruptible(&Adapter->cmdwait_q);
-+    }
-+    dev = priv->uap_dev.netdev;
-+    if (priv->MediaConnected == TRUE) {
-+        os_stop_queue(priv);
-+        os_carrier_off(priv);
-+        priv->MediaConnected = FALSE;
-+    }
-+    Adapter->CmdSize = 0;
-+    Adapter->CmdWaitQWoken = TRUE;
-+    wake_up_interruptible(&Adapter->cmdwait_q);
-+    skb_queue_purge(&priv->adapter->tx_queue);
-+    skb_queue_purge(&priv->adapter->cmd_queue);
-+
-+    /* Disable interrupts on the card */
-+    sbi_disable_host_int(priv);
-+    PRINTM(INFO, "netdev_finish_unregister: %s%s.\n", dev->name,
-+           (dev->features & NETIF_F_DYNALLOC) ? "" : ", old style");
-+    unregister_netdev(dev);
-+    PRINTM(INFO, "Unregister finish\n");
-+    wake_up_interruptible(&priv->MainThread.waitQ);
-+    while (priv->MainThread.pid) {
-+        os_sched_timeout(1);
-+    }
-+
-+    if ((Adapter->nl_sk) && ((Adapter->nl_sk)->sk_socket)) {
-+        sock_release((Adapter->nl_sk)->sk_socket);
-+        Adapter->nl_sk = NULL;
-+    }
-+#ifdef CONFIG_PROC_FS
-+    uap_debug_remove(priv);
-+    uap_proc_remove(priv);
-+#endif
-+    sbi_unregister_dev(priv);
-+    PRINTM(INFO, "Free Adapter\n");
-+    uap_free_adapter(priv);
-+    priv->uap_dev.netdev = NULL;
-+    free_netdev(dev);
-+    uappriv = NULL;
-+
-+  exit_remove:
-+    OS_REL_SEMAPHORE(&AddRemoveCardSem);
-+  exit_sem_err:
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+
-+/**
-+ *  @brief This function initializes module.
-+ *
-+ *  @return    UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int __init
-+uap_init_module(void)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    ENTER();
-+
-+    OS_INIT_SEMAPHORE(&AddRemoveCardSem);
-+    ret = sbi_register();
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function cleans module
-+ *
-+ *  @return        n/a
-+ */
-+static void __exit
-+uap_cleanup_module(void)
-+{
-+    ENTER();
-+
-+    if (OS_ACQ_SEMAPHORE_BLOCK(&AddRemoveCardSem))
-+        goto exit_sem_err;
-+
-+    if ((uappriv) && (uappriv->adapter)) {
-+        uap_func_shutdown(uappriv);
-+    }
-+    OS_REL_SEMAPHORE(&AddRemoveCardSem);
-+  exit_sem_err:
-+    sbi_unregister();
-+    LEAVE();
-+}
-+
-+module_init(uap_init_module);
-+module_exit(uap_cleanup_module);
-+module_param(helper_name, charp, 0);
-+MODULE_PARM_DESC(helper_name, "Helper name");
-+module_param(fw_name, charp, 0);
-+MODULE_PARM_DESC(fw_name, "Firmware name");
-+
-+MODULE_DESCRIPTION("M-UAP Driver");
-+MODULE_AUTHOR("Marvell International Ltd.");
-+MODULE_VERSION(DRIVER_VERSION);
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/net/wireless/libertas_uap/uap_proc.c b/drivers/net/wireless/libertas_uap/uap_proc.c
-new file mode 100644
-index 0000000..d673f56
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_proc.c
-@@ -0,0 +1,258 @@
-+/** @file uap_proc.c
-+  * @brief This file contains functions for proc file.
-+  *
-+  * Copyright (C) 2008-2009, Marvell International Ltd.
-+  *
-+  * This software file (the "File") is distributed by Marvell International
-+  * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+  * (the "License").  You may use, redistribute and/or modify this File in
-+  * accordance with the terms and conditions of the License, a copy of which
-+  * is available along with the File in the gpl.txt file or by writing to
-+  * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+  * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+  *
-+  * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+  * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+  * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+  * this warranty disclaimer.
-+  *
-+  */
-+#ifdef CONFIG_PROC_FS
-+#include <linux/proc_fs.h>
-+#include <linux/seq_file.h>
-+#include "uap_headers.h"
-+
-+/** /proc directory root */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
-+#define PROC_DIR NULL
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
-+#define PROC_DIR &proc_root
-+#else
-+#define PROC_DIR proc_net
-+#endif
-+
-+/********************************************************
-+              Local Variables
-+********************************************************/
-+
-+/********************************************************
-+              Global Variables
-+********************************************************/
-+
-+/********************************************************
-+              Local Functions
-+********************************************************/
-+
-+static int uap_info_proc_show(struct seq_file *s, void *data) {
-+    int i;
-+    struct net_device *netdev = (struct net_device*)s->private;
-+    struct netdev_hw_addr *ha;
-+    uap_private *priv = (uap_private *) netdev_priv(netdev);
-+
-+    seq_printf(s, "driver_name = " "\"uap\"\n");
-+    seq_printf(s, "driver_version = %s-(FP%s)", DRIVER_VERSION, FPNUM);
-+    seq_printf(s, "\nInterfaceName=\"%s\"\n", netdev->name);
-+
-+    seq_printf(s, "State=\"%s\"\n",
-+                 ((priv->MediaConnected ==
-+                   FALSE) ? "Disconnected" : "Connected"));
-+    seq_printf(s, "MACAddress=\"%02x:%02x:%02x:%02x:%02x:%02x\"\n",
-+                 netdev->dev_addr[0], netdev->dev_addr[1], netdev->dev_addr[2],
-+                 netdev->dev_addr[3], netdev->dev_addr[4], netdev->dev_addr[5]);
-+    i = 0;
-+    netdev_for_each_mc_addr(ha, netdev) {
-+        ++i;
-+    }
-+    seq_printf(s, "MCCount=\"%d\"\n", i);
-+
-+    /*
-+     * Put out the multicast list
-+     */
-+    i = 0;
-+    netdev_for_each_mc_addr(ha, netdev) {
-+        seq_printf(s,
-+                     "MCAddr[%d]=\"%02x:%02x:%02x:%02x:%02x:%02x\"\n",
-+                     i++,
-+                     ha->addr[0], ha->addr[1],
-+                     ha->addr[2], ha->addr[3],
-+                     ha->addr[4], ha->addr[5]);
-+    }
-+
-+    seq_printf(s, "num_tx_bytes = %lu\n", priv->stats.tx_bytes);
-+    seq_printf(s, "num_rx_bytes = %lu\n", priv->stats.rx_bytes);
-+    seq_printf(s, "num_tx_pkts = %lu\n", priv->stats.tx_packets);
-+    seq_printf(s, "num_rx_pkts = %lu\n", priv->stats.rx_packets);
-+    seq_printf(s, "num_tx_pkts_dropped = %lu\n", priv->stats.tx_dropped);
-+    seq_printf(s, "num_rx_pkts_dropped = %lu\n", priv->stats.rx_dropped);
-+    seq_printf(s, "num_tx_pkts_err = %lu\n", priv->stats.tx_errors);
-+    seq_printf(s, "num_rx_pkts_err = %lu\n", priv->stats.rx_errors);
-+    seq_printf(s, "num_tx_timeout = %u\n", priv->num_tx_timeout);
-+    seq_printf(s, "carrier %s\n",
-+                 ((netif_carrier_ok(priv->uap_dev.netdev)) ? "on" : "off"));
-+    seq_printf(s, "tx queue %s\n",
-+                 ((netif_queue_stopped(priv->uap_dev.netdev)) ? "stopped" :
-+                  "started"));
-+
-+    return 0;
-+}
-+
-+static int uap_info_proc_open(struct inode *inode, struct file *file) {
-+      return single_open(file, uap_info_proc_show, PDE_DATA(inode));
-+}
-+
-+static int uap_hwstatus_proc_show(struct seq_file *s, void *data) {
-+    struct net_device *netdev = (struct net_device*)s->private;
-+    uap_private *priv = (uap_private *) netdev_priv(netdev);
-+
-+    MODULE_GET;
-+    seq_printf(s, "%d\n", priv->adapter->HardwareStatus);
-+    MODULE_PUT;
-+
-+    return 0;
-+}
-+
-+static int uap_hwstatus_proc_open(struct inode *inode, struct file *file) {
-+      return single_open(file, uap_hwstatus_proc_show, PDE_DATA(inode));
-+}
-+
-+static ssize_t uap_hwstatus_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *data) {
-+      struct net_device *netdev = (struct net_device *)PDE_DATA(file_inode(file));
-+      uap_private *priv = (uap_private *) netdev_priv(netdev);
-+
-+      int hwstatus;
-+      char value[10];
-+
-+      if (count > sizeof(value))
-+              return count;
-+
-+      if (copy_from_user(&value, buffer, count))
-+              return -EFAULT;
-+
-+      hwstatus = string_to_number(value);
-+      switch (hwstatus) {
-+      case HWReset:
-+              PRINTM(MSG, "reset hw\n");
-+              uap_soft_reset(priv);
-+              priv->adapter->HardwareStatus = HWReset;
-+              break;
-+      default:
-+              break;
-+      }
-+
-+      MODULE_PUT;
-+      return count;
-+}
-+
-+static const struct file_operations uap_info_proc_fops = {
-+      .owner   = THIS_MODULE,
-+      .open    = uap_info_proc_open,
-+      .read    = seq_read,
-+      .llseek  = seq_lseek,
-+      .release = single_release,
-+};
-+
-+static const struct file_operations uap_hwstatus_proc_fops = {
-+      .owner   = THIS_MODULE,
-+      .open    = uap_hwstatus_proc_open,
-+      .read    = seq_read,
-+      .llseek  = seq_lseek,
-+      .release = single_release,
-+      .write   = uap_hwstatus_proc_write,
-+};
-+
-+/********************************************************
-+              Global Functions
-+********************************************************/
-+/**
-+ *  @brief create uap proc file
-+ *
-+ *  @param priv          pointer uap_private
-+ *  @param dev     pointer net_device
-+ *  @return      N/A
-+ */
-+void
-+uap_proc_entry(uap_private * priv, struct net_device *dev)
-+{
-+    PRINTM(INFO, "Creating Proc Interface\n");
-+    /* Check if uap directory already exists */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
-+    struct proc_dir_entry *r = PROC_DIR;
-+
-+    for (r = r->subdir; r; r = r->next) {
-+        if (r->namelen && !strcmp("uap", r->name)) {
-+            /* Directory exists */
-+            PRINTM(WARN, "proc directory already exists!\n");
-+            priv->proc_uap = r;
-+            break;
-+        }
-+    }
-+#endif
-+    if (!priv->proc_uap) {
-+        priv->proc_uap = proc_mkdir("uap", PROC_DIR);
-+        if (!priv->proc_uap)
-+            return;
-+    }
-+    priv->proc_entry = proc_mkdir(dev->name, priv->proc_uap);
-+
-+    if (priv->proc_entry) {
-+      proc_create_data("info", 0644, priv->proc_entry, &uap_info_proc_fops, dev);
-+      proc_create_data("hwinfo", 0644, priv->proc_entry, &uap_hwstatus_proc_fops, dev);
-+    }
-+}
-+
-+/**
-+ *  @brief remove proc file
-+ *
-+ *  @param priv          pointer uap_private
-+ *  @return      N/A
-+ */
-+void
-+uap_proc_remove(uap_private * priv)
-+{
-+    if (priv->proc_uap) {
-+        if (priv->proc_entry) {
-+            remove_proc_entry("info", priv->proc_entry);
-+            remove_proc_entry("hwstatus", priv->proc_entry);
-+        }
-+        remove_proc_entry(priv->uap_dev.netdev->name, priv->proc_uap);
-+    }
-+}
-+
-+/**
-+ *  @brief convert string to number
-+ *
-+ *  @param s     pointer to numbered string
-+ *  @return      converted number from string s
-+ */
-+int
-+string_to_number(char *s)
-+{
-+    int r = 0;
-+    int base = 0;
-+    int pn = 1;
-+
-+    if (strncmp(s, "-", 1) == 0) {
-+        pn = -1;
-+        s++;
-+    }
-+    if ((strncmp(s, "0x", 2) == 0) || (strncmp(s, "0X", 2) == 0)) {
-+        base = 16;
-+        s += 2;
-+    } else
-+        base = 10;
-+
-+    for (s = s; *s != 0; s++) {
-+        if ((*s >= '0') && (*s <= '9'))
-+            r = (r * base) + (*s - '0');
-+        else if ((*s >= 'A') && (*s <= 'F'))
-+            r = (r * base) + (*s - 'A' + 10);
-+        else if ((*s >= 'a') && (*s <= 'f'))
-+            r = (r * base) + (*s - 'a' + 10);
-+        else
-+            break;
-+    }
-+
-+    return (r * pn);
-+}
-+
-+#endif
-diff --git a/drivers/net/wireless/libertas_uap/uap_sdio_mmc.c b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.c
-new file mode 100644
-index 0000000..86f55b5
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.c
-@@ -0,0 +1,1428 @@
-+/** @file uap_sdio_mmc.c
-+ *  @brief This file contains SDIO IF (interface) module
-+ *  related functions.
-+ *
-+ * Copyright (C) 2007-2009, Marvell International Ltd.
-+ *
-+ * This software file (the "File") is distributed by Marvell International
-+ * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+ * (the "License").  You may use, redistribute and/or modify this File in
-+ * accordance with the terms and conditions of the License, a copy of which
-+ * is available along with the File in the gpl.txt file or by writing to
-+ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+ *
-+ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+ * this warranty disclaimer.
-+ *
-+ */
-+/****************************************************
-+Change log:
-+****************************************************/
-+
-+#include      "uap_sdio_mmc.h"
-+
-+#include <linux/firmware.h>
-+
-+/** define SDIO block size */
-+/* We support up to 480-byte block size due to FW buffer limitation. */
-+#define SD_BLOCK_SIZE         256
-+
-+/** define allocated buffer size */
-+#define ALLOC_BUF_SIZE                (((MAX(MRVDRV_ETH_RX_PACKET_BUFFER_SIZE, \
-+                                      MRVDRV_SIZE_OF_CMD_BUFFER) + INTF_HEADER_LEN \
-+                                      + SD_BLOCK_SIZE - 1) / SD_BLOCK_SIZE) * SD_BLOCK_SIZE)
-+
-+/** Max retry number of CMD53 write */
-+#define MAX_WRITE_IOMEM_RETRY 2
-+
-+/********************************************************
-+              Local Variables
-+********************************************************/
-+
-+/** SDIO Rx unit */
-+static u8 sdio_rx_unit = 0;
-+
-+/**Interrupt status */
-+static u8 sd_ireg = 0;
-+/********************************************************
-+              Global Variables
-+********************************************************/
-+extern u8 *helper_name;
-+extern u8 *fw_name;
-+/** Default helper name */
-+#define DEFAULT_HELPER_NAME "mrvl/helper_sd.bin"
-+/** Default firmware name */
-+#define DEFAULT_FW_NAME "mrvl/sd8688_ap.bin"
-+
-+/********************************************************
-+              Local Functions
-+********************************************************/
-+/**
-+ *  @brief This function reads the IO register.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param reg           register to be read
-+ *  @param dat           A pointer to variable that keeps returned value
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+sbi_read_ioreg(uap_private * priv, u32 reg, u8 * dat)
-+{
-+    struct sdio_mmc_card *card;
-+    int ret = UAP_STATUS_FAILURE;
-+
-+    ENTER();
-+
-+    card = priv->uap_dev.card;
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "sbi_read_ioreg(): card or function is NULL!\n");
-+        goto done;
-+    }
-+
-+    *dat = sdio_readb(card->func, reg, &ret);
-+    if (ret) {
-+        PRINTM(ERROR, "sbi_read_ioreg(): sdio_readb failed! ret=%d\n", ret);
-+        goto done;
-+    }
-+
-+    PRINTM(INFO, "sbi_read_ioreg() priv=%p func=%d reg=%#x dat=%#x\n", priv,
-+           card->func->num, reg, *dat);
-+
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function writes the IO register.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param reg           register to be written
-+ *  @param dat           the value to be written
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+sbi_write_ioreg(uap_private * priv, u32 reg, u8 dat)
-+{
-+    struct sdio_mmc_card *card;
-+    int ret = UAP_STATUS_FAILURE;
-+
-+    ENTER();
-+
-+    card = priv->uap_dev.card;
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "sbi_write_ioreg(): card or function is NULL!\n");
-+        goto done;
-+    }
-+
-+    PRINTM(INFO, "sbi_write_ioreg() priv=%p func=%d reg=%#x dat=%#x\n", priv,
-+           card->func->num, reg, dat);
-+
-+    sdio_writeb(card->func, dat, reg, &ret);
-+    if (ret) {
-+        PRINTM(ERROR, "sbi_write_ioreg(): sdio_readb failed! ret=%d\n", ret);
-+        goto done;
-+    }
-+
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function get rx_unit value
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+sd_get_rx_unit(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u8 reg;
-+
-+    ENTER();
-+
-+    ret = sbi_read_ioreg(priv, CARD_RX_UNIT_REG, &reg);
-+    if (ret == UAP_STATUS_SUCCESS)
-+        sdio_rx_unit = reg;
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function reads rx length
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param dat           A pointer to keep returned data
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+sd_read_rx_len(uap_private * priv, u16 * dat)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u8 reg;
-+
-+    ENTER();
-+
-+    ret = sbi_read_ioreg(priv, CARD_RX_LEN_REG, &reg);
-+    if (ret == UAP_STATUS_SUCCESS)
-+        *dat = (u16) reg << sdio_rx_unit;
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function reads fw status registers
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param dat           A pointer to keep returned data
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+sd_read_firmware_status(uap_private * priv, u16 * dat)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u8 fws0;
-+    u8 fws1;
-+
-+    ENTER();
-+
-+    ret = sbi_read_ioreg(priv, CARD_FW_STATUS0_REG, &fws0);
-+    if (ret < 0) {
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+
-+    ret = sbi_read_ioreg(priv, CARD_FW_STATUS1_REG, &fws1);
-+    if (ret < 0) {
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+
-+    *dat = (((u16) fws1) << 8) | fws0;
-+
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+
-+/**
-+ *  @brief This function polls the card status register.
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @param bits       the bit mask
-+ *  @return           UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+mv_sdio_poll_card_status(uap_private * priv, u8 bits)
-+{
-+    int tries;
-+    u8 cs;
-+
-+    ENTER();
-+
-+    for (tries = 0; tries < MAX_POLL_TRIES; tries++) {
-+        if (sbi_read_ioreg(priv, CARD_STATUS_REG, &cs) < 0)
-+            break;
-+        else if ((cs & bits) == bits) {
-+            LEAVE();
-+            return UAP_STATUS_SUCCESS;
-+        }
-+        udelay(10);
-+    }
-+
-+    PRINTM(WARN, "mv_sdio_poll_card_status failed, tries = %d\n", tries);
-+
-+    LEAVE();
-+    return UAP_STATUS_FAILURE;
-+}
-+
-+/**
-+ *  @brief This function set the sdio bus width.
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @param mode       1--1 bit mode, 4--4 bit mode
-+ *  @return           UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+#if 0
-+static int
-+sdio_set_bus_width(uap_private * priv, u8 mode)
-+{
-+    ENTER();
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+#endif
-+
-+/**
-+ *  @brief This function reads data from the card.
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @return           UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+sd_card_to_host(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u16 buf_len = 0;
-+    int buf_block_len;
-+    int blksz;
-+    struct sk_buff *skb = NULL;
-+    u16 type;
-+    u8 *payload = NULL;
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "card or function is NULL!\n");
-+        ret = UAP_STATUS_FAILURE;
-+        goto exit;
-+    }
-+
-+    /* Read the length of data to be transferred */
-+    ret = sd_read_rx_len(priv, &buf_len);
-+    if (ret < 0) {
-+        PRINTM(ERROR, "card_to_host, read scratch reg failed\n");
-+        ret = UAP_STATUS_FAILURE;
-+        goto exit;
-+    }
-+
-+    /* Allocate buffer */
-+    blksz = SD_BLOCK_SIZE;
-+    buf_block_len = (buf_len + blksz - 1) / blksz;
-+    if (buf_len <= INTF_HEADER_LEN || (buf_block_len * blksz) > ALLOC_BUF_SIZE) {
-+        PRINTM(ERROR, "card_to_host, invalid packet length: %d\n", buf_len);
-+        ret = UAP_STATUS_FAILURE;
-+        goto exit;
-+    }
-+#ifdef PXA3XX_DMA_ALIGN
-+    skb = dev_alloc_skb(buf_block_len * blksz + PXA3XX_DMA_ALIGNMENT);
-+#else
-+    skb = dev_alloc_skb(buf_block_len * blksz);
-+#endif
-+    if (skb == NULL) {
-+        PRINTM(WARN, "No free skb\n");
-+        goto exit;
-+    }
-+#ifdef PXA3XX_DMA_ALIGN
-+    if ((u32) skb->data & (PXA3XX_DMA_ALIGNMENT - 1)) {
-+        skb_put(skb, (u32) skb->data & (PXA3XX_DMA_ALIGNMENT - 1));
-+        skb_pull(skb, (u32) skb->data & (PXA3XX_DMA_ALIGNMENT - 1));
-+    }
-+#endif /* PXA3XX_DMA_ALIGN */
-+
-+    payload = skb->tail;
-+    ret = sdio_readsb(card->func, payload, priv->uap_dev.ioport,
-+                      buf_block_len * blksz);
-+    if (ret < 0) {
-+        PRINTM(ERROR, "card_to_host, read iomem failed: %d\n", ret);
-+        ret = UAP_STATUS_FAILURE;
-+        goto exit;
-+    }
-+    HEXDUMP("SDIO Blk Rd", payload, blksz * buf_block_len);
-+    /*
-+     * This is SDIO specific header
-+     *  u16 length,
-+     *  u16 type (MV_TYPE_DAT = 0, MV_TYPE_CMD = 1, MV_TYPE_EVENT = 3)
-+     */
-+    buf_len = uap_le16_to_cpu(*(u16 *) & payload[0]);
-+    type = uap_le16_to_cpu(*(u16 *) & payload[2]);
-+    switch (type) {
-+    case MV_TYPE_EVENT:
-+        skb_put(skb, buf_len);
-+        skb_pull(skb, INTF_HEADER_LEN);
-+        uap_process_event(priv, skb->data, skb->len);
-+        kfree_skb(skb);
-+        skb = NULL;
-+        break;
-+    case MV_TYPE_CMD:
-+        skb_put(skb, buf_len);
-+        skb_pull(skb, INTF_HEADER_LEN);
-+        priv->adapter->cmd_pending = FALSE;
-+        if (priv->adapter->cmd_wait_option ==
-+            HostCmd_OPTION_WAITFORRSP_SLEEPCONFIRM) {
-+            priv->adapter->cmd_wait_option = FALSE;
-+            uap_process_sleep_confirm_resp(priv, skb->data, skb->len);
-+        } else if (priv->adapter->cmd_wait_option) {
-+            memcpy(priv->adapter->CmdBuf, skb->data, skb->len);
-+            priv->adapter->CmdSize = skb->len;
-+            priv->adapter->cmd_wait_option = FALSE;
-+            priv->adapter->CmdWaitQWoken = TRUE;
-+            wake_up_interruptible(&priv->adapter->cmdwait_q);
-+        }
-+        kfree_skb(skb);
-+        skb = NULL;
-+        break;
-+    case MV_TYPE_DAT:
-+        skb_put(skb, buf_len);
-+        skb_pull(skb, INTF_HEADER_LEN);
-+        uap_process_rx_packet(priv, skb);
-+        break;
-+    default:
-+        priv->stats.rx_errors++;
-+        priv->stats.rx_dropped++;
-+        /* Driver specified event and command resp should be handle here */
-+        PRINTM(INFO, "Unknown PKT type:%d\n", type);
-+        kfree_skb(skb);
-+        skb = NULL;
-+        break;
-+    }
-+  exit:
-+    if (ret) {
-+        if (skb)
-+            kfree_skb(skb);
-+    }
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function enables the host interrupts mask
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param mask          the interrupt mask
-+ *  @return      UAP_STATUS_SUCCESS
-+ */
-+static int
-+enable_host_int_mask(uap_private * priv, u8 mask)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+
-+    ENTER();
-+
-+    /* Simply write the mask to the register */
-+    ret = sbi_write_ioreg(priv, HOST_INT_MASK_REG, mask);
-+
-+    if (ret) {
-+        PRINTM(WARN, "Unable to enable the host interrupt!\n");
-+        ret = UAP_STATUS_FAILURE;
-+    }
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**  @brief This function disables the host interrupts mask.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param mask          the interrupt mask
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+disable_host_int_mask(uap_private * priv, u8 mask)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u8 host_int_mask;
-+
-+    ENTER();
-+
-+    /* Read back the host_int_mask register */
-+    ret = sbi_read_ioreg(priv, HOST_INT_MASK_REG, &host_int_mask);
-+    if (ret) {
-+        ret = UAP_STATUS_FAILURE;
-+        goto done;
-+    }
-+
-+    /* Update with the mask and write back to the register */
-+    host_int_mask &= ~mask;
-+    ret = sbi_write_ioreg(priv, HOST_INT_MASK_REG, host_int_mask);
-+    if (ret < 0) {
-+        PRINTM(WARN, "Unable to diable the host interrupt!\n");
-+        ret = UAP_STATUS_FAILURE;
-+        goto done;
-+    }
-+
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/********************************************************
-+              Global Functions
-+********************************************************/
-+
-+/**
-+ *  @brief This function handles the interrupt.
-+ *
-+ *  @param func          A pointer to sdio_func structure.
-+ *  @return      n/a
-+ */
-+static void
-+sbi_interrupt(struct sdio_func *func)
-+{
-+    struct sdio_mmc_card *card;
-+    uap_private *priv;
-+    u8 ireg = 0;
-+    int ret = UAP_STATUS_SUCCESS;
-+
-+    ENTER();
-+
-+    card = sdio_get_drvdata(func);
-+    if (!card || !card->priv) {
-+        PRINTM(MSG, "%s: sbi_interrupt(%p) card or priv is NULL, card=%p\n",
-+               __FUNCTION__, func, card);
-+        LEAVE();
-+        return;
-+    }
-+    priv = card->priv;
-+#ifdef FW_WAKEUP_TIME
-+    if ((priv->adapter->wt_pwrup_sending != 0L) &&
-+        (priv->adapter->wt_int == 0L))
-+        priv->adapter->wt_int = get_utimeofday();
-+#endif
-+
-+    ireg = sdio_readb(card->func, HOST_INTSTATUS_REG, &ret);
-+    if (ret) {
-+        PRINTM(WARN, "sdio_read_ioreg: read int status register failed\n");
-+        goto done;
-+    }
-+    if (ireg != 0) {
-+        /*
-+         * DN_LD_HOST_INT_STATUS and/or UP_LD_HOST_INT_STATUS
-+         * Clear the interrupt status register and re-enable the interrupt
-+         */
-+        PRINTM(INFO, "sdio_ireg = 0x%x\n", ireg);
-+        sdio_writeb(card->func,
-+                    ~(ireg) & (DN_LD_HOST_INT_STATUS | UP_LD_HOST_INT_STATUS),
-+                    HOST_INTSTATUS_REG, &ret);
-+        if (ret) {
-+            PRINTM(WARN,
-+                   "sdio_write_ioreg: clear int status register failed\n");
-+            goto done;
-+        }
-+    }
-+    OS_INT_DISABLE;
-+    sd_ireg |= ireg;
-+    OS_INT_RESTORE;
-+
-+    uap_interrupt(priv);
-+  done:
-+    LEAVE();
-+}
-+
-+/**
-+ *  @brief This function probe the card
-+ *
-+ *  @param func    A pointer to sdio_func structure
-+ *  @param id    A pointer to structure sd_device_id
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+static int
-+uap_probe(struct sdio_func *func, const struct sdio_device_id *id)
-+{
-+    int ret = UAP_STATUS_FAILURE;
-+    struct sdio_mmc_card *card = NULL;
-+
-+    ENTER();
-+
-+    PRINTM(MSG, "%s: vendor=0x%4.04X device=0x%4.04X class=%d function=%d\n",
-+           __FUNCTION__, func->vendor, func->device, func->class, func->num);
-+
-+    card = kzalloc(sizeof(struct sdio_mmc_card), GFP_KERNEL);
-+    if (!card) {
-+        ret = -ENOMEM;
-+        goto done;
-+    }
-+
-+    card->func = func;
-+
-+    if (!uap_add_card(card)) {
-+        PRINTM(ERROR, "%s: uap_add_callback failed\n", __FUNCTION__);
-+        kfree(card);
-+        ret = UAP_STATUS_FAILURE;
-+        goto done;
-+    }
-+
-+    ret = UAP_STATUS_SUCCESS;
-+
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function removes the card
-+ *
-+ *  @param func    A pointer to sdio_func structure
-+ *  @return        N/A
-+ */
-+static void
-+uap_remove(struct sdio_func *func)
-+{
-+    struct sdio_mmc_card *card;
-+
-+    ENTER();
-+
-+    if (func) {
-+        card = sdio_get_drvdata(func);
-+        if (card) {
-+            uap_remove_card(card);
-+            kfree(card);
-+        }
-+    }
-+
-+    LEAVE();
-+}
-+
-+#ifdef CONFIG_PM
-+/**
-+ *  @brief This function handles client driver suspend
-+ *
-+ *  @param func    A pointer to sdio_func structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+uap_suspend(struct sdio_func *func)
-+{
-+    ENTER();
-+    LEAVE();
-+    return 0;
-+}
-+
-+/**
-+ *  @brief This function handles client driver resume
-+ *
-+ *  @param func    A pointer to sdio_func structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+uap_resume(struct sdio_func *func)
-+{
-+    ENTER();
-+    LEAVE();
-+    return 0;
-+}
-+#endif
-+
-+/** Device ID for SD8688 */
-+#define  SD_DEVICE_ID_8688_UAP 0x9104
-+/** UAP IDs */
-+static const struct sdio_device_id uap_ids[] = {
-+    {SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SD_DEVICE_ID_8688_UAP)},
-+    {},
-+};
-+
-+MODULE_DEVICE_TABLE(sdio, uap_ids);
-+
-+static struct sdio_driver uap_sdio = {
-+    .name = "uap_sdio",
-+    .id_table = uap_ids,
-+    .probe = uap_probe,
-+    .remove = uap_remove,
-+#ifdef CONFIG_PM
-+/*    .suspend        = uap_suspend, */
-+/*    .resume = uap_resume, */
-+#endif
-+
-+};
-+
-+/**
-+ *  @brief This function registers the IF module in bus driver.
-+ *
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int __init
-+sbi_register()
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+
-+    ENTER();
-+
-+    /* SDIO Driver Registration */
-+    if (sdio_register_driver(&uap_sdio) != 0) {
-+        PRINTM(FATAL, "SDIO Driver Registration Failed \n");
-+        ret = UAP_STATUS_FAILURE;
-+    }
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function de-registers the IF module in bus driver.
-+ *
-+ *  @return      n/a
-+ */
-+void __exit
-+sbi_unregister(void)
-+{
-+    ENTER();
-+
-+    /* SDIO Driver Unregistration */
-+    sdio_unregister_driver(&uap_sdio);
-+
-+    LEAVE();
-+}
-+
-+/**
-+ *  @brief This function checks the interrupt status and handle it accordingly.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param ireg    A pointer to variable that keeps returned value
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_get_int_status(uap_private * priv, u8 * ireg)
-+{
-+    int ret = UAP_STATUS_SUCCESS;
-+    u8 sdio_ireg = 0;
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+
-+    ENTER();
-+
-+    *ireg = 0;
-+    OS_INT_DISABLE;
-+    sdio_ireg = sd_ireg;
-+    sd_ireg = 0;
-+    OS_INT_RESTORE;
-+
-+    sdio_claim_host(card->func);
-+
-+    if (sdio_ireg & DN_LD_HOST_INT_STATUS) {    /* tx_done INT */
-+        if (!priv->uap_dev.cmd_sent) {  /* tx_done already received */
-+            PRINTM(INFO,
-+                   "warning: tx_done already received: tx_dnld_rdy=0x%x int status=0x%x\n",
-+                   priv->uap_dev.cmd_sent, sdio_ireg);
-+        } else {
-+            priv->uap_dev.cmd_sent = FALSE;
-+            priv->uap_dev.data_sent = FALSE;
-+            if ( (priv->uap_dev.netdev->reg_state == NETREG_REGISTERED) && (skb_queue_len(&priv->adapter->tx_queue) < TX_LOW_WATERMARK)) {
-+                os_start_queue(priv);
-+          }
-+        }
-+    }
-+    if (sdio_ireg & UP_LD_HOST_INT_STATUS) {
-+        sd_card_to_host(priv);
-+    }
-+
-+    *ireg = sdio_ireg;
-+    ret = UAP_STATUS_SUCCESS;
-+    sdio_release_host(card->func);
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function disables the host interrupts.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_disable_host_int(uap_private * priv)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    int ret;
-+
-+    ENTER();
-+
-+    sdio_claim_host(card->func);
-+    ret = disable_host_int_mask(priv, HIM_DISABLE);
-+    sdio_release_host(card->func);
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function enables the host interrupts.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS
-+ */
-+int
-+sbi_enable_host_int(uap_private * priv)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    int ret;
-+
-+    ENTER();
-+
-+    sdio_claim_host(card->func);
-+    ret = enable_host_int_mask(priv, HIM_ENABLE);
-+    sdio_release_host(card->func);
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function de-registers the device.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS
-+ */
-+int
-+sbi_unregister_dev(uap_private * priv)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "Error: card or function is NULL!\n");
-+        goto done;
-+    }
-+
-+    sdio_claim_host(card->func);
-+    sdio_release_irq(card->func);
-+    sdio_disable_func(card->func);
-+    sdio_release_host(card->func);
-+
-+    sdio_set_drvdata(card->func, NULL);
-+
-+  done:
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+
-+/**
-+ *  @brief This function registers the device.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_register_dev(uap_private * priv)
-+{
-+    int ret = UAP_STATUS_FAILURE;
-+    u8 reg;
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    struct sdio_func *func;
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "Error: card or function is NULL!\n");
-+        goto done;
-+    }
-+
-+    func = card->func;
-+
-+    /* Initialize the private structure */
-+    priv->uap_dev.ioport = 0;
-+
-+    sdio_claim_host(func);
-+
-+    ret = sdio_enable_func(func);
-+    if (ret) {
-+        PRINTM(FATAL, "sdio_enable_func() failed: ret=%d\n", ret);
-+        goto release_host;
-+    }
-+
-+    ret = sdio_claim_irq(func, sbi_interrupt);
-+    if (ret) {
-+        PRINTM(FATAL, "sdio_claim_irq failed: ret=%d\n", ret);
-+        goto disable_func;
-+    }
-+
-+    /* Read the IO port */
-+    ret = sbi_read_ioreg(priv, IO_PORT_0_REG, &reg);
-+    if (ret)
-+        goto release_irq;
-+    else
-+        priv->uap_dev.ioport |= reg;
-+
-+    ret = sbi_read_ioreg(priv, IO_PORT_1_REG, &reg);
-+    if (ret)
-+        goto release_irq;
-+    else
-+        priv->uap_dev.ioport |= (reg << 8);
-+
-+    ret = sbi_read_ioreg(priv, IO_PORT_2_REG, &reg);
-+    if (ret)
-+        goto release_irq;
-+    else
-+        priv->uap_dev.ioport |= (reg << 16);
-+
-+    PRINTM(INFO, "SDIO FUNC #%d IO port: 0x%x\n", func->num,
-+           priv->uap_dev.ioport);
-+
-+    ret = sdio_set_block_size(card->func, SD_BLOCK_SIZE);
-+    if (ret) {
-+        PRINTM(ERROR, "%s: cannot set SDIO block size\n", __FUNCTION__);
-+        ret = UAP_STATUS_FAILURE;
-+        goto release_irq;
-+    }
-+    priv->hotplug_device = &func->dev;
-+
-+    if (helper_name == NULL) {
-+        helper_name = DEFAULT_HELPER_NAME;
-+    }
-+    if (fw_name == NULL) {
-+        fw_name = DEFAULT_FW_NAME;
-+    }
-+    sdio_release_host(func);
-+
-+    sdio_set_drvdata(func, card);
-+
-+    ret = UAP_STATUS_SUCCESS;
-+    goto done;
-+
-+  release_irq:
-+    sdio_release_irq(func);
-+  disable_func:
-+    sdio_disable_func(func);
-+  release_host:
-+    sdio_release_host(func);
-+
-+  done:
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function sends data to the card.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param payload A pointer to the data/cmd buffer
-+ *  @param nb    the length of data/cmd
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_host_to_card(uap_private * priv, u8 * payload, u16 nb)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    int ret = UAP_STATUS_SUCCESS;
-+    int buf_block_len;
-+    int blksz;
-+    int i = 0;
-+    u8 *buf = NULL;
-+#ifdef PXA3XX_DMA_ALIGN
-+    void *tmpbuf = NULL;
-+    int tmpbufsz;
-+#endif
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "card or function is NULL!\n");
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+    buf = payload;
-+#ifdef PXA3XX_DMA_ALIGN
-+    if ((u32) payload & (PXA3XX_DMA_ALIGNMENT - 1)) {
-+        tmpbufsz = ALIGN_SZ(nb, PXA3XX_DMA_ALIGNMENT);
-+        tmpbuf = kmalloc(tmpbufsz, GFP_KERNEL);
-+        memset(tmpbuf, 0, tmpbufsz);
-+        /* Ensure 8-byte aligned CMD buffer */
-+        buf = (u8 *) ALIGN_ADDR(tmpbuf, PXA3XX_DMA_ALIGNMENT);
-+        memcpy(buf, payload, nb);
-+    }
-+#endif
-+    /* Allocate buffer and copy payload */
-+    blksz = SD_BLOCK_SIZE;
-+    buf_block_len = (nb + blksz - 1) / blksz;
-+    sdio_claim_host(card->func);
-+#define MAX_WRITE_IOMEM_RETRY 2
-+    priv->uap_dev.cmd_sent = TRUE;
-+    priv->uap_dev.data_sent = TRUE;
-+    do {
-+        /* Transfer data to card */
-+        ret = sdio_writesb(card->func, priv->uap_dev.ioport, buf,
-+                           buf_block_len * blksz);
-+        if (ret < 0) {
-+            i++;
-+            PRINTM(ERROR, "host_to_card, write iomem (%d) failed: %d\n", i,
-+                   ret);
-+            ret = UAP_STATUS_FAILURE;
-+            if (i > MAX_WRITE_IOMEM_RETRY)
-+                goto exit;
-+        } else {
-+            HEXDUMP("SDIO Blk Wr", payload, nb);
-+        }
-+    } while (ret == UAP_STATUS_FAILURE);
-+  exit:
-+    sdio_release_host(card->func);
-+#ifdef PXA3XX_DMA_ALIGN
-+    if (tmpbuf)
-+        kfree(tmpbuf);
-+#endif
-+    if (ret == UAP_STATUS_FAILURE) {
-+        priv->uap_dev.cmd_sent = FALSE;
-+        priv->uap_dev.data_sent = FALSE;
-+    }
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function reads CIS information.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param cisinfo A pointer to CIS information output buffer
-+ *  @param cislen  A pointer to length of CIS info output buffer
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+#if 0
-+static int
-+sbi_get_cis_info(uap_private * priv, void *cisinfo, int *cislen)
-+{
-+#define CIS_PTR (0x8000)
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    unsigned int i, cis_ptr = CIS_PTR;
-+    int ret = UAP_STATUS_FAILURE;
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "sbi_get_cis_info(): card or function is NULL!\n");
-+        goto exit;
-+    }
-+#define MAX_SDIO_CIS_INFO_LEN (256)
-+    if (!cisinfo || (*cislen < MAX_SDIO_CIS_INFO_LEN)) {
-+        PRINTM(WARN, "ERROR! get_cis_info: insufficient buffer passed\n");
-+        goto exit;
-+    }
-+
-+    *cislen = MAX_SDIO_CIS_INFO_LEN;
-+
-+    sdio_claim_host(card->func);
-+
-+    PRINTM(INFO, "cis_ptr=%#x\n", cis_ptr);
-+
-+    /* Read the Tuple Data */
-+    for (i = 0; i < *cislen; i++) {
-+        ((unsigned char *) cisinfo)[i] =
-+            sdio_readb(card->func, cis_ptr + i, &ret);
-+        if (ret) {
-+            PRINTM(WARN, "get_cis_info error: ret=%d\n", ret);
-+            ret = UAP_STATUS_FAILURE;
-+            goto done;
-+        }
-+        PRINTM(INFO, "cisinfo[%d]=%#x\n", i, ((unsigned char *) cisinfo)[i]);
-+    }
-+
-+  done:
-+    sdio_release_host(card->func);
-+  exit:
-+    LEAVE();
-+    return ret;
-+}
-+#endif
-+/**
-+ *  @brief This function downloads helper image to the card.
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @return           UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_prog_helper(uap_private * priv)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    u8 *helper = NULL;
-+    int helperlen;
-+    int ret = UAP_STATUS_SUCCESS;
-+    void *tmphlprbuf = NULL;
-+    int tmphlprbufsz;
-+    u8 *hlprbuf;
-+    int hlprblknow;
-+    u32 tx_len;
-+#ifdef FW_DOWNLOAD_SPEED
-+    u32 tv1, tv2;
-+#endif
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "sbi_prog_helper(): card or function is NULL!\n");
-+        goto done;
-+    }
-+
-+    if (priv->fw_helper) {
-+        helper = (u8 *) priv->fw_helper->data;
-+        helperlen = priv->fw_helper->size;
-+    } else {
-+        PRINTM(MSG, "No helper image found! Terminating download.\n");
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+
-+    PRINTM(INFO, "Downloading helper image (%d bytes), block size %d bytes\n",
-+           helperlen, SD_BLOCK_SIZE);
-+
-+#ifdef FW_DOWNLOAD_SPEED
-+    tv1 = get_utimeofday();
-+#endif
-+
-+#ifdef PXA3XX_DMA_ALIGN
-+    tmphlprbufsz = ALIGN_SZ(UAP_UPLD_SIZE, PXA3XX_DMA_ALIGNMENT);
-+#else /* !PXA3XX_DMA_ALIGN */
-+    tmphlprbufsz = UAP_UPLD_SIZE;
-+#endif /* !PXA3XX_DMA_ALIGN */
-+    tmphlprbuf = kmalloc(tmphlprbufsz, GFP_KERNEL);
-+    if (!tmphlprbuf) {
-+        PRINTM(ERROR,
-+               "Unable to allocate buffer for helper. Terminating download\n");
-+        ret = UAP_STATUS_FAILURE;
-+        goto done;
-+    }
-+    memset(tmphlprbuf, 0, tmphlprbufsz);
-+#ifdef PXA3XX_DMA_ALIGN
-+    hlprbuf = (u8 *) ALIGN_ADDR(tmphlprbuf, PXA3XX_DMA_ALIGNMENT);
-+#else /* !PXA3XX_DMA_ALIGN */
-+    hlprbuf = (u8 *) tmphlprbuf;
-+#endif /* !PXA3XX_DMA_ALIGN */
-+
-+    sdio_claim_host(card->func);
-+
-+    /* Perform helper data transfer */
-+    tx_len = (FIRMWARE_TRANSFER_NBLOCK * SD_BLOCK_SIZE) - INTF_HEADER_LEN;
-+    hlprblknow = 0;
-+    do {
-+        /* The host polls for the DN_LD_CARD_RDY and CARD_IO_READY bits */
-+        ret = mv_sdio_poll_card_status(priv, CARD_IO_READY | DN_LD_CARD_RDY);
-+        if (ret < 0) {
-+            PRINTM(FATAL, "Helper download poll status timeout @ %d\n",
-+                   hlprblknow);
-+            goto done;
-+        }
-+
-+        /* More data? */
-+        if (hlprblknow >= helperlen)
-+            break;
-+
-+        /* Set blocksize to transfer - checking for last block */
-+        if (helperlen - hlprblknow < tx_len)
-+            tx_len = helperlen - hlprblknow;
-+
-+        /* Set length to the 4-byte header */
-+        *(u32 *) hlprbuf = uap_cpu_to_le32(tx_len);
-+
-+        /* Copy payload to buffer */
-+        memcpy(&hlprbuf[INTF_HEADER_LEN], &helper[hlprblknow], tx_len);
-+
-+        PRINTM(INFO, ".");
-+
-+        /* Send data */
-+        ret = sdio_writesb(card->func, priv->uap_dev.ioport,
-+                           hlprbuf, FIRMWARE_TRANSFER_NBLOCK * SD_BLOCK_SIZE);
-+
-+        if (ret < 0) {
-+            PRINTM(FATAL, "IO error during helper download @ %d\n", hlprblknow);
-+            goto done;
-+        }
-+
-+        hlprblknow += tx_len;
-+    } while (TRUE);
-+
-+#ifdef FW_DOWNLOAD_SPEED
-+    tv2 = get_utimeofday();
-+    PRINTM(INFO, "helper: %ld.%03ld.%03ld ", tv1 / 1000000,
-+           (tv1 % 1000000) / 1000, tv1 % 1000);
-+    PRINTM(INFO, " -> %ld.%03ld.%03ld ", tv2 / 1000000, (tv2 % 1000000) / 1000,
-+           tv2 % 1000);
-+    tv2 -= tv1;
-+    PRINTM(INFO, " == %ld.%03ld.%03ld\n", tv2 / 1000000, (tv2 % 1000000) / 1000,
-+           tv2 % 1000);
-+#endif
-+
-+    /* Write last EOF data */
-+    PRINTM(INFO, "\nTransferring helper image EOF block\n");
-+    memset(hlprbuf, 0x0, SD_BLOCK_SIZE);
-+    ret = sdio_writesb(card->func, priv->uap_dev.ioport,
-+                       hlprbuf, SD_BLOCK_SIZE);
-+
-+    if (ret < 0) {
-+        PRINTM(FATAL, "IO error in writing helper image EOF block\n");
-+        goto done;
-+    }
-+
-+    ret = UAP_STATUS_SUCCESS;
-+
-+  done:
-+    sdio_release_host(card->func);
-+    if (tmphlprbuf)
-+        kfree(tmphlprbuf);
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function downloads firmware image to the card.
-+ *
-+ *  @param priv       A pointer to uap_private structure
-+ *  @return           UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_prog_fw_w_helper(uap_private * priv)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    u8 *firmware = NULL;
-+    int firmwarelen;
-+    u8 base0;
-+    u8 base1;
-+    int ret = UAP_STATUS_SUCCESS;
-+    int offset;
-+    void *tmpfwbuf = NULL;
-+    int tmpfwbufsz;
-+    u8 *fwbuf;
-+    u16 len;
-+    int txlen = 0;
-+    int tx_blocks = 0;
-+    int i = 0;
-+    int tries = 0;
-+#ifdef FW_DOWNLOAD_SPEED
-+    u32 tv1, tv2;
-+#endif
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "sbi_prog_fw_w_helper(): card or function is NULL!\n");
-+        goto done;
-+    }
-+
-+    if (priv->firmware) {
-+        firmware = (u8 *) priv->firmware->data;
-+        firmwarelen = priv->firmware->size;
-+    } else {
-+        PRINTM(MSG, "No firmware image found! Terminating download.\n");
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+
-+    PRINTM(INFO, "Downloading FW image (%d bytes)\n", firmwarelen);
-+
-+#ifdef FW_DOWNLOAD_SPEED
-+    tv1 = get_utimeofday();
-+#endif
-+
-+#ifdef PXA3XX_DMA_ALIGN
-+    tmpfwbufsz = ALIGN_SZ(UAP_UPLD_SIZE, PXA3XX_DMA_ALIGNMENT);
-+#else /* PXA3XX_DMA_ALIGN */
-+    tmpfwbufsz = UAP_UPLD_SIZE;
-+#endif /* PXA3XX_DMA_ALIGN */
-+    tmpfwbuf = kmalloc(tmpfwbufsz, GFP_KERNEL);
-+    if (!tmpfwbuf) {
-+        PRINTM(ERROR,
-+               "Unable to allocate buffer for firmware. Terminating download.\n");
-+        ret = UAP_STATUS_FAILURE;
-+        goto done;
-+    }
-+    memset(tmpfwbuf, 0, tmpfwbufsz);
-+#ifdef PXA3XX_DMA_ALIGN
-+    /* Ensure 8-byte aligned firmware buffer */
-+    fwbuf = (u8 *) ALIGN_ADDR(tmpfwbuf, PXA3XX_DMA_ALIGNMENT);
-+#else /* PXA3XX_DMA_ALIGN */
-+    fwbuf = (u8 *) tmpfwbuf;
-+#endif /* PXA3XX_DMA_ALIGN */
-+
-+    sdio_claim_host(card->func);
-+
-+    /* Perform firmware data transfer */
-+    offset = 0;
-+    do {
-+        /* The host polls for the DN_LD_CARD_RDY and CARD_IO_READY bits */
-+        ret = mv_sdio_poll_card_status(priv, CARD_IO_READY | DN_LD_CARD_RDY);
-+        if (ret < 0) {
-+            PRINTM(FATAL, "FW download with helper poll status timeout @ %d\n",
-+                   offset);
-+            goto done;
-+        }
-+
-+        /* More data? */
-+        if (offset >= firmwarelen)
-+            break;
-+
-+        for (tries = 0; tries < MAX_POLL_TRIES; tries++) {
-+            if ((ret = sbi_read_ioreg(priv, HOST_F1_RD_BASE_0, &base0)) < 0) {
-+                PRINTM(WARN, "Dev BASE0 register read failed:"
-+                       " base0=0x%04X(%d). Terminating download.\n", base0,
-+                       base0);
-+                ret = UAP_STATUS_FAILURE;
-+                goto done;
-+            }
-+            if ((ret = sbi_read_ioreg(priv, HOST_F1_RD_BASE_1, &base1)) < 0) {
-+                PRINTM(WARN, "Dev BASE1 register read failed:"
-+                       " base1=0x%04X(%d). Terminating download.\n", base1,
-+                       base1);
-+                ret = UAP_STATUS_FAILURE;
-+                goto done;
-+            }
-+            len = (((u16) base1) << 8) | base0;
-+
-+            /* For SD8688 wait until the length is not 0, 1 or 2 before
-+               downloading the first FW block, since BOOT code writes the
-+               register to indicate the helper/FW download winner, the value
-+               could be 1 or 2 (Func1 or Func2). */
-+            if ((len && offset) || (len > 2))
-+                break;
-+            udelay(10);
-+        }
-+
-+        if (len == 0)
-+            break;
-+        else if (len > UAP_UPLD_SIZE) {
-+            PRINTM(FATAL, "FW download failure @ %d, invalid length %d\n",
-+                   offset, len);
-+            ret = UAP_STATUS_FAILURE;
-+            goto done;
-+        }
-+
-+        txlen = len;
-+
-+        if (len & BIT(0)) {
-+            i++;
-+            if (i > MAX_WRITE_IOMEM_RETRY) {
-+                PRINTM(FATAL,
-+                       "FW download failure @ %d, over max retry count\n",
-+                       offset);
-+                ret = UAP_STATUS_FAILURE;
-+                goto done;
-+            }
-+            PRINTM(ERROR, "FW CRC error indicated by the helper:"
-+                   " len = 0x%04X, txlen = %d\n", len, txlen);
-+            len &= ~BIT(0);
-+            /* Setting this to 0 to resend from same offset */
-+            txlen = 0;
-+        } else {
-+            i = 0;
-+
-+            /* Set blocksize to transfer - checking for last block */
-+            if (firmwarelen - offset < txlen) {
-+                txlen = firmwarelen - offset;
-+            }
-+            PRINTM(INFO, ".");
-+
-+            tx_blocks = (txlen + SD_BLOCK_SIZE - 1) / SD_BLOCK_SIZE;
-+
-+            /* Copy payload to buffer */
-+            memcpy(fwbuf, &firmware[offset], txlen);
-+        }
-+
-+        /* Send data */
-+        ret = sdio_writesb(card->func, priv->uap_dev.ioport,
-+                           fwbuf, tx_blocks * SD_BLOCK_SIZE);
-+
-+        if (ret < 0) {
-+            PRINTM(ERROR, "FW download, write iomem (%d) failed @ %d\n", i,
-+                   offset);
-+            if (sbi_write_ioreg(priv, CONFIGURATION_REG, 0x04) < 0) {
-+                PRINTM(ERROR, "write ioreg failed (CFG)\n");
-+            }
-+        }
-+
-+        offset += txlen;
-+    } while (TRUE);
-+
-+    PRINTM(INFO, "\nFW download over, size %d bytes\n", offset);
-+
-+    ret = UAP_STATUS_SUCCESS;
-+  done:
-+#ifdef FW_DOWNLOAD_SPEED
-+    tv2 = get_utimeofday();
-+    PRINTM(INFO, "FW: %ld.%03ld.%03ld ", tv1 / 1000000,
-+           (tv1 % 1000000) / 1000, tv1 % 1000);
-+    PRINTM(INFO, " -> %ld.%03ld.%03ld ", tv2 / 1000000,
-+           (tv2 % 1000000) / 1000, tv2 % 1000);
-+    tv2 -= tv1;
-+    PRINTM(INFO, " == %ld.%03ld.%03ld\n", tv2 / 1000000,
-+           (tv2 % 1000000) / 1000, tv2 % 1000);
-+#endif
-+    sdio_release_host(card->func);
-+    if (tmpfwbuf)
-+        kfree(tmpfwbuf);
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function checks if the firmware is ready to accept
-+ *  command or not.
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param pollnum Poll number
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_check_fw_status(uap_private * priv, int pollnum)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    int ret = UAP_STATUS_SUCCESS;
-+    u16 firmwarestat;
-+    int tries;
-+
-+    ENTER();
-+
-+    sdio_claim_host(card->func);
-+
-+    /* Wait for firmware initialization event */
-+    for (tries = 0; tries < pollnum; tries++) {
-+        if ((ret = sd_read_firmware_status(priv, &firmwarestat)) < 0)
-+            continue;
-+        if (firmwarestat == FIRMWARE_READY) {
-+            ret = UAP_STATUS_SUCCESS;
-+            break;
-+        } else {
-+            mdelay(10);
-+            ret = UAP_STATUS_FAILURE;
-+        }
-+    }
-+
-+    if (ret < 0)
-+        goto done;
-+
-+    ret = UAP_STATUS_SUCCESS;
-+    sd_get_rx_unit(priv);
-+
-+  done:
-+    sdio_release_host(card->func);
-+
-+    LEAVE();
-+    return ret;
-+}
-+
-+/**
-+ *  @brief This function set bus clock on/off
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @param option    TRUE--on , FALSE--off
-+ *  @return      UAP_STATUS_SUCCESS
-+ */
-+#if 0
-+static int
-+sbi_set_bus_clock(uap_private * priv, u8 option)
-+{
-+    ENTER();
-+    LEAVE();
-+    return UAP_STATUS_SUCCESS;
-+}
-+#endif
-+
-+/**
-+ *  @brief This function wakeup firmware
-+ *
-+ *  @param priv    A pointer to uap_private structure
-+ *  @return      UAP_STATUS_SUCCESS or UAP_STATUS_FAILURE
-+ */
-+int
-+sbi_wakeup_firmware(uap_private * priv)
-+{
-+    struct sdio_mmc_card *card = priv->uap_dev.card;
-+    int ret = UAP_STATUS_SUCCESS;
-+
-+    ENTER();
-+
-+    if (!card || !card->func) {
-+        PRINTM(ERROR, "card or function is NULL!\n");
-+        LEAVE();
-+        return UAP_STATUS_FAILURE;
-+    }
-+    sdio_claim_host(card->func);
-+    sdio_writeb(card->func, HOST_POWER_UP, CONFIGURATION_REG, &ret);
-+    sdio_release_host(card->func);
-+    LEAVE();
-+    return ret;
-+}
-diff --git a/drivers/net/wireless/libertas_uap/uap_sdio_mmc.h b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.h
-new file mode 100644
-index 0000000..191c67f
---- /dev/null
-+++ b/drivers/net/wireless/libertas_uap/uap_sdio_mmc.h
-@@ -0,0 +1,136 @@
-+/** @file uap_sdio_mmc.h
-+ *  @brief This file contains SDIO IF (interface) module
-+ *  related macros, enum, and structure.
-+ *
-+ * Copyright (C) 2007-2009, Marvell International Ltd.
-+ *
-+ * This software file (the "File") is distributed by Marvell International
-+ * Ltd. under the terms of the GNU General Public License Version 2, June 1991
-+ * (the "License").  You may use, redistribute and/or modify this File in
-+ * accordance with the terms and conditions of the License, a copy of which
-+ * is available along with the File in the gpl.txt file or by writing to
-+ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ * 02111-1307 or on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+ *
-+ * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
-+ * this warranty disclaimer.
-+ *
-+ */
-+/****************************************************
-+Change log:
-+      10/10/07: initial version
-+****************************************************/
-+
-+#ifndef       _UAP_SDIO_MMC_H
-+#define       _UAP_SDIO_MMC_H
-+
-+#include      <linux/mmc/sdio.h>
-+#include      <linux/mmc/sdio_ids.h>
-+#include      <linux/mmc/sdio_func.h>
-+#include      <linux/mmc/card.h>
-+
-+#include      "uap_headers.h"
-+
-+/** The number of times to try when waiting for downloaded firmware to
-+     become active. (polling the scratch register). */
-+#define MAX_FIRMWARE_POLL_TRIES               100
-+
-+/** Firmware ready */
-+#define FIRMWARE_READY                        0xfedc
-+
-+/** Number of firmware blocks to transfer */
-+#define FIRMWARE_TRANSFER_NBLOCK      2
-+
-+/* Host Control Registers */
-+/** Host Control Registers : I/O port 0 */
-+#define IO_PORT_0_REG                 0x00
-+/** Host Control Registers : I/O port 1 */
-+#define IO_PORT_1_REG                 0x01
-+/** Host Control Registers : I/O port 2 */
-+#define IO_PORT_2_REG                 0x02
-+
-+/** Host Control Registers : Configuration */
-+#define CONFIGURATION_REG             0x03
-+/** Host Control Registers : Host without Command 53 finish host */
-+#define HOST_WO_CMD53_FINISH_HOST     (0x1U << 2)
-+/** Host Control Registers : Host power up */
-+#define HOST_POWER_UP                 (0x1U << 1)
-+/** Host Control Registers : Host power down */
-+#define HOST_POWER_DOWN                       (0x1U << 0)
-+
-+/** Host Control Registers : Host interrupt mask */
-+#define HOST_INT_MASK_REG             0x04
-+/** Host Control Registers : Upload host interrupt mask */
-+#define UP_LD_HOST_INT_MASK           (0x1U)
-+/** Host Control Registers : Download host interrupt mask */
-+#define DN_LD_HOST_INT_MASK           (0x2U)
-+/** Enable Host interrupt mask */
-+#define HIM_ENABLE                    (UP_LD_HOST_INT_MASK | DN_LD_HOST_INT_MASK)
-+/** Disable Host interrupt mask */
-+#define       HIM_DISABLE                     0xff
-+
-+/** Host Control Registers : Host interrupt status */
-+#define HOST_INTSTATUS_REG            0x05
-+/** Host Control Registers : Upload host interrupt status */
-+#define UP_LD_HOST_INT_STATUS         (0x1U)
-+/** Host Control Registers : Download host interrupt status */
-+#define DN_LD_HOST_INT_STATUS         (0x2U)
-+
-+/** Host F1 read base 0 */
-+#define HOST_F1_RD_BASE_0             0x10
-+/** Host F1 read base 1 */
-+#define HOST_F1_RD_BASE_1             0x11
-+
-+/** Card Control Registers : Card status register */
-+#define CARD_STATUS_REG               0x20
-+/** Card Control Registers : Card I/O ready */
-+#define CARD_IO_READY                 (0x1U << 3)
-+/** Card Control Registers : CIS card ready */
-+#define CIS_CARD_RDY                  (0x1U << 2)
-+/** Card Control Registers : Upload card ready */
-+#define UP_LD_CARD_RDY                (0x1U << 1)
-+/** Card Control Registers : Download card ready */
-+#define DN_LD_CARD_RDY                (0x1U << 0)
-+
-+/** Card Control Registers : Card OCR 0 register */
-+#define CARD_OCR_0_REG                0x34
-+/** Card Control Registers : Card OCR 1 register */
-+#define CARD_OCR_1_REG                0x35
-+
-+/** Firmware status 0 register */
-+#define CARD_FW_STATUS0_REG           0x40
-+/** Firmware status 1 register */
-+#define CARD_FW_STATUS1_REG           0x41
-+/** Rx length register */
-+#define CARD_RX_LEN_REG                       0x42
-+/** Rx unit register */
-+#define CARD_RX_UNIT_REG              0x43
-+
-+/** Chip Id Register 0 */
-+#define CARD_CHIP_ID_0_REG            0x801c
-+/** Chip Id Register 1 */
-+#define CARD_CHIP_ID_1_REG            0x801d
-+
-+#ifdef PXA3XX_DMA_ALIGN
-+/** DMA alignment value for PXA3XX platforms */
-+#define PXA3XX_DMA_ALIGNMENT    8
-+/** Macros for Data Alignment : size */
-+#define ALIGN_SZ(p, a)  \
-+    (((p) + ((a) - 1)) & ~((a) - 1))
-+
-+/** Macros for Data Alignment : address */
-+#define ALIGN_ADDR(p, a)    \
-+    ((((u32)(p)) + (((u32)(a)) - 1)) & ~(((u32)(a)) - 1))
-+#endif /* PXA3XX_DMA_ALIGN */
-+
-+struct sdio_mmc_card
-+{
-+        /** sdio_func structure pointer */
-+    struct sdio_func *func;
-+        /** uap_private structure pointer */
-+    uap_private *priv;
-+};
-+
-+#endif /* _UAP_SDIO_MMC_H */
diff --git a/src/patches/linux/linux-3.14.79-rpi-suspend-not-inline.patch b/src/patches/linux/linux-3.14.79-rpi-suspend-not-inline.patch
deleted file mode 100644 (file)
index da7cf80..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur linux-3.14.79.ORG/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c linux-3.14.79/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
---- linux-3.14.79.ORG/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c       2017-06-16 19:58:56.000000000 +0200
-+++ linux-3.14.79/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c   2017-06-17 09:32:51.645096482 +0200
-@@ -1776,7 +1776,7 @@
- ** VC_RESUME_FAILED - Currently unused - no mechanism to fail resume exists.
- */
--inline void
-+void
- set_suspend_state(VCHIQ_ARM_STATE_T *arm_state,
-       enum vc_suspend_status new_state)
- {
diff --git a/src/patches/linux/linux-4.14-Revert-usb-dwc2-Fix-DMA-alignment.patch b/src/patches/linux/linux-4.14-Revert-usb-dwc2-Fix-DMA-alignment.patch
deleted file mode 100644 (file)
index e4c8b99..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-From a44147a09baf8c46cc0b02332df3a4656e0659d5 Mon Sep 17 00:00:00 2001
-From: Arne Fitzenreiter <arne_f@ipfire.org>
-Date: Mon, 10 Dec 2018 13:12:00 +0100
-Subject: [PATCH] Revert "usb: dwc2: Fix DMA alignment to start at allocated
- boundary"
-
-This reverts commit 68fc92a0f3913d539d1ac68a861f895e34099e46.
----
- drivers/usb/dwc2/hcd.c | 44 +++++++++++++++++++++-----------------------
- 1 file changed, 21 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
-index fa20ec4..4b81d08 100644
---- a/drivers/usb/dwc2/hcd.c
-+++ b/drivers/usb/dwc2/hcd.c
-@@ -2644,29 +2644,34 @@ static int dwc2_alloc_split_dma_aligned_buf(struct dwc2_hsotg *hsotg,
- #define DWC2_USB_DMA_ALIGN 4
-+struct dma_aligned_buffer {
-+      void *kmalloc_ptr;
-+      void *old_xfer_buffer;
-+      u8 data[0];
-+};
-+
- static void dwc2_free_dma_aligned_buffer(struct urb *urb)
- {
--      void *stored_xfer_buffer;
-+      struct dma_aligned_buffer *temp;
-       if (!(urb->transfer_flags & URB_ALIGNED_TEMP_BUFFER))
-               return;
--      /* Restore urb->transfer_buffer from the end of the allocated area */
--      memcpy(&stored_xfer_buffer, urb->transfer_buffer +
--             urb->transfer_buffer_length, sizeof(urb->transfer_buffer));
-+      temp = container_of(urb->transfer_buffer,
-+                          struct dma_aligned_buffer, data);
-       if (usb_urb_dir_in(urb))
--              memcpy(stored_xfer_buffer, urb->transfer_buffer,
-+              memcpy(temp->old_xfer_buffer, temp->data,
-                      urb->transfer_buffer_length);
--      kfree(urb->transfer_buffer);
--      urb->transfer_buffer = stored_xfer_buffer;
-+      urb->transfer_buffer = temp->old_xfer_buffer;
-+      kfree(temp->kmalloc_ptr);
-       urb->transfer_flags &= ~URB_ALIGNED_TEMP_BUFFER;
- }
- static int dwc2_alloc_dma_aligned_buffer(struct urb *urb, gfp_t mem_flags)
- {
--      void *kmalloc_ptr;
-+      struct dma_aligned_buffer *temp, *kmalloc_ptr;
-       size_t kmalloc_size;
-       if (urb->num_sgs || urb->sg ||
-@@ -2674,29 +2679,22 @@ static int dwc2_alloc_dma_aligned_buffer(struct urb *urb, gfp_t mem_flags)
-           !((uintptr_t)urb->transfer_buffer & (DWC2_USB_DMA_ALIGN - 1)))
-               return 0;
--      /*
--       * Allocate a buffer with enough padding for original transfer_buffer
--       * pointer. This allocation is guaranteed to be aligned properly for
--       * DMA
--       */
-+      /* Allocate a buffer with enough padding for alignment */
-       kmalloc_size = urb->transfer_buffer_length +
--              sizeof(urb->transfer_buffer);
-+              sizeof(struct dma_aligned_buffer) + DWC2_USB_DMA_ALIGN - 1;
-       kmalloc_ptr = kmalloc(kmalloc_size, mem_flags);
-       if (!kmalloc_ptr)
-               return -ENOMEM;
--      /*
--       * Position value of original urb->transfer_buffer pointer to the end
--       * of allocation for later referencing
--       */
--      memcpy(kmalloc_ptr + urb->transfer_buffer_length,
--             &urb->transfer_buffer, sizeof(urb->transfer_buffer));
--
-+      /* Position our struct dma_aligned_buffer such that data is aligned */
-+      temp = PTR_ALIGN(kmalloc_ptr + 1, DWC2_USB_DMA_ALIGN) - 1;
-+      temp->kmalloc_ptr = kmalloc_ptr;
-+      temp->old_xfer_buffer = urb->transfer_buffer;
-       if (usb_urb_dir_out(urb))
--              memcpy(kmalloc_ptr, urb->transfer_buffer,
-+              memcpy(temp->data, urb->transfer_buffer,
-                      urb->transfer_buffer_length);
--      urb->transfer_buffer = kmalloc_ptr;
-+      urb->transfer_buffer = temp->data;
-       urb->transfer_flags |= URB_ALIGNED_TEMP_BUFFER;
--- 
-2.7.4
-
diff --git a/src/patches/linux/linux-4.9.8-rt2x00usb_suppress_queue_warnings.patch b/src/patches/linux/linux-4.9.8-rt2x00usb_suppress_queue_warnings.patch
deleted file mode 100644 (file)
index e145cb4..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Naur linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2800usb.c linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
---- linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2800usb.c     2017-02-04 09:47:29.000000000 +0100
-+++ linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2800usb.c 2017-02-11 10:50:04.909859370 +0100
-@@ -448,7 +448,7 @@
-       rt2x00usb_register_read(rt2x00dev, TXRXQ_PCNT, &reg);
-       if (rt2x00_get_field32(reg, TXRXQ_PCNT_TX0Q)) {
--              rt2x00_warn(rt2x00dev, "TX HW queue 0 timed out, invoke forced kick\n");
-+              rt2x00_dbg(rt2x00dev, "TX HW queue 0 timed out, invoke forced kick\n");
-               rt2x00usb_register_write(rt2x00dev, PBF_CFG, 0xf40012);
-@@ -463,7 +463,7 @@
-       rt2x00usb_register_read(rt2x00dev, TXRXQ_PCNT, &reg);
-       if (rt2x00_get_field32(reg, TXRXQ_PCNT_TX1Q)) {
--              rt2x00_warn(rt2x00dev, "TX HW queue 1 timed out, invoke forced kick\n");
-+              rt2x00_dbg(rt2x00dev, "TX HW queue 1 timed out, invoke forced kick\n");
-               rt2x00usb_register_write(rt2x00dev, PBF_CFG, 0xf4000a);
-@@ -613,7 +613,7 @@
-               if (unlikely(test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) ||
-                            !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))) {
--                      rt2x00_warn(rt2x00dev, "Data pending for entry %u in queue %u\n",
-+                      rt2x00_dbg(rt2x00dev, "Data pending for entry %u in queue %u\n",
-                                   entry->entry_idx, qid);
-                       break;
-               }
-diff -Naur linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c
---- linux-4.9.8.org/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c     2017-02-04 09:47:29.000000000 +0100
-+++ linux-4.9.8/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c 2017-02-11 10:50:04.909859370 +0100
-@@ -524,7 +524,7 @@
- static void rt2x00usb_watchdog_tx_dma(struct data_queue *queue)
- {
--      rt2x00_warn(queue->rt2x00dev, "TX queue %d DMA timed out, invoke forced forced reset\n",
-+      rt2x00_dbg(queue->rt2x00dev, "TX queue %d DMA timed out, invoke forced reset\n",
-                   queue->qid);
-       rt2x00queue_stop_queue(queue);
diff --git a/src/patches/lzo-2.06-CVE-2014-4607.patch b/src/patches/lzo-2.06-CVE-2014-4607.patch
deleted file mode 100644 (file)
index d22c406..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-diff --git a/minilzo/minilzo.c b/minilzo/minilzo.c
-index 34ce0f0..ecfdf66 100644
---- a/minilzo/minilzo.c
-+++ b/minilzo/minilzo.c
-@@ -3547,6 +3547,8 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
- #undef TEST_LBO
- #undef NEED_IP
- #undef NEED_OP
-+#undef TEST_IV
-+#undef TEST_OV
- #undef HAVE_TEST_IP
- #undef HAVE_TEST_OP
- #undef HAVE_NEED_IP
-@@ -3561,6 +3563,7 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
- #  if (LZO_TEST_OVERRUN_INPUT >= 2)
- #    define NEED_IP(x) \
-             if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
-+#    define TEST_IV(x)          if ((x) > (lzo_uint)0 - (511)) goto input_overrun
- #  endif
- #endif
-@@ -3572,6 +3575,7 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
- #    undef TEST_OP
- #    define NEED_OP(x) \
-             if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
-+#    define TEST_OV(x)          if ((x) > (lzo_uint)0 - (511)) goto output_overrun
- #  endif
- #endif
-@@ -3602,11 +3606,13 @@ DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
- #  define HAVE_NEED_IP 1
- #else
- #  define NEED_IP(x)            ((void) 0)
-+#  define TEST_IV(x)            ((void) 0)
- #endif
- #if defined(NEED_OP)
- #  define HAVE_NEED_OP 1
- #else
- #  define NEED_OP(x)            ((void) 0)
-+#  define TEST_OV(x)            ((void) 0)
- #endif
- #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
-@@ -3687,6 +3693,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
-             {
-                 t += 255;
-                 ip++;
-+                TEST_IV(t);
-                 NEED_IP(1);
-             }
-             t += 15 + *ip++;
-@@ -3835,6 +3842,7 @@ match:
-                     {
-                         t += 255;
-                         ip++;
-+                        TEST_OV(t);
-                         NEED_IP(1);
-                     }
-                     t += 31 + *ip++;
-@@ -3879,6 +3887,7 @@ match:
-                     {
-                         t += 255;
-                         ip++;
-+                        TEST_OV(t);
-                         NEED_IP(1);
-                     }
-                     t += 7 + *ip++;
-@@ -4073,6 +4082,8 @@ lookbehind_overrun:
- #undef TEST_LBO
- #undef NEED_IP
- #undef NEED_OP
-+#undef TEST_IV
-+#undef TEST_OV
- #undef HAVE_TEST_IP
- #undef HAVE_TEST_OP
- #undef HAVE_NEED_IP
-@@ -4087,6 +4098,7 @@ lookbehind_overrun:
- #  if (LZO_TEST_OVERRUN_INPUT >= 2)
- #    define NEED_IP(x) \
-             if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
-+#    define TEST_IV(x)          if ((x) > (lzo_uint)0 - (511)) goto input_overrun
- #  endif
- #endif
-@@ -4098,6 +4110,7 @@ lookbehind_overrun:
- #    undef TEST_OP
- #    define NEED_OP(x) \
-             if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
-+#    define TEST_OV(x)          if ((x) > (lzo_uint)0 - (511)) goto output_overrun
- #  endif
- #endif
-@@ -4128,11 +4141,13 @@ lookbehind_overrun:
- #  define HAVE_NEED_IP 1
- #else
- #  define NEED_IP(x)            ((void) 0)
-+#  define TEST_IV(x)            ((void) 0)
- #endif
- #if defined(NEED_OP)
- #  define HAVE_NEED_OP 1
- #else
- #  define NEED_OP(x)            ((void) 0)
-+#  define TEST_OV(x)            ((void) 0)
- #endif
- #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
-@@ -4213,6 +4228,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
-             {
-                 t += 255;
-                 ip++;
-+                TEST_IV(t);
-                 NEED_IP(1);
-             }
-             t += 15 + *ip++;
-@@ -4361,6 +4377,7 @@ match:
-                     {
-                         t += 255;
-                         ip++;
-+                        TEST_OV(t);
-                         NEED_IP(1);
-                     }
-                     t += 31 + *ip++;
-@@ -4405,6 +4422,7 @@ match:
-                     {
-                         t += 255;
-                         ip++;
-+                        TEST_OV(t);
-                         NEED_IP(1);
-                     }
-                     t += 7 + *ip++;
-diff --git a/src/lzo1_d.ch b/src/lzo1_d.ch
-index 40a5bfd..c442d9c 100644
---- a/src/lzo1_d.ch
-+++ b/src/lzo1_d.ch
-@@ -76,6 +76,8 @@
- #undef TEST_LBO
- #undef NEED_IP
- #undef NEED_OP
-+#undef TEST_IV
-+#undef TEST_OV
- #undef HAVE_TEST_IP
- #undef HAVE_TEST_OP
- #undef HAVE_NEED_IP
-@@ -91,6 +93,7 @@
- #  if (LZO_TEST_OVERRUN_INPUT >= 2)
- #    define NEED_IP(x) \
-             if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
-+#    define TEST_IV(x)          if ((x) > (lzo_uint)0 - (511)) goto input_overrun
- #  endif
- #endif
-@@ -102,6 +105,7 @@
- #    undef TEST_OP              /* don't need both of the tests here */
- #    define NEED_OP(x) \
-             if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
-+#    define TEST_OV(x)          if ((x) > (lzo_uint)0 - (511)) goto output_overrun
- #  endif
- #endif
-@@ -135,11 +139,13 @@
- #  define HAVE_NEED_IP 1
- #else
- #  define NEED_IP(x)            ((void) 0)
-+#  define TEST_IV(x)            ((void) 0)
- #endif
- #if defined(NEED_OP)
- #  define HAVE_NEED_OP 1
- #else
- #  define NEED_OP(x)            ((void) 0)
-+#  define TEST_OV(x)            ((void) 0)
- #endif
-diff --git a/src/lzo1b_d.ch b/src/lzo1b_d.ch
-index fe5f361..36b4b6b 100644
---- a/src/lzo1b_d.ch
-+++ b/src/lzo1b_d.ch
-@@ -187,6 +187,7 @@ match:
-                 {
-                     t += 255;
-                     ip++;
-+                    TEST_OV(t);
-                     NEED_IP(1);
-                 }
-                 t += (M4_MIN_LEN - M3_MIN_LEN) + *ip++;
-diff --git a/src/lzo1f_d.ch b/src/lzo1f_d.ch
-index 9e942f5..0c2199e 100644
---- a/src/lzo1f_d.ch
-+++ b/src/lzo1f_d.ch
-@@ -84,6 +84,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
-             {
-                 t += 255;
-                 ip++;
-+                TEST_IV(t);
-                 NEED_IP(1);
-             }
-             t += 31 + *ip++;
-@@ -138,6 +139,7 @@ match:
-                         {
-                             t += 255;
-                             ip++;
-+                            TEST_OV(t);
-                             NEED_IP(1);
-                         }
-                         t += 31 + *ip++;
-diff --git a/src/lzo1x_d.ch b/src/lzo1x_d.ch
-index 49cf326..c804cc7 100644
---- a/src/lzo1x_d.ch
-+++ b/src/lzo1x_d.ch
-@@ -120,6 +120,7 @@ DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
-             {
-                 t += 255;
-                 ip++;
-+                TEST_IV(t);
-                 NEED_IP(1);
-             }
-             t += 15 + *ip++;
-@@ -273,6 +274,7 @@ match:
-                     {
-                         t += 255;
-                         ip++;
-+                        TEST_OV(t);
-                         NEED_IP(1);
-                     }
-                     t += 31 + *ip++;
-@@ -317,6 +319,7 @@ match:
-                     {
-                         t += 255;
-                         ip++;
-+                        TEST_OV(t);
-                         NEED_IP(1);
-                     }
-                     t += 7 + *ip++;
-diff --git a/src/lzo2a_d.ch b/src/lzo2a_d.ch
-index 48e51ca..954f07e 100644
---- a/src/lzo2a_d.ch
-+++ b/src/lzo2a_d.ch
-@@ -131,6 +131,7 @@ DO_DECOMPRESS    ( const lzo_bytep in , lzo_uint  in_len,
-             {
-                 t += 255;
-                 ip++;
-+                TEST_OV(t);
-                 NEED_IP(1);
-             }
-             t += *ip++;
diff --git a/src/patches/netpbm-10.26.46-getline.patch b/src/patches/netpbm-10.26.46-getline.patch
deleted file mode 100644 (file)
index c5a961b..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-The getline function used in a couple of places in netpbm-free is also
-defined by POSIX:2008, and so netpbm-free fails to build with newer
-versions of (e)glibc. Here's a patch to rename it.
-
-  * Rename getline functions to get_line to avoid conflict with POSIX:2008.
-
---- netpbm-free-10.0.orig/ppm/xvminitoppm.c
-+++ netpbm-free-10.0/ppm/xvminitoppm.c
-@@ -14,7 +14,7 @@
- #include "ppm.h"
- #define BUFSIZE 256
--static void getline ARGS((FILE *fp, char *buf));
-+static void get_line ARGS((FILE *fp, char *buf));
- int 
- main(argc, argv)
-@@ -48,18 +48,18 @@
-                 i++;
-             }
-     
--    getline(ifp, buf);
-+    get_line(ifp, buf);
-     if( strncmp(buf, "P7 332", 6) != 0 )
-         pm_error("bad magic number - not a XV thumbnail picture");
-     while(1) {
--        getline(ifp, buf);
-+        get_line(ifp, buf);
-         if( strncmp(buf, "#END_OF_COMMENTS", 16)==0 )
-             break;
-         if( strncmp(buf, "#BUILTIN", 8)==0 )
-             pm_error("cannot convert builtin XV thumbnail pictures");
-     }
--    getline(ifp, buf);
-+    get_line(ifp, buf);
-     if( sscanf(buf, "%d %d %d", &cols, &rows, &maxval) != 3 ) 
-         pm_error("error parsing dimension info");
-     if( maxval != 255 )
-@@ -85,7 +85,7 @@
- static void
--getline(fp, buf)
-+get_line(fp, buf)
-     FILE *fp;
-     char *buf;
- {
---- netpbm-free-10.0.orig/ppm/xpmtoppm.c
-+++ netpbm-free-10.0/ppm/xpmtoppm.c
-@@ -114,7 +114,7 @@
- static void
--getline(char * const line, int const size, FILE * const stream) {
-+get_line(char * const line, int const size, FILE * const stream) {
- /*----------------------------------------------------------------------------
-    Read the next line from the input file 'stream', through the one-line
-    buffer lastInputLine[].
-@@ -130,7 +130,7 @@
-    Exit program if the line doesn't fit in the buffer.
- -----------------------------------------------------------------------------*/
-     if (size > MAX_LINE+1)
--        pm_error("INTERNAL ERROR: getline() received 'size' parameter "
-+        pm_error("INTERNAL ERROR: get_line() received 'size' parameter "
-                  "which is out of bounds");
-     if (backup) {
-@@ -346,7 +346,7 @@
-                int * const transparentP) {
- /*----------------------------------------------------------------------------
-   Read the header of the XPM file on stream 'stream'.  Assume the
--  getline() stream is presently positioned to the beginning of the
-+  get_line() stream is presently positioned to the beginning of the
-   file and it is a Version 3 XPM file.  Leave the stream positioned
-   after the header.
-@@ -377,25 +377,25 @@
-     *widthP = *heightP = *ncolorsP = *chars_per_pixelP = -1;
-     /* Read the XPM signature comment */
--    getline(line, sizeof(line), stream);
-+    get_line(line, sizeof(line), stream);
-     if (strncmp(line, xpm3_signature, strlen(xpm3_signature)) != 0) 
-         pm_error("Apparent XPM 3 file does not start with '/* XPM */'.  "
-                  "First line is '%s'", xpm3_signature);
-     /* Read the assignment line */
--    getline(line, sizeof(line), stream);
-+    get_line(line, sizeof(line), stream);
-     if (strncmp(line, "static char", 11) != 0)
-         pm_error("Cannot find data structure declaration.  Expected a "
-                  "line starting with 'static char', but found the line "
-                  "'%s'.", line);
-       /* Read the hints line */
--    getline(line, sizeof(line), stream);
-+    get_line(line, sizeof(line), stream);
-     /* skip the comment line if any */
-     if (!strncmp(line, "/*", 2)) {
-         while (!strstr(line, "*/"))
--            getline(line, sizeof(line), stream);
--        getline(line, sizeof(line), stream);
-+            get_line(line, sizeof(line), stream);
-+        get_line(line, sizeof(line), stream);
-     }
-     if (sscanf(line, "\"%d %d %d %d\",", widthP, heightP,
-                ncolorsP, chars_per_pixelP) != 4)
-@@ -427,10 +427,10 @@
-         *transparentP = -1;  /* initial value */
-         for (seqNum = 0; seqNum < *ncolorsP; seqNum++) {
--            getline(line, sizeof(line), stream);
-+            get_line(line, sizeof(line), stream);
-             /* skip the comment line if any */
-             if (!strncmp(line, "/*", 2))
--                getline(line, sizeof(line), stream);
-+                get_line(line, sizeof(line), stream);
-             
-             interpretXpm3ColorTableLine(line, seqNum, *chars_per_pixelP, 
-                                         *colorsP, *ptabP, transparentP);
-@@ -445,7 +445,7 @@
-                pixel ** const colorsP, int ** const ptabP) {
- /*----------------------------------------------------------------------------
-   Read the header of the XPM file on stream 'stream'.  Assume the
--  getline() stream is presently positioned to the beginning of the
-+  get_line() stream is presently positioned to the beginning of the
-   file and it is a Version 1 XPM file.  Leave the stream positioned
-   after the header.
-   
-@@ -464,7 +464,7 @@
-     /* Read the initial defines. */
-     processedStaticChar = FALSE;
-     while (!processedStaticChar) {
--        getline(line, sizeof(line), stream);
-+        get_line(line, sizeof(line), stream);
-         if (sscanf(line, "#define %s %d", str1, &v) == 2) {
-             char *t1;
-@@ -512,7 +512,7 @@
-     /* If there's a monochrome color table, skip it. */
-     if (!strncmp(t1, "mono", 4)) {
-         for (;;) {
--            getline(line, sizeof(line), stream);
-+            get_line(line, sizeof(line), stream);
-             if (!strncmp(line, "static char", 11))
-                 break;
-         }
-@@ -533,7 +533,7 @@
-     /* Read color table. */
-     for (i = 0; i < *ncolorsP; ++i) {
--        getline(line, sizeof(line), stream);
-+        get_line(line, sizeof(line), stream);
-         if ((t1 = strchr(line, '"')) == NULL)
-             pm_error("D error scanning color table");
-@@ -569,7 +569,7 @@
-        "static char ...").
-     */
-     for (;;) {
--        getline(line, sizeof(line), stream);
-+        get_line(line, sizeof(line), stream);
-         if (strncmp(line, "static char", 11) == 0)
-             break;
-     }
-@@ -660,7 +660,7 @@
-     backup = FALSE;
-     /* Read the header line */
--    getline(line, sizeof(line), stream);
-+    get_line(line, sizeof(line), stream);
-     backup = TRUE;  /* back up so next read reads this line again */
-     
-     rc = sscanf(line, "/* %s */", str1);
-@@ -681,7 +681,7 @@
-         pm_error("Could not get %d bytes of memory for image", totalpixels);
-     cursor = *dataP;
-     maxcursor = *dataP + totalpixels - 1;
--      getline(line, sizeof(line), stream); 
-+      get_line(line, sizeof(line), stream); 
-         /* read next line (first line may not always start with comment) */
-     while (cursor <= maxcursor) {
-         if (strncmp(line, "/*", 2) == 0) {
-@@ -691,7 +691,7 @@
-                              ncolors, ptab, &cursor, maxcursor);
-         }
-         if (cursor <= maxcursor)
--            getline(line, sizeof(line), stream);
-+            get_line(line, sizeof(line), stream);
-     }
-     if (ptab) free(ptab);
- }
-
-Thanks,
-
--- 
-Colin Watson                                       [cjwatson@ubuntu.com]
-
-
-
-
diff --git a/src/patches/openssl-1.0.0-beta5-enginesdir.patch b/src/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/src/patches/openssl-1.0.2a-rpmbuild.patch b/src/patches/openssl-1.0.2a-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/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch b/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch
deleted file mode 100644 (file)
index 097cc80..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur openssl-1.0.2a.org/crypto/x86cpuid.pl openssl-1.0.2a/crypto/x86cpuid.pl
---- openssl-1.0.2a.org/crypto/x86cpuid.pl      2015-03-19 14:30:36.000000000 +0100
-+++ openssl-1.0.2a/crypto/x86cpuid.pl  2015-04-28 13:47:57.853521020 +0200
-@@ -71,6 +71,7 @@
-       &mov    ("eax",1);
-       &xor    ("ecx","ecx");
-       &cpuid  ();
-+      &and    ("ecx",0xfffffdff);     # clear SSSE3 because it is incredible slow on AMD's
-       &bt     ("edx",28);
-       &jnc    (&label("generic"));
-       &shr    ("ebx",16);
diff --git a/src/patches/openssl-1.0.2g-disable-sslv2v3.patch b/src/patches/openssl-1.0.2g-disable-sslv2v3.patch
deleted file mode 100644 (file)
index 06f5132..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up openssl-1.0.2g/ssl/ssl_lib.c.v2v3 openssl-1.0.2g/ssl/ssl_lib.c
---- openssl-1.0.2g/ssl/ssl_lib.c.v2v3  2016-03-01 16:38:26.879142021 +0100
-+++ openssl-1.0.2g/ssl/ssl_lib.c       2016-03-01 16:41:32.977353769 +0100
-@@ -2055,11 +2055,11 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *m
-     ret->options |= SSL_OP_LEGACY_SERVER_CONNECT;
-     /*
--     * Disable SSLv2 by default, callers that want to enable SSLv2 will have to
--     * explicitly clear this option via either of SSL_CTX_clear_options() or
-+     * Disable SSLv2 and SSLv3 by default, callers that want to enable these will have to
-+     * explicitly clear these options via either of SSL_CTX_clear_options() or
-      * SSL_clear_options().
-      */
--    ret->options |= SSL_OP_NO_SSLv2;
-+    ret->options |= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
-     return (ret);
-  err:
diff --git a/src/patches/pam-0.99.10.0-rlimit-build-fix.patch b/src/patches/pam-0.99.10.0-rlimit-build-fix.patch
deleted file mode 100644 (file)
index 5fdee07..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8e508f23bf5ed727649c99bbd540f7b1c2c2bd35 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Stevan=20Baji=C4=87?= <stevan@bajic.ch>
-Date: Mon, 9 Jul 2012 09:43:11 +0200
-Subject: [PATCH] RLIMIT_* variables are no longer defined unless you
- explicitly include sys/resource.h.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
-
-modules/pam_unix/pam_unix_acct.c: Include sys/resource.h.
----
- modules/pam_unix/pam_unix_acct.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules/pam_unix/pam_unix_acct.c b/modules/pam_unix/pam_unix_acct.c
-index 8e90cc9..4a362f8 100644
---- a/modules/pam_unix/pam_unix_acct.c
-+++ b/modules/pam_unix/pam_unix_acct.c
-@@ -41,6 +41,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <sys/types.h>
-+#include <sys/resource.h>
- #include <syslog.h>
- #include <pwd.h>
- #include <shadow.h>
diff --git a/src/patches/pcre-8.38-upstream_fixes-1.patch b/src/patches/pcre-8.38-upstream_fixes-1.patch
deleted file mode 100644 (file)
index d366e22..0000000
+++ /dev/null
@@ -1,1408 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2016-03-16
-Initial Package Version: 8.38
-Upstream Status: Applied
-Origin: Upstream, backported to 8.38 by Petr Písař at redhat
-Description: Various fixes, including for CVE-2016-1263 and many other
-bugs which have been fixed upstream.  Many of these bugs were found by
-fuzzing, upstream is trying to persuade its users to move to pcre2 and
-giving low priority to further pcre1 maintenance releases.
-
-From 3c80e02cd464ea049e117b423fd48fab294c51a9 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Thu, 26 Nov 2015 20:29:13 +0000
-Subject: [PATCH] Fix auto-callout (?# comment bug.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1611 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Pisar: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 4d3b313..3360a8b 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -4699,6 +4699,23 @@ for (;; ptr++)
-       }
-     }
-+  /* Skip over (?# comments. We need to do this here because we want to know if
-+  the next thing is a quantifier, and these comments may come between an item
-+  and its quantifier. */
-+
-+  if (c == CHAR_LEFT_PARENTHESIS && ptr[1] == CHAR_QUESTION_MARK &&
-+      ptr[2] == CHAR_NUMBER_SIGN)
-+    {
-+    ptr += 3;
-+    while (*ptr != CHAR_NULL && *ptr != CHAR_RIGHT_PARENTHESIS) ptr++;
-+    if (*ptr == CHAR_NULL)
-+      {
-+      *errorcodeptr = ERR18;
-+      goto FAILED;
-+      }
-+    continue;
-+    }
-+
-   /* See if the next thing is a quantifier. */
-   is_quantifier =
-@@ -6529,21 +6546,6 @@ for (;; ptr++)
-     case CHAR_LEFT_PARENTHESIS:
-     ptr++;
--    /* First deal with comments. Putting this code right at the start ensures
--    that comments have no bad side effects. */
--
--    if (ptr[0] == CHAR_QUESTION_MARK && ptr[1] == CHAR_NUMBER_SIGN)
--      {
--      ptr += 2;
--      while (*ptr != CHAR_NULL && *ptr != CHAR_RIGHT_PARENTHESIS) ptr++;
--      if (*ptr == CHAR_NULL)
--        {
--        *errorcodeptr = ERR18;
--        goto FAILED;
--        }
--      continue;
--      }
--
-     /* Now deal with various "verbs" that can be introduced by '*'. */
-     if (ptr[0] == CHAR_ASTERISK && (ptr[1] == ':'
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index e2e520f..92e3359 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4217,4 +4217,12 @@ backtracking verbs. --/
- /a[[:punct:]b]/BZ
-+/L(?#(|++<!(2)?/BZ
-+
-+/L(?#(|++<!(2)?/BOZ
-+
-+/L(?#(|++<!(2)?/BCZ
-+
-+/L(?#(|++<!(2)?/BCOZ
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testinput7 b/testdata/testinput7
-index e411a4b..00b9738 100644
---- a/testdata/testinput7
-+++ b/testdata/testinput7
-@@ -853,4 +853,8 @@ of case for anything other than the ASCII letters. --/
- /a[b[:punct:]]/8WBZ
-+/L(?#(|++<!(2)?/B8COZ
-+
-+/L(?#(|++<!(2)?/B8WCZ
-+
- /-- End of testinput7 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 85c565d..2cf7a90 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14574,4 +14574,40 @@ No match
-         End
- ------------------------------------------------------------------
-+/L(?#(|++<!(2)?/BZ
-+------------------------------------------------------------------
-+        Bra
-+        L?+
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
-+/L(?#(|++<!(2)?/BOZ
-+------------------------------------------------------------------
-+        Bra
-+        L?
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
-+/L(?#(|++<!(2)?/BCZ
-+------------------------------------------------------------------
-+        Bra
-+        Callout 255 0 14
-+        L?+
-+        Callout 255 14 0
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
-+/L(?#(|++<!(2)?/BCOZ
-+------------------------------------------------------------------
-+        Bra
-+        Callout 255 0 14
-+        L?
-+        Callout 255 14 0
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput7 b/testdata/testoutput7
-index cc9ebdd..fdfff64 100644
---- a/testdata/testoutput7
-+++ b/testdata/testoutput7
-@@ -2348,4 +2348,24 @@ No match
-         End
- ------------------------------------------------------------------
-+/L(?#(|++<!(2)?/B8COZ
-+------------------------------------------------------------------
-+        Bra
-+        Callout 255 0 14
-+        L?
-+        Callout 255 14 0
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
-+/L(?#(|++<!(2)?/B8WCZ
-+------------------------------------------------------------------
-+        Bra
-+        Callout 255 0 14
-+        L?+
-+        Callout 255 14 0
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
- /-- End of testinput7 --/
--- 
-2.4.3
-
-From ef6b10fcde41a2687f38d4a9ff2886b037948a1b Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Fri, 27 Nov 2015 17:13:13 +0000
-Subject: [PATCH 1/5] Fix negated POSIX class within negated overall class UCP
- bug.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1612 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 3360a8b..3670f1e 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -5063,20 +5063,22 @@ for (;; ptr++)
-             ptr = tempptr + 1;
-             continue;
--            /* For the other POSIX classes (ascii, xdigit) we are going to fall
--            through to the non-UCP case and build a bit map for characters with
--            code points less than 256. If we are in a negated POSIX class
--            within a non-negated overall class, characters with code points
--            greater than 255 must all match. In the special case where we have
--            not yet generated any xclass data, and this is the final item in
--            the overall class, we need do nothing: later on, the opcode
-+            /* For the other POSIX classes (ascii, cntrl, xdigit) we are going
-+            to fall through to the non-UCP case and build a bit map for
-+            characters with code points less than 256. If we are in a negated
-+            POSIX class, characters with code points greater than 255 must
-+            either all match or all not match. In the special case where we
-+            have not yet generated any xclass data, and this is the final item
-+            in the overall class, we need do nothing: later on, the opcode
-             OP_NCLASS will be used to indicate that characters greater than 255
-             are acceptable. If we have already seen an xclass item or one may
-             follow (we have to assume that it might if this is not the end of
--            the class), explicitly match all wide codepoints. */
-+            the class), explicitly list all wide codepoints, which will then
-+            either not match or match, depending on whether the class is or is
-+            not negated. */
-             default:
--            if (!negate_class && local_negate &&
-+            if (local_negate &&
-                 (xclass || tempptr[2] != CHAR_RIGHT_SQUARE_BRACKET))
-               {
-               *class_uchardata++ = XCL_RANGE;
-diff --git a/testdata/testinput6 b/testdata/testinput6
-index aeb62a0..a178d3d 100644
---- a/testdata/testinput6
-+++ b/testdata/testinput6
-@@ -1553,4 +1553,13 @@
-     \x{200}
-     \x{37e}
-+/[^[:^ascii:]\d]/8W
-+    a
-+    ~
-+    0
-+    \a
-+    \x{7f}
-+    \x{389}
-+    \x{20ac}
-+
- /-- End of testinput6 --/
-diff --git a/testdata/testoutput6 b/testdata/testoutput6
-index beb85aa..b64dc0d 100644
---- a/testdata/testoutput6
-+++ b/testdata/testoutput6
-@@ -2557,4 +2557,20 @@ No match
-     \x{37e}
-  0: \x{37e}
-+/[^[:^ascii:]\d]/8W
-+    a
-+ 0: a
-+    ~
-+ 0: ~
-+    0
-+No match
-+    \a
-+ 0: \x{07}
-+    \x{7f}
-+ 0: \x{7f}
-+    \x{389}
-+No match
-+    \x{20ac}
-+No match
-+
- /-- End of testinput6 --/
--- 
-2.4.3
-
-From bfc1dfa660c24dc7a75108d934290e50d7db2719 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Fri, 27 Nov 2015 17:41:04 +0000
-Subject: [PATCH 2/5] Fix bug for isolated \E between an item and its qualifier
- when auto callout is set.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1613 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 3670f1e..5786cd3 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -4645,9 +4645,10 @@ for (;; ptr++)
-     goto FAILED;
-     }
--  /* If in \Q...\E, check for the end; if not, we have a literal */
-+  /* If in \Q...\E, check for the end; if not, we have a literal. Otherwise an
-+  isolated \E is ignored. */
--  if (inescq && c != CHAR_NULL)
-+  if (c != CHAR_NULL)
-     {
-     if (c == CHAR_BACKSLASH && ptr[1] == CHAR_E)
-       {
-@@ -4655,7 +4656,7 @@ for (;; ptr++)
-       ptr++;
-       continue;
-       }
--    else
-+    else if (inescq)
-       {
-       if (previous_callout != NULL)
-         {
-@@ -4670,7 +4671,6 @@ for (;; ptr++)
-         }
-       goto NORMAL_CHAR;
-       }
--    /* Control does not reach here. */
-     }
-   /* In extended mode, skip white space and comments. We need a loop in order
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 92e3359..e8ca4fe 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4225,4 +4225,6 @@ backtracking verbs. --/
- /L(?#(|++<!(2)?/BCOZ
-+/(A*)\E+/CBZ
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 2cf7a90..09756b8 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14610,4 +14610,18 @@ No match
-         End
- ------------------------------------------------------------------
-+/(A*)\E+/CBZ
-+------------------------------------------------------------------
-+        Bra
-+        Callout 255 0 7
-+        SCBra 1
-+        Callout 255 1 2
-+        A*
-+        Callout 255 3 0
-+        KetRmax
-+        Callout 255 7 0
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
- /-- End of testinput2 --/
--- 
-2.4.3
-
-From 108377b836fc29a84f5286287629d96549b1c777 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sun, 29 Nov 2015 17:38:25 +0000
-Subject: [PATCH 3/5] Give error for regexec with pmatch=NULL and REG_STARTEND
- set.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1614 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcreposix.c b/pcreposix.c
-index f024423..dcc13ef 100644
---- a/pcreposix.c
-+++ b/pcreposix.c
-@@ -364,6 +364,7 @@ start location rather than being passed as a PCRE "starting offset". */
- if ((eflags & REG_STARTEND) != 0)
-   {
-+  if (pmatch == NULL) return REG_INVARG; 
-   so = pmatch[0].rm_so;
-   eo = pmatch[0].rm_eo;
-   }
--- 
-2.4.3
-
-From e347b40d5bb12f7ef1e632aa649571a107be7d8a Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sun, 29 Nov 2015 17:46:23 +0000
-Subject: [PATCH 4/5] Allow for up to 32-bit numbers in the ordin() function in
- pcregrep.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1615 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcregrep.c b/pcregrep.c
-index 64986b0..cd53c64 100644
---- a/pcregrep.c
-+++ b/pcregrep.c
-@@ -2437,7 +2437,7 @@ return options;
- static char *
- ordin(int n)
- {
--static char buffer[8];
-+static char buffer[14];
- char *p = buffer;
- sprintf(p, "%d", n);
- while (*p != 0) p++;
--- 
-2.4.3
-
-From e78ad4264b16988b826bd2939a1781c1165a92d9 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Mon, 30 Nov 2015 17:44:45 +0000
-Subject: [PATCH 5/5] Fix \Q\E before qualifier bug when auto callouts are
- enabled.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1616 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 5786cd3..beed46b 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -4671,17 +4671,27 @@ for (;; ptr++)
-         }
-       goto NORMAL_CHAR;
-       }
-+      
-+    /* Check for the start of a \Q...\E sequence. We must do this here rather
-+    than later in case it is immediately followed by \E, which turns it into a
-+    "do nothing" sequence. */                                            
-+                                                                          
-+    if (c == CHAR_BACKSLASH && ptr[1] == CHAR_Q)
-+      {                                                                   
-+      inescq = TRUE;                                                      
-+      ptr++;                                                  
-+      continue;
-+      }           
-     }
--  /* In extended mode, skip white space and comments. We need a loop in order
--  to check for more white space and more comments after a comment. */
-+  /* In extended mode, skip white space and comments. */
-   if ((options & PCRE_EXTENDED) != 0)
-     {
--    for (;;)
-+    const pcre_uchar *wscptr = ptr;
-+    while (MAX_255(c) && (cd->ctypes[c] & ctype_space) != 0) c = *(++ptr);
-+    if (c == CHAR_NUMBER_SIGN)
-       {
--      while (MAX_255(c) && (cd->ctypes[c] & ctype_space) != 0) c = *(++ptr);
--      if (c != CHAR_NUMBER_SIGN) break;
-       ptr++;
-       while (*ptr != CHAR_NULL)
-         {
-@@ -4695,7 +4705,15 @@ for (;; ptr++)
-         if (utf) FORWARDCHAR(ptr);
- #endif
-         }
--      c = *ptr;     /* Either NULL or the char after a newline */
-+      }
-+
-+    /* If we skipped any characters, restart the loop. Otherwise, we didn't see
-+    a comment. */
-+
-+    if (ptr > wscptr)
-+      {
-+      ptr--;
-+      continue;
-       }
-     }
-@@ -7900,16 +7918,6 @@ for (;; ptr++)
-       c = ec;
-     else
-       {
--      if (escape == ESC_Q)            /* Handle start of quoted string */
--        {
--        if (ptr[1] == CHAR_BACKSLASH && ptr[2] == CHAR_E)
--          ptr += 2;               /* avoid empty string */
--            else inescq = TRUE;
--        continue;
--        }
--
--      if (escape == ESC_E) continue;  /* Perl ignores an orphan \E */
--
-       /* For metasequences that actually match a character, we disable the
-       setting of a first character if it hasn't already been set. */
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index e8ca4fe..3a1134f 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4227,4 +4227,6 @@ backtracking verbs. --/
- /(A*)\E+/CBZ
-+/()\Q\E*]/BCZ
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 09756b8..ac33cc4 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14624,4 +14624,19 @@ No match
-         End
- ------------------------------------------------------------------
-+/()\Q\E*]/BCZ
-+------------------------------------------------------------------
-+        Bra
-+        Callout 255 0 7
-+        Brazero
-+        SCBra 1
-+        Callout 255 1 0
-+        KetRmax
-+        Callout 255 7 1
-+        ]
-+        Callout 255 8 0
-+        Ket
-+        End
-+------------------------------------------------------------------
-+
- /-- End of testinput2 --/
--- 
-2.4.3
-
-From 46ed1a703b067e5b679eacf6500a54dae35f8130 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Thu, 3 Dec 2015 17:05:40 +0000
-Subject: [PATCH] Fix /x bug when pattern starts with white space and (?-x)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1617 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index beed46b..57719b9 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -7607,39 +7607,15 @@ for (;; ptr++)
-         newoptions = (options | set) & (~unset);
-         /* If the options ended with ')' this is not the start of a nested
--        group with option changes, so the options change at this level. If this
--        item is right at the start of the pattern, the options can be
--        abstracted and made external in the pre-compile phase, and ignored in
--        the compile phase. This can be helpful when matching -- for instance in
--        caseless checking of required bytes.
--
--        If the code pointer is not (cd->start_code + 1 + LINK_SIZE), we are
--        definitely *not* at the start of the pattern because something has been
--        compiled. In the pre-compile phase, however, the code pointer can have
--        that value after the start, because it gets reset as code is discarded
--        during the pre-compile. However, this can happen only at top level - if
--        we are within parentheses, the starting BRA will still be present. At
--        any parenthesis level, the length value can be used to test if anything
--        has been compiled at that level. Thus, a test for both these conditions
--        is necessary to ensure we correctly detect the start of the pattern in
--        both phases.
--
-+        group with option changes, so the options change at this level. 
-         If we are not at the pattern start, reset the greedy defaults and the
-         case value for firstchar and reqchar. */
-         if (*ptr == CHAR_RIGHT_PARENTHESIS)
-           {
--          if (code == cd->start_code + 1 + LINK_SIZE &&
--               (lengthptr == NULL || *lengthptr == 2 + 2*LINK_SIZE))
--            {
--            cd->external_options = newoptions;
--            }
--          else
--            {
--            greedy_default = ((newoptions & PCRE_UNGREEDY) != 0);
--            greedy_non_default = greedy_default ^ 1;
--            req_caseopt = ((newoptions & PCRE_CASELESS) != 0)? REQ_CASELESS:0;
--            }
-+          greedy_default = ((newoptions & PCRE_UNGREEDY) != 0);
-+          greedy_non_default = greedy_default ^ 1;
-+          req_caseopt = ((newoptions & PCRE_CASELESS) != 0)? REQ_CASELESS:0;
-           /* Change options at this level, and pass them back for use
-           in subsequent branches. */
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index ac33cc4..6c42897 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -419,7 +419,7 @@ Need char = '>'
- /(?U)<.*>/I
- Capturing subpattern count = 0
--Options: ungreedy
-+No options
- First char = '<'
- Need char = '>'
-     abc<def>ghi<klm>nop
-@@ -443,7 +443,7 @@ Need char = '='
- /(?U)={3,}?/I
- Capturing subpattern count = 0
--Options: ungreedy
-+No options
- First char = '='
- Need char = '='
-     abc========def
-@@ -477,7 +477,7 @@ Failed: lookbehind assertion is not fixed length at offset 12
- /(?i)abc/I
- Capturing subpattern count = 0
--Options: caseless
-+No options
- First char = 'a' (caseless)
- Need char = 'c' (caseless)
-@@ -489,7 +489,7 @@ No need char
- /(?i)^1234/I
- Capturing subpattern count = 0
--Options: anchored caseless
-+Options: anchored
- No first char
- No need char
-@@ -502,7 +502,7 @@ No need char
- /(?s).*/I
- Capturing subpattern count = 0
- May match empty string
--Options: anchored dotall
-+Options: anchored
- No first char
- No need char
-@@ -516,7 +516,7 @@ Starting chars: a b c d
- /(?i)[abcd]/IS
- Capturing subpattern count = 0
--Options: caseless
-+No options
- No first char
- No need char
- Subject length lower bound = 1
-@@ -524,7 +524,7 @@ Starting chars: A B C D a b c d
- /(?m)[xy]|(b|c)/IS
- Capturing subpattern count = 1
--Options: multiline
-+No options
- No first char
- No need char
- Subject length lower bound = 1
-@@ -538,7 +538,7 @@ No need char
- /(?i)(^a|^b)/Im
- Capturing subpattern count = 1
--Options: caseless multiline
-+Options: multiline
- First char at start or follows newline
- No need char
-@@ -1179,7 +1179,7 @@ No need char
-         End
- ------------------------------------------------------------------
- Capturing subpattern count = 1
--Options: anchored dotall
-+Options: anchored
- No first char
- No need char
-@@ -2735,7 +2735,7 @@ No match
-         End
- ------------------------------------------------------------------
- Capturing subpattern count = 0
--Options: caseless extended
-+Options: extended
- First char = 'a' (caseless)
- Need char = 'c' (caseless)
-@@ -2748,7 +2748,7 @@ Need char = 'c' (caseless)
-         End
- ------------------------------------------------------------------
- Capturing subpattern count = 0
--Options: caseless extended
-+Options: extended
- First char = 'a' (caseless)
- Need char = 'c' (caseless)
-@@ -3095,7 +3095,7 @@ Need char = 'b'
-         End
- ------------------------------------------------------------------
- Capturing subpattern count = 0
--Options: ungreedy
-+No options
- First char = 'x'
- Need char = 'b'
-     xaaaab
-@@ -3497,7 +3497,7 @@ Need char = 'c'
- /(?i)[ab]/IS
- Capturing subpattern count = 0
--Options: caseless
-+No options
- No first char
- No need char
- Subject length lower bound = 1
-@@ -6299,7 +6299,7 @@ Capturing subpattern count = 3
- Named capturing subpatterns:
-   A   2
-   A   3
--Options: anchored dupnames
-+Options: anchored
- Duplicate name status changes
- No first char
- No need char
--- 
-2.4.3
-
-From db1fb68feddc9afe6f8822d099fa9ff25e3ea8e7 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 5 Dec 2015 16:30:14 +0000
-Subject: [PATCH] Fix copy named substring bug.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1618 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-diff --git a/pcre_get.c b/pcre_get.c
-index 8094b34..41eda9c 100644
---- a/pcre_get.c
-+++ b/pcre_get.c
-@@ -250,6 +250,7 @@ Arguments:
-   code         the compiled regex
-   stringname   the name of the capturing substring
-   ovector      the vector of matched substrings
-+  stringcount  number of captured substrings 
- Returns:       the number of the first that is set,
-                or the number of the last one if none are set,
-@@ -258,13 +259,16 @@ Returns:       the number of the first that is set,
- #if defined COMPILE_PCRE8
- static int
--get_first_set(const pcre *code, const char *stringname, int *ovector)
-+get_first_set(const pcre *code, const char *stringname, int *ovector,
-+  int stringcount)
- #elif defined COMPILE_PCRE16
- static int
--get_first_set(const pcre16 *code, PCRE_SPTR16 stringname, int *ovector)
-+get_first_set(const pcre16 *code, PCRE_SPTR16 stringname, int *ovector,
-+  int stringcount)
- #elif defined COMPILE_PCRE32
- static int
--get_first_set(const pcre32 *code, PCRE_SPTR32 stringname, int *ovector)
-+get_first_set(const pcre32 *code, PCRE_SPTR32 stringname, int *ovector,
-+  int stringcount)
- #endif
- {
- const REAL_PCRE *re = (const REAL_PCRE *)code;
-@@ -295,7 +299,7 @@ if (entrysize <= 0) return entrysize;
- for (entry = (pcre_uchar *)first; entry <= (pcre_uchar *)last; entry += entrysize)
-   {
-   int n = GET2(entry, 0);
--  if (ovector[n*2] >= 0) return n;
-+  if (n < stringcount && ovector[n*2] >= 0) return n;
-   }
- return GET2(entry, 0);
- }
-@@ -402,7 +406,7 @@ pcre32_copy_named_substring(const pcre32 *code, PCRE_SPTR32 subject,
-   PCRE_UCHAR32 *buffer, int size)
- #endif
- {
--int n = get_first_set(code, stringname, ovector);
-+int n = get_first_set(code, stringname, ovector, stringcount);
- if (n <= 0) return n;
- #if defined COMPILE_PCRE8
- return pcre_copy_substring(subject, ovector, stringcount, n, buffer, size);
-@@ -619,7 +623,7 @@ pcre32_get_named_substring(const pcre32 *code, PCRE_SPTR32 subject,
-   PCRE_SPTR32 *stringptr)
- #endif
- {
--int n = get_first_set(code, stringname, ovector);
-+int n = get_first_set(code, stringname, ovector, stringcount);
- if (n <= 0) return n;
- #if defined COMPILE_PCRE8
- return pcre_get_substring(subject, ovector, stringcount, n, stringptr);
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 3a1134f..00ffe32 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4229,4 +4229,7 @@ backtracking verbs. --/
- /()\Q\E*]/BCZ
-+/(?<A>)(?J:(?<B>)(?<B>))(?<C>)/
-+    \O\CC
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 6c42897..ffb4466 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14639,4 +14639,9 @@ No match
-         End
- ------------------------------------------------------------------
-+/(?<A>)(?J:(?<B>)(?<B>))(?<C>)/
-+    \O\CC
-+Matched, but too many substrings
-+copy substring C failed -7
-+
- /-- End of testinput2 --/
--- 
-2.4.3
-
-From 40363ebc19baeab160abaaa55dc84322a89ac35a Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 5 Dec 2015 16:58:46 +0000
-Subject: [PATCH] Fix (by hacking) another length computation issue.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1619 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 57719b9..087bf2a 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -7280,7 +7280,7 @@ for (;; ptr++)
-           issue is fixed "properly" in PCRE2. As PCRE1 is now in maintenance
-           only mode, we finesse the bug by allowing more memory always. */
--          *lengthptr += 2 + 2*LINK_SIZE;
-+          *lengthptr += 4 + 4*LINK_SIZE;
-           /* It is even worse than that. The current reference may be to an
-           existing named group with a different number (so apparently not
-diff --git a/testdata/testoutput11-16 b/testdata/testoutput11-16
-index 9a0a12d..280692e 100644
---- a/testdata/testoutput11-16
-+++ b/testdata/testoutput11-16
-@@ -231,7 +231,7 @@ Memory allocation (code space): 73
- ------------------------------------------------------------------
- /(?P<a>a)...(?P=a)bbb(?P>a)d/BM
--Memory allocation (code space): 77
-+Memory allocation (code space): 93
- ------------------------------------------------------------------
-   0  24 Bra
-   2   5 CBra 1
-diff --git a/testdata/testoutput11-32 b/testdata/testoutput11-32
-index 57e5da0..cdbda74 100644
---- a/testdata/testoutput11-32
-+++ b/testdata/testoutput11-32
-@@ -231,7 +231,7 @@ Memory allocation (code space): 155
- ------------------------------------------------------------------
- /(?P<a>a)...(?P=a)bbb(?P>a)d/BM
--Memory allocation (code space): 157
-+Memory allocation (code space): 189
- ------------------------------------------------------------------
-   0  24 Bra
-   2   5 CBra 1
-diff --git a/testdata/testoutput11-8 b/testdata/testoutput11-8
-index 748548a..cb37896 100644
---- a/testdata/testoutput11-8
-+++ b/testdata/testoutput11-8
-@@ -231,7 +231,7 @@ Memory allocation (code space): 45
- ------------------------------------------------------------------
- /(?P<a>a)...(?P=a)bbb(?P>a)d/BM
--Memory allocation (code space): 50
-+Memory allocation (code space): 62
- ------------------------------------------------------------------
-   0  30 Bra
-   3   7 CBra 1
--- 
-2.4.3
-
-From 4f47274a2eb10131d88145ad7fd0eed4027a0c51 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Tue, 8 Dec 2015 11:06:40 +0000
-Subject: [PATCH] Fix get_substring_list() bug when \K is used in an assertion.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1620 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: ported to 8.38.
-
-diff --git a/pcre_get.c b/pcre_get.c
-index 41eda9c..cdd2abc 100644
---- a/pcre_get.c
-+++ b/pcre_get.c
-@@ -461,7 +461,10 @@ pcre_uchar **stringlist;
- pcre_uchar *p;
- for (i = 0; i < double_count; i += 2)
--  size += sizeof(pcre_uchar *) + IN_UCHARS(ovector[i+1] - ovector[i] + 1);
-+  {
-+  size += sizeof(pcre_uchar *) + IN_UCHARS(1);
-+  if (ovector[i+1] > ovector[i]) size += IN_UCHARS(ovector[i+1] - ovector[i]);
-+  } 
- stringlist = (pcre_uchar **)(PUBL(malloc))(size);
- if (stringlist == NULL) return PCRE_ERROR_NOMEMORY;
-@@ -477,7 +480,7 @@ p = (pcre_uchar *)(stringlist + stringcount + 1);
- for (i = 0; i < double_count; i += 2)
-   {
--  int len = ovector[i+1] - ovector[i];
-+  int len = (ovector[i+1] > ovector[i])? (ovector[i+1] - ovector[i]) : 0;
-   memcpy(p, subject + ovector[i], IN_UCHARS(len));
-   *stringlist++ = p;
-   p += len;
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 00ffe32..967a241 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4232,4 +4232,7 @@ backtracking verbs. --/
- /(?<A>)(?J:(?<B>)(?<B>))(?<C>)/
-     \O\CC
-+/(?=a\K)/ 
-+    ring bpattingbobnd $ 1,oern cou \rb\L
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index ffb4466..5fb28d5 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14644,4 +14644,10 @@ No match
- Matched, but too many substrings
- copy substring C failed -7
-+/(?=a\K)/ 
-+    ring bpattingbobnd $ 1,oern cou \rb\L
-+Start of matched string is beyond its end - displaying from end to start.
-+ 0: a
-+ 0L 
-+
- /-- End of testinput2 --/
--- 
-2.5.0
-
-From 3da5528b47b88c32224cf9d14d8a4e80cd7a0815 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 6 Feb 2016 16:54:14 +0000
-Subject: [PATCH] Fix pcretest bad behaviour for callout in lookbehind.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1625 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcretest.c b/pcretest.c
-index 488e419..63869fd 100644
---- a/pcretest.c
-+++ b/pcretest.c
-@@ -2250,7 +2250,7 @@ data is not zero. */
- static int callout(pcre_callout_block *cb)
- {
- FILE *f = (first_callout | callout_extra)? outfile : NULL;
--int i, pre_start, post_start, subject_length;
-+int i, current_position, pre_start, post_start, subject_length;
- if (callout_extra)
-   {
-@@ -2280,14 +2280,19 @@ printed lengths of the substrings. */
- if (f != NULL) fprintf(f, "--->");
-+/* If a lookbehind is involved, the current position may be earlier than the
-+match start. If so, use the match start instead. */
-+
-+current_position = (cb->current_position >= cb->start_match)?
-+  cb->current_position : cb->start_match;
-+
- PCHARS(pre_start, cb->subject, 0, cb->start_match, f);
- PCHARS(post_start, cb->subject, cb->start_match,
--  cb->current_position - cb->start_match, f);
-+  current_position - cb->start_match, f);
- PCHARS(subject_length, cb->subject, 0, cb->subject_length, NULL);
--PCHARSV(cb->subject, cb->current_position,
--  cb->subject_length - cb->current_position, f);
-+PCHARSV(cb->subject, current_position, cb->subject_length - current_position, f);
- if (f != NULL) fprintf(f, "\n");
-@@ -5740,3 +5745,4 @@ return yield;
- }
- /* End of pcretest.c */
-+
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 967a241..086e0f4 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4235,4 +4235,8 @@ backtracking verbs. --/
- /(?=a\K)/ 
-     ring bpattingbobnd $ 1,oern cou \rb\L
-+/(?<=((?C)0))/
-+    9010
-+    abcd
-+     
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 5fb28d5..d414a72 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14650,4 +14650,19 @@ Start of matched string is beyond its end - displaying from end to start.
-  0: a
-  0L 
-+/(?<=((?C)0))/
-+    9010
-+--->9010
-+  0  ^       0
-+  0   ^      0
-+ 0: 
-+ 1: 0
-+    abcd
-+--->abcd
-+  0  ^       0
-+  0   ^      0
-+  0    ^     0
-+  0     ^    0
-+No match
-+     
- /-- End of testinput2 --/
--- 
-2.5.0
-
-From 943a5105b9fe2842851003f692c7077a6cdbeefe Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Wed, 10 Feb 2016 19:13:17 +0000
-Subject: [PATCH] Fix workspace overflow for (*ACCEPT) with deeply nested
- parentheses.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1631 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index b9a239e..5019854 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -6,7 +6,7 @@
- and semantics are as close as possible to those of the Perl 5 language.
-                        Written by Philip Hazel
--           Copyright (c) 1997-2014 University of Cambridge
-+           Copyright (c) 1997-2016 University of Cambridge
- -----------------------------------------------------------------------------
- Redistribution and use in source and binary forms, with or without
-@@ -560,6 +560,7 @@ static const char error_texts[] =
-   /* 85 */
-   "parentheses are too deeply nested (stack check)\0"
-   "digits missing in \\x{} or \\o{}\0"
-+  "regular expression is too complicated\0"
-   ;
- /* Table to identify digits and hex digits. This is used when compiling
-@@ -4591,7 +4592,8 @@ for (;; ptr++)
-     if (code > cd->start_workspace + cd->workspace_size -
-         WORK_SIZE_SAFETY_MARGIN)                       /* Check for overrun */
-       {
--      *errorcodeptr = ERR52;
-+      *errorcodeptr = (code >= cd->start_workspace + cd->workspace_size)?
-+        ERR52 : ERR87;
-       goto FAILED;
-       }
-@@ -6626,8 +6628,21 @@ for (;; ptr++)
-             cd->had_accept = TRUE;
-             for (oc = cd->open_caps; oc != NULL; oc = oc->next)
-               {
--              *code++ = OP_CLOSE;
--              PUT2INC(code, 0, oc->number);
-+              if (lengthptr != NULL)
-+                {
-+#ifdef COMPILE_PCRE8
-+                *lengthptr += 1 + IMM2_SIZE;
-+#elif defined COMPILE_PCRE16
-+                *lengthptr += 2 + IMM2_SIZE;
-+#elif defined COMPILE_PCRE32
-+                *lengthptr += 4 + IMM2_SIZE;
-+#endif
-+                }
-+              else
-+                {
-+                *code++ = OP_CLOSE;
-+                PUT2INC(code, 0, oc->number);
-+                }
-               }
-             setverb = *code++ =
-               (cd->assert_depth > 0)? OP_ASSERT_ACCEPT : OP_ACCEPT;
-diff --git a/pcre_internal.h b/pcre_internal.h
-index f7a5ee7..dbfe80e 100644
---- a/pcre_internal.h
-+++ b/pcre_internal.h
-@@ -7,7 +7,7 @@
- and semantics are as close as possible to those of the Perl 5 language.
-                        Written by Philip Hazel
--           Copyright (c) 1997-2014 University of Cambridge
-+           Copyright (c) 1997-2016 University of Cambridge
- -----------------------------------------------------------------------------
- Redistribution and use in source and binary forms, with or without
-@@ -2289,7 +2289,7 @@ enum { ERR0,  ERR1,  ERR2,  ERR3,  ERR4,  ERR5,  ERR6,  ERR7,  ERR8,  ERR9,
-        ERR50, ERR51, ERR52, ERR53, ERR54, ERR55, ERR56, ERR57, ERR58, ERR59,
-        ERR60, ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69,
-        ERR70, ERR71, ERR72, ERR73, ERR74, ERR75, ERR76, ERR77, ERR78, ERR79,
--       ERR80, ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERRCOUNT };
-+       ERR80, ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERR87, ERRCOUNT };
- /* JIT compiling modes. The function list is indexed by them. */
-diff --git a/pcreposix.c b/pcreposix.c
-index dcc13ef..55b6ddc 100644
---- a/pcreposix.c
-+++ b/pcreposix.c
-@@ -6,7 +6,7 @@
- and semantics are as close as possible to those of the Perl 5 language.
-                        Written by Philip Hazel
--           Copyright (c) 1997-2014 University of Cambridge
-+           Copyright (c) 1997-2016 University of Cambridge
- -----------------------------------------------------------------------------
- Redistribution and use in source and binary forms, with or without
-@@ -173,7 +173,8 @@ static const int eint[] = {
-   REG_BADPAT,  /* group name must start with a non-digit */
-   /* 85 */
-   REG_BADPAT,  /* parentheses too deeply nested (stack check) */
--  REG_BADPAT   /* missing digits in \x{} or \o{} */
-+  REG_BADPAT,  /* missing digits in \x{} or \o{} */
-+  REG_BADPAT   /* pattern too complicated */
- };
- /* Table of texts corresponding to POSIX error codes */
-diff --git a/testdata/testinput11 b/testdata/testinput11
-index ac9d228..6f0989a 100644
---- a/testdata/testinput11
-+++ b/testdata/testinput11
-@@ -138,4 +138,6 @@ is required for these tests. --/
- /.((?2)(?R)\1)()/B
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+
- /-- End of testinput11 --/
-diff --git a/testdata/testoutput11-16 b/testdata/testoutput11-16
-index 280692e..3c485da 100644
---- a/testdata/testoutput11-16
-+++ b/testdata/testoutput11-16
-@@ -765,4 +765,7 @@ Memory allocation (code space): 14
-  25     End
- ------------------------------------------------------------------
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+Failed: regular expression is too complicated at offset 490
-+
- /-- End of testinput11 --/
-diff --git a/testdata/testoutput11-32 b/testdata/testoutput11-32
-index cdbda74..e19518d 100644
---- a/testdata/testoutput11-32
-+++ b/testdata/testoutput11-32
-@@ -765,4 +765,7 @@ Memory allocation (code space): 28
-  25     End
- ------------------------------------------------------------------
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+Failed: missing ) at offset 509
-+
- /-- End of testinput11 --/
-diff --git a/testdata/testoutput11-8 b/testdata/testoutput11-8
-index cb37896..5a4fbb2 100644
---- a/testdata/testoutput11-8
-+++ b/testdata/testoutput11-8
-@@ -765,4 +765,7 @@ Memory allocation (code space): 10
-  38     End
- ------------------------------------------------------------------
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+Failed: missing ) at offset 509
-+
- /-- End of testinput11 --/
--- 
-2.5.0
-
-From b7537308b7c758f33c347cb0bec62754c43c271f Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 27 Feb 2016 17:38:11 +0000
-Subject: [PATCH] Yet another duplicate name bugfix by overestimating the
- memory needed (i.e. another hack - PCRE2 has this "properly" fixed).
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1636 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 5019854..4ffea0c 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -7311,7 +7311,12 @@ for (;; ptr++)
-           so far in order to get the number. If the name is not found, leave
-           the value of recno as 0 for a forward reference. */
--          else
-+          /* This patch (removing "else") fixes a problem when a reference is
-+          to multiple identically named nested groups from within the nest.
-+          Once again, it is not the "proper" fix, and it results in an
-+          over-allocation of memory. */
-+
-+          /* else */
-             {
-             ng = cd->named_groups;
-             for (i = 0; i < cd->names_found; i++, ng++)
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 086e0f4..c805f5f 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4239,4 +4239,6 @@ backtracking verbs. --/
-     9010
-     abcd
-      
-+/((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index d414a72..800a72f 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14665,4 +14665,6 @@ Start of matched string is beyond its end - displaying from end to start.
-   0     ^    0
- No match
-      
-+/((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
-+
- /-- End of testinput2 --/
--- 
-2.5.0
-
-From 0fc2edb79b3815c6511fd75c36a57893e4acaee6 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 27 Feb 2016 17:55:24 +0000
-Subject: [PATCH] Fix pcretest loop for global matching with an ovector size
- less than 2.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1637 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcretest.c b/pcretest.c
-index 63869fd..78ef517 100644
---- a/pcretest.c
-+++ b/pcretest.c
-@@ -5617,6 +5617,12 @@ while (!done)
-         break;
-         }
-+      if (use_size_offsets < 2)
-+        {
-+        fprintf(outfile, "Cannot do global matching with an ovector size < 2\n");
-+        break;
-+        }
-+
-       /* If we have matched an empty string, first check to see if we are at
-       the end of the subject. If so, the /g loop is over. Otherwise, mimic what
-       Perl's /g options does. This turns out to be rather cunning. First we set
--- 
-2.5.0
-
-From b3db1b7de5cfaa026ec2bc4a393129461a0f5c57 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 27 Feb 2016 18:44:41 +0000
-Subject: [PATCH] Fix non-diagnosis of missing assertion after (?(?C).
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1638 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.38.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 4ffea0c..254c629 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -485,7 +485,7 @@ static const char error_texts[] =
-   "lookbehind assertion is not fixed length\0"
-   "malformed number or name after (?(\0"
-   "conditional group contains more than two branches\0"
--  "assertion expected after (?(\0"
-+  "assertion expected after (?( or (?(?C)\0"
-   "(?R or (?[+-]digits must be followed by )\0"
-   /* 30 */
-   "unknown POSIX class name\0"
-@@ -6771,6 +6771,15 @@ for (;; ptr++)
-           for (i = 3;; i++) if (!IS_DIGIT(ptr[i])) break;
-           if (ptr[i] == CHAR_RIGHT_PARENTHESIS)
-             tempptr += i + 1;
-+
-+          /* tempptr should now be pointing to the opening parenthesis of the
-+          assertion condition. */
-+
-+          if (*tempptr != CHAR_LEFT_PARENTHESIS)
-+            {
-+            *errorcodeptr = ERR28;
-+            goto FAILED;
-+            }
-           }
-         /* For conditions that are assertions, check the syntax, and then exit
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index c805f5f..75e402e 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4241,4 +4241,6 @@ backtracking verbs. --/
-      
- /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
-+/\N(?(?C)0?!.)*/
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 800a72f..5e88d1a 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -555,13 +555,13 @@ Failed: malformed number or name after (?( at offset 4
- Failed: malformed number or name after (?( at offset 4
- /(?(?i))/
--Failed: assertion expected after (?( at offset 3
-+Failed: assertion expected after (?( or (?(?C) at offset 3
- /(?(abc))/
- Failed: reference to non-existent subpattern at offset 7
- /(?(?<ab))/
--Failed: assertion expected after (?( at offset 3
-+Failed: assertion expected after (?( or (?(?C) at offset 3
- /((?s)blah)\s+\1/I
- Capturing subpattern count = 1
-@@ -7870,7 +7870,7 @@ No match
- Failed: malformed number or name after (?( at offset 6
- /(?(''))/
--Failed: assertion expected after (?( at offset 4
-+Failed: assertion expected after (?( or (?(?C) at offset 4
- /(?('R')stuff)/
- Failed: reference to non-existent subpattern at offset 7
-@@ -14346,7 +14346,7 @@ No match
- "((?2)+)((?1))"
- "(?(?<E>.*!.*)?)"
--Failed: assertion expected after (?( at offset 3
-+Failed: assertion expected after (?( or (?(?C) at offset 3
- "X((?2)()*+){2}+"BZ
- ------------------------------------------------------------------
-@@ -14667,4 +14667,7 @@ No match
-      
- /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
-+/\N(?(?C)0?!.)*/
-+Failed: assertion expected after (?( or (?(?C) at offset 4
-+
- /-- End of testinput2 --/
--- 
-2.5.0
-
diff --git a/src/patches/python-pycurl-no-static-libs.patch b/src/patches/python-pycurl-no-static-libs.patch
deleted file mode 100644 (file)
index c1410dc..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- setup.py~  2008-04-22 17:00:45.000000000 +0300
-+++ setup.py   2008-07-03 21:53:36.000000000 +0300
-@@ -97,8 +97,7 @@
-         else:
-             extra_compile_args.append(e)
-     libs = split_quoted(
--        os.popen("'%s' --libs" % CURL_CONFIG).read()+\
--        os.popen("'%s' --static-libs" % CURL_CONFIG).read())
-+        os.popen("'%s' --libs" % CURL_CONFIG).read())
-     for e in libs:
-         if e[:2] == "-l":
-             libraries.append(e[2:])
diff --git a/src/patches/sarg/sarg-2.3.11-format.patch b/src/patches/sarg/sarg-2.3.11-format.patch
deleted file mode 100644 (file)
index d8ed220..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -wbBur sarg-2.3.11/index.c sarg-2.3.11.my/index.c
---- sarg-2.3.11/index.c        2018-01-14 21:00:22.000000000 +0300
-+++ sarg-2.3.11.my/index.c     2018-02-19 12:20:15.896203347 +0300
-@@ -208,7 +208,7 @@
-                       m1=month / 16;
-                       if(month % 16 != 0) {
-                               m2=month % 16;
--                              sprintf(monthnum,"%02d-%02d",m1,m2);
-+                              sprintf(monthnum,"%02u-%02u",(unsigned int)m1,(unsigned int)m2);
-                               sprintf(monthname1,"%02d",m1);
-                               sprintf(monthname2,"%02d",m2);
-                               name_month(monthname1,sizeof(monthname1));
-@@ -269,7 +269,7 @@
-                               d1=day / 32;
-                               if(day % 32 != 0) {
-                                       d2=day % 32;
--                                      sprintf(daynum,"%02d-%02d",d1,d2);
-+                                      sprintf(daynum,"%02u-%02u",(unsigned int)d1,(unsigned int)d2);
-                               } else {
-                                       sprintf(daynum,"%02d",d1);
-                               }
-diff -wbBur sarg-2.3.11/report.c sarg-2.3.11.my/report.c
---- sarg-2.3.11/report.c       2018-01-14 21:00:23.000000000 +0300
-+++ sarg-2.3.11.my/report.c    2018-02-19 12:18:45.151207192 +0300
-@@ -54,7 +54,7 @@
-       char accsmart[MAXLEN];
-       char crc2[MAXLEN/2 -1];
-       char siteind[MAX_TRUNCATED_URL];
--      char arqtt[256];
-+      char arqtt[267];
-       char *oldurltt=NULL;
-       char oldaccdiatt[11],oldacchoratt[9];
-       char tmp3[MAXLEN];
-diff -wbBur sarg-2.3.11/userinfo.c sarg-2.3.11.my/userinfo.c
---- sarg-2.3.11/userinfo.c     2013-06-01 22:02:04.000000000 +0400
-+++ sarg-2.3.11.my/userinfo.c  2018-02-19 12:21:16.103200796 +0300
-@@ -67,7 +67,7 @@
-       int skip;
-       int flen;
-       int count, clen;
--      char cstr[9];
-+      char cstr[11];
-       last=NULL;
-       for (group=first_user_group ; group ; group=group->next) {
similarity index 66%
rename from src/patches/sarg/sarg-2.3.11-configure.patch
rename to src/patches/sarg/sarg-2.4.0-configure.patch
index ca96955954f0167b8e30d5aa180ec4a4dc94ce0e..ff40d81f1d051b705cf5aef62e66ce4b0b81d6d3 100644 (file)
@@ -1,8 +1,8 @@
---- sarg-2.3.11/configure.ac~  2019-04-26 22:34:33.499022406 +0000
-+++ sarg-2.3.11/configure.ac   2019-04-26 22:35:11.886556020 +0000
-@@ -29,35 +29,6 @@
+--- sarg-2.4.0/configure.ac.orig       2020-01-16 12:24:11.000000000 +0100
++++ sarg-2.4.0/configure.ac    2021-04-24 14:16:03.677756214 +0200
+@@ -38,31 +38,6 @@
  # Report more warnings to improve code quality.
- CFLAGS="${CFLAGS} -Wall -Wno-sign-compare"
+ CFLAGS="${CFLAGS} -Wall"
  
 -dnl Check for supported compiler options
 -
 -CFLAGS="${CFLAGS} -Wextra -Wno-unused-parameter"
 -AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_extra_warnings="yes"],[have_extra_warnings="no"])
 -AC_MSG_RESULT($have_extra_warnings)
--if test "$have_extra_warnings" = "no" ; then
--    CFLAGS="${saved_CFLAGS}"
--fi
+-AS_IF([test "$have_extra_warnings" = "no"],[CFLAGS="${saved_CFLAGS}"])
+-
+-# Don't compare signs as it is a mess
+-CFLAGS="${CFLAGS} -Wno-sign-compare"
 -
 -AC_MSG_CHECKING([for implicit-function-declaration error flag in $CC])
 -saved_CFLAGS="${CFLAGS}"
 -CFLAGS="${CFLAGS} -Werror=implicit-function-declaration"
 -AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_implicit_function_declaration="yes"],[have_implicit_function_declaration="no"])
 -AC_MSG_RESULT($have_implicit_function_declaration)
--if test "$have_implicit_function_declaration" = "no" ; then
--    CFLAGS="${saved_CFLAGS}"
--fi
+-AS_IF([test "$have_implicit_function_declaration" = "no"],[CFLAGS="${saved_CFLAGS}"])
 -
 -AC_MSG_CHECKING([for format error flag in $CC])
 -saved_CFLAGS="${CFLAGS}"
 -CFLAGS="${CFLAGS} -Werror=format"
 -AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_error_format="yes"],[have_error_format="no"])
 -AC_MSG_RESULT($have_error_format)
--if test "$have_error_format" = "no" ; then
--    CFLAGS="${saved_CFLAGS}"
--fi
--
+-AS_IF([test "$have_error_format" = "no"],[CFLAGS="${saved_CFLAGS}"])
  case "$host" in
     *-solaris*)
-    LDFLAGS="${LDFLAGS} -lsocket -lnsl"
diff --git a/src/patches/sarg/sarg-2.4.0-format.patch b/src/patches/sarg/sarg-2.4.0-format.patch
new file mode 100644 (file)
index 0000000..1d1ac1e
--- /dev/null
@@ -0,0 +1,33 @@
+diff -Naur sarg-2.4.0.orig/index.c sarg-2.4.0/index.c
+--- sarg-2.4.0.orig/index.c    2019-12-24 12:04:00.000000000 +0100
++++ sarg-2.4.0/index.c 2021-04-24 14:09:57.779097194 +0200
+@@ -325,7 +325,7 @@
+               d1=(day >> 5) & 0x1F;
+               if ((day & 0x1F) != 0) {
+                       d2=day & 0x1F;
+-                      snprintf(daynum,sizeof(daynum),"%02d-%02d",d1,d2);
++                      snprintf(daynum,sizeof(daynum),"%02u-%02u",(unsigned int)d1,(unsigned int)d2);
+               } else {
+                       snprintf(daynum,sizeof(daynum),"%02d",d1);
+               }
+@@ -485,7 +485,7 @@
+               m1=(month >> 4) & 0x0F;
+               if ((month & 0x0F) != 0) {
+                       m2=month & 0x0F;
+-                      snprintf(monthnum,sizeof(monthnum),"%02d-%02d",m1,m2);
++                      snprintf(monthnum,sizeof(monthnum),"%02u-%02u",(unsigned int)m1,(unsigned int)m2);
+                       name_month(m1,monthname1,sizeof(monthname1));
+                       name_month(m2,monthname2,sizeof(monthname2));
+                       snprintf(nmonth,sizeof(nmonth),"%s-%s",monthname1,monthname2);
+diff -Naur sarg-2.4.0.orig/userinfo.c sarg-2.4.0/userinfo.c
+--- sarg-2.4.0.orig/userinfo.c 2019-12-24 12:04:00.000000000 +0100
++++ sarg-2.4.0/userinfo.c      2021-04-24 14:11:31.965734470 +0200
+@@ -78,7 +78,7 @@
+       int skip;
+       int flen;
+       int count, clen;
+-      char cstr[9];
++      char cstr[11];
+       char filename[MAX_USER_FNAME_LEN];
+       if (!UserStrings) {
diff --git a/src/patches/tcp_wrappers-7.6-shared_lib_plus_plus-1.patch b/src/patches/tcp_wrappers-7.6-shared_lib_plus_plus-1.patch
deleted file mode 100644 (file)
index 9a5b20c..0000000
+++ /dev/null
@@ -1,1035 +0,0 @@
-Submitted By: Tushar Teredesai <tushar@linuxfromscratch.org>
-Date: 2003-10-04
-Initial Package Version: 7.6
-Origin: http://archives.linuxfromscratch.org/mail-archives/blfs-dev/2003-January/001960.html
-Description: The patch was created from the tcp_wrappers modified package by Mark Heerdink.
-This patch provides the following improvements:
-    * Install libwrap.so along with libwrap.a.
-    * Create an install target for tcp_wrappers.
-    * Compilation and security fixes.
-    * Documentation fixes.
-diff -Naur tcp_wrappers_7.6/Makefile tcp_wrappers_7.6.gimli/Makefile
---- tcp_wrappers_7.6/Makefile  1997-03-21 12:27:21.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/Makefile    2002-07-15 16:07:21.000000000 -0500
-@@ -1,5 +1,10 @@
-+GLIBC=$(shell grep -s -c __GLIBC__ /usr/include/features.h)
-+
- # @(#) Makefile 1.23 97/03/21 19:27:20
-+# unset the HOSTNAME environment variable
-+HOSTNAME =
-+
- what:
-       @echo
-       @echo "Usage: edit the REAL_DAEMON_DIR definition in the Makefile then:"
-@@ -19,7 +24,7 @@
-       @echo " generic (most bsd-ish systems with sys5 compatibility)"
-       @echo " 386bsd aix alpha apollo bsdos convex-ultranet dell-gcc dgux dgux543"
-       @echo " dynix epix esix freebsd hpux irix4 irix5 irix6 isc iunix"
--      @echo " linux machten mips(untested) ncrsvr4 netbsd next osf power_unix_211"
-+      @echo " linux gnu machten mips(untested) ncrsvr4 netbsd next osf power_unix_211"
-       @echo " ptx-2.x ptx-generic pyramid sco sco-nis sco-od2 sco-os5 sinix sunos4"
-       @echo " sunos40 sunos5 sysv4 tandem ultrix unicos7 unicos8 unixware1 unixware2"
-       @echo " uts215 uxp"
-@@ -43,8 +48,8 @@
- # Ultrix 4.x SunOS 4.x ConvexOS 10.x Dynix/ptx
- #REAL_DAEMON_DIR=/usr/etc
- #
--# SysV.4 Solaris 2.x OSF AIX
--#REAL_DAEMON_DIR=/usr/sbin
-+# SysV.4 Solaris 2.x OSF AIX Linux
-+REAL_DAEMON_DIR=/usr/sbin
- #
- # BSD 4.4
- #REAL_DAEMON_DIR=/usr/libexec
-@@ -141,10 +146,21 @@
-       LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP= TLI= \
-       EXTRA_CFLAGS=-DSYS_ERRLIST_DEFINED VSYSLOG= all
-+ifneq ($(GLIBC),0)
-+MYLIB=-lnsl
-+endif
-+
- linux:
-       @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
--      LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ=setenv.o \
--      NETGROUP= TLI= EXTRA_CFLAGS="-DBROKEN_SO_LINGER" all
-+      LIBS=$(MYLIB) RANLIB=ranlib ARFLAGS=rv AUX_OBJ=weak_symbols.o \
-+      NETGROUP=-DNETGROUP TLI= VSYSLOG= BUGS= all \
-+      EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_WEAKSYMS -D_REENTRANT"
-+
-+gnu:
-+      @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
-+      LIBS=$(MYLIB) RANLIB=ranlib ARFLAGS=rv AUX_OBJ=weak_symbols.o \
-+      NETGROUP=-DNETGROUP TLI= VSYSLOG= BUGS= all \
-+      EXTRA_CFLAGS="-DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT"
- # This is good for many SYSV+BSD hybrids with NIS, probably also for HP-UX 7.x.
- hpux hpux8 hpux9 hpux10:
-@@ -391,7 +407,7 @@
- # the ones provided with this source distribution. The environ.c module
- # implements setenv(), getenv(), and putenv().
--AUX_OBJ= setenv.o
-+#AUX_OBJ= setenv.o
- #AUX_OBJ= environ.o
- #AUX_OBJ= environ.o strcasecmp.o
-@@ -454,7 +470,8 @@
- # host name aliases. Compile with -DSOLARIS_24_GETHOSTBYNAME_BUG to work
- # around this. The workaround does no harm on other Solaris versions.
--BUGS = -DGETPEERNAME_BUG -DBROKEN_FGETS -DLIBC_CALLS_STRTOK
-+BUGS =
-+#BUGS = -DGETPEERNAME_BUG -DBROKEN_FGETS -DLIBC_CALLS_STRTOK
- #BUGS = -DGETPEERNAME_BUG -DBROKEN_FGETS -DINET_ADDR_BUG
- #BUGS = -DGETPEERNAME_BUG -DBROKEN_FGETS -DSOLARIS_24_GETHOSTBYNAME_BUG
-@@ -464,7 +481,7 @@
- # If your system supports NIS or YP-style netgroups, enable the following
- # macro definition. Netgroups are used only for host access control.
- #
--#NETGROUP= -DNETGROUP
-+NETGROUP= -DNETGROUP
- ###############################################################
- # System dependencies: whether or not your system has vsyslog()
-@@ -491,7 +508,7 @@
- # Uncomment the next definition to turn on the language extensions
- # (examples: allow, deny, banners, twist and spawn).
- # 
--#STYLE        = -DPROCESS_OPTIONS     # Enable language extensions.
-+STYLE = -DPROCESS_OPTIONS     # Enable language extensions.
- ################################################################
- # Optional: Changing the default disposition of logfile records
-@@ -514,7 +531,7 @@
- #
- # The LOG_XXX names below are taken from the /usr/include/syslog.h file.
--FACILITY= LOG_MAIL    # LOG_MAIL is what most sendmail daemons use
-+FACILITY= LOG_DAEMON  # LOG_MAIL is what most sendmail daemons use
- # The syslog priority at which successful connections are logged.
-@@ -610,7 +627,7 @@
- # Paranoid mode implies hostname lookup. In order to disable hostname
- # lookups altogether, see the next section.
--PARANOID= -DPARANOID
-+#PARANOID= -DPARANOID
- ########################################
- # Optional: turning off hostname lookups
-@@ -623,7 +640,7 @@
- # In order to perform selective hostname lookups, disable paranoid
- # mode (see previous section) and comment out the following definition.
--HOSTNAME= -DALWAYS_HOSTNAME
-+#HOSTNAME= -DALWAYS_HOSTNAME
- #############################################
- # Optional: Turning on host ADDRESS checking
-@@ -649,28 +666,46 @@
- # source-routed traffic in the kernel. Examples: 4.4BSD derivatives,
- # Solaris 2.x, and Linux. See your system documentation for details.
- #
--# KILL_OPT= -DKILL_IP_OPTIONS
-+KILL_OPT= -DKILL_IP_OPTIONS
- ## End configuration options
- ############################
- # Protection against weird shells or weird make programs.
-+CC    = gcc
- SHELL = /bin/sh
--.c.o:;        $(CC) $(CFLAGS) -c $*.c
-+.c.o:;        $(CC) $(CFLAGS) -o $*.o -c $*.c
-+
-+SOMAJOR = 0
-+SOMINOR = 7.6
-+
-+LIB   = libwrap.a
-+SHLIB = shared/libwrap.so.$(SOMAJOR).$(SOMINOR)
-+SHLIBSOMAJ= shared/libwrap.so.$(SOMAJOR)
-+SHLIBSO       = shared/libwrap.so
-+SHLIBFLAGS = -Lshared -lwrap
--CFLAGS        = -O -DFACILITY=$(FACILITY) $(ACCESS) $(PARANOID) $(NETGROUP) \
-+shared/%.o: %.c
-+      $(CC) $(CFLAGS) $(SHCFLAGS) -c $< -o $@
-+
-+CFLAGS        = -O2 -DFACILITY=$(FACILITY) $(ACCESS) $(PARANOID) $(NETGROUP) \
-       $(BUGS) $(SYSTYPE) $(AUTH) $(UMASK) \
-       -DREAL_DAEMON_DIR=\"$(REAL_DAEMON_DIR)\" $(STYLE) $(KILL_OPT) \
-       -DSEVERITY=$(SEVERITY) -DRFC931_TIMEOUT=$(RFC931_TIMEOUT) \
-       $(UCHAR) $(TABLES) $(STRINGS) $(TLI) $(EXTRA_CFLAGS) $(DOT) \
-       $(VSYSLOG) $(HOSTNAME)
-+SHLINKFLAGS = -shared -Xlinker -soname -Xlinker libwrap.so.$(SOMAJOR) -lc $(LIBS)
-+SHCFLAGS = -fPIC -shared -D_REENTRANT
-+
- LIB_OBJ= hosts_access.o options.o shell_cmd.o rfc931.o eval.o \
-       hosts_ctl.o refuse.o percent_x.o clean_exit.o $(AUX_OBJ) \
-       $(FROM_OBJ) fix_options.o socket.o tli.o workarounds.o \
-       update.o misc.o diag.o percent_m.o myvsyslog.o
-+SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ));
-+
- FROM_OBJ= fromhost.o
- KIT   = README miscd.c tcpd.c fromhost.c hosts_access.c shell_cmd.c \
-@@ -684,46 +719,80 @@
-       refuse.c tcpdchk.8 setenv.c inetcf.c inetcf.h scaffold.c \
-       scaffold.h tcpdmatch.8 README.NIS
--LIB   = libwrap.a
--
--all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk
-+all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk $(LIB)
- # Invalidate all object files when the compiler options (CFLAGS) have changed.
- config-check:
-       @set +e; test -n "$(REAL_DAEMON_DIR)" || { make; exit 1; }
--      @set +e; echo $(CFLAGS) >/tmp/cflags.$$$$ ; \
--      if cmp cflags /tmp/cflags.$$$$ ; \
--      then rm /tmp/cflags.$$$$ ; \
--      else mv /tmp/cflags.$$$$ cflags ; \
-+      @set +e; echo $(CFLAGS) >cflags.new ; \
-+      if cmp cflags cflags.new ; \
-+      then rm cflags.new ; \
-+      else mv cflags.new cflags ; \
-       fi >/dev/null 2>/dev/null
-+      @if [ ! -d shared ]; then mkdir shared; fi
- $(LIB):       $(LIB_OBJ)
-       rm -f $(LIB)
-       $(AR) $(ARFLAGS) $(LIB) $(LIB_OBJ)
-       -$(RANLIB) $(LIB)
--tcpd: tcpd.o $(LIB)
--      $(CC) $(CFLAGS) -o $@ tcpd.o $(LIB) $(LIBS)
-+$(SHLIB): $(SHLIB_OBJ)
-+      rm -f $(SHLIB)
-+      $(CC) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
-+      ln -s $(notdir $(SHLIB)) $(SHLIBSOMAJ)
-+      ln -s $(notdir $(SHLIBSOMAJ)) $(SHLIBSO)
-+
-+tcpd: tcpd.o $(SHLIB)
-+      $(CC) $(CFLAGS) -o $@ tcpd.o $(SHLIBFLAGS)
--miscd:        miscd.o $(LIB)
--      $(CC) $(CFLAGS) -o $@ miscd.o $(LIB) $(LIBS)
-+miscd:        miscd.o $(SHLIB)
-+      $(CC) $(CFLAGS) -o $@ miscd.o $(SHLIBFLAGS)
--safe_finger: safe_finger.o $(LIB)
--      $(CC) $(CFLAGS) -o $@ safe_finger.o $(LIB) $(LIBS)
-+safe_finger: safe_finger.o $(SHLIB)
-+      $(CC) $(CFLAGS) -o $@ safe_finger.o $(SHLIBFLAGS)
- TCPDMATCH_OBJ = tcpdmatch.o fakelog.o inetcf.o scaffold.o
--tcpdmatch: $(TCPDMATCH_OBJ) $(LIB)
--      $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(LIB) $(LIBS)
-+tcpdmatch: $(TCPDMATCH_OBJ) $(SHLIB)
-+      $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(SHLIBFLAGS)
--try-from: try-from.o fakelog.o $(LIB)
--      $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(LIB) $(LIBS)
-+try-from: try-from.o fakelog.o $(SHLIB)
-+      $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(SHLIBFLAGS)
- TCPDCHK_OBJ = tcpdchk.o fakelog.o inetcf.o scaffold.o
--tcpdchk: $(TCPDCHK_OBJ) $(LIB)
--      $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(LIB) $(LIBS)
-+tcpdchk: $(TCPDCHK_OBJ) $(SHLIB)
-+      $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(SHLIBFLAGS)
-+
-+install: install-lib install-bin install-dev
-+
-+install-lib:
-+      install -o root -g root -m 0755 $(SHLIB) ${DESTDIR}/usr/lib/
-+      ln -sf $(notdir $(SHLIB)) ${DESTDIR}/usr/lib/$(notdir $(SHLIBSOMAJ))
-+      ln -sf $(notdir $(SHLIBSOMAJ)) ${DESTDIR}/usr/lib/$(notdir $(SHLIBSO))
-+
-+install-bin:
-+      install -o root -g root -m 0755 tcpd ${DESTDIR}/usr/sbin/
-+      install -o root -g root -m 0755 tcpdchk ${DESTDIR}/usr/sbin/
-+      install -o root -g root -m 0755 tcpdmatch ${DESTDIR}/usr/sbin/
-+      install -o root -g root -m 0755 try-from ${DESTDIR}/usr/sbin/
-+      install -o root -g root -m 0755 safe_finger ${DESTDIR}/usr/sbin/
-+      install -o root -g root -m 0644 tcpd.8 ${DESTDIR}/usr/share/man/man8/
-+      install -o root -g root -m 0644 tcpdchk.8 ${DESTDIR}/usr/share/man/man8/
-+      install -o root -g root -m 0644 try-from.8 ${DESTDIR}/usr/share/man/man8/
-+      install -o root -g root -m 0644 tcpdmatch.8 ${DESTDIR}/usr/share/man/man8/
-+      install -o root -g root -m 0644 safe_finger.8 ${DESTDIR}/usr/share/man/man8/
-+      install -o root -g root -m 0644 hosts_access.5 ${DESTDIR}/usr/share/man/man5/
-+      install -o root -g root -m 0644 hosts_options.5 ${DESTDIR}/usr/share/man/man5/
-+
-+install-dev:
-+      install -o root -g root -m 0644 hosts_access.3 ${DESTDIR}/usr/share/man/man3/
-+      install -o root -g root -m 0644 tcpd.h ${DESTDIR}/usr/include/
-+      install -o root -g root -m 0644 $(LIB) ${DESTDIR}/usr/lib/
-+      ln -sf hosts_access.3 ${DESTDIR}/usr/share/man/man3/hosts_ctl.3
-+      ln -sf hosts_access.3 ${DESTDIR}/usr/share/man/man3/request_init.3
-+      ln -sf hosts_access.3 ${DESTDIR}/usr/share/man/man3/request_set.3
- shar: $(KIT)
-       @shar $(KIT)
-@@ -739,7 +808,8 @@
- clean:
-       rm -f tcpd miscd safe_finger tcpdmatch tcpdchk try-from *.[oa] core \
--      cflags
-+      cflags libwrap*.so*
-+      rm -rf shared
- tidy: clean
-       chmod -R a+r .
-@@ -885,5 +955,6 @@
- update.o: mystdarg.h
- update.o: tcpd.h
- vfprintf.o: cflags
-+weak_symbols.o: tcpd.h
- workarounds.o: cflags
- workarounds.o: tcpd.h
-diff -Naur tcp_wrappers_7.6/fix_options.c tcp_wrappers_7.6.gimli/fix_options.c
---- tcp_wrappers_7.6/fix_options.c     1997-04-07 19:29:19.000000000 -0500
-+++ tcp_wrappers_7.6.gimli/fix_options.c       2002-01-07 08:50:19.000000000 -0600
-@@ -35,7 +35,12 @@
- #ifdef IP_OPTIONS
-     unsigned char optbuf[BUFFER_SIZE / 3], *cp;
-     char    lbuf[BUFFER_SIZE], *lp;
-+#if !defined(__GLIBC__)
-     int     optsize = sizeof(optbuf), ipproto;
-+#else /* __GLIBC__ */
-+    size_t  optsize = sizeof(optbuf);
-+    int     ipproto;
-+#endif /* __GLIBC__ */
-     struct protoent *ip;
-     int     fd = request->fd;
-     unsigned int opt;
-diff -Naur tcp_wrappers_7.6/hosts_access.3 tcp_wrappers_7.6.gimli/hosts_access.3
---- tcp_wrappers_7.6/hosts_access.3    1996-02-11 10:01:27.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/hosts_access.3      2002-01-07 08:50:19.000000000 -0600
-@@ -3,7 +3,7 @@
- hosts_access, hosts_ctl, request_init, request_set \- access control library
- .SH SYNOPSIS
- .nf
--#include "tcpd.h"
-+#include <tcpd.h>
- extern int allow_severity;
- extern int deny_severity;
-diff -Naur tcp_wrappers_7.6/hosts_access.5 tcp_wrappers_7.6.gimli/hosts_access.5
---- tcp_wrappers_7.6/hosts_access.5    1995-01-30 12:51:47.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/hosts_access.5      2002-01-07 08:50:19.000000000 -0600
-@@ -8,9 +8,9 @@
- impatient reader is encouraged to skip to the EXAMPLES section for a
- quick introduction.
- .PP
--An extended version of the access control language is described in the
--\fIhosts_options\fR(5) document. The extensions are turned on at
--program build time by building with -DPROCESS_OPTIONS.
-+The extended version of the access control language is described in the
-+\fIhosts_options\fR(5) document. \fBNote that this language supersedes
-+the meaning of \fIshell_command\fB as documented below.\fR
- .PP
- In the following text, \fIdaemon\fR is the the process name of a
- network daemon process, and \fIclient\fR is the name and/or address of
-@@ -40,7 +40,7 @@
- character. This permits you to break up long lines so that they are
- easier to edit.
- .IP \(bu
--Blank lines or lines that begin with a `#\' character are ignored.
-+Blank lines or lines that begin with a `#' character are ignored.
- This permits you to insert comments and whitespace so that the tables
- are easier to read.
- .IP \(bu
-@@ -69,26 +69,33 @@
- .SH PATTERNS
- The access control language implements the following patterns:
- .IP \(bu
--A string that begins with a `.\' character. A host name is matched if
-+A string that begins with a `.' character. A host name is matched if
- the last components of its name match the specified pattern.  For
--example, the pattern `.tue.nl\' matches the host name
--`wzv.win.tue.nl\'.
-+example, the pattern `.tue.nl' matches the host name
-+`wzv.win.tue.nl'.
- .IP \(bu
--A string that ends with a `.\' character. A host address is matched if
-+A string that ends with a `.' character. A host address is matched if
- its first numeric fields match the given string.  For example, the
--pattern `131.155.\' matches the address of (almost) every host on the
-+pattern `131.155.' matches the address of (almost) every host on the
- Eind\%hoven University network (131.155.x.x).
- .IP \(bu
--A string that begins with an `@\' character is treated as an NIS
-+A string that begins with an `@' character is treated as an NIS
- (formerly YP) netgroup name. A host name is matched if it is a host
- member of the specified netgroup. Netgroup matches are not supported
- for daemon process names or for client user names.
- .IP \(bu
--An expression of the form `n.n.n.n/m.m.m.m\' is interpreted as a
--`net/mask\' pair. A host address is matched if `net\' is equal to the
--bitwise AND of the address and the `mask\'. For example, the net/mask
--pattern `131.155.72.0/255.255.254.0\' matches every address in the
--range `131.155.72.0\' through `131.155.73.255\'.
-+An expression of the form `n.n.n.n/m.m.m.m' is interpreted as a
-+`net/mask' pair. A host address is matched if `net' is equal to the
-+bitwise AND of the address and the `mask'. For example, the net/mask
-+pattern `131.155.72.0/255.255.254.0' matches every address in the
-+range `131.155.72.0' through `131.155.73.255'.
-+.IP \(bu
-+A string that begins with a `/' character is treated as a file
-+name. A host name or address is matched if it matches any host name
-+or address pattern listed in the named file. The file format is
-+zero or more lines with zero or more host name or address patterns
-+separated by whitespace.  A file name pattern can be used anywhere
-+a host name or address pattern can be used.
- .SH WILDCARDS
- The access control language supports explicit wildcards:
- .IP ALL
-@@ -115,19 +122,19 @@
- .ne 6
- .SH OPERATORS
- .IP EXCEPT
--Intended use is of the form: `list_1 EXCEPT list_2\'; this construct
-+Intended use is of the form: `list_1 EXCEPT list_2'; this construct
- matches anything that matches \fIlist_1\fR unless it matches
- \fIlist_2\fR.  The EXCEPT operator can be used in daemon_lists and in
- client_lists. The EXCEPT operator can be nested: if the control
--language would permit the use of parentheses, `a EXCEPT b EXCEPT c\'
--would parse as `(a EXCEPT (b EXCEPT c))\'.
-+language would permit the use of parentheses, `a EXCEPT b EXCEPT c'
-+would parse as `(a EXCEPT (b EXCEPT c))'.
- .br
- .ne 6
- .SH SHELL COMMANDS
- If the first-matched access control rule contains a shell command, that
- command is subjected to %<letter> substitutions (see next section).
- The result is executed by a \fI/bin/sh\fR child process with standard
--input, output and error connected to \fI/dev/null\fR.  Specify an `&\'
-+input, output and error connected to \fI/dev/null\fR.  Specify an `&'
- at the end of the command if you do not want to wait until it has
- completed.
- .PP
-@@ -159,7 +166,7 @@
- .IP %u
- The client user name (or "unknown").
- .IP %%
--Expands to a single `%\' character.
-+Expands to a single `%' character.
- .PP
- Characters in % expansions that may confuse the shell are replaced by
- underscores.
-@@ -243,9 +250,9 @@
- less trustworthy. It is possible for an intruder to spoof both the
- client connection and the IDENT lookup, although doing so is much
- harder than spoofing just a client connection. It may also be that
--the client\'s IDENT server is lying.
-+the client's IDENT server is lying.
- .PP
--Note: IDENT lookups don\'t work with UDP services. 
-+Note: IDENT lookups don't work with UDP services. 
- .SH EXAMPLES
- The language is flexible enough that different types of access control
- policy can be expressed with a minimum of fuss. Although the language
-@@ -285,7 +292,7 @@
- .br
- ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
- .PP
--The first rule permits access from hosts in the local domain (no `.\'
-+The first rule permits access from hosts in the local domain (no `.'
- in the host name) and from members of the \fIsome_netgroup\fP
- netgroup.  The second rule permits access from all hosts in the
- \fIfoobar.edu\fP domain (notice the leading dot), with the exception of
-@@ -322,8 +329,8 @@
- /etc/hosts.deny:
- .in +3
- .nf
--in.tftpd: ALL: (/some/where/safe_finger -l @%h | \\
--      /usr/ucb/mail -s %d-%h root) &
-+in.tftpd: ALL: (/usr/sbin/safe_finger -l @%h | \\
-+      /usr/bin/mail -s %d-%h root) &
- .fi
- .PP
- The safe_finger command comes with the tcpd wrapper and should be
-@@ -349,7 +356,7 @@
- capacity of an internal buffer; when an access control rule is not
- terminated by a newline character; when the result of %<letter>
- expansion would overflow an internal buffer; when a system call fails
--that shouldn\'t.  All problems are reported via the syslog daemon.
-+that shouldn't.  All problems are reported via the syslog daemon.
- .SH FILES
- .na
- .nf
-diff -Naur tcp_wrappers_7.6/hosts_access.c tcp_wrappers_7.6.gimli/hosts_access.c
---- tcp_wrappers_7.6/hosts_access.c    1997-02-11 19:13:23.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/hosts_access.c      2002-01-07 08:50:19.000000000 -0600
-@@ -240,6 +240,26 @@
-     }
- }
-+/* hostfile_match - look up host patterns from file */
-+
-+static int hostfile_match(path, host)
-+char   *path;
-+struct hosts_info *host;
-+{
-+    char    tok[BUFSIZ];
-+    int     match = NO;
-+    FILE   *fp;
-+
-+    if ((fp = fopen(path, "r")) != 0) {
-+        while (fscanf(fp, "%s", tok) == 1 && !(match = host_match(tok, host)))
-+            /* void */ ;
-+        fclose(fp);
-+    } else if (errno != ENOENT) {
-+        tcpd_warn("open %s: %m", path);
-+    }
-+    return (match);
-+}
-+
- /* host_match - match host name and/or address against pattern */
- static int host_match(tok, host)
-@@ -267,6 +287,8 @@
-       tcpd_warn("netgroup support is disabled");      /* not tcpd_jump() */
-       return (NO);
- #endif
-+    } else if (tok[0] == '/') {                         /* /file hack */
-+        return (hostfile_match(tok, host));
-     } else if (STR_EQ(tok, "KNOWN")) {                /* check address and name */
-       char   *name = eval_hostname(host);
-       return (STR_NE(eval_hostaddr(host), unknown) && HOSTNAME_KNOWN(name));
-diff -Naur tcp_wrappers_7.6/hosts_options.5 tcp_wrappers_7.6.gimli/hosts_options.5
---- tcp_wrappers_7.6/hosts_options.5   1994-12-28 10:42:29.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/hosts_options.5     2002-01-07 08:50:19.000000000 -0600
-@@ -58,12 +58,12 @@
- Execute, in a child process, the specified shell command, after
- performing the %<letter> expansions described in the hosts_access(5)
- manual page.  The command is executed with stdin, stdout and stderr
--connected to the null device, so that it won\'t mess up the
-+connected to the null device, so that it won't mess up the
- conversation with the client host. Example:
- .sp
- .nf
- .ti +3
--spawn (/some/where/safe_finger -l @%h | /usr/ucb/mail root) &
-+spawn (/usr/sbin/safe_finger -l @%h | /usr/bin/mail root) &
- .fi
- .sp
- executes, in a background child process, the shell command "safe_finger
-diff -Naur tcp_wrappers_7.6/options.c tcp_wrappers_7.6.gimli/options.c
---- tcp_wrappers_7.6/options.c 1996-02-11 10:01:32.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/options.c   2002-01-07 08:50:19.000000000 -0600
-@@ -473,6 +473,9 @@
- #ifdef LOG_CRON
-     "cron", LOG_CRON,
- #endif
-+#ifdef LOG_FTP
-+    "ftp", LOG_FTP,
-+#endif
- #ifdef LOG_LOCAL0
-     "local0", LOG_LOCAL0,
- #endif
-diff -Naur tcp_wrappers_7.6/percent_m.c tcp_wrappers_7.6.gimli/percent_m.c
---- tcp_wrappers_7.6/percent_m.c       1994-12-28 10:42:37.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/percent_m.c 2002-01-07 08:50:19.000000000 -0600
-@@ -13,7 +13,7 @@
- #include <string.h>
- extern int errno;
--#ifndef SYS_ERRLIST_DEFINED
-+#if !defined(SYS_ERRLIST_DEFINED) && !defined(HAVE_STRERROR)
- extern char *sys_errlist[];
- extern int sys_nerr;
- #endif
-@@ -29,11 +29,15 @@
-     while (*bp = *cp)
-       if (*cp == '%' && cp[1] == 'm') {
-+#ifdef HAVE_STRERROR
-+            strcpy(bp, strerror(errno));
-+#else
-           if (errno < sys_nerr && errno > 0) {
-               strcpy(bp, sys_errlist[errno]);
-           } else {
-               sprintf(bp, "Unknown error %d", errno);
-           }
-+#endif
-           bp += strlen(bp);
-           cp += 2;
-       } else {
-diff -Naur tcp_wrappers_7.6/rfc931.c tcp_wrappers_7.6.gimli/rfc931.c
---- tcp_wrappers_7.6/rfc931.c  1995-01-02 09:11:34.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/rfc931.c    2002-01-07 08:50:19.000000000 -0600
-@@ -33,7 +33,7 @@
- int     rfc931_timeout = RFC931_TIMEOUT;/* Global so it can be changed */
--static jmp_buf timebuf;
-+static sigjmp_buf timebuf;
- /* fsocket - open stdio stream on top of socket */
-@@ -62,7 +62,7 @@
- static void timeout(sig)
- int     sig;
- {
--    longjmp(timebuf, sig);
-+    siglongjmp(timebuf, sig);
- }
- /* rfc931 - return remote user name, given socket structures */
-@@ -99,7 +99,7 @@
-        * Set up a timer so we won't get stuck while waiting for the server.
-        */
--      if (setjmp(timebuf) == 0) {
-+      if (sigsetjmp(timebuf,1) == 0) {
-           signal(SIGALRM, timeout);
-           alarm(rfc931_timeout);
-diff -Naur tcp_wrappers_7.6/safe_finger.8 tcp_wrappers_7.6.gimli/safe_finger.8
---- tcp_wrappers_7.6/safe_finger.8     1969-12-31 18:00:00.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/safe_finger.8       2002-01-07 08:50:19.000000000 -0600
-@@ -0,0 +1,34 @@
-+.TH SAFE_FINGER 8 "21th June 1997" Linux "Linux Programmer's Manual"
-+.SH NAME
-+safe_finger \- finger client wrapper that protects against nasty stuff
-+from finger servers
-+.SH SYNOPSIS
-+.B safe_finger [finger_options]
-+.SH DESCRIPTION
-+The
-+.B safe_finger
-+command protects against nasty stuff from finger servers. Use this
-+program for automatic reverse finger probes from the
-+.B tcp_wrapper
-+.B (tcpd)
-+, not the raw finger command. The
-+.B safe_finger
-+command makes sure that the finger client is not run with root
-+privileges. It also runs the finger client with a defined PATH
-+environment.
-+.B safe_finger
-+will also protect you from problems caused by the output of some
-+finger servers. The problem: some programs may react to stuff in
-+the first column. Other programs may get upset by thrash anywhere
-+on a line. File systems may fill up as the finger server keeps
-+sending data. Text editors may bomb out on extremely long lines.
-+The finger server may take forever because it is somehow wedged.
-+.B safe_finger
-+takes care of all this badness.
-+.SH SEE ALSO
-+.BR hosts_access (5),
-+.BR hosts_options (5),
-+.BR tcpd (8)
-+.SH AUTHOR
-+Wietse Venema, Eindhoven University of Technology, The Netherlands.
-+
-diff -Naur tcp_wrappers_7.6/safe_finger.c tcp_wrappers_7.6.gimli/safe_finger.c
---- tcp_wrappers_7.6/safe_finger.c     1994-12-28 10:42:42.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/safe_finger.c       2002-01-07 08:50:19.000000000 -0600
-@@ -26,21 +26,24 @@
- #include <stdio.h>
- #include <ctype.h>
- #include <pwd.h>
-+#include <syslog.h>
- extern void exit();
- /* Local stuff */
--char    path[] = "PATH=/bin:/usr/bin:/usr/ucb:/usr/bsd:/etc:/usr/etc:/usr/sbin";
-+char    path[] = "PATH=/bin:/usr/bin:/sbin:/usr/sbin";
- #define       TIME_LIMIT      60              /* Do not keep listinging forever */
- #define       INPUT_LENGTH    100000          /* Do not keep listinging forever */
- #define       LINE_LENGTH     128             /* Editors can choke on long lines */
- #define       FINGER_PROGRAM  "finger"        /* Most, if not all, UNIX systems */
- #define       UNPRIV_NAME     "nobody"        /* Preferred privilege level */
--#define       UNPRIV_UGID     32767           /* Default uid and gid */
-+#define       UNPRIV_UGID     65534           /* Default uid and gid */
- int     finger_pid;
-+int   allow_severity = SEVERITY;
-+int   deny_severity = LOG_WARNING;
- void    cleanup(sig)
- int     sig;
-diff -Naur tcp_wrappers_7.6/scaffold.c tcp_wrappers_7.6.gimli/scaffold.c
---- tcp_wrappers_7.6/scaffold.c        1997-03-21 12:27:24.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/scaffold.c  2002-01-07 08:50:19.000000000 -0600
-@@ -180,10 +180,12 @@
- /* ARGSUSED */
--void    rfc931(request)
--struct request_info *request;
-+void    rfc931(rmt_sin, our_sin, dest)
-+struct sockaddr_in *rmt_sin;
-+struct sockaddr_in *our_sin;
-+char   *dest;
- {
--    strcpy(request->user, unknown);
-+    strcpy(dest, unknown);
- }
- /* check_path - examine accessibility */
-diff -Naur tcp_wrappers_7.6/socket.c tcp_wrappers_7.6.gimli/socket.c
---- tcp_wrappers_7.6/socket.c  1997-03-21 12:27:25.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/socket.c    2002-01-07 08:50:19.000000000 -0600
-@@ -76,7 +76,11 @@
- {
-     static struct sockaddr_in client;
-     static struct sockaddr_in server;
-+#if !defined (__GLIBC__)
-     int     len;
-+#else /* __GLIBC__ */
-+    size_t  len;
-+#endif /* __GLIBC__ */
-     char    buf[BUFSIZ];
-     int     fd = request->fd;
-@@ -224,7 +228,11 @@
- {
-     char    buf[BUFSIZ];
-     struct sockaddr_in sin;
-+#if !defined(__GLIBC__)
-     int     size = sizeof(sin);
-+#else /* __GLIBC__ */
-+    size_t  size = sizeof(sin);
-+#endif /* __GLIBC__ */
-     /*
-      * Eat up the not-yet received datagram. Some systems insist on a
-diff -Naur tcp_wrappers_7.6/tcpd.8 tcp_wrappers_7.6.gimli/tcpd.8
---- tcp_wrappers_7.6/tcpd.8    1996-02-21 09:39:16.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/tcpd.8      2002-01-07 08:50:19.000000000 -0600
-@@ -94,7 +94,7 @@
- .PP
- The example assumes that the network daemons live in /usr/etc. On some
- systems, network daemons live in /usr/sbin or in /usr/libexec, or have
--no `in.\' prefix to their name.
-+no `in.' prefix to their name.
- .SH EXAMPLE 2
- This example applies when \fItcpd\fR expects that the network daemons
- are left in their original place.
-@@ -110,26 +110,26 @@
- becomes:
- .sp
- .ti +5
--finger  stream  tcp  nowait  nobody  /some/where/tcpd     in.fingerd
-+finger  stream  tcp  nowait  nobody  /usr/sbin/tcpd       in.fingerd
- .sp
- .fi
- .PP
- The example assumes that the network daemons live in /usr/etc. On some
- systems, network daemons live in /usr/sbin or in /usr/libexec, the
--daemons have no `in.\' prefix to their name, or there is no userid
-+daemons have no `in.' prefix to their name, or there is no userid
- field in the inetd configuration file.
- .PP
- Similar changes will be needed for the other services that are to be
--covered by \fItcpd\fR.  Send a `kill -HUP\' to the \fIinetd\fR(8)
-+covered by \fItcpd\fR.  Send a `kill -HUP' to the \fIinetd\fR(8)
- process to make the changes effective. AIX users may also have to
--execute the `inetimp\' command.
-+execute the `inetimp' command.
- .SH EXAMPLE 3
- In the case of daemons that do not live in a common directory ("secret"
- or otherwise), edit the \fIinetd\fR configuration file so that it
- specifies an absolute path name for the process name field. For example:
- .nf
- .sp
--    ntalk  dgram  udp  wait  root  /some/where/tcpd  /usr/local/lib/ntalkd
-+    ntalk  dgram  udp  wait  root  /usr/sbin/tcpd  /usr/sbin/in.ntalkd
- .sp
- .fi
- .PP
-diff -Naur tcp_wrappers_7.6/tcpd.h tcp_wrappers_7.6.gimli/tcpd.h
---- tcp_wrappers_7.6/tcpd.h    1996-03-19 09:22:25.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/tcpd.h      2002-01-07 08:50:19.000000000 -0600
-@@ -4,6 +4,25 @@
-   * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
-   */
-+#ifndef _TCPWRAPPERS_TCPD_H
-+#define _TCPWRAPPERS_TCPD_H
-+
-+/* someone else may have defined this */
-+#undef  __P
-+
-+/* use prototypes if we have an ANSI C compiler or are using C++ */
-+#if defined(__STDC__) || defined(__cplusplus)
-+#define __P(args)       args
-+#else
-+#define __P(args)       ()
-+#endif
-+
-+/* Need definitions of struct sockaddr_in and FILE. */
-+#include <netinet/in.h>
-+#include <stdio.h>
-+
-+__BEGIN_DECLS
-+
- /* Structure to describe one communications endpoint. */
- #define STRING_LENGTH 128             /* hosts, users, processes */
-@@ -25,10 +44,10 @@
-     char    pid[10];                  /* access via eval_pid(request) */
-     struct host_info client[1];               /* client endpoint info */
-     struct host_info server[1];               /* server endpoint info */
--    void  (*sink) ();                 /* datagram sink function or 0 */
--    void  (*hostname) ();             /* address to printable hostname */
--    void  (*hostaddr) ();             /* address to printable address */
--    void  (*cleanup) ();              /* cleanup function or 0 */
-+    void  (*sink) __P((int));         /* datagram sink function or 0 */
-+    void  (*hostname) __P((struct host_info *)); /* address to printable hostname */
-+    void  (*hostaddr) __P((struct host_info *)); /* address to printable address */
-+    void  (*cleanup) __P((struct request_info *)); /* cleanup function or 0 */
-     struct netconfig *config;         /* netdir handle */
- };
-@@ -61,25 +80,30 @@
- /* Global functions. */
- #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
--extern void fromhost();                       /* get/validate client host info */
-+extern void fromhost __P((struct request_info *));    /* get/validate client host info */
- #else
- #define fromhost sock_host            /* no TLI support needed */
- #endif
--extern int hosts_access();            /* access control */
--extern void shell_cmd();              /* execute shell command */
--extern char *percent_x();             /* do %<char> expansion */
--extern void rfc931();                 /* client name from RFC 931 daemon */
--extern void clean_exit();             /* clean up and exit */
--extern void refuse();                 /* clean up and exit */
--extern char *xgets();                 /* fgets() on steroids */
--extern char *split_at();              /* strchr() and split */
--extern unsigned long dot_quad_addr(); /* restricted inet_addr() */
-+extern void shell_cmd __P((char *));  /* execute shell command */
-+extern char *percent_x __P((char *, int, char *, struct request_info *)); /* do %<char> expansion */
-+extern void rfc931 __P((struct sockaddr_in *, struct sockaddr_in *, char *)); /* client name from RFC 931 daemon */
-+extern void clean_exit __P((struct request_info *)); /* clean up and exit */
-+extern void refuse __P((struct request_info *));      /* clean up and exit */
-+extern char *xgets __P((char *, int, FILE *));        /* fgets() on steroids */
-+extern char *split_at __P((char *, int));     /* strchr() and split */
-+extern unsigned long dot_quad_addr __P((char *)); /* restricted inet_addr() */
- /* Global variables. */
-+#ifdef HAVE_WEAKSYMS
-+extern int allow_severity __attribute__ ((weak)); /* for connection logging */
-+extern int deny_severity __attribute__ ((weak)); /* for connection logging */
-+#else
- extern int allow_severity;            /* for connection logging */
- extern int deny_severity;             /* for connection logging */
-+#endif
-+
- extern char *hosts_allow_table;               /* for verification mode redirection */
- extern char *hosts_deny_table;                /* for verification mode redirection */
- extern int hosts_access_verbose;      /* for verbose matching mode */
-@@ -92,9 +116,14 @@
-   */
- #ifdef __STDC__
-+extern int hosts_access(struct request_info *request);
-+extern int hosts_ctl(char *daemon, char *client_name, char *client_addr, 
-+                     char *client_user);
- extern struct request_info *request_init(struct request_info *,...);
- extern struct request_info *request_set(struct request_info *,...);
- #else
-+extern int hosts_access();
-+extern int hosts_ctl();
- extern struct request_info *request_init();   /* initialize request */
- extern struct request_info *request_set();    /* update request structure */
- #endif
-@@ -117,27 +146,31 @@
-   * host_info structures serve as caches for the lookup results.
-   */
--extern char *eval_user();             /* client user */
--extern char *eval_hostname();         /* printable hostname */
--extern char *eval_hostaddr();         /* printable host address */
--extern char *eval_hostinfo();         /* host name or address */
--extern char *eval_client();           /* whatever is available */
--extern char *eval_server();           /* whatever is available */
-+extern char *eval_user __P((struct request_info *));  /* client user */
-+extern char *eval_hostname __P((struct host_info *)); /* printable hostname */
-+extern char *eval_hostaddr __P((struct host_info *)); /* printable host address */
-+extern char *eval_hostinfo __P((struct host_info *)); /* host name or address */
-+extern char *eval_client __P((struct request_info *));        /* whatever is available */
-+extern char *eval_server __P((struct request_info *));        /* whatever is available */
- #define eval_daemon(r)        ((r)->daemon)   /* daemon process name */
- #define eval_pid(r)   ((r)->pid)      /* process id */
- /* Socket-specific methods, including DNS hostname lookups. */
--extern void sock_host();              /* look up endpoint addresses */
--extern void sock_hostname();          /* translate address to hostname */
--extern void sock_hostaddr();          /* address to printable address */
-+/* look up endpoint addresses */
-+extern void sock_host __P((struct request_info *));
-+/* translate address to hostname */
-+extern void sock_hostname __P((struct host_info *));
-+/* address to printable address */
-+extern void sock_hostaddr __P((struct host_info *));
-+
- #define sock_methods(r) \
-       { (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; }
- /* The System V Transport-Level Interface (TLI) interface. */
- #if defined(TLI) || defined(PTX) || defined(TLI_SEQUENT)
--extern void tli_host();                       /* look up endpoint addresses etc. */
-+extern void tli_host __P((struct request_info *));    /* look up endpoint addresses etc. */
- #endif
-  /*
-@@ -178,7 +211,7 @@
-   * behavior.
-   */
--extern void process_options();                /* execute options */
-+extern void process_options __P((char *, struct request_info *)); /* execute options */
- extern int dry_run;                   /* verification flag */
- /* Bug workarounds. */
-@@ -217,3 +250,7 @@
- #define strtok        my_strtok
- extern char *my_strtok();
- #endif
-+
-+__END_DECLS
-+
-+#endif /* tcpd.h */
-diff -Naur tcp_wrappers_7.6/tcpdchk.c tcp_wrappers_7.6.gimli/tcpdchk.c
---- tcp_wrappers_7.6/tcpdchk.c 1997-02-11 19:13:25.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/tcpdchk.c   2002-01-07 08:50:19.000000000 -0600
-@@ -350,6 +350,8 @@
- {
-     if (pat[0] == '@') {
-       tcpd_warn("%s: daemon name begins with \"@\"", pat);
-+    } else if (pat[0] == '/') {
-+        tcpd_warn("%s: daemon name begins with \"/\"", pat);
-     } else if (pat[0] == '.') {
-       tcpd_warn("%s: daemon name begins with dot", pat);
-     } else if (pat[strlen(pat) - 1] == '.') {
-@@ -382,6 +384,8 @@
- {
-     if (pat[0] == '@') {                      /* @netgroup */
-       tcpd_warn("%s: user name begins with \"@\"", pat);
-+    } else if (pat[0] == '/') {
-+        tcpd_warn("%s: user name begins with \"/\"", pat);
-     } else if (pat[0] == '.') {
-       tcpd_warn("%s: user name begins with dot", pat);
-     } else if (pat[strlen(pat) - 1] == '.') {
-@@ -402,8 +406,13 @@
- static int check_host(pat)
- char   *pat;
- {
-+    char    buf[BUFSIZ];
-     char   *mask;
-     int     addr_count = 1;
-+    FILE   *fp;
-+    struct tcpd_context saved_context;
-+    char   *cp;
-+    char   *wsp = " \t\r\n";
-     if (pat[0] == '@') {                      /* @netgroup */
- #ifdef NO_NETGRENT
-@@ -422,6 +431,21 @@
-       tcpd_warn("netgroup support disabled");
- #endif
- #endif
-+    } else if (pat[0] == '/') {                 /* /path/name */
-+        if ((fp = fopen(pat, "r")) != 0) {
-+            saved_context = tcpd_context;
-+            tcpd_context.file = pat;
-+            tcpd_context.line = 0;
-+            while (fgets(buf, sizeof(buf), fp)) {
-+                tcpd_context.line++;
-+                for (cp = strtok(buf, wsp); cp; cp = strtok((char *) 0, wsp))
-+                    check_host(cp);
-+            }
-+            tcpd_context = saved_context;
-+            fclose(fp);
-+        } else if (errno != ENOENT) {
-+            tcpd_warn("open %s: %m", pat);
-+        }
-     } else if (mask = split_at(pat, '/')) {   /* network/netmask */
-       if (dot_quad_addr(pat) == INADDR_NONE
-           || dot_quad_addr(mask) == INADDR_NONE)
-diff -Naur tcp_wrappers_7.6/try-from.8 tcp_wrappers_7.6.gimli/try-from.8
---- tcp_wrappers_7.6/try-from.8        1969-12-31 18:00:00.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/try-from.8  2002-01-07 08:50:19.000000000 -0600
-@@ -0,0 +1,28 @@
-+.TH TRY-FROM 8 "21th June 1997" Linux "Linux Programmer's Manual"
-+.SH NAME
-+try-from \- test program for the tcp_wrapper
-+.SH SYNOPSIS
-+.B try-from
-+.SH DESCRIPTION
-+The
-+.B try-from
-+command can be called via a remote shell command to find out
-+if the hostname and address are properly recognized
-+by the
-+.B tcp_wrapper
-+library, if username lookup works, and (SysV only) if the TLI
-+on top of IP heuristics work. Diagnostics are reported through
-+.BR syslog (3)
-+and redirected to stderr.
-+
-+Example:
-+
-+rsh host /some/where/try-from
-+
-+.SH SEE ALSO
-+.BR hosts_access (5),
-+.BR hosts_options (5),
-+.BR tcpd (8)
-+.SH AUTHOR
-+Wietse Venema, Eindhoven University of Technology, The Netherlands.
-+
-diff -Naur tcp_wrappers_7.6/weak_symbols.c tcp_wrappers_7.6.gimli/weak_symbols.c
---- tcp_wrappers_7.6/weak_symbols.c    1969-12-31 18:00:00.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/weak_symbols.c      2002-01-07 08:50:19.000000000 -0600
-@@ -0,0 +1,11 @@
-+ /*
-+  * @(#) weak_symbols.h 1.5 99/12/29 23:50
-+  * 
-+  * Author: Anthony Towns <ajt@debian.org>
-+  */
-+
-+#ifdef HAVE_WEAKSYMS
-+#include <syslog.h>
-+int deny_severity = LOG_WARNING;
-+int allow_severity = SEVERITY; 
-+#endif
-diff -Naur tcp_wrappers_7.6/workarounds.c tcp_wrappers_7.6.gimli/workarounds.c
---- tcp_wrappers_7.6/workarounds.c     1996-03-19 09:22:26.000000000 -0600
-+++ tcp_wrappers_7.6.gimli/workarounds.c       2002-01-07 08:50:19.000000000 -0600
-@@ -163,7 +163,11 @@
- int     fix_getpeername(sock, sa, len)
- int     sock;
- struct sockaddr *sa;
-+#if !defined(__GLIBC__)
- int    *len;
-+#else /* __GLIBC__ */
-+size_t *len;
-+#endif /* __GLIBC__ */
- {
-     int     ret;
-     struct sockaddr_in *sin = (struct sockaddr_in *) sa;
diff --git a/src/patches/udev-208-fix_uint8_t.patch b/src/patches/udev-208-fix_uint8_t.patch
deleted file mode 100644 (file)
index 06aee3b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur systemd-208.org/src/udev/mtd_probe/mtd_probe.h systemd-208/src/udev/mtd_probe/mtd_probe.h
---- systemd-208.org/src/udev/mtd_probe/mtd_probe.h     2013-08-13 22:02:47.000000000 +0200
-+++ systemd-208/src/udev/mtd_probe/mtd_probe.h 2017-02-07 18:08:33.492985563 +0100
-@@ -18,6 +18,7 @@
-  */
- #include <mtd/mtd-user.h>
-+#include <stdint.h>
- /* Full oob structure as written on the flash */
- struct sm_oob {
diff --git a/src/patches/udev-208_remove_systemd_log.patch b/src/patches/udev-208_remove_systemd_log.patch
deleted file mode 100644 (file)
index 927de1e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur systemd-208.org/src/libudev/libudev-util.c systemd-208/src/libudev/libudev-util.c
---- systemd-208.org/src/libudev/libudev-util.c 2013-09-23 21:31:55.000000000 +0200
-+++ systemd-208/src/libudev/libudev-util.c     2013-11-19 23:18:10.326350131 +0100
-@@ -481,7 +481,7 @@
-         if (fd < 0)
-                 return -errno;
--        len = snprintf(text, sizeof(text), "<30>systemd-udevd[%u]: ", getpid());
-+        len = snprintf(text, sizeof(text), "udevd[%u]: ", getpid());
-         va_start(ap, fmt);
-         len += vsnprintf(text + len, sizeof(text) - len, fmt, ap);