]> Frank Brehm's Git Trees - config/ns3/etc.git/commitdiff
committing changes in /etc made by "apt dist-upgrade -y"
authorFrank Brehm <frank@brehm-online.com>
Thu, 16 Sep 2021 12:12:30 +0000 (14:12 +0200)
committerFrank Brehm <frank@brehm-online.com>
Thu, 16 Sep 2021 12:12:30 +0000 (14:12 +0200)
Packages with configuration changes:
-acpi-support-base 0.142-8 all
-acpid 1:2.0.31-1 amd64
+acpi-support-base 0.143-5 all
+acpid 1:2.0.32-1 amd64
-apache2 2.4.38-3+deb10u5 amd64
-apt 1.8.2.3 amd64
-apt-listchanges 3.19 all
+apache2 2.4.48-3.1+deb11u1 amd64
+apt 2.2.4 amd64
+apt-listchanges 3.24 all
-bash-completion 1:2.8-6 all
+bash-completion 1:2.11-2 all
-bind9 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
+bind9 1:9.16.15-1 amd64
-chrony 3.4-4+deb10u1 amd64
+chrony 4.0-8 amd64
-dbus 1.12.20-0+deb10u1 amd64
+dbus 1.12.20-2 amd64
-dictionaries-common 1.28.1 all
+dictionaries-common 1.28.4 all
-fail2ban 0.10.2-2.1 all
+fail2ban 0.11.2-2 all
-fontconfig-config 2.13.1-2 all
-fonts-dejavu-core 2.37-1 all
+fontconfig-config 2.13.1-4.2 all
+fonts-dejavu-core 2.37-2 all
-grub-common 2.02+dfsg1-20+deb10u4 amd64
-haveged 1.9.1-7 amd64
+grub-common 2.04-20 amd64
+haveged 1.9.14-1 amd64
-icinga2-bin 2.10.3-2+deb10u1 amd64
-icinga2-common 2.10.3-2+deb10u1 all
+icinga2-bin 2.12.3-1 amd64
+icinga2-common 2.12.3-1 all
-iproute2 4.20.0-2+deb10u1 amd64
-iptables-persistent 1.0.11+deb10u1 all
+iproute2 5.10.0-4 amd64
+iptables-persistent 1.0.15 all
+libapache2-mod-php7.4 7.4.21-1+deb11u1 amd64
-libldap-common 2.4.47+dfsg-3+deb10u6 all
+libldap-common 2.4.57+dfsg-3 all
+libnl-3-200 3.4.0-1+b1 amd64
-libpam-modules 1.3.1-5 amd64
+libpam-modules 1.4.0-9 amd64
-lvm2 2.03.02-3 amd64
+lvm2 2.03.11-2.1 amd64
-man-db 2.8.5-2 amd64
+man-db 2.9.4-2 amd64
-mariadb-common 1:10.3.29-0+deb10u1 all
+mariadb-common 1:10.5.11-1 all
-mlocate 0.26-3 amd64
+mlocate 0.26-5 amd64
-nano 3.2-3 amd64
+nano 5.4-2 amd64
-needrestart 3.4-5 all
-netbase 5.6 all
-netfilter-persistent 1.0.11+deb10u1 all
+needrestart 3.5-4 all
+netbase 6.3 all
+netfilter-persistent 1.0.15 all
-passwd 1:4.5-1.1 amd64
+passwd 1:4.8.1-1 amd64
-procps 2:3.3.15-2 amd64
+procps 2:3.3.17-5 amd64
-rsyslog 8.1901.0-1 amd64
+rsyslog 8.2102.0-2 amd64
-s-nail 14.9.11-2 amd64
+s-nail 14.9.22-1 amd64
-slapd 2.4.47+dfsg-3+deb10u6 amd64
+slapd 2.4.57+dfsg-3 amd64
-subversion 1.10.4-1+deb10u2 amd64
-sudo 1.8.27-1+deb10u3 amd64
+subversion 1.14.1-3 amd64
+sudo 1.9.5p2-3 amd64
-tcpdump 4.9.3-1~deb10u2 amd64
+tcpdump 4.99.0-2 amd64
-vim-common 2:8.1.0875-5 all
-vim-tiny 2:8.1.0875-5 amd64
+vim-common 2:8.2.2434-3 all
+vim-tiny 2:8.2.2434-3 amd64
-zsh-common 5.7.1-1 all
+zsh-common 5.8-6 all

Package changes:
-ack 2.24-1 all
+ack 3.4.0-1 all
-acl 2.2.53-4 amd64
+acl 2.2.53-10 amd64
-acpi-support-base 0.142-8 all
-acpid 1:2.0.31-1 amd64
+acpi-support-base 0.143-5 all
+acpid 1:2.0.32-1 amd64
-apache2 2.4.38-3+deb10u5 amd64
-apache2-bin 2.4.38-3+deb10u5 amd64
-apache2-data 2.4.38-3+deb10u5 all
-apache2-utils 2.4.38-3+deb10u5 amd64
-apt 1.8.2.3 amd64
-apt-listchanges 3.19 all
-apt-transport-https 1.8.2.3 all
-apt-utils 1.8.2.3 amd64
-apticron 1.2.1 all
-aptitude 0.8.11-7 amd64
-aptitude-common 0.8.11-7 all
-aptitude-doc-en 0.8.11-7 all
-at 3.1.23-1 amd64
-augeas-lenses 1.11.0-3 all
+apache2 2.4.48-3.1+deb11u1 amd64
+apache2-bin 2.4.48-3.1+deb11u1 amd64
+apache2-data 2.4.48-3.1+deb11u1 all
+apache2-utils 2.4.48-3.1+deb11u1 amd64
+apt 2.2.4 amd64
+apt-listchanges 3.24 all
+apt-transport-https 2.2.4 all
+apt-utils 2.2.4 amd64
+apticron 1.2.5 all
+aptitude 0.8.13-3 amd64
+aptitude-common 0.8.13-3 all
+aptitude-doc-en 0.8.13-3 all
+at 3.1.23-1.1 amd64
+augeas-lenses 1.12.0-2 all
-base-passwd 3.5.46 amd64
+base-passwd 3.5.51 amd64
-bash-completion 1:2.8-6 all
+bash-completion 1:2.11-2 all
-bc 1.07.1-2+b1 amd64
-bind9 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
-bind9-host 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
-bind9utils 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
+bc 1.07.1-2+b2 amd64
+bind9 1:9.16.15-1 amd64
+bind9-dnsutils 1:9.16.15-1 amd64
+bind9-host 1:9.16.15-1 amd64
+bind9-libs 1:9.16.15-1 amd64
+bind9-utils 1:9.16.15-1 amd64
+bind9utils 1:9.16.15-1 all
-bsdutils 1:2.33.1-0.1 amd64
-bubblewrap 0.3.1-4 amd64
-build-essential 12.6 amd64
+bsdutils 1:2.36.1-8 amd64
+bubblewrap 0.4.1-3 amd64
+build-essential 12.9 amd64
-bzip2 1.0.6-9.2~deb10u1 amd64
-ca-certificates 20200601~deb10u2 all
-certbot 0.31.0-1+deb10u1 all
-chrony 3.4-4+deb10u1 amd64
-coinor-cbc 2.9.9+repack1-1 amd64
-coinor-libcbc3 2.9.9+repack1-1 amd64
-coinor-libcgl1 0.59.10+repack1-1 amd64
-coinor-libclp1 1.16.11+repack1-1 amd64
-coinor-libcoinutils3v5 2.10.14+repack1-1 amd64
-coinor-libosi1v5 0.107.9+repack1-1 amd64
-colordiff 1.0.18-1 all
-console-data 2:1.12-6 all
+bzip2 1.0.8-4 amd64
+ca-certificates 20210119 all
+certbot 1.12.0-2 all
+chrony 4.0-8 amd64
+coinor-cbc 2.10.5+ds1-3 amd64
+coinor-libcbc3 2.10.5+ds1-3 amd64
+coinor-libcgl1 0.60.3+repack1-2 amd64
+coinor-libclp1 1.17.5+repack1-1 amd64
+coinor-libcoinutils3v5 2.11.4+repack1-1 amd64
+coinor-libosi1v5 0.108.6+repack1-2 amd64
+colordiff 1.0.18-1.1 all
+console-data 2:1.12-8 all
-coreutils 8.30-3 amd64
-cpio 2.12+dfsg-9 amd64
+coreutils 8.32-4+b1 amd64
+cpio 2.13+dfsg-4 amd64
-cron 3.0pl1-134+deb10u1 amd64
-curl 7.64.0-4+deb10u2 amd64
-dash 0.5.10.2-5 amd64
-dbus 1.12.20-0+deb10u1 amd64
-dc 1.07.1-2+b1 amd64
-dctrl-tools 2.24-3 amd64
+cron 3.0pl1-137 amd64
+curl 7.74.0-1.3+b1 amd64
+dash 0.5.11+git20200708+dd9ef66-5 amd64
+dbus 1.12.20-2 amd64
+dc 1.07.1-2+b2 amd64
+dctrl-tools 2.24-3+b1 amd64
-debconf 1.5.71 all
-debconf-i18n 1.5.71 all
-debconf-utils 1.5.71 all
-debian-archive-keyring 2019.1+deb10u1 all
-debian-keyring 2019.02.25 all
+debconf 1.5.77 all
+debconf-i18n 1.5.77 all
+debconf-utils 1.5.77 all
+debian-archive-keyring 2021.1.1 all
+debian-keyring 2021.07.26 all
-dhcpcd5 7.1.0-2 amd64
-dialog 1.3-20190211-1 amd64
-dictionaries-common 1.28.1 all
-diffutils 1:3.7-3 amd64
+dhcpcd5 7.1.0-2+b1 amd64
+dialog 1.3-20201126-1 amd64
+dictionaries-common 1.28.4 all
+diffutils 1:3.7-5 amd64
-discover-data 2.2013.01.11 all
-distro-info-data 0.41+deb10u3 all
-dmeventd 2:1.02.155-3 amd64
-dmidecode 3.2-1 amd64
-dmsetup 2:1.02.155-3 amd64
-dns-root-data 2019031302 all
-dnsutils 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
+discover-data 2.2013.01.11+nmu1 all
+distro-info-data 0.51 all
+dmeventd 2:1.02.175-2.1 amd64
+dmidecode 3.3-2 amd64
+dmsetup 2:1.02.175-2.1 amd64
+dns-root-data 2021011101 all
+dnsutils 1:9.16.15-1 all
-dpkg-dev 1.19.7 all
+dpkg-dev 1.20.9 all
-eject 2.1.5+deb1+cvs20081104-13.2 amd64
-elinks 0.13~20190125-3 amd64
-elinks-data 0.13~20190125-3 all
+eject 2.36.1-8 amd64
+elinks 0.13.2-1+b1 amd64
+elinks-data 0.13.2-1 all
-fail2ban 0.10.2-2.1 all
-fakeroot 1.23-1 amd64
+fail2ban 0.11.2-2 all
+fakeroot 1.25.3-1.1 amd64
-figlet 2.2.5-3 amd64
-file 1:5.35-4+deb10u2 amd64
-findutils 4.6.0+git+20190209-2 amd64
-fontconfig-config 2.13.1-2 all
-fonts-dejavu-core 2.37-1 all
-fortune-mod 1:1.99.1-7+b1 amd64
-fortunes 1:1.99.1-7 all
-fortunes-bofh-excuses 1.2-2 all
+figlet 2.2.5-3+b1 amd64
+file 1:5.39-3 amd64
+findutils 4.8.0-1 amd64
+fontconfig-config 2.13.1-4.2 all
+fonts-dejavu-core 2.37-2 all
+fortune-mod 1:1.99.1-7.1 amd64
+fortunes 1:1.99.1-7.1 all
+fortunes-bofh-excuses 1.2-3 all
-fortunes-min 1:1.99.1-7 all
-ftp 0.17-34.1 amd64
-fuse 2.9.9-1+deb10u1 amd64
+fortunes-min 1:1.99.1-7.1 all
+ftp 0.17-34.1.1 amd64
+fuse 2.9.9-5 amd64
-geoip-bin 1.6.12-1 amd64
-geoip-database 20181108-1 all
-gettext-base 0.19.8.1-9 amd64
+geoip-bin 1.6.12-7 amd64
+geoip-database 20191224-3 all
+gettext-base 0.21-4 amd64
-gnutls-bin 3.6.7-4+deb10u7 amd64
+gnutls-bin 3.7.1-5 amd64
-grep 3.3-1 amd64
-groff-base 1.22.4-3+deb10u1 amd64
-grub-common 2.02+dfsg1-20+deb10u4 amd64
-grub-pc 2.02+dfsg1-20+deb10u4 amd64
-grub-pc-bin 2.02+dfsg1-20+deb10u4 amd64
-grub2-common 2.02+dfsg1-20+deb10u4 amd64
-guile-2.2-libs 2.2.4+1-2+deb10u1 amd64
-gzip 1.9-3 amd64
-haveged 1.9.1-7 amd64
+grep 3.6-1 amd64
+groff-base 1.22.4-6 amd64
+grub-common 2.04-20 amd64
+grub-pc 2.04-20 amd64
+grub-pc-bin 2.04-20 amd64
+grub2-common 2.04-20 amd64
+gsasl-common 1.10.0-4 all
+guile-2.2-libs 2.2.7+1-6 amd64
+gzip 1.10-4 amd64
+haveged 1.9.14-1 amd64
-hostname 3.21 amd64
-htop 2.2.0-1+b1 amd64
-iamerican 3.4.00-6 all
-ibritish 3.4.00-6 all
-icinga2 2.10.3-2+deb10u1 amd64
-icinga2-bin 2.10.3-2+deb10u1 amd64
-icinga2-common 2.10.3-2+deb10u1 all
-ienglish-common 3.4.00-6 all
+hostname 3.23 amd64
+htop 3.0.5-7 amd64
+iamerican 3.4.02-2 all
+ibritish 3.4.02-2 all
+icinga2 2.12.3-1 amd64
+icinga2-bin 2.12.3-1 amd64
+icinga2-common 2.12.3-1 all
+ienglish-common 3.4.02-2 all
-init 1.56+nmu1 amd64
+init 1.60 amd64
-install-info 6.5.0.dfsg.1-4+b1 amd64
-installation-report 2.71 all
-iproute2 4.20.0-2+deb10u1 amd64
-iptables 1.8.2-4 amd64
-iptables-persistent 1.0.11+deb10u1 all
-iputils-ping 3:20180629-2+deb10u2 amd64
-ipython3 5.8.0-1 all
-isc-dhcp-common 4.4.1-2+deb10u1 amd64
-iso-codes 4.2-1 all
-isoquery 3.2.3-1 amd64
-ispell 3.4.00-6+b1 amd64
-javascript-common 11 all
-kbd 2.0.4-4 amd64
+install-info 6.7.0.dfsg.2-6 amd64
+installation-report 2.78 all
+iproute2 5.10.0-4 amd64
+iptables 1.8.7-1 amd64
+iptables-persistent 1.0.15 all
+iputils-ping 3:20210202-1 amd64
+ipython3 7.20.0-1 all
+isc-dhcp-common 4.4.1-2.3 amd64
+iso-codes 4.6.0-1 all
+isoquery 3.2.4-1 amd64
+ispell 3.4.02-2 amd64
+javascript-common 11+nmu1 all
+kbd 2.3.0-3 amd64
-kmod 26-1 amd64
-krb5-locales 1.17-3+deb10u2 all
+kmod 28-1 amd64
+krb5-locales 1.18.3-6 all
-ldap-utils 2.4.47+dfsg-3+deb10u6 amd64
-less 487-0.1+b1 amd64
+ldap-utils 2.4.57+dfsg-3 amd64
+less 551-2 amd64
-lftp 4.8.4-2 amd64
+lftp 4.8.4-2+b1 amd64
-libacl1 2.2.53-4 amd64
-libaio1 0.3.112-3 amd64
-libalgorithm-diff-perl 1.19.03-2 all
-libalgorithm-diff-xs-perl 0.04-5+b1 amd64
+libacl1 2.2.53-10 amd64
+libaio1 0.3.112-9 amd64
+libalgorithm-diff-perl 1.201-1 all
+libalgorithm-diff-xs-perl 0.04-6+b1 amd64
-libapache2-mod-php 2:7.3+69 all
+libamd2 1:5.8.1+dfsg-2 amd64
+libapache2-mod-php 2:7.4+76 all
-libapparmor1 2.13.2-10 amd64
-libapr1 1.6.5-1+b1 amd64
-libaprutil1 1.6.1-4 amd64
-libaprutil1-dbd-sqlite3 1.6.1-4 amd64
-libaprutil1-ldap 1.6.1-4 amd64
+libapache2-mod-php7.4 7.4.21-1+deb11u1 amd64
+libapparmor1 2.13.6-10 amd64
+libapr1 1.7.0-6 amd64
+libaprutil1 1.6.1-5 amd64
+libaprutil1-dbd-sqlite3 1.6.1-5 amd64
+libaprutil1-ldap 1.6.1-5 amd64
-libasan5 8.3.0-6 amd64
+libasan5 9.3.0-22 amd64
-libassuan0 2.5.2-1 amd64
+libassuan0 2.5.3-7.1 amd64
-libattr1 1:2.4.48-4 amd64
-libaudit-common 1:2.8.4-3 all
-libaudit1 1:2.8.4-3 amd64
-libaugeas0 1.11.0-3 amd64
-libauthen-ntlm-perl 1.09-1 all
-libauthen-sasl-perl 2.1600-1 all
-libbind9-161 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
+libattr1 1:2.4.48-6 amd64
+libaudit-common 1:3.0-2 all
+libaudit1 1:3.0-2 amd64
+libaugeas0 1.12.0-2 amd64
+libauthen-ntlm-perl 1.09-1.1 all
+libauthen-sasl-perl 2.1600-1.1 all
+libbind9-161 1:9.11.19+dfsg-2.1 amd64
-libblas3 3.8.0-2 amd64
+libblas3 3.9.0-3 amd64
+libboost-context1.74.0 1.74.0-9 amd64
+libboost-coroutine1.74.0 1.74.0-9 amd64
+libboost-filesystem1.74.0 1.74.0-9 amd64
+libboost-iostreams1.74.0 1.74.0-9 amd64
+libboost-program-options1.74.0 1.74.0-9 amd64
+libboost-regex1.74.0 1.74.0-9 amd64
-libbrotli1 1.0.7-2+deb10u1 amd64
-libbsd0 0.9.1-2+deb10u1 amd64
-libbz2-1.0 1.0.6-9.2~deb10u1 amd64
+libboost-thread1.74.0 1.74.0-9 amd64
+libbpf0 1:0.3-2 amd64
+libbrotli1 1.0.9-2+b2 amd64
+libbsd0 0.11.3-1 amd64
+libbz2-1.0 1.0.8-4 amd64
-libcap-ng0 0.7.9-2 amd64
-libcap2 1:2.25-2 amd64
-libcap2-bin 1:2.25-2 amd64
+libcap-ng0 0.7.9-2.2+b1 amd64
+libcap2 1:2.44-1 amd64
+libcap2-bin 1:2.44-1 amd64
-libcolamd2 1:5.4.0+dfsg-1 amd64
-libcom-err2 1.44.5-1+deb10u3 amd64
+libcolamd2 1:5.8.1+dfsg-2 amd64
+libcom-err2 1.46.2-2 amd64
-libconfig-inifiles-perl 3.000001-1 all
+libconfig-inifiles-perl 3.000003-1 all
-libcurl3-gnutls 7.64.0-4+deb10u2 amd64
-libcurl4 7.64.0-4+deb10u2 amd64
-libcurl4-gnutls-dev 7.64.0-4+deb10u2 amd64
+libcurl3-gnutls 7.74.0-1.3+b1 amd64
+libcurl4 7.74.0-1.3+b1 amd64
+libcurl4-gnutls-dev 7.74.0-1.3+b1 amd64
-libdb5.3 5.3.28+dfsg1-0.5 amd64
-libdbus-1-3 1.12.20-0+deb10u1 amd64
-libdebconfclient0 0.249 amd64
-libdevmapper-event1.02.1 2:1.02.155-3 amd64
-libdevmapper1.02.1 2:1.02.155-3 amd64
-libdigest-hmac-perl 1.03+dfsg-2 all
+libcwidget4 0.5.18-5 amd64
+libdb5.3 5.3.28+dfsg1-0.8 amd64
+libdbus-1-3 1.12.20-2 amd64
+libdebconfclient0 0.260 amd64
+libdeflate0 1.7-1 amd64
+libdevmapper-event1.02.1 2:1.02.175-2.1 amd64
+libdevmapper1.02.1 2:1.02.175-2.1 amd64
+libdigest-hmac-perl 1.03+dfsg-2.1 all
-libdpkg-perl 1.19.7 all
-libedit2 3.1-20181209-1 amd64
-libefiboot1 37-2+deb10u1 amd64
-libefivar1 37-2+deb10u1 amd64
-libelf1 0.176-1.1 amd64
+libdns1110 1:9.11.19+dfsg-2.1 amd64
+libdpkg-perl 1.20.9 all
+libedit2 3.1-20191231-2+b1 amd64
+libefiboot1 37-6 amd64
+libefivar1 37-6 amd64
+libelf1 0.183-1 amd64
-liberror-perl 0.17027-2 all
-libestr0 0.1.10-2.1 amd64
-libev4 1:4.25-1 amd64
+liberror-perl 0.17029-1 all
+libestr0 0.1.10-2.1+b1 amd64
+libev4 1:4.33-1 amd64
-libexpat1 2.2.6-2+deb10u1 amd64
+libevent-2.1-7 2.1.12-stable-1 amd64
+libexpat1 2.2.10-2 amd64
-libfakeroot 1.23-1 amd64
-libfastjson4 0.99.8-2 amd64
-libfcgi-perl 0.78-2+b3 amd64
+libfakeroot 1.25.3-1.1 amd64
+libfastjson4 0.99.9-1 amd64
+libfcgi-perl 0.79+ds-2 amd64
+libfcgi0ldbl 2.4.2-2 amd64
-libfile-checktree-perl 4.42-1 all
-libfile-fcntllock-perl 0.22-3+b5 amd64
-libfile-next-perl 1.16-2 all
-libfl2 2.6.4-6.2 amd64
-libfontconfig1 2.13.1-2 amd64
-libfreetype6 2.9.1-3+deb10u2 amd64
-libfribidi0 1.0.5-3.1+deb10u1 amd64
-libfsplib0 0.11-2 amd64
-libfstrm0 0.4.0-1 amd64
-libfuse-dev 2.9.9-1+deb10u1 amd64
-libfuse2 2.9.9-1+deb10u1 amd64
-libgc1c2 1:7.6.4-0.4 amd64
+libfile-checktree-perl 4.42-1.1 all
+libfile-fcntllock-perl 0.22-3+b7 amd64
+libfile-next-perl 1.18-1 all
+libfl2 2.6.4-8 amd64
+libfontconfig1 2.13.1-4.2 amd64
+libfreetype6 2.10.4+dfsg-1 amd64
+libfribidi0 1.0.8-2 amd64
+libfsplib0 0.14-5 amd64
+libfstrm0 0.6.0-1+b1 amd64
+libfuse-dev 2.9.9-5 amd64
+libfuse2 2.9.9-5 amd64
+libgc1 1:8.0.4-3 amd64
-libgcrypt20 1.8.4-5+deb10u1 amd64
-libgd3 2.2.5-5.2 amd64
-libgdbm-compat4 1.18.1-4 amd64
+libgcrypt20 1.8.7-6 amd64
+libgd3 2.3.0-2 amd64
+libgdbm-compat4 1.19-2 amd64
-libgdbm6 1.18.1-4 amd64
-libgeoip1 1.6.12-1 amd64
-libgfortran5 8.3.0-6 amd64
-libglib2.0-0 2.58.3-2+deb10u3 amd64
-libgmp-dev 2:6.1.2+dfsg-4 amd64
-libgmp-ocaml 20021123-19+b1 amd64
-libgmp-ocaml-dev 20021123-19+b1 amd64
-libgmp10 2:6.1.2+dfsg-4 amd64
-libgmp3-dev 2:6.1.2+dfsg-4 amd64
-libgmpxx4ldbl 2:6.1.2+dfsg-4 amd64
+libgdbm6 1.19-2 amd64
+libgeoip1 1.6.12-7 amd64
+libgfortran5 10.2.1-6 amd64
+libglib2.0-0 2.66.8-1 amd64
+libglpk40 5.0-1 amd64
+libgmp-dev 2:6.2.1+dfsg-1 amd64
+libgmp-ocaml 20021123-21+b1 amd64
+libgmp-ocaml-dev 20021123-21+b1 amd64
+libgmp10 2:6.2.1+dfsg-1 amd64
+libgmp3-dev 2:6.2.1+dfsg-1 amd64
+libgmpxx4ldbl 2:6.2.1+dfsg-1 amd64
-libgpm2 1.20.7-5 amd64
-libgsasl7 1.8.0-8+b2 amd64
-libgssapi-krb5-2 1.17-3+deb10u2 amd64
+libgpm2 1.20.7-8 amd64
+libgsasl7 1.10.0-4 amd64
+libgssapi-krb5-2 1.18.3-6 amd64
+libhavege2 1.9.14-1 amd64
-libhtml-parser-perl 3.72-3+b3 amd64
-libhtml-tagset-perl 3.20-3 all
-libhtml-template-perl 2.97-1 all
-libhttp-date-perl 6.02-1 all
+libhtml-parser-perl 3.75-1+b1 amd64
+libhtml-tagset-perl 3.20-4 all
+libhtml-template-perl 2.97-1.1 all
+libhttp-date-perl 6.05-1 all
-libidn11 1.33-2.2 amd64
-libidn2-0 2.0.5-1+deb10u1 amd64
-libintl-perl 1.26-2 all
-libintl-xs-perl 1.26-2+b4 amd64
-libio-socket-inet6-perl 2.72-2 all
-libio-socket-ssl-perl 2.060-3 all
-libio-string-perl 1.08-3 all
+libicu67 67.1-7 amd64
+libidn11 1.33-3 amd64
+libidn2-0 2.3.0-5 amd64
+libintl-perl 1.26-3 all
+libintl-xs-perl 1.26-3 amd64
+libio-socket-inet6-perl 2.72-2.1 all
+libio-socket-ssl-perl 2.069-1 all
+libio-string-perl 1.08-3.1 all
-libiptc0 1.8.2-4 amd64
-libirs161 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
+libip6tc2 1.8.7-1 amd64
+libiptc0 1.8.7-1 amd64
+libirs161 1:9.11.19+dfsg-2.1 amd64
-libisccc161 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
-libisccfg163 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
+libisc1105 1:9.11.19+dfsg-2.1 amd64
+libisccc161 1:9.11.19+dfsg-2.1 amd64
+libisccfg163 1:9.11.19+dfsg-2.1 amd64
-libjansson4 2.12-1 amd64
+libjansson4 2.13.1-1.1 amd64
-libjpeg62-turbo 1:1.5.2-2+deb10u1 amd64
-libjs-jquery 3.3.1~dfsg-3+deb10u1 all
+libjpeg62-turbo 1:2.0.6-4 amd64
+libjs-jquery 3.5.1+dfsg+~3.5.5-7 all
-libjson-glib-1.0-0 1.4.4-2 amd64
-libjson-glib-1.0-common 1.4.4-2 all
-libk5crypto3 1.17-3+deb10u2 amd64
-libkeyutils1 1.6-6 amd64
+libjson-glib-1.0-0 1.6.2-1 amd64
+libjson-glib-1.0-common 1.6.2-1 all
+libk5crypto3 1.18.3-6 amd64
+libkeyutils1 1.6.1-2 amd64
-libkmod2 26-1 amd64
-libkrb5-3 1.17-3+deb10u2 amd64
-libkrb5support0 1.17-3+deb10u2 amd64
+libkmod2 28-1 amd64
+libkrb5-3 1.18.3-6 amd64
+libkrb5support0 1.18.3-6 amd64
-liblapack3 3.8.0-2 amd64
-libldap-2.4-2 2.4.47+dfsg-3+deb10u6 amd64
-libldap-common 2.4.47+dfsg-3+deb10u6 all
+liblapack3 3.9.0-3 amd64
+libldap-2.4-2 2.4.57+dfsg-3 amd64
+libldap-common 2.4.57+dfsg-3 all
-liblmdb0 0.9.22-1 amd64
-liblocale-gettext-perl 1.07-3+b4 amd64
+liblmdb0 0.9.24-1 amd64
+liblocale-gettext-perl 1.07-4+b1 amd64
-liblognorm5 2.0.5-1 amd64
+liblognorm5 2.0.5-1.1 amd64
-libltdl7 2.4.6-9 amd64
-liblua5.1-0 5.1.5-8.1+b2 amd64
-liblua5.2-0 5.2.4-1.1+b2 amd64
-liblua5.3-0 5.3.3-1.1 amd64
-liblvm2cmd2.03 2.03.02-3 amd64
-liblwres161 1:9.11.5.P4+dfsg-5.1+deb10u5 amd64
-liblz4-1 1.8.3-1+deb10u1 amd64
-liblzma5 5.2.4-1 amd64
-liblzo2-2 2.10-0.1 amd64
-libmagic-mgc 1:5.35-4+deb10u2 amd64
-libmagic1 1:5.35-4+deb10u2 amd64
-libmailtools-perl 2.18-1 all
+libltdl7 2.4.6-15 amd64
+liblua5.1-0 5.1.5-8.1+b3 amd64
+liblua5.2-0 5.2.4-1.1+b3 amd64
+liblua5.3-0 5.3.3-1.1+b1 amd64
+liblvm2cmd2.03 2.03.11-2.1 amd64
+liblwres161 1:9.11.19+dfsg-2.1 amd64
+liblz4-1 1.9.3-2 amd64
+liblzma5 5.2.5-2 amd64
+liblzo2-2 2.10-2 amd64
+libmagic-mgc 1:5.39-3 amd64
+libmagic1 1:5.39-3 amd64
+libmailtools-perl 2.21-1 all
-libmariadb3 1:10.3.29-0+deb10u1 amd64
-libmcrypt4 2.5.8-3.4 amd64
-libmnl0 1.0.4-2 amd64
-libmodule-find-perl 0.13-1 all
-libmodule-scandeps-perl 1.27-1 all
+libmariadb3 1:10.5.11-1 amd64
+libmaxminddb0 1.5.2-1 amd64
+libmcrypt4 2.5.8-3.4+b1 amd64
+libmd0 1.0.3-3 amd64
+libmnl0 1.0.4-3 amd64
+libmodule-find-perl 0.15-1 all
+libmodule-scandeps-perl 1.30-1 all
-libmpc3 1.1.0-1 amd64
+libmpc3 1.2.0-1 amd64
-libmpfr6 4.0.2-1 amd64
+libmpfr6 4.1.0-3 amd64
-libncurses-dev 6.1+20181013-2+deb10u2 amd64
-libncurses5 6.1+20181013-2+deb10u2 amd64
-libncurses5-dev 6.1+20181013-2+deb10u2 amd64
-libncurses6 6.1+20181013-2+deb10u2 amd64
-libncursesw5 6.1+20181013-2+deb10u2 amd64
-libncursesw6 6.1+20181013-2+deb10u2 amd64
-libnet-dns-perl 1.19-1 all
-libnet-domain-tld-perl 1.75-1 all
+libncurses-dev 6.2+20201114-2 amd64
+libncurses5 6.2+20201114-2 amd64
+libncurses5-dev 6.2+20201114-2 amd64
+libncurses6 6.2+20201114-2 amd64
+libncursesw5 6.2+20201114-2 amd64
+libncursesw6 6.2+20201114-2 amd64
+libnet-dns-perl 1.29-1 all
+libnet-domain-tld-perl 1.75-1.1 all
-libnet-libidn-perl 0.12.ds-3+b1 amd64
+libnet-libidn-perl 0.12.ds-3+b3 amd64
-libnet-ssleay-perl 1.85-2+b1 amd64
-libnetfilter-acct1 1.0.3-2 amd64
-libnetfilter-conntrack3 1.0.7-1 amd64
-libnetfilter-log1 1.0.1-1.1+b1 amd64
+libnet-ssleay-perl 1.88-3+b1 amd64
+libnetaddr-ip-perl 4.079+dfsg-1+b5 amd64
+libnetfilter-acct1 1.0.3-3 amd64
+libnetfilter-conntrack3 1.0.8-3 amd64
+libnetfilter-log1 1.0.1-3 amd64
-libnewt0.52 0.52.20-8 amd64
+libnewt0.52 0.52.21-4+b3 amd64
-libnftnl11 1.1.2-2 amd64
-libnghttp2-14 1.36.0-2+deb10u1 amd64
-libnorm1 1.5.8+dfsg2-1 amd64
-libnpth0 1.6-1 amd64
+libnftnl11 1.1.9-1 amd64
+libnghttp2-14 1.43.0-1 amd64
+libnl-3-200 3.4.0-1+b1 amd64
+libnl-genl-3-200 3.4.0-1+b1 amd64
+libnorm1 1.5.9+dfsg-2 amd64
+libnpth0 1.6-3 amd64
-libntlm0 1.5-1+deb10u1 amd64
-libodbc1 2.3.6-0.1 amd64
-libopts25 1:5.18.12-4 amd64
+libntlm0 1.6-3 amd64
+libodbc1 2.3.6-0.1+b1 amd64
+libopts25 1:5.18.16-4 amd64
-libpam-modules 1.3.1-5 amd64
-libpam-modules-bin 1.3.1-5 amd64
-libpam-runtime 1.3.1-5 all
+libpam-modules 1.4.0-9 amd64
+libpam-modules-bin 1.4.0-9 amd64
+libpam-runtime 1.4.0-9 all
-libpam0g 1.3.1-5 amd64
+libpam0g 1.4.0-9 amd64
-libparted-i18n 3.2-25 all
-libparted2 3.2-25 amd64
-libpcap0.8 1.8.1-6 amd64
-libpci3 1:3.5.2-1 amd64
-libpcre16-3 2:8.39-12 amd64
+libparted-i18n 3.4-1 all
+libparted2 3.4-1 amd64
+libpcap0.8 1.10.0-2 amd64
+libpci3 1:3.7.0-5 amd64
+libpcre16-3 2:8.39-13 amd64
-libpcre3 2:8.39-12 amd64
-libpcre3-dev 2:8.39-12 amd64
-libpcre32-3 2:8.39-12 amd64
-libpcrecpp0v5 2:8.39-12 amd64
+libpcre3 2:8.39-13 amd64
+libpcre3-dev 2:8.39-13 amd64
+libpcre32-3 2:8.39-13 amd64
+libpcrecpp0v5 2:8.39-13 amd64
+libperl5.32 5.32.1-4+deb11u1 amd64
-libpipeline1 1.5.1-2 amd64
-libpng16-16 1.6.36-6 amd64
-libpopt0 1.16-12 amd64
-libpq5 11.12-0+deb10u1 amd64
-libproc-processtable-perl 0.56-1 amd64
+libpgm-5.3-0 5.3.128~dfsg-2 amd64
+libpipeline1 1.5.3-1 amd64
+libpng16-16 1.6.37-3 amd64
+libpopt0 1.18-2 amd64
+libpq5 13.3-1 amd64
+libproc-processtable-perl 0.59-2+b1 amd64
-libprotobuf-c1 1.3.1-1+b1 amd64
-libpsl5 0.20.2-2 amd64
+libprocps8 2:3.3.17-5 amd64
+libprotobuf-c1 1.3.3-1+b2 amd64
+libpsl5 0.21.0-1.2 amd64
-librecode0 3.6-23 amd64
-librtmp1 2.4+20151223.gitfa8646d.1-2 amd64
+librecode0 3.6-24 amd64
+librtmp1 2.4+20151223.gitfa8646d.1-2+b2 amd64
-libsasl2-2 2.1.27+dfsg-1+deb10u1 amd64
-libsasl2-modules 2.1.27+dfsg-1+deb10u1 amd64
-libsasl2-modules-db 2.1.27+dfsg-1+deb10u1 amd64
+libruby2.7 2.7.4-1 amd64
+libsasl2-2 2.1.27+dfsg-2.1 amd64
+libsasl2-modules 2.1.27+dfsg-2.1 amd64
+libsasl2-modules-db 2.1.27+dfsg-2.1 amd64
-libsemanage-common 2.8-2 all
-libsemanage1 2.8-2 amd64
+libsemanage-common 3.1-1 all
+libsemanage1 3.1-1+b2 amd64
-libserf-1-1 1.3.9-7+b10 amd64
-libsigc++-2.0-0v5 2.10.1-2 amd64
-libsigsegv2 2.12-2 amd64
-libslang2 2.3.2-2 amd64
+libserf-1-1 1.3.9-10 amd64
+libsigc++-2.0-0v5 2.10.4-2 amd64
+libsigsegv2 2.13-1 amd64
+libslang2 2.3.2-5 amd64
-libsocket6-perl 0.29-1+b1 amd64
+libsocket6-perl 0.29-1+b3 amd64
-libsqlite3-0 3.27.2-3+deb10u1 amd64
-libsqlite3-dev 3.27.2-3+deb10u1 amd64
-libss2 1.44.5-1+deb10u3 amd64
-libssh2-1 1.8.0-2.1 amd64
-libssl1.1 1.1.1d-0+deb10u7 amd64
+libsqlite3-0 3.34.1-3 amd64
+libsqlite3-dev 3.34.1-3 amd64
+libss2 1.46.2-2 amd64
+libssh2-1 1.9.0-2 amd64
+libssl1.1 1.1.1k-1+deb11u1 amd64
-libsub-name-perl 0.21-1+b3 amd64
-libsuitesparseconfig5 1:5.4.0+dfsg-1 amd64
-libsvn-perl 1.10.4-1+deb10u2 amd64
-libsvn1 1.10.4-1+deb10u2 amd64
+libsub-name-perl 0.26-1+b1 amd64
+libsuitesparseconfig5 1:5.8.1+dfsg-2 amd64
+libsvn-perl 1.14.1-3 amd64
+libsvn1 1.14.1-3 amd64
-libterm-readkey-perl 2.38-1 amd64
-libterm-readline-gnu-perl 1.36-1 amd64
-libtext-charwidth-perl 0.04-7.1+b1 amd64
-libtext-iconv-perl 1.7-5+b7 amd64
-libtext-wrapi18n-perl 0.06-7.1 all
-libtiff5 4.1.0+git191117-2~deb10u2 amd64
+libterm-readkey-perl 2.38-1+b2 amd64
+libterm-readline-gnu-perl 1.37-1 amd64
+libtext-charwidth-perl 0.04-10+b1 amd64
+libtext-iconv-perl 1.7-7+b1 amd64
+libtext-wrapi18n-perl 0.06-9 all
+libtiff5 4.2.0-1 amd64
-libtimedate-perl 2.3000-2+deb10u1 all
-libtinfo5 6.1+20181013-2+deb10u2 amd64
-libtinfo6 6.1+20181013-2+deb10u2 amd64
+libtimedate-perl 2.3300-2 all
+libtinfo5 6.2+20201114-2 amd64
+libtinfo6 6.2+20201114-2 amd64
-libtre5 0.8.0-6 amd64
+libtre5 0.8.0-6+b1 amd64
-libuchardet0 0.0.6-3 amd64
+libuchardet0 0.0.7-1 amd64
-libunbound8 1.9.0-2+deb10u2 amd64
-libunistring2 0.9.10-1 amd64
-libunwind8 1.2.1-10~deb10u1 amd64
-liburi-perl 1.76-1 all
+libunbound8 1.13.1-1 amd64
+libunistring2 0.9.10-4 amd64
+libunwind8 1.3.2-2 amd64
+liburi-perl 5.08-1 all
-libusb-1.0-0 2:1.0.22-2 amd64
+libusb-1.0-0 2:1.0.24-3 amd64
-libutf8proc2 2.3.0-1 amd64
-libuuid1 2.33.1-0.1 amd64
-libwebp6 0.6.1-2+deb10u1 amd64
-libwrap0 7.6.q-28 amd64
-libx11-6 2:1.6.7-1+deb10u2 amd64
-libx11-data 2:1.6.7-1+deb10u2 all
-libx11-dev 2:1.6.7-1+deb10u2 amd64
+libutf8proc2 2.5.0-1 amd64
+libuuid1 2.36.1-8 amd64
+libuv1 1.40.0-2 amd64
+libwebp6 0.6.1-2.1 amd64
+libwrap0 7.6.q-31 amd64
+libx11-6 2:1.7.2-1 amd64
+libx11-data 2:1.7.2-1 all
+libx11-dev 2:1.7.2-1 amd64
-libxapian30 1.4.11-1 amd64
-libxau-dev 1:1.0.8-1+b2 amd64
-libxau6 1:1.0.8-1+b2 amd64
-libxcb1 1.13.1-2 amd64
-libxcb1-dev 1.13.1-2 amd64
+libxapian30 1.4.18-3 amd64
+libxau-dev 1:1.0.9-1 amd64
+libxau6 1:1.0.9-1 amd64
+libxcb1 1.14-3 amd64
+libxcb1-dev 1.14-3 amd64
-libxext6 2:1.3.3-1+b2 amd64
-libxml2 2.9.4+dfsg1-7+deb10u2 amd64
+libxext6 2:1.3.3-1.1 amd64
+libxml2 2.9.10+dfsg-6.7 amd64
-libxslt1.1 1.1.32-2.2~deb10u1 amd64
-libxtables12 1.8.2-4 amd64
+libxslt1.1 1.1.34-4 amd64
+libxtables12 1.8.7-1 amd64
-libyaml-0-2 0.2.1-1 amd64
-libzmq5 4.3.1-4+deb10u2 amd64
+libyaml-0-2 0.2.2-1 amd64
+libzmq5 4.3.4-1 amd64
-linux-image-amd64 4.19+105+deb10u12 amd64
-linux-libc-dev 4.19.194-3 amd64
+linux-image-5.10.0-8-amd64 5.10.46-4 amd64
+linux-image-amd64 5.10.46-4 amd64
+linux-libc-dev 5.10.46-4 amd64
-logrotate 3.14.0-4 amd64
+logrotate 3.18.0-2 amd64
-logwatch 7.5.0-1 all
+logwatch 7.5.5-1 all
-lsb-release 10.2019051400 all
-lsof 4.91+dfsg-1 amd64
+lsb-release 11.1.0 all
+lsof 4.93.2+dfsg-1.1 amd64
-lvm2 2.03.02-3 amd64
-m4 1.4.18-2 amd64
+lvm2 2.03.11-2.1 amd64
+m4 1.4.18-5 amd64
-make 4.2.1-1.2 amd64
-man-db 2.8.5-2 amd64
+make 4.3-4.1 amd64
+man-db 2.9.4-2 amd64
-mariadb-common 1:10.3.29-0+deb10u1 all
-mawk 1.3.3-17+b3 amd64
-mccs 1:1.1-8 amd64
+mariadb-common 1:10.5.11-1 all
+mawk 1.3.4.20200120-2 amd64
+mccs 1:1.1-9 amd64
-mlocate 0.26-3 amd64
-monitoring-plugins-basic 2.2-6 amd64
-monitoring-plugins-common 2.2-6 amd64
-monitoring-plugins-standard 2.2-6 amd64
-mount 2.33.1-0.1 amd64
+mlocate 0.26-5 amd64
+monitoring-plugins-basic 2.3.1-1 amd64
+monitoring-plugins-common 2.3.1-1 amd64
+monitoring-plugins-standard 2.3.1-1 amd64
+mount 2.36.1-8 amd64
-mysql-common 5.8+1.0.5 all
-nano 3.2-3 amd64
+mysql-common 5.8+1.0.7 all
+nano 5.4-2 amd64
-ncurses-base 6.1+20181013-2+deb10u2 all
-ncurses-bin 6.1+20181013-2+deb10u2 amd64
-ncurses-term 6.1+20181013-2+deb10u2 all
+ncurses-base 6.2+20201114-2 all
+ncurses-bin 6.2+20201114-2 amd64
+ncurses-term 6.2+20201114-2 all
-needrestart 3.4-5 all
-net-tools 1.60+git20180626.aebd88e-1 amd64
-netbase 5.6 all
-netcat-traditional 1.10-41.1 amd64
-netfilter-persistent 1.0.11+deb10u1 all
-nfacct 1.0.2-2 amd64
+needrestart 3.5-4 all
+net-tools 1.60+git20181103.0eebece-1 amd64
+netbase 6.3 all
+netcat-traditional 1.10-46 amd64
+netfilter-persistent 1.0.15 all
+nfacct 1.0.2-3 amd64
-ocaml 4.05.0-11 amd64
-ocaml-base 4.05.0-11 amd64
-ocaml-base-nox 4.05.0-11 amd64
-ocaml-compiler-libs 4.05.0-11 amd64
-ocaml-interp 4.05.0-11 amd64
-ocaml-nox 4.05.0-11 amd64
-opam 2.0.3-1+deb10u1 amd64
-opam-doc 2.0.3-1+deb10u1 all
-opam-installer 2.0.3-1+deb10u1 amd64
+ocaml 4.11.1-4 amd64
+ocaml-base 4.11.1-4 amd64
+ocaml-base-nox 4.11.1-4 amd64
+ocaml-compiler-libs 4.11.1-4 amd64
+ocaml-interp 4.11.1-4 amd64
+ocaml-nox 4.11.1-4 amd64
+opam 2.0.8-1 amd64
+opam-doc 2.0.8-1 all
+opam-installer 2.0.8-1 amd64
-openssl 1.1.1d-0+deb10u7 amd64
-os-prober 1.77 amd64
-parted 3.2-25 amd64
-passwd 1:4.5-1.1 amd64
-patch 2.7.6-3+deb10u1 amd64
-pciutils 1:3.5.2-1 amd64
-perl 5.28.1-6+deb10u1 amd64
-perl-base 5.28.1-6+deb10u1 amd64
-perl-doc 5.28.1-6+deb10u1 all
-perl-modules-5.24 5.24.1-3+deb9u5 all
+openssl 1.1.1k-1+deb11u1 amd64
+os-prober 1.79 amd64
+parted 3.4-1 amd64
+passwd 1:4.8.1-1 amd64
+patch 2.7.6-7 amd64
+pci.ids 0.0~2021.02.08-1 all
+pciutils 1:3.7.0-5 amd64
+perl 5.32.1-4+deb11u1 amd64
+perl-base 5.32.1-4+deb11u1 amd64
+perl-doc 5.32.1-4+deb11u1 all
-perl-openssl-defaults 3 amd64
-php 2:7.3+69 all
-php-common 2:69 all
-php-gd 2:7.3+69 all
-php-ldap 2:7.3+69 all
-php-mcrypt 1:7.0+49 all
+perl-modules-5.32 5.32.1-4+deb11u1 all
+perl-openssl-defaults 5 amd64
+php 2:7.4+76 all
+php-common 2:76 all
+php-gd 2:7.4+76 all
+php-ldap 2:7.4+76 all
-php7.3 7.3.29-1~deb10u1 all
-pinentry-curses 1.1.0-2 amd64
-pkg-config 0.29-6 amd64
-postfix 3.4.14-0+deb10u1 amd64
-postfix-pcre 3.4.14-0+deb10u1 amd64
-postfix-sqlite 3.4.14-0+deb10u1 amd64
+php7.4 7.4.21-1+deb11u1 all
+php7.4-cli 7.4.21-1+deb11u1 amd64
+php7.4-common 7.4.21-1+deb11u1 amd64
+php7.4-gd 7.4.21-1+deb11u1 amd64
+php7.4-json 7.4.21-1+deb11u1 amd64
+php7.4-ldap 7.4.21-1+deb11u1 amd64
+php7.4-opcache 7.4.21-1+deb11u1 amd64
+php7.4-readline 7.4.21-1+deb11u1 amd64
+pinentry-curses 1.1.0-4 amd64
+pkg-config 0.29.2-1 amd64
+postfix 3.5.6-1+b1 amd64
+postfix-pcre 3.5.6-1+b1 amd64
+postfix-sqlite 3.5.6-1+b1 amd64
-procps 2:3.3.15-2 amd64
-psmisc 23.2-1 amd64
+procps 2:3.3.17-5 amd64
+psmisc 23.4-2 amd64
-python-apt-common 1.8.4.3 all
-python-babel-localedata 2.6.0+dfsg.1-1 all
+python-apt-common 2.2.1 all
+python-babel-localedata 2.8.0+dfsg.1-7 all
-python3-acme 0.31.0-2 all
+python3-acme 1.12.0-2 all
-python3-asn1crypto 0.24.0-1 all
-python3-augeas 0.5.0-1 all
-python3-babel 2.6.0+dfsg.1-1 all
-python3-bcrypt 3.1.6-1 amd64
-python3-certbot 0.31.0-1+deb10u1 all
-python3-certbot-apache 0.31.0-1 all
-python3-certifi 2018.8.24-1 all
+python3-asn1crypto 1.4.0-1 all
+python3-augeas 0.5.0-1.1 all
+python3-babel 2.8.0+dfsg.1-7 all
+python3-backcall 0.2.0-1 all
+python3-bcrypt 3.1.7-4 amd64
+python3-certbot 1.12.0-2 all
+python3-certbot-apache 1.10.1-1 all
+python3-certifi 2020.6.20-1 all
-python3-chardet 3.0.4-3 all
-python3-configargparse 0.13.0-1 all
-python3-configobj 5.0.6-3 all
-python3-cryptography 2.6.1-3+deb10u2 amd64
-python3-dateutil 2.7.3-3 all
-python3-debconf 1.5.71 all
-python3-decorator 4.3.0-1.1 all
-python3-distro 1.3.0-1 all
+python3-chardet 4.0.0-1 all
+python3-configargparse 1.2.3-1 all
+python3-configobj 5.0.6-4 all
+python3-cryptography 3.3.2-1 amd64
+python3-dateutil 2.8.1-6 all
+python3-debconf 1.5.77 all
+python3-decorator 4.4.2-2 all
+python3-distro 1.5.0-1 all
-python3-dnspython 1.16.0-1+deb10u1 all
+python3-dnspython 2.0.0-1 all
-python3-future 0.16.0-1 all
+python3-future 0.18.2-5 all
-python3-gitdb 2.0.5-1 all
-python3-idna 2.6-1 all
-python3-ipython 5.8.0-1 all
-python3-ipython-genutils 0.2.0-1 all
-python3-jinja2 2.10-2 all
-python3-josepy 1.1.0-2 all
+python3-gitdb 4.0.5-1 all
+python3-idna 2.10-1 all
+python3-ipython 7.20.0-1 all
+python3-ipython-genutils 0.2.0-4 all
+python3-jedi 0.18.0-1 all
+python3-jinja2 2.11.3-1 all
+python3-josepy 1.2.0-2 all
-python3-mock 2.0.0-4 all
+python3-mock 4.0.3-1 all
-python3-openssl 19.0.0-1 all
-python3-paramiko 2.4.2-0.1 all
-python3-parsedatetime 2.4-2 all
-python3-pathspec 0.5.9-1 all
-python3-pbr 4.2.0-5 all
-python3-pexpect 4.6.0-1 all
-python3-pickleshare 0.7.5-1 all
-python3-pkg-resources 40.8.0-1 all
-python3-ply 3.11-3 all
-python3-prompt-toolkit 1.0.15-1 all
+python3-openssl 20.0.1-1 all
+python3-paramiko 2.7.2-1 all
+python3-parsedatetime 2.6-1 all
+python3-parso 0.8.1-1 all
+python3-pathspec 0.8.1-1 all
+python3-pbr 5.5.0-2 all
+python3-pexpect 4.8.0-2 all
+python3-pickleshare 0.7.5-3 all
+python3-pkg-resources 52.0.0-4 all
+python3-ply 3.11-4 all
+python3-prompt-toolkit 3.0.14-1 all
-python3-ptyprocess 0.6.0-1 all
-python3-pyasn1 0.4.2-3 all
+python3-ptyprocess 0.7.0-1 all
+python3-pyasn1 0.4.8-1 all
-python3-pygments 2.3.1+dfsg-1+deb10u2 all
-python3-pyinotify 0.9.6-1 all
-python3-requests 2.21.0-1 all
-python3-requests-toolbelt 0.8.0-1 all
-python3-rfc3339 1.1-1 all
-python3-setuptools 40.8.0-1 all
-python3-simplegeneric 0.8.1-2 all
-python3-six 1.12.0-1 all
-python3-smmap 2.0.5-1 all
+python3-pygments 2.7.1+dfsg-2.1 all
+python3-pyinotify 0.9.6-1.3 all
+python3-requests 2.25.1+dfsg-2 all
+python3-requests-toolbelt 0.9.1-1 all
+python3-rfc3339 1.1-2 all
+python3-setuptools 52.0.0-4 all
+python3-simplegeneric 0.8.1-3 all
+python3-six 1.16.0-2 all
+python3-smmap 4.0.0-1 all
-python3-traitlets 4.3.2-1 all
-python3-tz 2019.1-1 all
-python3-urllib3 1.24.1-1 all
-python3-wcwidth 0.1.7+dfsg1-3 all
+python3-traitlets 5.0.5-1 all
+python3-tz 2021.1-1 all
+python3-urllib3 1.26.5-1~exp1 all
+python3-wcwidth 0.1.9+dfsg1-2 all
-python3-zope.component 4.3.0-1 all
-python3-zope.event 4.2.0-1 all
+python3-zope.component 4.3.0-3 all
+python3-zope.event 4.4-3 all
-rake 12.3.1-3+deb10u1 all
-readline-common 7.0-5 all
+rake 13.0.3-1 all
+readline-common 8.1-1 all
-rsync 3.1.3-6 amd64
-rsyslog 8.1901.0-1 amd64
-ruby 1:2.5.1 amd64
+rsync 3.2.3-4 amd64
+rsyslog 8.2102.0-2 amd64
+ruby 1:2.7+2 amd64
-ruby-minitest 5.11.3-1 all
+ruby-minitest 5.13.0-1 all
-ruby-power-assert 1.1.1-1 all
-ruby-test-unit 3.2.8-1 all
+ruby-power-assert 1.1.7-2 all
+ruby-rubygems 3.2.5-2 all
+ruby-test-unit 3.3.9-1 all
-ruby2.5 2.5.5-3+deb10u3 amd64
-rubygems-integration 1.11+deb10u1 all
+ruby2.7 2.7.4-1 amd64
+rubygems-integration 1.18 all
-s-nail 14.9.11-2 amd64
+s-nail 14.9.22-1 amd64
-sensible-utils 0.0.12 all
-shared-mime-info 1.10-1 amd64
-slapd 2.4.47+dfsg-3+deb10u6 amd64
-ssl-cert 1.0.39 all
+sensible-utils 0.0.14 all
+shared-mime-info 2.0-1 amd64
+slapd 2.4.57+dfsg-3 amd64
+ssl-cert 1.1.0+nmu1 all
-strace 4.26-0.2 amd64
-subversion 1.10.4-1+deb10u2 amd64
-subversion-tools 1.10.4-1+deb10u2 amd64
-sudo 1.8.27-1+deb10u3 amd64
-swaks 20181104.0-2 all
+strace 5.10-1 amd64
+subversion 1.14.1-3 amd64
+subversion-tools 1.14.1-3 amd64
+sudo 1.9.5p2-3 amd64
+swaks 20201014.0-1 all
-systemd-sysv 241-7~deb10u8 amd64
+systemd-sysv 247.3-6 amd64
-tar 1.30+dfsg-6 amd64
-task-english 3.53 all
-task-ssh-server 3.53 all
-tasksel 3.53 all
-tasksel-data 3.53 all
-tcpdump 4.9.3-1~deb10u2 amd64
-thin-provisioning-tools 0.7.6-2.1 amd64
+tar 1.34+dfsg-1 amd64
+task-english 3.68 all
+task-ssh-server 3.68 all
+tasksel 3.68 all
+tasksel-data 3.68 all
+tcpdump 4.99.0-2 amd64
+thin-provisioning-tools 0.9.0-1 amd64
-time 1.7-25.1+b1 amd64
-traceroute 1:2.1.0-2 amd64
-tzdata 2021a-0+deb10u1 all
-ucf 3.0038+nmu1 all
+time 1.9-0.1 amd64
+traceroute 1:2.1.0-2+b1 amd64
+tzdata 2021a-1 all
+ucf 3.0043 all
-unzip 6.0-23+deb10u2 amd64
-usb.ids 2019.07.27-0+deb10u1 all
-usbutils 1:010-3 amd64
+unzip 6.0-26 amd64
+usb.ids 2021.06.06-1 all
+usbutils 1:013-3 amd64
-util-linux-locales 2.33.1-0.1 all
-vim 2:8.1.0875-5 amd64
+util-linux-locales 2.36.1-8 all
+vim 2:8.2.2434-3 amd64
-vim-common 2:8.1.0875-5 all
-vim-icinga2 2.10.3-2+deb10u1 all
-vim-runtime 2:8.1.0875-5 all
-vim-tiny 2:8.1.0875-5 amd64
+vim-common 2:8.2.2434-3 all
+vim-icinga2 2.12.3-1 all
+vim-runtime 2:8.2.2434-3 all
+vim-tiny 2:8.2.2434-3 amd64
-wamerican 2018.04.16-1 all
-wget 1.20.1-1.1 amd64
-whiptail 0.52.20-8 amd64
-whois 5.4.3 amd64
-x11proto-core-dev 2018.4-4 all
-x11proto-dev 2018.4-4 all
-xauth 1:1.0.10-1 amd64
-xkb-data 2.26-2 all
-xorg-sgml-doctools 1:1.11-1 all
-xtrans-dev 1.3.5-1 all
-xxd 2:8.1.0875-5 amd64
-xz-utils 5.2.4-1 amd64
-yamllint 1.15.0-1 all
-zip 3.0-11+b1 amd64
-zlib1g 1:1.2.11.dfsg-1 amd64
-zlib1g-dev 1:1.2.11.dfsg-1 amd64
-zsh 5.7.1-1 amd64
-zsh-common 5.7.1-1 all
+wamerican 2019.10.06-1 all
+wget 1.21-1+b1 amd64
+whiptail 0.52.21-4+b3 amd64
+whois 5.5.10 amd64
+x11proto-core-dev 2020.1-1 all
+x11proto-dev 2020.1-1 all
+xauth 1:1.1-1 amd64
+xkb-data 2.29-2 all
+xorg-sgml-doctools 1:1.11-1.1 all
+xtrans-dev 1.4.0-1 all
+xxd 2:8.2.2434-3 amd64
+xz-utils 5.2.5-2 amd64
+yamllint 1.26.0-2 all
+zip 3.0-12 amd64
+zlib1g 1:1.2.11.dfsg-2 amd64
+zlib1g-dev 1:1.2.11.dfsg-2 amd64
+zsh 5.8-6+b2 amd64
+zsh-common 5.8-6 all

450 files changed:
.etckeeper
NetworkManager/dispatcher.d/20-chrony [deleted file]
acpi/powerbtn-acpi-support.sh
alternatives/ip6tables.service [new symlink]
alternatives/iptables.service [new symlink]
alternatives/pager
alternatives/phar
alternatives/phar.1.gz
alternatives/phar.phar
alternatives/phar.phar.1.gz
alternatives/php
alternatives/php.1.gz
alternatives/w [deleted symlink]
alternatives/w.1.gz [deleted symlink]
apache2/conf-enabled/javascript-common.conf [new symlink]
apache2/mods-available/dav.load
apache2/mods-available/deflate.conf
apache2/mods-available/mime.conf
apache2/mods-available/php7.4.conf [new file with mode: 0644]
apache2/mods-available/php7.4.load [new file with mode: 0644]
apache2/mods-available/socache_redis.load [new file with mode: 0644]
apache2/mods-enabled/php7.3.conf [deleted symlink]
apache2/mods-enabled/php7.3.load [deleted symlink]
apache2/mods-enabled/php7.4.conf [new symlink]
apache2/mods-enabled/php7.4.load [new symlink]
apparmor.d/local/usr.bin.tcpdump [new file with mode: 0644]
apparmor.d/usr.bin.man
apparmor.d/usr.bin.tcpdump [new file with mode: 0644]
apparmor.d/usr.sbin.chronyd
apparmor.d/usr.sbin.haveged
apparmor.d/usr.sbin.named
apparmor.d/usr.sbin.tcpdump [deleted file]
apt/apt.conf.d/01autoremove
apt/apt.conf.d/01autoremove-kernels
apt/apt.conf.d/20listchanges
bind/bind.keys
bind/named-acl.conf
bind/named.conf.options
ca-certificates.conf
ca-certificates.conf.dpkg-old
chrony/chrony.conf.ucf-dist
chrony/chrony.keys
chrony/conf.d/README [new file with mode: 0644]
chrony/sources.d/README [new file with mode: 0644]
cron.daily/mlocate
cron.daily/passwd [deleted file]
default/chrony
default/haveged
default/named [new file with mode: 0644]
default/netfilter-persistent
default/rsyslog [deleted file]
default/useradd
dhcp/dhclient-exit-hooks.d/chrony
emacs/site-start.d/50dictionaries-common.el
ethertypes [new file with mode: 0644]
fail2ban/action.d/abuseipdb.conf
fail2ban/action.d/badips.py
fail2ban/action.d/blocklist_de.conf
fail2ban/action.d/bsd-ipfw.conf
fail2ban/action.d/cloudflare.conf
fail2ban/action.d/complain.conf
fail2ban/action.d/dshield.conf
fail2ban/action.d/dummy.conf
fail2ban/action.d/firewallcmd-ipset.conf
fail2ban/action.d/firewallcmd-multiport.conf
fail2ban/action.d/firewallcmd-new.conf
fail2ban/action.d/firewallcmd-rich-logging.conf
fail2ban/action.d/firewallcmd-rich-rules.conf
fail2ban/action.d/helpers-common.conf
fail2ban/action.d/hostsdeny.conf
fail2ban/action.d/ipfilter.conf
fail2ban/action.d/ipfw.conf
fail2ban/action.d/iptables-allports.conf
fail2ban/action.d/iptables-ipset-proto4.conf
fail2ban/action.d/iptables-ipset-proto6-allports.conf
fail2ban/action.d/iptables-ipset-proto6.conf
fail2ban/action.d/iptables-multiport-log.conf
fail2ban/action.d/iptables-multiport.conf
fail2ban/action.d/iptables-new.conf
fail2ban/action.d/iptables-xt_recent-echo.conf
fail2ban/action.d/iptables.conf
fail2ban/action.d/mail-buffered.conf
fail2ban/action.d/mail-whois-common.conf
fail2ban/action.d/mail-whois-lines.conf
fail2ban/action.d/mail-whois.conf
fail2ban/action.d/mail.conf
fail2ban/action.d/mynetwatchman.conf
fail2ban/action.d/nftables-allports.conf
fail2ban/action.d/nftables-multiport.conf
fail2ban/action.d/nftables.conf [new file with mode: 0644]
fail2ban/action.d/nginx-block-map.conf
fail2ban/action.d/npf.conf
fail2ban/action.d/nsupdate.conf
fail2ban/action.d/osx-afctl.conf
fail2ban/action.d/osx-ipfw.conf
fail2ban/action.d/pf.conf
fail2ban/action.d/sendmail-buffered.conf
fail2ban/action.d/sendmail-common.conf.dpkg-dist
fail2ban/action.d/sendmail-geoip-lines.conf
fail2ban/action.d/sendmail-whois-ipjailmatches.conf
fail2ban/action.d/sendmail-whois-ipmatches.conf
fail2ban/action.d/sendmail-whois-lines.conf
fail2ban/action.d/sendmail-whois-matches.conf
fail2ban/action.d/sendmail-whois.conf.dpkg-dist
fail2ban/action.d/sendmail.conf.dpkg-dist
fail2ban/action.d/shorewall-ipset-proto6.conf
fail2ban/action.d/shorewall.conf
fail2ban/action.d/smtp.py
fail2ban/action.d/symbiosis-blacklist-allports.conf
fail2ban/action.d/xarf-login-attack.conf
fail2ban/fail2ban.conf.dpkg-dist
fail2ban/filter.d/apache-auth.conf
fail2ban/filter.d/apache-common.conf
fail2ban/filter.d/apache-modsecurity.conf
fail2ban/filter.d/apache-noscript.conf
fail2ban/filter.d/asterisk.conf
fail2ban/filter.d/bitwarden.conf [new file with mode: 0644]
fail2ban/filter.d/centreon.conf [new file with mode: 0644]
fail2ban/filter.d/common.conf
fail2ban/filter.d/courier-smtp.conf
fail2ban/filter.d/domino-smtp.conf
fail2ban/filter.d/dovecot.conf
fail2ban/filter.d/exim.conf
fail2ban/filter.d/freeswitch.conf
fail2ban/filter.d/gitlab.conf [new file with mode: 0644]
fail2ban/filter.d/grafana.conf [new file with mode: 0644]
fail2ban/filter.d/guacamole.conf
fail2ban/filter.d/ignorecommands/apache-fakegooglebot
fail2ban/filter.d/monit.conf
fail2ban/filter.d/murmur.conf
fail2ban/filter.d/mysqld-auth.conf
fail2ban/filter.d/named-refused.conf
fail2ban/filter.d/pam-generic.conf
fail2ban/filter.d/phpmyadmin-syslog.conf
fail2ban/filter.d/postfix.conf
fail2ban/filter.d/proftpd.conf
fail2ban/filter.d/recidive.conf
fail2ban/filter.d/roundcube-auth.conf
fail2ban/filter.d/sendmail-auth.conf
fail2ban/filter.d/sendmail-reject.conf
fail2ban/filter.d/softethervpn.conf [new file with mode: 0644]
fail2ban/filter.d/sogo-auth.conf
fail2ban/filter.d/sshd.conf
fail2ban/filter.d/traefik-auth.conf [new file with mode: 0644]
fail2ban/filter.d/znc-adminlog.conf [new file with mode: 0644]
fail2ban/jail.conf.dpkg-dist
fonts/conf.avail/57-dejavu-sans-mono.conf
fonts/conf.avail/57-dejavu-sans.conf
fonts/conf.avail/57-dejavu-serif.conf
fonts/fonts.conf
group
group-
group.org [new file with mode: 0644]
grub.d/00_header
grub.d/05_debian_theme
grub.d/10_linux
grub.d/20_linux_xen
grub.d/30_uefi-firmware
gshadow
gshadow-
icinga2/conf.d/hosts.conf
icinga2/conf.d/notifications.conf
icinga2/conf.d/services.conf
icinga2/features-available/icingadb.conf [new file with mode: 0644]
icinga2/features-available/opentsdb.conf
icinga2/scripts/mail-host-notification.sh
icinga2/scripts/mail-service-notification.sh
icinga2/zones.d/README
init.d/bind9 [deleted file]
init.d/chrony
init.d/dbus
init.d/fail2ban
init.d/icinga2
init.d/named [new file with mode: 0755]
iproute2/rt_protos
iptables/rules.v4
iptables/rules.v6
kernel/postinst.d/apt-auto-removal
ldap/ldap.conf
ldap/schema/README
ldap/schema/collective.ldif
ldap/schema/corba.ldif
ldap/schema/cosine.ldif
ldap/schema/duaconf.ldif
ldap/schema/dyngroup.ldif
ldap/schema/dyngroup.schema
ldap/schema/inetorgperson.ldif
ldap/schema/java.ldif
ldap/schema/misc.ldif
ldap/schema/misc.schema
ldap/schema/nis.ldif
ldap/schema/nis.schema
ldap/schema/openldap.ldif
ldap/schema/openldap.schema
ldap/schema/pmi.ldif
ldap/schema/ppolicy.ldif
libnl-3/classid [new file with mode: 0644]
libnl-3/pktloc [new file with mode: 0644]
logcheck/ignore.d.server/netfilter-persistent/netfilter-persistent [new file with mode: 0644]
logcheck/ignore.d.server/rsyslog
lvm/backup/vg00
lvm/lvm.conf
lvm/profile/vdo-small.profile
mailcap
manpath.config
mysql/mariadb.cnf
nagios-plugins/config/curl-http.cfg [new file with mode: 0644]
nagios-plugins/config/snmp.cfg
nanorc
needrestart/hook.d/10-dpkg
needrestart/hook.d/20-rpm
needrestart/hook.d/30-pacman [new file with mode: 0755]
needrestart/hook.d/90-none
needrestart/iucode.sh [new file with mode: 0644]
needrestart/needrestart.conf
needrestart/notify.conf
needrestart/notify.d/200-write
needrestart/notify.d/400-notify-send
needrestart/notify.d/600-mail
needrestart/restart.d/dbus.service
needrestart/restart.d/systemd-manager
needrestart/restart.d/sysv-init
network/if-post-down.d/chrony
network/if-up.d/chrony
pam.d/common-auth
pam.d/common-password
pam.d/common-session
passwd
passwd-
passwd.org [new file with mode: 0644]
php/7.3/apache2/conf.d/10-opcache.ini [deleted symlink]
php/7.3/apache2/conf.d/10-pdo.ini [deleted symlink]
php/7.3/apache2/conf.d/20-calendar.ini [deleted symlink]
php/7.3/apache2/conf.d/20-ctype.ini [deleted symlink]
php/7.3/apache2/conf.d/20-exif.ini [deleted symlink]
php/7.3/apache2/conf.d/20-fileinfo.ini [deleted symlink]
php/7.3/apache2/conf.d/20-ftp.ini [deleted symlink]
php/7.3/apache2/conf.d/20-gd.ini [deleted symlink]
php/7.3/apache2/conf.d/20-gettext.ini [deleted symlink]
php/7.3/apache2/conf.d/20-iconv.ini [deleted symlink]
php/7.3/apache2/conf.d/20-json.ini [deleted symlink]
php/7.3/apache2/conf.d/20-ldap.ini [deleted symlink]
php/7.3/apache2/conf.d/20-phar.ini [deleted symlink]
php/7.3/apache2/conf.d/20-posix.ini [deleted symlink]
php/7.3/apache2/conf.d/20-readline.ini [deleted symlink]
php/7.3/apache2/conf.d/20-shmop.ini [deleted symlink]
php/7.3/apache2/conf.d/20-sockets.ini [deleted symlink]
php/7.3/apache2/conf.d/20-sysvmsg.ini [deleted symlink]
php/7.3/apache2/conf.d/20-sysvsem.ini [deleted symlink]
php/7.3/apache2/conf.d/20-sysvshm.ini [deleted symlink]
php/7.3/apache2/conf.d/20-tokenizer.ini [deleted symlink]
php/7.3/cli/conf.d/10-opcache.ini [deleted symlink]
php/7.3/cli/conf.d/10-pdo.ini [deleted symlink]
php/7.3/cli/conf.d/20-calendar.ini [deleted symlink]
php/7.3/cli/conf.d/20-ctype.ini [deleted symlink]
php/7.3/cli/conf.d/20-exif.ini [deleted symlink]
php/7.3/cli/conf.d/20-fileinfo.ini [deleted symlink]
php/7.3/cli/conf.d/20-ftp.ini [deleted symlink]
php/7.3/cli/conf.d/20-gd.ini [deleted symlink]
php/7.3/cli/conf.d/20-gettext.ini [deleted symlink]
php/7.3/cli/conf.d/20-iconv.ini [deleted symlink]
php/7.3/cli/conf.d/20-json.ini [deleted symlink]
php/7.3/cli/conf.d/20-ldap.ini [deleted symlink]
php/7.3/cli/conf.d/20-phar.ini [deleted symlink]
php/7.3/cli/conf.d/20-posix.ini [deleted symlink]
php/7.3/cli/conf.d/20-readline.ini [deleted symlink]
php/7.3/cli/conf.d/20-shmop.ini [deleted symlink]
php/7.3/cli/conf.d/20-sockets.ini [deleted symlink]
php/7.3/cli/conf.d/20-sysvmsg.ini [deleted symlink]
php/7.3/cli/conf.d/20-sysvsem.ini [deleted symlink]
php/7.3/cli/conf.d/20-sysvshm.ini [deleted symlink]
php/7.3/cli/conf.d/20-tokenizer.ini [deleted symlink]
php/7.4/apache2/conf.d/10-opcache.ini [new symlink]
php/7.4/apache2/conf.d/10-pdo.ini [new symlink]
php/7.4/apache2/conf.d/20-calendar.ini [new symlink]
php/7.4/apache2/conf.d/20-ctype.ini [new symlink]
php/7.4/apache2/conf.d/20-exif.ini [new symlink]
php/7.4/apache2/conf.d/20-ffi.ini [new symlink]
php/7.4/apache2/conf.d/20-fileinfo.ini [new symlink]
php/7.4/apache2/conf.d/20-ftp.ini [new symlink]
php/7.4/apache2/conf.d/20-gd.ini [new symlink]
php/7.4/apache2/conf.d/20-gettext.ini [new symlink]
php/7.4/apache2/conf.d/20-iconv.ini [new symlink]
php/7.4/apache2/conf.d/20-json.ini [new symlink]
php/7.4/apache2/conf.d/20-ldap.ini [new symlink]
php/7.4/apache2/conf.d/20-phar.ini [new symlink]
php/7.4/apache2/conf.d/20-posix.ini [new symlink]
php/7.4/apache2/conf.d/20-readline.ini [new symlink]
php/7.4/apache2/conf.d/20-shmop.ini [new symlink]
php/7.4/apache2/conf.d/20-sockets.ini [new symlink]
php/7.4/apache2/conf.d/20-sysvmsg.ini [new symlink]
php/7.4/apache2/conf.d/20-sysvsem.ini [new symlink]
php/7.4/apache2/conf.d/20-sysvshm.ini [new symlink]
php/7.4/apache2/conf.d/20-tokenizer.ini [new symlink]
php/7.4/apache2/php.ini [new file with mode: 0644]
php/7.4/cli/conf.d/10-opcache.ini [new symlink]
php/7.4/cli/conf.d/10-pdo.ini [new symlink]
php/7.4/cli/conf.d/20-calendar.ini [new symlink]
php/7.4/cli/conf.d/20-ctype.ini [new symlink]
php/7.4/cli/conf.d/20-exif.ini [new symlink]
php/7.4/cli/conf.d/20-ffi.ini [new symlink]
php/7.4/cli/conf.d/20-fileinfo.ini [new symlink]
php/7.4/cli/conf.d/20-ftp.ini [new symlink]
php/7.4/cli/conf.d/20-gd.ini [new symlink]
php/7.4/cli/conf.d/20-gettext.ini [new symlink]
php/7.4/cli/conf.d/20-iconv.ini [new symlink]
php/7.4/cli/conf.d/20-json.ini [new symlink]
php/7.4/cli/conf.d/20-ldap.ini [new symlink]
php/7.4/cli/conf.d/20-phar.ini [new symlink]
php/7.4/cli/conf.d/20-posix.ini [new symlink]
php/7.4/cli/conf.d/20-readline.ini [new symlink]
php/7.4/cli/conf.d/20-shmop.ini [new symlink]
php/7.4/cli/conf.d/20-sockets.ini [new symlink]
php/7.4/cli/conf.d/20-sysvmsg.ini [new symlink]
php/7.4/cli/conf.d/20-sysvsem.ini [new symlink]
php/7.4/cli/conf.d/20-sysvshm.ini [new symlink]
php/7.4/cli/conf.d/20-tokenizer.ini [new symlink]
php/7.4/cli/php.ini [new file with mode: 0644]
php/7.4/mods-available/calendar.ini [new file with mode: 0644]
php/7.4/mods-available/ctype.ini [new file with mode: 0644]
php/7.4/mods-available/exif.ini [new file with mode: 0644]
php/7.4/mods-available/ffi.ini [new file with mode: 0644]
php/7.4/mods-available/fileinfo.ini [new file with mode: 0644]
php/7.4/mods-available/ftp.ini [new file with mode: 0644]
php/7.4/mods-available/gd.ini [new file with mode: 0644]
php/7.4/mods-available/gettext.ini [new file with mode: 0644]
php/7.4/mods-available/iconv.ini [new file with mode: 0644]
php/7.4/mods-available/json.ini [new file with mode: 0644]
php/7.4/mods-available/ldap.ini [new file with mode: 0644]
php/7.4/mods-available/opcache.ini [new file with mode: 0644]
php/7.4/mods-available/pdo.ini [new file with mode: 0644]
php/7.4/mods-available/phar.ini [new file with mode: 0644]
php/7.4/mods-available/posix.ini [new file with mode: 0644]
php/7.4/mods-available/readline.ini [new file with mode: 0644]
php/7.4/mods-available/shmop.ini [new file with mode: 0644]
php/7.4/mods-available/sockets.ini [new file with mode: 0644]
php/7.4/mods-available/sysvmsg.ini [new file with mode: 0644]
php/7.4/mods-available/sysvsem.ini [new file with mode: 0644]
php/7.4/mods-available/sysvshm.ini [new file with mode: 0644]
php/7.4/mods-available/tokenizer.ini [new file with mode: 0644]
ppp/ip-down.d/chrony
ppp/ip-up.d/chrony
profile.d/bash_completion.sh
rc0.d/K01named [new symlink]
rc0.d/K02bind9 [deleted symlink]
rc0.d/K02sendsigs [new symlink]
rc0.d/K03rsyslog [new symlink]
rc0.d/K03sendsigs [deleted symlink]
rc0.d/K04hwclock.sh [new symlink]
rc0.d/K04rsyslog [deleted symlink]
rc0.d/K04umountnfs.sh [new symlink]
rc0.d/K05hwclock.sh [deleted symlink]
rc0.d/K05networking [new symlink]
rc0.d/K05umountnfs.sh [deleted symlink]
rc0.d/K06networking [deleted symlink]
rc0.d/K06umountfs [new symlink]
rc0.d/K07umountfs [deleted symlink]
rc0.d/K07umountroot [new symlink]
rc0.d/K08halt [new symlink]
rc0.d/K08umountroot [deleted symlink]
rc0.d/K09halt [deleted symlink]
rc1.d/K01named [new symlink]
rc1.d/K02bind9 [deleted symlink]
rc1.d/K03rsyslog [new symlink]
rc1.d/K04rsyslog [deleted symlink]
rc2.d/S03bind9 [deleted symlink]
rc2.d/S03named [new symlink]
rc3.d/S03bind9 [deleted symlink]
rc3.d/S03named [new symlink]
rc4.d/S03bind9 [deleted symlink]
rc4.d/S03named [new symlink]
rc5.d/S03bind9 [deleted symlink]
rc5.d/S03named [new symlink]
rc6.d/K01named [new symlink]
rc6.d/K02bind9 [deleted symlink]
rc6.d/K02sendsigs [new symlink]
rc6.d/K03rsyslog [new symlink]
rc6.d/K03sendsigs [deleted symlink]
rc6.d/K04hwclock.sh [new symlink]
rc6.d/K04rsyslog [deleted symlink]
rc6.d/K04umountnfs.sh [new symlink]
rc6.d/K05hwclock.sh [deleted symlink]
rc6.d/K05networking [new symlink]
rc6.d/K05umountnfs.sh [deleted symlink]
rc6.d/K06networking [deleted symlink]
rc6.d/K06umountfs [new symlink]
rc6.d/K07umountfs [deleted symlink]
rc6.d/K07umountroot [new symlink]
rc6.d/K08reboot [new symlink]
rc6.d/K08umountroot [deleted symlink]
rc6.d/K09reboot [deleted symlink]
rsyslog.conf.dpkg-dist
runit/runsvdir/default/acpid [new symlink]
s-nail.rc
security/faillock.conf [new file with mode: 0644]
security/namespace.conf
security/pam_env.conf
services
shadow
shadow-
shadow.org [new file with mode: 0644]
ssl/certs/128805a3.0 [deleted symlink]
ssl/certs/3fb36b73.0 [new symlink]
ssl/certs/5c44d531.0 [deleted symlink]
ssl/certs/5f618aec.0 [new symlink]
ssl/certs/6410666e.0 [deleted symlink]
ssl/certs/8867006a.0 [deleted symlink]
ssl/certs/8d89cda1.0 [new symlink]
ssl/certs/9b5697b0.0 [new symlink]
ssl/certs/EE_Certification_Centre_Root_CA.pem [deleted symlink]
ssl/certs/GeoTrust_Universal_CA_2.pem [deleted symlink]
ssl/certs/LuxTrust_Global_Root_2.pem [deleted symlink]
ssl/certs/Microsoft_ECC_Root_Certificate_Authority_2017.pem [new symlink]
ssl/certs/Microsoft_RSA_Root_Certificate_Authority_2017.pem [new symlink]
ssl/certs/NAVER_Global_Root_Certification_Authority.pem [new symlink]
ssl/certs/OISTE_WISeKey_Global_Root_GA_CA.pem [deleted symlink]
ssl/certs/Staat_der_Nederlanden_Root_CA_-_G2.pem [deleted symlink]
ssl/certs/Taiwan_GRCA.pem [deleted symlink]
ssl/certs/Trustwave_Global_Certification_Authority.pem [new symlink]
ssl/certs/Trustwave_Global_ECC_P256_Certification_Authority.pem [new symlink]
ssl/certs/Trustwave_Global_ECC_P384_Certification_Authority.pem [new symlink]
ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem [deleted symlink]
ssl/certs/b1b8a7f3.0 [deleted symlink]
ssl/certs/bf53fb88.0 [new symlink]
ssl/certs/c0ff1f52.0 [deleted symlink]
ssl/certs/ca-certificates.crt
ssl/certs/certSIGN_Root_CA_G2.pem [new symlink]
ssl/certs/d887a5bb.0 [new symlink]
ssl/certs/def36a68.0 [deleted symlink]
ssl/certs/e-Szigno_Root_CA_2017.pem [new symlink]
ssl/certs/e868b802.0 [new symlink]
ssl/certs/f249de83.0 [new symlink]
subversion/servers
sudo.conf [new file with mode: 0644]
sudo_logsrvd.conf [new file with mode: 0644]
sudoers
sv/acpid/.meta/installed [new file with mode: 0644]
sv/acpid/log/run [new file with mode: 0755]
sv/acpid/log/supervise [new symlink]
sv/acpid/run [new file with mode: 0755]
sv/acpid/supervise [new symlink]
sysctl.conf
sysctl.d/protect-links.conf [deleted file]
systemd/system/bind9.service [new symlink]
systemd/system/multi-user.target.wants/named.service [new symlink]
systemd/system/netfilter-persistent.service.d/iptables.conf [new file with mode: 0644]
systemd/system/timers.target.wants/mlocate.timer [new symlink]
vim/vimrc
vim/vimrc.tiny
zsh/zshrc

index d12c5f19b5460e69b5881bdb38439dace10fb95a..235dc3da1587bd219d65d0c1ce096a46215f7709 100755 (executable)
@@ -1,8 +1,10 @@
 # Generated by etckeeper.  Do not edit.
 
+mkdir -p './NetworkManager/dispatcher.d'
 mkdir -p './X11/xkb'
 mkdir -p './apm/event.d'
 mkdir -p './apt/auth.conf.d'
+mkdir -p './apt/listchanges.conf.d'
 mkdir -p './apt/preferences.d'
 mkdir -p './binfmt.d'
 mkdir -p './ca-certificates/update.d'
@@ -32,7 +34,6 @@ mkdir -p './mysql/mariadb.conf.d'
 mkdir -p './network/if-pre-up.d'
 mkdir -p './network/interfaces.d'
 mkdir -p './opt'
-mkdir -p './perl/CPAN'
 mkdir -p './postfix/dynamicmaps.cf.d'
 mkdir -p './postfix/sasl'
 mkdir -p './salt/pki/master/minions_autosign'
@@ -52,7 +53,6 @@ maybe chmod 0700 '.etckeeper'
 maybe chmod 0600 '.gitignore'
 maybe chmod 0755 'NetworkManager'
 maybe chmod 0755 'NetworkManager/dispatcher.d'
-maybe chmod 0755 'NetworkManager/dispatcher.d/20-chrony'
 maybe chmod 0755 'X11'
 maybe chmod 0755 'X11/Xsession.d'
 maybe chmod 0644 'X11/Xsession.d/90gpg-agent'
@@ -174,6 +174,8 @@ maybe chmod 0644 'apache2/mods-available/negotiation.conf'
 maybe chmod 0644 'apache2/mods-available/negotiation.load'
 maybe chmod 0644 'apache2/mods-available/php7.3.conf'
 maybe chmod 0644 'apache2/mods-available/php7.3.load'
+maybe chmod 0644 'apache2/mods-available/php7.4.conf'
+maybe chmod 0644 'apache2/mods-available/php7.4.load'
 maybe chmod 0644 'apache2/mods-available/proxy.conf'
 maybe chmod 0644 'apache2/mods-available/proxy.load'
 maybe chmod 0644 'apache2/mods-available/proxy_ajp.load'
@@ -211,6 +213,7 @@ maybe chmod 0644 'apache2/mods-available/slotmem_plain.load'
 maybe chmod 0644 'apache2/mods-available/slotmem_shm.load'
 maybe chmod 0644 'apache2/mods-available/socache_dbm.load'
 maybe chmod 0644 'apache2/mods-available/socache_memcache.load'
+maybe chmod 0644 'apache2/mods-available/socache_redis.load'
 maybe chmod 0644 'apache2/mods-available/socache_shmcb.load'
 maybe chmod 0644 'apache2/mods-available/speling.load'
 maybe chmod 0644 'apache2/mods-available/ssl.conf'
@@ -242,15 +245,16 @@ maybe chmod 0755 'apparmor.d'
 maybe chmod 0755 'apparmor.d/force-complain'
 maybe chmod 0755 'apparmor.d/local'
 maybe chmod 0644 'apparmor.d/local/usr.bin.man'
+maybe chmod 0644 'apparmor.d/local/usr.bin.tcpdump'
 maybe chmod 0644 'apparmor.d/local/usr.sbin.chronyd'
 maybe chmod 0644 'apparmor.d/local/usr.sbin.haveged'
 maybe chmod 0644 'apparmor.d/local/usr.sbin.named'
 maybe chmod 0644 'apparmor.d/local/usr.sbin.tcpdump'
 maybe chmod 0644 'apparmor.d/usr.bin.man'
+maybe chmod 0644 'apparmor.d/usr.bin.tcpdump'
 maybe chmod 0644 'apparmor.d/usr.sbin.chronyd'
 maybe chmod 0644 'apparmor.d/usr.sbin.haveged'
 maybe chmod 0644 'apparmor.d/usr.sbin.named'
-maybe chmod 0644 'apparmor.d/usr.sbin.tcpdump'
 maybe chmod 0755 'apt'
 maybe chmod 0644 'apt/SALTSTACK-GPG-KEY.pub'
 maybe chmod 0755 'apt/apt.conf.d'
@@ -265,6 +269,7 @@ maybe chmod 0644 'apt/apt.conf.d/70debconf'
 maybe chmod 0644 'apt/apt.conf.d/99needrestart'
 maybe chmod 0755 'apt/auth.conf.d'
 maybe chmod 0644 'apt/listchanges.conf'
+maybe chmod 0755 'apt/listchanges.conf.d'
 maybe chmod 0755 'apt/preferences.d'
 maybe chmod 0644 'apt/repo.uhu-banane.de.gpg-key.pub'
 maybe chmod 0644 'apt/repo.uhu-banane.de.gpg-key2.pub'
@@ -366,6 +371,10 @@ maybe chmod 0755 'chrony'
 maybe chmod 0644 'chrony/chrony.conf'
 maybe chmod 0644 'chrony/chrony.conf.ucf-dist'
 maybe chmod 0640 'chrony/chrony.keys'
+maybe chmod 0755 'chrony/conf.d'
+maybe chmod 0644 'chrony/conf.d/README'
+maybe chmod 0755 'chrony/sources.d'
+maybe chmod 0644 'chrony/sources.d/README'
 maybe chmod 0644 'colordiffrc'
 maybe chmod 0755 'console-setup'
 maybe chmod 0644 'console-setup/cached_Lat15-Fixed16.psf.gz'
@@ -419,7 +428,6 @@ maybe chmod 0755 'cron.daily/etckeeper'
 maybe chmod 0755 'cron.daily/logrotate'
 maybe chmod 0755 'cron.daily/man-db'
 maybe chmod 0755 'cron.daily/mlocate'
-maybe chmod 0755 'cron.daily/passwd'
 maybe chmod 0755 'cron.hourly'
 maybe chmod 0644 'cron.hourly/.placeholder'
 maybe chmod 0755 'cron.monthly'
@@ -457,12 +465,12 @@ maybe chmod 0644 'default/icinga2'
 maybe chmod 0644 'default/keyboard'
 maybe chmod 0644 'default/locale'
 maybe chmod 0644 'default/locale.bak'
+maybe chmod 0644 'default/named'
 maybe chmod 0644 'default/netfilter-persistent'
 maybe chmod 0644 'default/networking'
 maybe chmod 0644 'default/nss'
 maybe chmod 0644 'default/rcS'
 maybe chmod 0644 'default/rsync'
-maybe chmod 0644 'default/rsyslog'
 maybe chmod 0644 'default/salt-master.environment'
 maybe chmod 0644 'default/salt-minion.environment'
 maybe chmod 0644 'default/slapd'
@@ -551,6 +559,7 @@ maybe chmod 0755 'etckeeper/update-ignore.d/01update-ignore'
 maybe chmod 0644 'etckeeper/update-ignore.d/README'
 maybe chmod 0755 'etckeeper/vcs.d'
 maybe chmod 0755 'etckeeper/vcs.d/50vcs-cmd'
+maybe chmod 0644 'ethertypes'
 maybe chmod 0755 'fail2ban'
 maybe chmod 0755 'fail2ban/action.d'
 maybe chmod 0644 'fail2ban/action.d/abuseipdb.conf'
@@ -595,6 +604,7 @@ maybe chmod 0644 'fail2ban/action.d/netscaler.conf'
 maybe chmod 0644 'fail2ban/action.d/nftables-allports.conf'
 maybe chmod 0644 'fail2ban/action.d/nftables-common.conf'
 maybe chmod 0644 'fail2ban/action.d/nftables-multiport.conf'
+maybe chmod 0644 'fail2ban/action.d/nftables.conf'
 maybe chmod 0644 'fail2ban/action.d/nginx-block-map.conf'
 maybe chmod 0644 'fail2ban/action.d/npf.conf'
 maybe chmod 0644 'fail2ban/action.d/nsupdate.conf'
@@ -638,7 +648,9 @@ maybe chmod 0644 'fail2ban/filter.d/apache-pass.conf'
 maybe chmod 0644 'fail2ban/filter.d/apache-shellshock.conf'
 maybe chmod 0644 'fail2ban/filter.d/assp.conf'
 maybe chmod 0644 'fail2ban/filter.d/asterisk.conf'
+maybe chmod 0644 'fail2ban/filter.d/bitwarden.conf'
 maybe chmod 0644 'fail2ban/filter.d/botsearch-common.conf'
+maybe chmod 0644 'fail2ban/filter.d/centreon.conf'
 maybe chmod 0644 'fail2ban/filter.d/common.conf'
 maybe chmod 0644 'fail2ban/filter.d/counter-strike.conf'
 maybe chmod 0644 'fail2ban/filter.d/courier-auth.conf'
@@ -655,6 +667,8 @@ maybe chmod 0644 'fail2ban/filter.d/exim-spam.conf'
 maybe chmod 0644 'fail2ban/filter.d/exim.conf'
 maybe chmod 0644 'fail2ban/filter.d/freeswitch.conf'
 maybe chmod 0644 'fail2ban/filter.d/froxlor-auth.conf'
+maybe chmod 0644 'fail2ban/filter.d/gitlab.conf'
+maybe chmod 0644 'fail2ban/filter.d/grafana.conf'
 maybe chmod 0644 'fail2ban/filter.d/groupoffice.conf'
 maybe chmod 0644 'fail2ban/filter.d/gssftpd.conf'
 maybe chmod 0644 'fail2ban/filter.d/guacamole.conf'
@@ -697,6 +711,7 @@ maybe chmod 0644 'fail2ban/filter.d/sendmail-auth.conf'
 maybe chmod 0644 'fail2ban/filter.d/sendmail-reject.conf'
 maybe chmod 0644 'fail2ban/filter.d/sieve.conf'
 maybe chmod 0644 'fail2ban/filter.d/slapd.conf'
+maybe chmod 0644 'fail2ban/filter.d/softethervpn.conf'
 maybe chmod 0644 'fail2ban/filter.d/sogo-auth.conf'
 maybe chmod 0644 'fail2ban/filter.d/solid-pop3d.conf'
 maybe chmod 0644 'fail2ban/filter.d/squid.conf'
@@ -706,11 +721,13 @@ maybe chmod 0644 'fail2ban/filter.d/sshd.conf'
 maybe chmod 0644 'fail2ban/filter.d/stunnel.conf'
 maybe chmod 0644 'fail2ban/filter.d/suhosin.conf'
 maybe chmod 0644 'fail2ban/filter.d/tine20.conf'
+maybe chmod 0644 'fail2ban/filter.d/traefik-auth.conf'
 maybe chmod 0644 'fail2ban/filter.d/uwimap-auth.conf'
 maybe chmod 0644 'fail2ban/filter.d/vsftpd.conf'
 maybe chmod 0644 'fail2ban/filter.d/webmin-auth.conf'
 maybe chmod 0644 'fail2ban/filter.d/wuftpd.conf'
 maybe chmod 0644 'fail2ban/filter.d/xinetd-fail.conf'
+maybe chmod 0644 'fail2ban/filter.d/znc-adminlog.conf'
 maybe chmod 0644 'fail2ban/filter.d/zoneminder.conf'
 maybe chmod 0644 'fail2ban/jail.conf'
 maybe chmod 0644 'fail2ban/jail.conf.bak'
@@ -761,6 +778,7 @@ maybe chmod 0644 'groff/man.local'
 maybe chmod 0644 'groff/mdoc.local'
 maybe chmod 0644 'group'
 maybe chmod 0644 'group-'
+maybe chmod 0644 'group.org'
 maybe chmod 0755 'grub.d'
 maybe chmod 0755 'grub.d/00_header'
 maybe chmod 0755 'grub.d/05_debian_theme'
@@ -786,62 +804,143 @@ maybe chmod 0644 'hosts.deny'
 maybe chown 'nagios' 'icinga2'
 maybe chgrp 'nagios' 'icinga2'
 maybe chmod 0750 'icinga2'
-maybe chmod 0755 'icinga2/conf.d'
+maybe chown 'nagios' 'icinga2/conf.d'
+maybe chgrp 'nagios' 'icinga2/conf.d'
+maybe chmod 0750 'icinga2/conf.d'
+maybe chown 'nagios' 'icinga2/conf.d/app.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/app.conf'
 maybe chmod 0644 'icinga2/conf.d/app.conf'
+maybe chown 'nagios' 'icinga2/conf.d/apt.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/apt.conf'
 maybe chmod 0644 'icinga2/conf.d/apt.conf'
+maybe chown 'nagios' 'icinga2/conf.d/commands.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/commands.conf'
 maybe chmod 0644 'icinga2/conf.d/commands.conf'
+maybe chown 'nagios' 'icinga2/conf.d/downtimes.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/downtimes.conf'
 maybe chmod 0644 'icinga2/conf.d/downtimes.conf'
+maybe chown 'nagios' 'icinga2/conf.d/groups.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/groups.conf'
 maybe chmod 0644 'icinga2/conf.d/groups.conf'
+maybe chown 'nagios' 'icinga2/conf.d/hosts.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/hosts.conf'
 maybe chmod 0644 'icinga2/conf.d/hosts.conf'
+maybe chown 'nagios' 'icinga2/conf.d/notifications.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/notifications.conf'
 maybe chmod 0644 'icinga2/conf.d/notifications.conf'
+maybe chown 'nagios' 'icinga2/conf.d/satellite.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/satellite.conf'
 maybe chmod 0644 'icinga2/conf.d/satellite.conf'
+maybe chown 'nagios' 'icinga2/conf.d/services.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/services.conf'
 maybe chmod 0644 'icinga2/conf.d/services.conf'
+maybe chown 'nagios' 'icinga2/conf.d/templates.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/templates.conf'
 maybe chmod 0644 'icinga2/conf.d/templates.conf'
+maybe chown 'nagios' 'icinga2/conf.d/timeperiods.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/timeperiods.conf'
 maybe chmod 0644 'icinga2/conf.d/timeperiods.conf'
+maybe chown 'nagios' 'icinga2/conf.d/users.conf'
+maybe chgrp 'nagios' 'icinga2/conf.d/users.conf'
 maybe chmod 0644 'icinga2/conf.d/users.conf'
-maybe chmod 0644 'icinga2/constants.conf'
+maybe chown 'nagios' 'icinga2/constants.conf'
+maybe chgrp 'nagios' 'icinga2/constants.conf'
+maybe chmod 0640 'icinga2/constants.conf'
 maybe chmod 0644 'icinga2/constants.conf.orig'
-maybe chmod 0755 'icinga2/features-available'
+maybe chown 'nagios' 'icinga2/features-available'
+maybe chgrp 'nagios' 'icinga2/features-available'
+maybe chmod 0750 'icinga2/features-available'
+maybe chown 'nagios' 'icinga2/features-available/api.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/api.conf'
 maybe chmod 0644 'icinga2/features-available/api.conf'
+maybe chown 'nagios' 'icinga2/features-available/api.conf.orig'
+maybe chgrp 'nagios' 'icinga2/features-available/api.conf.orig'
 maybe chmod 0644 'icinga2/features-available/api.conf.orig'
+maybe chown 'nagios' 'icinga2/features-available/checker.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/checker.conf'
 maybe chmod 0644 'icinga2/features-available/checker.conf'
+maybe chown 'nagios' 'icinga2/features-available/command.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/command.conf'
 maybe chmod 0644 'icinga2/features-available/command.conf'
+maybe chown 'nagios' 'icinga2/features-available/compatlog.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/compatlog.conf'
 maybe chmod 0644 'icinga2/features-available/compatlog.conf'
+maybe chown 'nagios' 'icinga2/features-available/debuglog.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/debuglog.conf'
 maybe chmod 0644 'icinga2/features-available/debuglog.conf'
+maybe chown 'nagios' 'icinga2/features-available/elasticsearch.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/elasticsearch.conf'
 maybe chmod 0644 'icinga2/features-available/elasticsearch.conf'
+maybe chown 'nagios' 'icinga2/features-available/gelf.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/gelf.conf'
 maybe chmod 0644 'icinga2/features-available/gelf.conf'
+maybe chown 'nagios' 'icinga2/features-available/graphite.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/graphite.conf'
 maybe chmod 0644 'icinga2/features-available/graphite.conf'
+maybe chown 'nagios' 'icinga2/features-available/icingadb.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/icingadb.conf'
+maybe chmod 0644 'icinga2/features-available/icingadb.conf'
+maybe chown 'nagios' 'icinga2/features-available/influxdb.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/influxdb.conf'
 maybe chmod 0644 'icinga2/features-available/influxdb.conf'
+maybe chown 'nagios' 'icinga2/features-available/livestatus.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/livestatus.conf'
 maybe chmod 0644 'icinga2/features-available/livestatus.conf'
+maybe chown 'nagios' 'icinga2/features-available/mainlog.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/mainlog.conf'
 maybe chmod 0644 'icinga2/features-available/mainlog.conf'
+maybe chown 'nagios' 'icinga2/features-available/notification.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/notification.conf'
 maybe chmod 0644 'icinga2/features-available/notification.conf'
+maybe chown 'nagios' 'icinga2/features-available/opentsdb.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/opentsdb.conf'
 maybe chmod 0644 'icinga2/features-available/opentsdb.conf'
+maybe chown 'nagios' 'icinga2/features-available/perfdata.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/perfdata.conf'
 maybe chmod 0644 'icinga2/features-available/perfdata.conf'
+maybe chown 'nagios' 'icinga2/features-available/statusdata.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/statusdata.conf'
 maybe chmod 0644 'icinga2/features-available/statusdata.conf'
+maybe chown 'nagios' 'icinga2/features-available/syslog.conf'
+maybe chgrp 'nagios' 'icinga2/features-available/syslog.conf'
 maybe chmod 0644 'icinga2/features-available/syslog.conf'
-maybe chmod 0755 'icinga2/features-enabled'
-maybe chmod 0644 'icinga2/icinga2.conf'
+maybe chown 'nagios' 'icinga2/features-enabled'
+maybe chgrp 'nagios' 'icinga2/features-enabled'
+maybe chmod 0750 'icinga2/features-enabled'
+maybe chown 'nagios' 'icinga2/icinga2.conf'
+maybe chgrp 'nagios' 'icinga2/icinga2.conf'
+maybe chmod 0640 'icinga2/icinga2.conf'
 maybe chmod 0644 'icinga2/init.conf'
 maybe chown 'nagios' 'icinga2/pki'
 maybe chgrp 'nagios' 'icinga2/pki'
 maybe chmod 0700 'icinga2/pki'
+maybe chown 'nagios' 'icinga2/pki/ca.crt'
+maybe chgrp 'nagios' 'icinga2/pki/ca.crt'
 maybe chmod 0644 'icinga2/pki/ca.crt'
 maybe chown 'nagios' 'icinga2/pki/ns3.uhu-banane.de.crt'
 maybe chgrp 'nagios' 'icinga2/pki/ns3.uhu-banane.de.crt'
 maybe chmod 0644 'icinga2/pki/ns3.uhu-banane.de.crt'
+maybe chown 'nagios' 'icinga2/pki/ns3.uhu-banane.de.crt.orig'
+maybe chgrp 'nagios' 'icinga2/pki/ns3.uhu-banane.de.crt.orig'
 maybe chmod 0644 'icinga2/pki/ns3.uhu-banane.de.crt.orig'
 maybe chown 'nagios' 'icinga2/pki/ns3.uhu-banane.de.key'
 maybe chgrp 'nagios' 'icinga2/pki/ns3.uhu-banane.de.key'
 maybe chmod 0600 'icinga2/pki/ns3.uhu-banane.de.key'
+maybe chown 'nagios' 'icinga2/pki/ns3.uhu-banane.de.key.orig'
+maybe chgrp 'nagios' 'icinga2/pki/ns3.uhu-banane.de.key.orig'
 maybe chmod 0600 'icinga2/pki/ns3.uhu-banane.de.key.orig'
 maybe chmod 0755 'icinga2/repository.d'
 maybe chmod 0644 'icinga2/repository.d/README'
 maybe chmod 0755 'icinga2/scripts'
 maybe chmod 0755 'icinga2/scripts/mail-host-notification.sh'
 maybe chmod 0755 'icinga2/scripts/mail-service-notification.sh'
-maybe chmod 0644 'icinga2/zones.conf'
+maybe chown 'nagios' 'icinga2/zones.conf'
+maybe chgrp 'nagios' 'icinga2/zones.conf'
+maybe chmod 0640 'icinga2/zones.conf'
 maybe chmod 0644 'icinga2/zones.conf.orig'
-maybe chmod 0755 'icinga2/zones.d'
+maybe chown 'nagios' 'icinga2/zones.d'
+maybe chgrp 'nagios' 'icinga2/zones.d'
+maybe chmod 0750 'icinga2/zones.d'
 maybe chmod 0644 'icinga2/zones.d/README'
 maybe chmod 0755 'init'
 maybe chmod 0755 'init.d'
@@ -849,7 +948,6 @@ maybe chmod 0755 'init.d/acpid'
 maybe chmod 0755 'init.d/apache-htcacheclean'
 maybe chmod 0755 'init.d/apache2'
 maybe chmod 0755 'init.d/atd'
-maybe chmod 0755 'init.d/bind9'
 maybe chmod 0755 'init.d/bootlogs'
 maybe chmod 0755 'init.d/bootmisc.sh'
 maybe chmod 0755 'init.d/brightness'
@@ -879,6 +977,7 @@ maybe chmod 0755 'init.d/mountdevsubfs.sh'
 maybe chmod 0755 'init.d/mountkernfs.sh'
 maybe chmod 0755 'init.d/mountnfs-bootclean.sh'
 maybe chmod 0755 'init.d/mountnfs.sh'
+maybe chmod 0755 'init.d/named'
 maybe chmod 0755 'init.d/netfilter-persistent'
 maybe chmod 0755 'init.d/networking'
 maybe chmod 0755 'init.d/postfix'
@@ -1274,6 +1373,9 @@ maybe chmod 0755 'letsencrypt/renewal-hooks/pre'
 maybe chmod 0644 'letsencrypt/renewal/git.uhu-banane.net.conf'
 maybe chmod 0644 'lftp.conf'
 maybe chmod 0644 'libaudit.conf'
+maybe chmod 0755 'libnl-3'
+maybe chmod 0644 'libnl-3/classid'
+maybe chmod 0644 'libnl-3/pktloc'
 maybe chmod 0755 'lighttpd'
 maybe chmod 0755 'lighttpd/conf-available'
 maybe chmod 0644 'lighttpd/conf-available/90-javascript-alias.conf'
@@ -1284,6 +1386,8 @@ maybe chmod 0755 'logcheck'
 maybe chmod 0755 'logcheck/ignore.d.server'
 maybe chmod 0644 'logcheck/ignore.d.server/gpg-agent'
 maybe chmod 0644 'logcheck/ignore.d.server/libsasl2-modules'
+maybe chmod 0755 'logcheck/ignore.d.server/netfilter-persistent'
+maybe chmod 0644 'logcheck/ignore.d.server/netfilter-persistent/netfilter-persistent'
 maybe chmod 0644 'logcheck/ignore.d.server/rsyslog'
 maybe chmod 0644 'login.defs'
 maybe chmod 0644 'logrotate.conf'
@@ -1366,6 +1470,7 @@ maybe chmod 0755 'nagios-plugins'
 maybe chmod 0755 'nagios-plugins/config'
 maybe chmod 0644 'nagios-plugins/config/apt.cfg'
 maybe chmod 0644 'nagios-plugins/config/breeze.cfg'
+maybe chmod 0644 'nagios-plugins/config/curl-http.cfg'
 maybe chmod 0644 'nagios-plugins/config/dhcp.cfg'
 maybe chmod 0644 'nagios-plugins/config/disk-smb.cfg'
 maybe chmod 0644 'nagios-plugins/config/disk.cfg'
@@ -1407,7 +1512,9 @@ maybe chmod 0644 'needrestart/conf.d/README.needrestart'
 maybe chmod 0755 'needrestart/hook.d'
 maybe chmod 0755 'needrestart/hook.d/10-dpkg'
 maybe chmod 0755 'needrestart/hook.d/20-rpm'
+maybe chmod 0755 'needrestart/hook.d/30-pacman'
 maybe chmod 0755 'needrestart/hook.d/90-none'
+maybe chmod 0644 'needrestart/iucode.sh'
 maybe chmod 0644 'needrestart/needrestart.conf'
 maybe chmod 0644 'needrestart/notify.conf'
 maybe chmod 0755 'needrestart/notify.d'
@@ -1464,8 +1571,8 @@ maybe chmod 0644 'pam.d/su-l'
 maybe chmod 0644 'pam.d/sudo'
 maybe chmod 0644 'passwd'
 maybe chmod 0644 'passwd-'
+maybe chmod 0644 'passwd.org'
 maybe chmod 0755 'perl'
-maybe chmod 0755 'perl/CPAN'
 maybe chmod 0755 'perl/Net'
 maybe chmod 0644 'perl/Net/libnet.cfg'
 maybe chmod 0755 'php'
@@ -1494,10 +1601,8 @@ maybe chmod 0644 'php/7.0/mods-available/sysvshm.ini'
 maybe chmod 0644 'php/7.0/mods-available/tokenizer.ini'
 maybe chmod 0755 'php/7.3'
 maybe chmod 0755 'php/7.3/apache2'
-maybe chmod 0755 'php/7.3/apache2/conf.d'
 maybe chmod 0644 'php/7.3/apache2/php.ini'
 maybe chmod 0755 'php/7.3/cli'
-maybe chmod 0755 'php/7.3/cli/conf.d'
 maybe chmod 0644 'php/7.3/cli/php.ini'
 maybe chmod 0755 'php/7.3/mods-available'
 maybe chmod 0644 'php/7.3/mods-available/calendar.ini'
@@ -1521,6 +1626,36 @@ maybe chmod 0644 'php/7.3/mods-available/sysvmsg.ini'
 maybe chmod 0644 'php/7.3/mods-available/sysvsem.ini'
 maybe chmod 0644 'php/7.3/mods-available/sysvshm.ini'
 maybe chmod 0644 'php/7.3/mods-available/tokenizer.ini'
+maybe chmod 0755 'php/7.4'
+maybe chmod 0755 'php/7.4/apache2'
+maybe chmod 0755 'php/7.4/apache2/conf.d'
+maybe chmod 0644 'php/7.4/apache2/php.ini'
+maybe chmod 0755 'php/7.4/cli'
+maybe chmod 0755 'php/7.4/cli/conf.d'
+maybe chmod 0644 'php/7.4/cli/php.ini'
+maybe chmod 0755 'php/7.4/mods-available'
+maybe chmod 0644 'php/7.4/mods-available/calendar.ini'
+maybe chmod 0644 'php/7.4/mods-available/ctype.ini'
+maybe chmod 0644 'php/7.4/mods-available/exif.ini'
+maybe chmod 0644 'php/7.4/mods-available/ffi.ini'
+maybe chmod 0644 'php/7.4/mods-available/fileinfo.ini'
+maybe chmod 0644 'php/7.4/mods-available/ftp.ini'
+maybe chmod 0644 'php/7.4/mods-available/gd.ini'
+maybe chmod 0644 'php/7.4/mods-available/gettext.ini'
+maybe chmod 0644 'php/7.4/mods-available/iconv.ini'
+maybe chmod 0644 'php/7.4/mods-available/json.ini'
+maybe chmod 0644 'php/7.4/mods-available/ldap.ini'
+maybe chmod 0644 'php/7.4/mods-available/opcache.ini'
+maybe chmod 0644 'php/7.4/mods-available/pdo.ini'
+maybe chmod 0644 'php/7.4/mods-available/phar.ini'
+maybe chmod 0644 'php/7.4/mods-available/posix.ini'
+maybe chmod 0644 'php/7.4/mods-available/readline.ini'
+maybe chmod 0644 'php/7.4/mods-available/shmop.ini'
+maybe chmod 0644 'php/7.4/mods-available/sockets.ini'
+maybe chmod 0644 'php/7.4/mods-available/sysvmsg.ini'
+maybe chmod 0644 'php/7.4/mods-available/sysvsem.ini'
+maybe chmod 0644 'php/7.4/mods-available/sysvshm.ini'
+maybe chmod 0644 'php/7.4/mods-available/tokenizer.ini'
 maybe chmod 0755 'postfix'
 maybe chmod 0644 'postfix/dynamicmaps.cf'
 maybe chmod 0755 'postfix/dynamicmaps.cf.d'
@@ -1639,6 +1774,7 @@ maybe chmod 0755 'salt/proxy.d'
 maybe chmod 0644 'salt/roster'
 maybe chmod 0755 'security'
 maybe chmod 0644 'security/access.conf'
+maybe chmod 0644 'security/faillock.conf'
 maybe chmod 0644 'security/group.conf'
 maybe chmod 0644 'security/limits.conf'
 maybe chmod 0755 'security/limits.d'
@@ -1654,6 +1790,7 @@ maybe chmod 0644 'selinux/semanage.conf'
 maybe chmod 0644 'services'
 maybe chmod 0640 'shadow'
 maybe chmod 0640 'shadow-'
+maybe chmod 0640 'shadow.org'
 maybe chmod 0644 'shells'
 maybe chmod 0755 'skel'
 maybe chmod 0644 'skel/.bash_logout'
@@ -1707,10 +1844,18 @@ maybe chmod 0644 'subuid-'
 maybe chmod 0755 'subversion'
 maybe chmod 0644 'subversion/config'
 maybe chmod 0644 'subversion/servers'
+maybe chmod 0644 'sudo.conf'
+maybe chmod 0644 'sudo_logsrvd.conf'
 maybe chmod 0440 'sudoers'
 maybe chmod 0755 'sudoers.d'
 maybe chmod 0440 'sudoers.d/README'
 maybe chmod 0755 'sv'
+maybe chmod 0755 'sv/acpid'
+maybe chmod 0755 'sv/acpid/.meta'
+maybe chmod 0644 'sv/acpid/.meta/installed'
+maybe chmod 0755 'sv/acpid/log'
+maybe chmod 0755 'sv/acpid/log/run'
+maybe chmod 0755 'sv/acpid/run'
 maybe chmod 0755 'sv/ssh'
 maybe chmod 0755 'sv/ssh/.meta'
 maybe chmod 0644 'sv/ssh/.meta/installed'
@@ -1721,7 +1866,6 @@ maybe chmod 0755 'sv/ssh/run'
 maybe chmod 0644 'sysctl.conf'
 maybe chmod 0755 'sysctl.d'
 maybe chmod 0644 'sysctl.d/README.sysctl'
-maybe chmod 0644 'sysctl.d/protect-links.conf'
 maybe chmod 0755 'systemd'
 maybe chmod 0644 'systemd/journald.conf'
 maybe chmod 0644 'systemd/logind.conf'
@@ -1742,6 +1886,8 @@ maybe chmod 0755 'systemd/system/getty@.service.d'
 maybe chmod 0644 'systemd/system/getty@.service.d/noclear.conf'
 maybe chmod 0644 'systemd/system/local.service'
 maybe chmod 0755 'systemd/system/multi-user.target.wants'
+maybe chmod 0755 'systemd/system/netfilter-persistent.service.d'
+maybe chmod 0644 'systemd/system/netfilter-persistent.service.d/iptables.conf'
 maybe chmod 0755 'systemd/system/network-online.target.wants'
 maybe chmod 0755 'systemd/system/paths.target.wants'
 maybe chmod 0755 'systemd/system/sockets.target.wants'
diff --git a/NetworkManager/dispatcher.d/20-chrony b/NetworkManager/dispatcher.d/20-chrony
deleted file mode 100755 (executable)
index 0b0c3e7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-# This is a NetworkManager dispatcher / networkd-dispatcher script for
-# chronyd to set its NTP sources online or offline when a network interface
-# is configured or removed
-
-export LC_ALL=C
-
-# For NetworkManager consider only up/down events
-[ $# -ge 2 ] && [ "$2" != "up" ] && [ "$2" != "down" ] && exit 0
-
-# Note: for networkd-dispatcher routable.d ~= on and off.d ~= off
-
-chronyc onoffline > /dev/null 2>&1
-
-exit 0
index ec665974845c28367a0d8ff0becff9854f002c72..7c8723e669109bfbc83dcb99f59d774505d9a49e 100755 (executable)
@@ -15,7 +15,7 @@ fi
 
 . /usr/share/acpi-support/policy-funcs
 
-if { CheckPolicy || HasLogindAndSystemd1Manager; }; then
+if { CheckPolicy || HasDBusLogin1; }; then
        exit 0
 fi
 
diff --git a/alternatives/ip6tables.service b/alternatives/ip6tables.service
new file mode 120000 (symlink)
index 0000000..8589be0
--- /dev/null
@@ -0,0 +1 @@
+/lib/systemd/system/netfilter-persistent.service
\ No newline at end of file
diff --git a/alternatives/iptables.service b/alternatives/iptables.service
new file mode 120000 (symlink)
index 0000000..8589be0
--- /dev/null
@@ -0,0 +1 @@
+/lib/systemd/system/netfilter-persistent.service
\ No newline at end of file
index cbce297ba8e6cc455179a3083bc6b7238ecd2a4a..a967155b77f7d9b0ee1a4dbdca25374548a4b8fe 120000 (symlink)
@@ -1 +1 @@
-/bin/less
\ No newline at end of file
+/usr/bin/less
\ No newline at end of file
index b3b4ae71813ee65ca86b1229902d12654f283204..0e07b6a3344473312c4b555597c1b8560336aa10 120000 (symlink)
@@ -1 +1 @@
-/usr/bin/phar7.3
\ No newline at end of file
+/usr/bin/phar7.4
\ No newline at end of file
index f308505ec9eb6a71bff00954c1ca87789efb92b7..189099015fa4310a4ddb8f13ff128c763c402916 120000 (symlink)
@@ -1 +1 @@
-/usr/share/man/man1/phar7.3.1.gz
\ No newline at end of file
+/usr/share/man/man1/phar7.4.1.gz
\ No newline at end of file
index a03cf84f028ab7204161db63637ffa6901c0e99e..955f488887438f1fb7db8a001d493b4816e3a3ad 120000 (symlink)
@@ -1 +1 @@
-/usr/bin/phar.phar7.3
\ No newline at end of file
+/usr/bin/phar.phar7.4
\ No newline at end of file
index 74ee7f3630ddf02b4b8da166c582ac76e970d705..456489722a74ab1e730bde07fd6f115965c57bf8 120000 (symlink)
@@ -1 +1 @@
-/usr/share/man/man1/phar.phar7.3.1.gz
\ No newline at end of file
+/usr/share/man/man1/phar.phar7.4.1.gz
\ No newline at end of file
index c890124a2aa70690d2380f9c1fa0406d82f91979..36f459d4829353a57d54f13df71e9f3882120779 120000 (symlink)
@@ -1 +1 @@
-/usr/bin/php7.3
\ No newline at end of file
+/usr/bin/php7.4
\ No newline at end of file
index 4338797df46ac3f308b0a5c71ea86757983cdbb1..f5c48344c438795764a6124e0436bb95cbc2f1f9 120000 (symlink)
@@ -1 +1 @@
-/usr/share/man/man1/php7.3.1.gz
\ No newline at end of file
+/usr/share/man/man1/php7.4.1.gz
\ No newline at end of file
diff --git a/alternatives/w b/alternatives/w
deleted file mode 120000 (symlink)
index 11c34c4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/bin/w.procps
\ No newline at end of file
diff --git a/alternatives/w.1.gz b/alternatives/w.1.gz
deleted file mode 120000 (symlink)
index 7391b64..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/man/man1/w.procps.1.gz
\ No newline at end of file
diff --git a/apache2/conf-enabled/javascript-common.conf b/apache2/conf-enabled/javascript-common.conf
new file mode 120000 (symlink)
index 0000000..0a4baa4
--- /dev/null
@@ -0,0 +1 @@
+../conf-available/javascript-common.conf
\ No newline at end of file
index 6f6d1bb07bf71be1eafef5269a3196ef224bb8d7..a5867fff37a28f717b8e04c9caf245574f055bb1 100644 (file)
@@ -1 +1,3 @@
-LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
+<IfModule !mod_dav.c>
+       LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
+</IfModule>
index db48f925fcfac1dc37270dead2d052325cd23b3f..e891e03c41b9074913639426d1cac6a1e11ebb42 100644 (file)
@@ -1,8 +1,9 @@
 <IfModule mod_deflate.c>
        <IfModule mod_filter.c>
-               AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
+               AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
                AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
                AddOutputFilterByType DEFLATE application/rss+xml
+               AddOutputFilterByType DEFLATE application/wasm
                AddOutputFilterByType DEFLATE application/xml
        </IfModule>
 </IfModule>
index 37dac86c97dbe42104ddb207a69a4fd40f0a153c..38f8eb51f0185f89ad1f7e2e65e59bc466f85a9d 100644 (file)
@@ -76,6 +76,7 @@
        AddLanguage ca .ca
        AddLanguage cs .cz .cs
        AddLanguage cy .cy
+       AddLanguage da .da
        AddLanguage da .dk
        AddLanguage de .de
        AddLanguage dz .dz
diff --git a/apache2/mods-available/php7.4.conf b/apache2/mods-available/php7.4.conf
new file mode 100644 (file)
index 0000000..d4df3e5
--- /dev/null
@@ -0,0 +1,25 @@
+<FilesMatch ".+\.ph(ar|p|tml)$">
+    SetHandler application/x-httpd-php
+</FilesMatch>
+<FilesMatch ".+\.phps$">
+    SetHandler application/x-httpd-php-source
+    # Deny access to raw php sources by default
+    # To re-enable it's recommended to enable access to the files
+    # only in specific virtual host or directory
+    Require all denied
+</FilesMatch>
+# Deny access to files without filename (e.g. '.php')
+<FilesMatch "^\.ph(ar|p|ps|tml)$">
+    Require all denied
+</FilesMatch>
+
+# Running PHP scripts in user directories is disabled by default
+# 
+# To re-enable PHP in user directories comment the following lines
+# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
+# prevents .htaccess files from disabling it.
+<IfModule mod_userdir.c>
+    <Directory /home/*/public_html>
+        php_admin_flag engine Off
+    </Directory>
+</IfModule>
diff --git a/apache2/mods-available/php7.4.load b/apache2/mods-available/php7.4.load
new file mode 100644 (file)
index 0000000..94935a4
--- /dev/null
@@ -0,0 +1,3 @@
+# Conflicts: php5
+# Depends: mpm_prefork
+LoadModule php7_module /usr/lib/apache2/modules/libphp7.4.so
diff --git a/apache2/mods-available/socache_redis.load b/apache2/mods-available/socache_redis.load
new file mode 100644 (file)
index 0000000..b1a8de2
--- /dev/null
@@ -0,0 +1 @@
+LoadModule socache_redis_module /usr/lib/apache2/modules/mod_socache_redis.so
diff --git a/apache2/mods-enabled/php7.3.conf b/apache2/mods-enabled/php7.3.conf
deleted file mode 120000 (symlink)
index 9c8673f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../mods-available/php7.3.conf
\ No newline at end of file
diff --git a/apache2/mods-enabled/php7.3.load b/apache2/mods-enabled/php7.3.load
deleted file mode 120000 (symlink)
index ea4fee1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../mods-available/php7.3.load
\ No newline at end of file
diff --git a/apache2/mods-enabled/php7.4.conf b/apache2/mods-enabled/php7.4.conf
new file mode 120000 (symlink)
index 0000000..7170bad
--- /dev/null
@@ -0,0 +1 @@
+../mods-available/php7.4.conf
\ No newline at end of file
diff --git a/apache2/mods-enabled/php7.4.load b/apache2/mods-enabled/php7.4.load
new file mode 120000 (symlink)
index 0000000..e223ffc
--- /dev/null
@@ -0,0 +1 @@
+../mods-available/php7.4.load
\ No newline at end of file
diff --git a/apparmor.d/local/usr.bin.tcpdump b/apparmor.d/local/usr.bin.tcpdump
new file mode 100644 (file)
index 0000000..e69de29
index 569aec91131e07501cd4f629400de82a72b60b59..b6cd0be653f96d1597494e7da0d3d1b311864f02 100644 (file)
   capability setuid,
   capability setgid,
 
+  # Ordinary permission checks sometimes involve checking whether the
+  # process has this capability, which can produce audit log messages.
+  # Silence them.
+  deny capability dac_override,
+  deny capability dac_read_search,
+
   signal peer=@{profile_name},
   signal peer=/usr/bin/man//&man_groff,
   signal peer=/usr/bin/man//&man_filter,
@@ -66,9 +72,12 @@ profile man_groff {
   /usr/bin/vgrind rm,
 
   /etc/groff/** r,
+  /etc/papersize r,
   /usr/lib/groff/site-tmac/** r,
   /usr/share/groff/** r,
 
+  /tmp/groff* rw,
+
   signal peer=/usr/bin/man,
   # @{profile_name} doesn't seem to work here.
   signal peer=/usr/bin/man//&man_groff,
@@ -95,6 +104,9 @@ profile man_filter {
   # do is feed data to the invoking man process.
   /** r,
 
+  # Allow writing cat pages.
+  /var/cache/man/** w,
+
   signal peer=/usr/bin/man,
   # @{profile_name} doesn't seem to work here.
   signal peer=/usr/bin/man//&man_filter,
diff --git a/apparmor.d/usr.bin.tcpdump b/apparmor.d/usr.bin.tcpdump
new file mode 100644 (file)
index 0000000..38b2a35
--- /dev/null
@@ -0,0 +1,65 @@
+# vim:syntax=apparmor
+#include <tunables/global>
+
+profile tcpdump /usr/bin/tcpdump {
+  #include <abstractions/base>
+  #include <abstractions/nameservice>
+  #include <abstractions/user-tmp>
+
+  capability net_raw,
+  capability setuid,
+  capability setgid,
+  capability dac_override,
+  capability chown,
+  network raw,
+  network packet,
+
+  # for -D
+  @{PROC}/bus/usb/ r,
+  @{PROC}/bus/usb/** r,
+
+  # for finding an interface
+  /dev/ r,
+  @{PROC}/[0-9]*/net/dev r,
+  /sys/bus/usb/devices/ r,
+  /sys/class/net/ r,
+  /sys/devices/**/net/** r,
+
+  # for -j
+  capability net_admin,
+
+  # for tracing USB bus, which libpcap supports
+  /dev/usbmon* r,
+  /dev/bus/usb/ r,
+  /dev/bus/usb/** r,
+
+  # for init_etherarray(), with -e
+  /etc/ethers r,
+
+  # for USB probing (see libpcap-1.1.x/pcap-usb-linux.c:probe_devices())
+  /dev/bus/usb/**/[0-9]* w,
+
+  # for -z
+  /{usr/,}bin/gzip ixr,
+  /{usr/,}bin/bzip2 ixr,
+
+  # for -F and -w
+  audit deny @{HOME}/.* mrwkl,
+  audit deny @{HOME}/.*/ rw,
+  audit deny @{HOME}/.*/** mrwkl,
+  audit deny @{HOME}/bin/ rw,
+  audit deny @{HOME}/bin/** mrwkl,
+  owner @{HOME}/ r,
+  owner @{HOME}/** rw,
+
+  # for -r, -F and -w
+  /**.[pP][cC][aA][pP] rw,
+
+  # for convenience with -r (ie, read pcap files from other sources)
+  /var/log/snort/*log* r,
+
+  /usr/bin/tcpdump mr,
+
+  # Site-specific additions and overrides. See local/README for details.
+  #include <local/usr.bin.tcpdump>
+}
index 04f9d4736c3bfea90a9c89241519bda7b5099639..89e7f340ddbdc5986a802c28585a11be65e24f06 100644 (file)
@@ -1,30 +1,48 @@
 # Last Modified: Sat Jan 20 10:45:05 2018
 #include <tunables/global>
 
-/usr/sbin/chronyd (attach_disconnected) {
+/usr/sbin/chronyd flags=(attach_disconnected) {
   #include <abstractions/base>
   #include <abstractions/nameservice>
 
-  capability sys_time,
+  # For /run/chrony to be created
+  capability chown,
+
+  # Give “root” the ability to read and write the PID file
+  capability dac_override,
+  capability dac_read_search,
+
+  # Needed to support HW timestamping
+  capability net_admin,
+
+  # Needed to allow NTP server sockets to be bound to a privileged port
   capability net_bind_service,
-  capability setuid,
+
+  # Needed to allow an NTP socket to be bound to a device using the
+  # SO_BINDTODEVICE socket option on kernels before 5.7
+  capability net_raw,
+
+  # Needed to drop privileges
   capability setgid,
+  capability setuid,
+
+  # Needed to set the SCHED_FIFO real-time scheduler at the specified priority
+  # using the '-P' option
   capability sys_nice,
+
+  # Needed to lock chronyd into RAM
   capability sys_resource,
-  # for /run/chrony to be created
-  capability chown,
-  # Needed to support HW timestamping
-  capability net_admin,
+
+  # Needed to set the system/real-time clock
+  capability sys_time,
 
   /usr/sbin/chronyd mr,
 
   /etc/chrony/{,**} r,
-  /{,var/}run/chronyd.pid w,
-  /{,var/}run/chrony/{,*} rw,
-  /var/lib/chrony/{,*} r,
-  /var/lib/chrony/* w,
-  /var/log/chrony/{,*} r,
-  /var/log/chrony/* w,
+  /var/lib/chrony/{,*} rw,
+  /var/log/chrony/{,*} rw,
+  @{run}/chrony/{,*} rw,
+  @{run}/chrony-dhcp/{,*} r,
 
   # Using the “tempcomp” directive gives chronyd the ability to improve
   # the stability and accuracy of the clock by compensating the temperature
   # are common use cases; others should be set as local include (see below).
   # Configs using a 'chrony.' prefix like the tempcomp config file example
   /etc/chrony.* r,
-  # Example gpsd socket is outside /{,var/}run/chrony/
-  /{,var/}run/chrony.tty{,*}.sock rw,
+  # Example gpsd socket is outside @{run}/chrony/
+  @{run}/chrony.tty{,*}.sock rw,
   # To sign replies to MS-SNTP clients by the smbd daemon
-  /var/lib/samba/ntp_signd r,
-  /var/lib/samba/ntp_signd/{,*} rw,
+  /var/lib/samba/ntp_signd/socket rw,
 
   # rtc
   /etc/adjtime r,
index 0e611388ed69a5f6025cc1c5af858993a32cc0f6..1224d3145932bf46facb0234277f2a61d075e02f 100644 (file)
@@ -3,6 +3,7 @@
 
 /usr/sbin/haveged {
   #include <abstractions/base>
+  #include <abstractions/consoles>
 
   # Required for ioctl RNDADDENTROPY
   capability sys_admin,
@@ -19,5 +20,7 @@
   /sys/devices/system/cpu/cpu*/cache/index*/{type,size,level} r,
   /usr/sbin/haveged mr,
 
+  /run/haveged.pid w,
+
   #include <local/usr.sbin.haveged>
 }
index a4622da851ed140b6a047393cd231b598a679d04..fe14850158a0d59dbca41405c828f7e573c724d7 100644 (file)
@@ -2,7 +2,7 @@
 # Last Modified: Fri Jun  1 16:43:22 2007
 #include <tunables/global>
 
-/usr/sbin/named flags=(attach_disconnected) {
+profile named /usr/sbin/named flags=(attach_disconnected) {
   #include <abstractions/base>
   #include <abstractions/nameservice>
 
diff --git a/apparmor.d/usr.sbin.tcpdump b/apparmor.d/usr.sbin.tcpdump
deleted file mode 100644 (file)
index 7a7da4f..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# vim:syntax=apparmor
-#include <tunables/global>
-
-/usr/sbin/tcpdump {
-  #include <abstractions/base>
-  #include <abstractions/nameservice>
-  #include <abstractions/user-tmp>
-
-  capability net_raw,
-  capability setuid,
-  capability setgid,
-  capability dac_override,
-  network raw,
-  network packet,
-
-  # for -D
-  @{PROC}/bus/usb/ r,
-  @{PROC}/bus/usb/** r,
-
-  # for finding an interface
-  @{PROC}/[0-9]*/net/dev r,
-  /sys/bus/usb/devices/ r,
-  /sys/class/net/ r,
-  /sys/devices/**/net/* r,
-
-  # for -j
-  capability net_admin,
-
-  # for tracing USB bus, which libpcap supports
-  /dev/usbmon* r,
-  /dev/bus/usb/ r,
-  /dev/bus/usb/** r,
-
-  # for init_etherarray(), with -e
-  /etc/ethers r,
-
-  # for USB probing (see libpcap-1.1.x/pcap-usb-linux.c:probe_devices())
-  /dev/bus/usb/**/[0-9]* w,
-
-  # for -z
-  /{usr/,}bin/gzip ixr,
-  /{usr/,}bin/bzip2 ixr,
-
-  # for -F and -w
-  audit deny @{HOME}/.* mrwkl,
-  audit deny @{HOME}/.*/ rw,
-  audit deny @{HOME}/.*/** mrwkl,
-  audit deny @{HOME}/bin/ rw,
-  audit deny @{HOME}/bin/** mrwkl,
-  owner @{HOME}/ r,
-  owner @{HOME}/** rw,
-
-  # for -r, -F and -w
-  /**.[pP][cC][aA][pP] rw,
-
-  # for convenience with -r (ie, read pcap files from other sources)
-  /var/log/snort/*log* r,
-
-  /usr/sbin/tcpdump mr,
-
-  # Site-specific additions and overrides. See local/README for details.
-  #include <local/usr.sbin.tcpdump>
-}
index f9d9e85d401f3e59f29a06970e6ec90a1a67a719..478c571e0aca2190a0b9a667b8d352e83ea62570 100644 (file)
@@ -10,31 +10,13 @@ APT
 
   VersionedKernelPackages
   {
-       # linux kernels
-       "linux-image";
-       "linux-headers";
-       "linux-image-extra";
-       "linux-modules";
-       "linux-modules-extra";
-       "linux-signed-image";
-       "linux-image-unsigned";
-       # kfreebsd kernels
-       "kfreebsd-image";
-       "kfreebsd-headers";
-       # hurd kernels
-       "gnumach-image";
+       # kernels
+       "linux-.*";
+       "kfreebsd-.*";
+       "gnumach-.*";
        # (out-of-tree) modules
        ".*-modules";
        ".*-kernel";
-       "linux-backports-modules-.*";
-       "linux-modules-.*";
-        # tools
-        "linux-tools";
-        "linux-cloud-tools";
-       # build info
-       "linux-buildinfo";
-       # source code
-       "linux-source";
   };
 
   Never-MarkAuto-Sections
index 720a9d5b404b291214e36c323cf572207e826e56..710ed071fc8db4c416f8b91ff888097786143fce 100644 (file)
@@ -1,62 +1,2 @@
 // DO NOT EDIT! File autogenerated by /etc/kernel/postinst.d/apt-auto-removal
-APT::NeverAutoRemove
-{
-   "^linux-image-4\.19\.0-16-amd64$";
-   "^linux-image-4\.19\.0-17-amd64$";
-   "^linux-headers-4\.19\.0-16-amd64$";
-   "^linux-headers-4\.19\.0-17-amd64$";
-   "^linux-image-extra-4\.19\.0-16-amd64$";
-   "^linux-image-extra-4\.19\.0-17-amd64$";
-   "^linux-modules-4\.19\.0-16-amd64$";
-   "^linux-modules-4\.19\.0-17-amd64$";
-   "^linux-modules-extra-4\.19\.0-16-amd64$";
-   "^linux-modules-extra-4\.19\.0-17-amd64$";
-   "^linux-signed-image-4\.19\.0-16-amd64$";
-   "^linux-signed-image-4\.19\.0-17-amd64$";
-   "^linux-image-unsigned-4\.19\.0-16-amd64$";
-   "^linux-image-unsigned-4\.19\.0-17-amd64$";
-   "^kfreebsd-image-4\.19\.0-16-amd64$";
-   "^kfreebsd-image-4\.19\.0-17-amd64$";
-   "^kfreebsd-headers-4\.19\.0-16-amd64$";
-   "^kfreebsd-headers-4\.19\.0-17-amd64$";
-   "^gnumach-image-4\.19\.0-16-amd64$";
-   "^gnumach-image-4\.19\.0-17-amd64$";
-   "^.*-modules-4\.19\.0-16-amd64$";
-   "^.*-modules-4\.19\.0-17-amd64$";
-   "^.*-kernel-4\.19\.0-16-amd64$";
-   "^.*-kernel-4\.19\.0-17-amd64$";
-   "^linux-backports-modules-.*-4\.19\.0-16-amd64$";
-   "^linux-backports-modules-.*-4\.19\.0-17-amd64$";
-   "^linux-modules-.*-4\.19\.0-16-amd64$";
-   "^linux-modules-.*-4\.19\.0-17-amd64$";
-   "^linux-tools-4\.19\.0-16-amd64$";
-   "^linux-tools-4\.19\.0-17-amd64$";
-   "^linux-cloud-tools-4\.19\.0-16-amd64$";
-   "^linux-cloud-tools-4\.19\.0-17-amd64$";
-   "^linux-buildinfo-4\.19\.0-16-amd64$";
-   "^linux-buildinfo-4\.19\.0-17-amd64$";
-   "^linux-source-4\.19\.0-16-amd64$";
-   "^linux-source-4\.19\.0-17-amd64$";
-};
-/* Debug information:
-# dpkg list:
-ii  linux-image-4.19.0-16-amd64               4.19.181-1                   amd64        Linux 4.19 for 64-bit PCs (signed)
-iF  linux-image-4.19.0-17-amd64               4.19.194-3                   amd64        Linux 4.19 for 64-bit PCs (signed)
-ii  linux-image-amd64                         4.19+105+deb10u12            amd64        Linux for 64-bit PCs (meta-package)
-# list of installed kernel packages:
-4.19.0-16-amd64 4.19.181-1
-4.19.0-17-amd64 4.19.194-3
-# list of different kernel versions:
-4.19.194-3
-4.19.181-1
-# Installing kernel: 4.19.194-3 (4.19.0-17-amd64)
-# Running kernel: 4.19.194-3 (4.19.0-17-amd64)
-# Last kernel: 4.19.194-3
-# Previous kernel: 4.19.181-1
-# Kernel versions list to keep:
-4.19.181-1
-4.19.194-3
-# Kernel packages (version part) to protect:
-4\.19\.0-16-amd64
-4\.19\.0-17-amd64
-*/
+APT::LastInstalledKernel "5.10.0-8-amd64";
index 176873512ab80b9ebcef2a95822db0e1041de4e1..4af5989d77bd38bf2e31474879d917efe1d531fe 100644 (file)
@@ -1,3 +1,5 @@
 DPkg::Pre-Install-Pkgs { "/usr/bin/apt-listchanges --apt || test $? -lt 10"; };
 DPkg::Tools::Options::/usr/bin/apt-listchanges::Version "2";
 DPkg::Tools::Options::/usr/bin/apt-listchanges::InfoFD "20";
+Dir::Etc::apt-listchanges-main "listchanges.conf";
+Dir::Etc::apt-listchanges-parts "listchanges.conf.d";
index 5e5a32ba9c7bd60733860ebcb7b1bebf4c25ae6a..6d4217f1a6d6494dd15ef89ddf88b8859d2be8bb 100644 (file)
@@ -4,42 +4,30 @@
 # be configured elsewhere; if they are configured here, they will not be
 # recognized or used by named.
 #
-# The built-in trust anchors are provided for convenience of configuration.
-# They are not activated within named.conf unless specifically switched on.
-# To use the built-in key, use "dnssec-validation auto;" in the
-# named.conf options.  Without this option being set, the keys in this
-# file are ignored.
+# To use the built-in root key, set "dnssec-validation auto;" in the
+# named.conf options, or else leave "dnssec-validation" unset.  If
+# "dnssec-validation" is set to "yes", then the keys in this file are
+# ignored; keys will need to be explicitly configured in named.conf for
+# validation to work.  "auto" is the default setting, unless named is
+# built with "configure --disable-auto-validation", in which case the
+# default is "yes".
 #
 # This file is NOT expected to be user-configured.
 #
-# These keys are current as of October 2017.  If any key fails to
-# initialize correctly, it may have expired.  In that event you should
-# replace this file with a current version.  The latest version of
-# bind.keys can always be obtained from ISC at https://www.isc.org/bind-keys.
+# Servers being set up for the first time can use the contents of this file
+# as initializing keys; thereafter, the keys in the managed key database
+# will be trusted and maintained automatically.
 #
-# See https://data.iana.org/root-anchors/root-anchors.xml
-# for current trust anchor information for the root zone.
-
-managed-keys {
-        # This key (19036) is to be phased out starting in 2017. It will
-        # remain in the root zone for some time after its successor key
-        # has been added. It will remain this file until it is removed from
-        # the root zone.
-        . initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
-                FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
-                bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
-                X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
-                W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
-                Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
-                QxA+Uk1ihz0=";
+# These keys are current as of Mar 2019.  If any key fails to initialize
+# correctly, it may have expired.  In that event you should replace this
+# file with a current version.  The latest version of bind.keys can always
+# be obtained from ISC at https://www.isc.org/bind-keys.
+#
+# See https://data.iana.org/root-anchors/root-anchors.xml for current trust
+# anchor information for the root zone.
 
+trust-anchors {
         # This key (20326) was published in the root zone in 2017.
-        # Servers which were already using the old key (19036) should
-        # roll seamlessly to this new one via RFC 5011 rollover. Servers
-        # being set up for the first time can use the contents of this
-        # file as initializing keys; thereafter, the keys in the
-        # managed key database will be trusted and maintained
-        # automatically.
         . initial-key 257 3 8 "AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3
                 +/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kv
                 ArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF
index 56755128eb34355d5e311161f01ba8e7172cef71..4f643bb361e6e9e2eb567d319d90dee3d2f39299 100644 (file)
@@ -116,7 +116,7 @@ acl common-allow-transfer {
 
 #----------------------------------------
 acl local-host-ips {
-       127.0.0.1/8;
+       127.0.0.0/8;
        ::1/128;
 };
 
index 44af16c8d30b40ed23c849cd3666334485e21a1c..1250674d6dc801fcb5dce8f57bb01829cbdbe102 100644 (file)
@@ -47,7 +47,7 @@ options {
        //========================================================================
        //dnssec-enable yes;
        dnssec-validation auto;
-       dnssec-lookaside auto;
+       dnssec-lookaside auto;
 
        /*
         * As of bind 9.8.0:
index 786d9c727eaa63df06ba33ea741010651da17c27..6f21a8721326fc16befcda53fae511d4af4a7a41 100644 (file)
@@ -71,7 +71,7 @@ mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt
 mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt
 !mozilla/EBG_Elektronik_Sertifika_Hizmet_Sağlayıcısı.crt
 mozilla/EC-ACC.crt
-mozilla/EE_Certification_Centre_Root_CA.crt
+!mozilla/EE_Certification_Centre_Root_CA.crt
 !mozilla/E-Guven_Kok_Elektronik_Sertifika_Hizmet_Saglayicisi.crt
 mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt
 mozilla/Entrust_Root_Certification_Authority.crt
@@ -85,7 +85,7 @@ mozilla/E-Tugra_Certification_Authority.crt
 !mozilla/GeoTrust_Primary_Certification_Authority.crt
 !mozilla/GeoTrust_Primary_Certification_Authority_-_G2.crt
 !mozilla/GeoTrust_Primary_Certification_Authority_-_G3.crt
-mozilla/GeoTrust_Universal_CA_2.crt
+!mozilla/GeoTrust_Universal_CA_2.crt
 !mozilla/GeoTrust_Universal_CA.crt
 mozilla/Global_Chambersign_Root_-_2008.crt
 mozilla/GlobalSign_Root_CA.crt
@@ -107,7 +107,7 @@ mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt
 !mozilla/NetLock_Notary_=Class_A=_Root.crt
 !mozilla/NetLock_Qualified_=Class_QA=_Root.crt
 mozilla/Network_Solutions_Certificate_Authority.crt
-mozilla/OISTE_WISeKey_Global_Root_GA_CA.crt
+!mozilla/OISTE_WISeKey_Global_Root_GA_CA.crt
 !mozilla/PSCProcert.crt
 mozilla/QuoVadis_Root_CA_1_G3.crt
 mozilla/QuoVadis_Root_CA_2.crt
@@ -127,7 +127,7 @@ mozilla/Security_Communication_Root_CA.crt
 !mozilla/Sonera_Class_1_Root_CA.crt
 mozilla/Sonera_Class_2_Root_CA.crt
 !mozilla/Staat_der_Nederlanden_Root_CA.crt
-mozilla/Staat_der_Nederlanden_Root_CA_-_G2.crt
+!mozilla/Staat_der_Nederlanden_Root_CA_-_G2.crt
 mozilla/Starfield_Class_2_CA.crt
 mozilla/Starfield_Root_Certificate_Authority_-_G2.crt
 mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt
@@ -141,7 +141,7 @@ mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt
 mozilla/SwissSign_Gold_CA_-_G2.crt
 !mozilla/SwissSign_Platinum_CA_-_G2.crt
 mozilla/SwissSign_Silver_CA_-_G2.crt
-mozilla/Taiwan_GRCA.crt
+!mozilla/Taiwan_GRCA.crt
 !mozilla/TC_TrustCenter_Class_2_CA_II.crt
 !mozilla/TC_TrustCenter_Class_3_CA_II.crt
 !mozilla/TC_TrustCenter_Universal_CA_I.crt
@@ -171,7 +171,7 @@ mozilla/TWCA_Root_Certification_Authority.crt
 !mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_2.crt
 !mozilla/Verisign_Class_3_Public_Primary_Certification_Authority.crt
 !mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G2.crt
-mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt
+!mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt
 !mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt
 !mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt
 !mozilla/Verisign_Class_4_Public_Primary_Certification_Authority_-_G3.crt
@@ -218,7 +218,7 @@ mozilla/Amazon_Root_CA_3.crt
 mozilla/Amazon_Root_CA_4.crt
 !mozilla/D-TRUST_Root_CA_3_2013.crt
 mozilla/GDCA_TrustAUTH_R5_ROOT.crt
-mozilla/LuxTrust_Global_Root_2.crt
+!mozilla/LuxTrust_Global_Root_2.crt
 mozilla/SSL.com_EV_Root_Certification_Authority_ECC.crt
 mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt
 mozilla/SSL.com_Root_Certification_Authority_ECC.crt
@@ -246,3 +246,11 @@ mozilla/GTS_Root_R4.crt
 mozilla/Hongkong_Post_Root_CA_3.crt
 mozilla/UCA_Extended_Validation_Root.crt
 mozilla/UCA_Global_G2_Root.crt
+mozilla/certSIGN_Root_CA_G2.crt
+mozilla/e-Szigno_Root_CA_2017.crt
+mozilla/Microsoft_ECC_Root_Certificate_Authority_2017.crt
+mozilla/Microsoft_RSA_Root_Certificate_Authority_2017.crt
+mozilla/NAVER_Global_Root_Certification_Authority.crt
+mozilla/Trustwave_Global_Certification_Authority.crt
+mozilla/Trustwave_Global_ECC_P256_Certification_Authority.crt
+mozilla/Trustwave_Global_ECC_P384_Certification_Authority.crt
index f7e63e57c680e303852baab75a79c72b507b2e28..786d9c727eaa63df06ba33ea741010651da17c27 100644 (file)
@@ -13,7 +13,7 @@ mozilla/ACCVRAIZ1.crt
 !mozilla/ACEDICOM_Root.crt
 !mozilla/AC_Raíz_Certicámara_S.A..crt
 mozilla/Actalis_Authentication_Root_CA.crt
-mozilla/AddTrust_External_Root.crt
+!mozilla/AddTrust_External_Root.crt
 !mozilla/AddTrust_Low-Value_Services_Root.crt
 !mozilla/AddTrust_Public_Services_Root.crt
 !mozilla/AddTrust_Qualified_Certificates_Root.crt
@@ -39,7 +39,7 @@ mozilla/CA_Disig_Root_R2.crt
 !mozilla/Camerfirma_Global_Chambersign_Root.crt
 mozilla/Certigna.crt
 !mozilla/Certinomis_-_Autorité_Racine.crt
-mozilla/Certplus_Class_2_Primary_CA.crt
+!mozilla/Certplus_Class_2_Primary_CA.crt
 mozilla/certSIGN_ROOT_CA.crt
 !mozilla/Certum_Root_CA.crt
 mozilla/Certum_Trusted_Network_CA.crt
@@ -54,7 +54,7 @@ mozilla/COMODO_ECC_Certification_Authority.crt
 !mozilla/ComSign_CA.crt
 !mozilla/ComSign_Secured_CA.crt
 mozilla/Cybertrust_Global_Root.crt
-mozilla/Deutsche_Telekom_Root_CA_2.crt
+!mozilla/Deutsche_Telekom_Root_CA_2.crt
 mozilla/DigiCert_Assured_ID_Root_CA.crt
 mozilla/DigiCert_Assured_ID_Root_G2.crt
 mozilla/DigiCert_Assured_ID_Root_G3.crt
@@ -81,12 +81,12 @@ mozilla/ePKI_Root_Certification_Authority.crt
 !mozilla/Equifax_Secure_Global_eBusiness_CA.crt
 mozilla/E-Tugra_Certification_Authority.crt
 !mozilla/GeoTrust_Global_CA_2.crt
-mozilla/GeoTrust_Global_CA.crt
-mozilla/GeoTrust_Primary_Certification_Authority.crt
-mozilla/GeoTrust_Primary_Certification_Authority_-_G2.crt
-mozilla/GeoTrust_Primary_Certification_Authority_-_G3.crt
+!mozilla/GeoTrust_Global_CA.crt
+!mozilla/GeoTrust_Primary_Certification_Authority.crt
+!mozilla/GeoTrust_Primary_Certification_Authority_-_G2.crt
+!mozilla/GeoTrust_Primary_Certification_Authority_-_G3.crt
 mozilla/GeoTrust_Universal_CA_2.crt
-mozilla/GeoTrust_Universal_CA.crt
+!mozilla/GeoTrust_Universal_CA.crt
 mozilla/Global_Chambersign_Root_-_2008.crt
 mozilla/GlobalSign_Root_CA.crt
 mozilla/GlobalSign_Root_CA_-_R2.crt
@@ -147,9 +147,9 @@ mozilla/Taiwan_GRCA.crt
 !mozilla/TC_TrustCenter_Universal_CA_I.crt
 mozilla/TeliaSonera_Root_CA_v1.crt
 !mozilla/Thawte_Premium_Server_CA.crt
-mozilla/thawte_Primary_Root_CA.crt
-mozilla/thawte_Primary_Root_CA_-_G2.crt
-mozilla/thawte_Primary_Root_CA_-_G3.crt
+!mozilla/thawte_Primary_Root_CA.crt
+!mozilla/thawte_Primary_Root_CA_-_G2.crt
+!mozilla/thawte_Primary_Root_CA_-_G3.crt
 !mozilla/Thawte_Server_CA.crt
 mozilla/Trustis_FPS_Root_CA.crt
 mozilla/T-TeleSec_GlobalRoot_Class_2.crt
@@ -172,10 +172,10 @@ mozilla/TWCA_Root_Certification_Authority.crt
 !mozilla/Verisign_Class_3_Public_Primary_Certification_Authority.crt
 !mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G2.crt
 mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt
-mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt
-mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt
+!mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt
+!mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt
 !mozilla/Verisign_Class_4_Public_Primary_Certification_Authority_-_G3.crt
-mozilla/VeriSign_Universal_Root_Certification_Authority.crt
+!mozilla/VeriSign_Universal_Root_Certification_Authority.crt
 !mozilla/Visa_eCommerce_Root.crt
 !mozilla/WellsSecure_Public_Root_Certificate_Authority.crt
 !mozilla/WoSign_China.crt
@@ -184,7 +184,7 @@ mozilla/XRamp_Global_CA_Root.crt
 !spi-inc.org/spi-cacert-2008.crt
 !mozilla/CA_WoSign_ECC_Root.crt
 !mozilla/Certification_Authority_of_WoSign_G2.crt
-mozilla/Certinomis_-_Root_CA.crt
+!mozilla/Certinomis_-_Root_CA.crt
 mozilla/CFCA_EV_ROOT.crt
 mozilla/COMODO_RSA_Certification_Authority.crt
 mozilla/Entrust_Root_Certification_Authority_-_EC1.crt
@@ -233,3 +233,16 @@ mozilla/TrustCor_RootCert_CA-2.crt
 mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt
 mozilla/GlobalSign_Root_CA_-_R6.crt
 mozilla/OISTE_WISeKey_Global_Root_GC_CA.crt
+mozilla/Certigna_Root_CA.crt
+mozilla/emSign_ECC_Root_CA_-_C3.crt
+mozilla/emSign_ECC_Root_CA_-_G3.crt
+mozilla/emSign_Root_CA_-_C1.crt
+mozilla/emSign_Root_CA_-_G1.crt
+mozilla/Entrust_Root_Certification_Authority_-_G4.crt
+mozilla/GTS_Root_R1.crt
+mozilla/GTS_Root_R2.crt
+mozilla/GTS_Root_R3.crt
+mozilla/GTS_Root_R4.crt
+mozilla/Hongkong_Post_Root_CA_3.crt
+mozilla/UCA_Extended_Validation_Root.crt
+mozilla/UCA_Global_G2_Root.crt
index 6c19767c34fe84fbc73d570be6655da0017527a5..b3a9510126aca08dd5c7c1555d9f140ef3853ac1 100644 (file)
@@ -1,7 +1,18 @@
 # Welcome to the chrony configuration file. See chrony.conf(5) for more
-# information about usuable directives.
+# information about usable directives.
+
+# Include configuration files found in /etc/chrony/conf.d.
+confdir /etc/chrony/conf.d
+
+# Use Debian vendor zone.
 pool 2.debian.pool.ntp.org iburst
 
+# Use time sources from DHCP.
+sourcedir /run/chrony-dhcp
+
+# Use NTP sources found in /etc/chrony/sources.d.
+sourcedir /etc/chrony/sources.d
+
 # This directive specify the location of the file containing ID/key pairs for
 # NTP authentication.
 keyfile /etc/chrony/chrony.keys
@@ -10,6 +21,9 @@ keyfile /etc/chrony/chrony.keys
 # information.
 driftfile /var/lib/chrony/chrony.drift
 
+# Save NTS keys and cookies.
+ntsdumpdir /var/lib/chrony
+
 # Uncomment the following line to turn logging on.
 #log tracking measurements statistics
 
@@ -26,3 +40,8 @@ rtcsync
 # Step the system clock instead of slewing it if the adjustment is larger than
 # one second, but only in the first three clock updates.
 makestep 1 3
+
+# Get TAI-UTC offset and leap seconds from the system tz database.
+# This directive must be commented out when using time sources serving
+# leap-smeared time.
+leapsectz right/UTC
index cee70b392538fb0d40b7bc7738c804c6bca1e81a..a2d655d21a19acb04373c4c41536be1e074f3484 100644 (file)
@@ -6,5 +6,5 @@
 # chronyc keygen 1 SHA256 256 >> /etc/chrony/chrony.keys
 # would generate a 256-bit SHA-256 key using ID 1.
 #
-# A list of supported hash functions and output encoding can be found in
-# the "keyfile" section from the "/usr/share/doc/chrony/chrony.txt.gz" file.
+# A list of supported hash functions and output encoding is available by
+# consulting the "keyfile" directive in the chrony.conf(5) man page.
diff --git a/chrony/conf.d/README b/chrony/conf.d/README
new file mode 100644 (file)
index 0000000..de1fa8e
--- /dev/null
@@ -0,0 +1,7 @@
+Files found under the /etc/chrony/conf.d directory with the .conf suffix are
+parsed in the lexicographical order of the file names when chronyd starts up.
+This enables a fragmented configuration of chronyd.
+
+Although those files can contain any directives listed in chrony.conf(5),
+it would be wiser to add NTP sources in the /etc/chrony/sources.d
+directory. Please read /etc/chrony/sources.d/README for more information.
diff --git a/chrony/sources.d/README b/chrony/sources.d/README
new file mode 100644 (file)
index 0000000..268544d
--- /dev/null
@@ -0,0 +1,11 @@
+Only NTP sources can be specified in the /etc/chrony/sources.d directory.
+Files in this directory must end with the ".sources" suffix, and can only
+contain the "peer", "pool" and "server" directives.
+
+There is no need to restart chronyd for these time sources to be usable,
+running 'chronyc reload sources' is sufficient.
+
+Example:
+
+# echo 'server 192.0.2.1 iburst' > /etc/chrony/sources.d/local-ntp-server.sources
+# chronyc reload sources
index bc6954140d86cf955b42928c43889f9f60c9d00e..9104f3bdf17aaab15fa1e30772510e7ee33d8286 100755 (executable)
@@ -2,6 +2,11 @@
 
 set -e
 
+# skip in favour of systemd timer
+if [ -d /run/systemd/system ]; then
+    exit 0
+fi
+
 [ -x /usr/bin/updatedb.mlocate ] || exit 0
 
 if which on_ac_power >/dev/null 2>&1; then
diff --git a/cron.daily/passwd b/cron.daily/passwd
deleted file mode 100755 (executable)
index 4778bf0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-cd /var/backups || exit 0
-
-for FILE in passwd group shadow gshadow; do
-        test -f /etc/$FILE              || continue
-        cmp -s $FILE.bak /etc/$FILE     && continue
-        cp -p /etc/$FILE $FILE.bak && chmod 600 $FILE.bak
-done
index eead3e68ead88d9e548529ed0c938c19ffc6d056..028f63d9b09610ea2ae820077944a31b484f464e 100644 (file)
@@ -3,4 +3,4 @@
 # the chrony daemon without editing the init script or service file.
 
 # Options to pass to chrony.
-DAEMON_OPTS="-F -1"
+DAEMON_OPTS="-F 1"
index 77b6941818f794f280b1cca1b33f792a0bbe259f..679e98935e8f076c4a61855e746766f7031b18f4 100644 (file)
@@ -1,5 +1,4 @@
 # Configuration file for haveged
 
 # Options to pass to haveged:
-#   -w sets low entropy watermark (in bits)
-DAEMON_ARGS="-w 1024"
+#DAEMON_ARGS=""
diff --git a/default/named b/default/named
new file mode 100644 (file)
index 0000000..66352f0
--- /dev/null
@@ -0,0 +1,6 @@
+#
+# run resolvconf?
+RESOLVCONF=no
+
+# startup options for the server
+OPTIONS="-u bind"
index 7b31799e83c50131d2739dc1180415a45e9160ec..661c678e45dbbcad07b183ee4eee1910c000ebf2 100644 (file)
@@ -2,3 +2,9 @@
 # Plugins may extend this file or have their own
 
 FLUSH_ON_STOP=0
+
+# Set to yes to skip saving rules/sets when netfilter-persistent is called with
+# the save parameter
+# IPTABLES_SKIP_SAVE=yes
+# IP6TABLES_SKIP_SAVE=yes
+# IPSET_SKIP_SAVE=yes
diff --git a/default/rsyslog b/default/rsyslog
deleted file mode 100644 (file)
index 8ec3ea0..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Options for rsyslogd
-# -x disables DNS lookups for remote messages
-# See rsyslogd(8) for more details
-RSYSLOGD_OPTIONS=""
index a834feffc03b25a2abad519ac62760b35a9b28c5..e32955a727a24c11b86b118c3b27fbfac423168b 100644 (file)
@@ -2,7 +2,7 @@
 #
 # The SHELL variable specifies the default login shell on your
 # system.
-# Similar to DHSELL in adduser. However, we use "sh" here because
+# Similar to DSHELL in adduser. However, we use "sh" here because
 # useradd is a low level utility and should be as general
 # as possible
 SHELL=/bin/sh
index 690f3ab71cc300bae1b44a124430dbfd65420793..f3dacd71cdbfbf3ca432abcd7c698e82899c6944 100644 (file)
@@ -1,17 +1,19 @@
-SERVERFILE=/var/lib/dhcp/chrony.servers.$interface
+CHRONY_SOURCEDIR=/run/chrony-dhcp
+SERVERFILE=$CHRONY_SOURCEDIR/$interface.sources
 
 chrony_config() {
-    rm -f $SERVERFILE
+    rm -f "$SERVERFILE"
+    mkdir -p "$CHRONY_SOURCEDIR"
     for server in $new_ntp_servers; do
-        echo "$server iburst" >> $SERVERFILE
+        echo "server $server iburst" >> "$SERVERFILE"
     done
-    /usr/lib/chrony/chrony-helper update-daemon || :
+    /usr/bin/chronyc reload sources > /dev/null 2>&1 || :
 }
 
 chrony_restore() {
-    if [ -f $SERVERFILE ]; then
-        rm -f $SERVERFILE
-        /usr/lib/chrony/chrony-helper update-daemon || :
+    if [ -f "$SERVERFILE" ]; then
+        rm -f "$SERVERFILE"
+        /usr/bin/chronyc reload sources > /dev/null 2>&1 || :
     fi
 }
 
index 0719f652c583fccc4f1578744c323ab1fdc1a991..fc254f7f093ae634b5d0fba66083f2f3042bd6e6 100644 (file)
@@ -1,6 +1,6 @@
 ;; File: startup.el.in
 ;; Description: Emacsen startup for dictionaries-common in Debian
-;; Authors: Rafael Laboissière <rafael@debian.org>
+;; Authors: Rafael Laboissière <rafael@debian.org>
 ;;          Agustin Martin     <agmartin@debian.org>
 ;; Created on: Fri Oct 22 09:48:21 CEST 1999
 
diff --git a/ethertypes b/ethertypes
new file mode 100644 (file)
index 0000000..caa9f56
--- /dev/null
@@ -0,0 +1,45 @@
+# Ethernet frame types
+#
+# The EtherType is a two-octet field of Ethernet frames used to indicate
+# which protocol is contained in their payload.
+#
+# More entries, mostly historical, can be found on:
+#      https://www.iana.org/assignments/ieee-802-numbers/
+#      http://standards-oui.ieee.org/ethertype/eth.txt
+#
+# <name>       <hexnumber> <alias1>...<alias35> # Comment
+#
+IPv4           0800    ip ip4  # IP (IPv4)
+X25            0805
+ARP            0806    ether-arp # Address Resolution Protocol
+FR_ARP         0808            # Frame Relay ARP [RFC1701]
+BPQ            08FF            # G8BPQ AX.25 over Ethernet
+TRILL          22F3            # TRILL [RFC6325]
+L2-IS-IS       22F4            # TRILL IS-IS [RFC6325]
+TEB            6558            # Transparent Ethernet Bridging [RFC1701]
+RAW_FR         6559            # Raw Frame Relay [RFC1701]
+RARP           8035            # Reverse ARP [RFC903]
+ATALK          809B            # Appletalk
+AARP           80F3            # Appletalk Address Resolution Protocol
+802_1Q         8100    8021q 1q 802.1q dot1q # VLAN tagged frame [802.1q]
+IPX            8137            # Novell IPX
+NetBEUI                8191            # NetBEUI
+IPv6           86DD    ip6     # IP version 6
+PPP            880B            # Point-to-Point Protocol
+MPLS           8847            # MPLS [RFC5332]
+MPLS_MULTI     8848            # MPLS with upstream-assigned label [RFC5332]
+ATMMPOA                884C            # MultiProtocol over ATM
+PPP_DISC       8863            # PPP over Ethernet discovery stage
+PPP_SES                8864            # PPP over Ethernet session stage
+ATMFATE                8884            # Frame-based ATM Transport over Ethernet
+EAPOL          888E            # EAP over LAN [802.1x]
+S-TAG          88A8            # QinQ Service VLAN tag identifier [802.1q]
+EAP_PREAUTH    88C7            # EAPOL Pre-Authentication [802.11i]
+LLDP           88CC            # Link Layer Discovery Protocol [802.1ab]
+MACSEC         88E5            # Media Access Control Security [802.1ae]
+PBB            88E7    macinmac # Provider Backbone Bridging [802.1ah]
+MVRP           88F5            # Multiple VLAN Registration Protocol [802.1q]
+PTP            88F7            # Precision Time Protocol
+FCOE           8906            # Fibre Channel over Ethernet
+FIP            8914            # FCoE Initialization Protocol
+ROCE           8915            # RDMA over Converged Ethernet
index 15e41fbedd29e0c6d88d1d150a424ea17b9560e1..ed958c8664929192cba584b82dd14dac4ad2dfe2 100644 (file)
 #
 # Example, for ssh bruteforce (in section [sshd] of `jail.local`): 
 #   action = %(known/action)s
-#            %(action_abuseipdb)s[abuseipdb_apikey="my-api-key", abuseipdb_category="18,22"]
+#            abuseipdb[abuseipdb_apikey="my-api-key", abuseipdb_category="18,22"]
 #
-# See below for catagories.
+# See below for categories.
 #
-# Original Ref: https://wiki.shaunc.com/wikka.php?wakka=ReportingToAbuseIPDBWithFail2Ban
 # Added to fail2ban by Andrew James Collett (ajcollett)
 
-## abuseIPDB Catagories, `the abuseipdb_category` MUST be set in the jail.conf action call.
+## abuseIPDB Categories, `the abuseipdb_category` MUST be set in the jail.conf action call.
 # Example, for ssh bruteforce: action = %(action_abuseipdb)s[abuseipdb_category="18,22"]
 # ID   Title   Description
 # 3      Fraud Orders
 
 [Definition]
 
+# bypass action for restored tickets
+norestored = 1
+
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart =
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =
@@ -80,13 +82,10 @@ actioncheck =
 #          wherever you install the helper script. For the PHP helper script, see
 #          <https://wiki.shaunc.com/wikka.php?wakka=ReportingToAbuseIPDBWithFail2Ban>
 #
-#          --ciphers ecdhe_ecdsa_aes_256_sha is used to workaround a
-#          "NSS error -12286" from curl as it attempts to connect using
-#          SSLv3. See https://www.centos.org/forums/viewtopic.php?t=52732
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionban = curl --fail --ciphers ecdhe_ecdsa_aes_256_sha --data 'key=<abuseipdb_apikey>' --data-urlencode 'comment=<matches>' --data 'ip=<ip>' --data 'category=<abuseipdb_category>' "https://www.abuseipdb.com/report/json"
+actionban = lgm=$(printf '%%.1000s\n...' "<matches>"); curl -sSf "https://api.abuseipdb.com/api/v2/report" -H "Accept: application/json" -H "Key: <abuseipdb_apikey>" --data-urlencode "comment=$lgm" --data-urlencode "ip=<ip>" --data "categories=<abuseipdb_category>"
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
@@ -101,5 +100,5 @@ actionunban =
 # Notes    Your API key from abuseipdb.com
 # Values:  STRING  Default: None
 # Register for abuseipdb [https://www.abuseipdb.com], get api key and set below.
-# You will need to set the catagory in the action call.
+# You will need to set the category in the action call.
 abuseipdb_apikey =
index 473fbf335faa64c03dc2f3d1d74f36a244072542..805120e9421d438ee5b62353f8f711c8faaa58a0 100644 (file)
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 import sys
-if sys.version_info < (2, 7):
+if sys.version_info < (2, 7): # pragma: no cover
        raise ImportError("badips.py action requires Python >= 2.7")
 import json
 import threading
 import logging
-if sys.version_info >= (3, ):
+if sys.version_info >= (3, ): # pragma: 2.x no cover
        from urllib.request import Request, urlopen
        from urllib.parse import urlencode
        from urllib.error import HTTPError
-else:
+else: # pragma: 3.x no cover
        from urllib2 import Request, urlopen, HTTPError
        from urllib import urlencode
 
-from fail2ban.server.actions import ActionBase
+from fail2ban.server.actions import Actions, ActionBase, BanTicket
+from fail2ban.helpers import splitwords, str2LogLevel
+
 
 
 class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
@@ -52,9 +54,6 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
        age : str, optional
                Age of last report for bad IPs, per badips.com syntax.
                Default "24h" (24 hours)
-       key : str, optional
-               Key issued by badips.com to report bans, for later retrieval
-               of personalised content.
        banaction : str, optional
                Name of banaction to use for blacklisting bad IPs. If `None`,
                no blacklist of IPs will take place.
@@ -65,11 +64,17 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                "postfix", but want to use whole "mail" category for blacklist.
                Default `category`.
        bankey : str, optional
-               Key issued by badips.com to blacklist IPs reported with the
-               associated key.
+               Key issued by badips.com to retrieve personal list
+               of blacklist IPs.
        updateperiod : int, optional
                Time in seconds between updating bad IPs blacklist.
                Default 900 (15 minutes)
+       loglevel : int/str, optional
+               Log level of the message when an IP is (un)banned.
+               Default `DEBUG`.
+               Can be also supplied as two-value list (comma- or space separated) to
+               provide level of the summary message when a group of IPs is (un)banned.
+               Example `DEBUG,INFO`.
        agent : str, optional
                User agent transmitted to server.
                Default `Fail2Ban/ver.`
@@ -81,13 +86,13 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
        """
 
        TIMEOUT = 10
-       _badips = "http://www.badips.com"
+       _badips = "https://www.badips.com"
        def _Request(self, url, **argv):
                return Request(url, headers={'User-Agent': self.agent}, **argv)
 
-       def __init__(self, jail, name, category, score=3, age="24h", key=None,
-               banaction=None, bancategory=None, bankey=None, updateperiod=900, agent="Fail2Ban", 
-               timeout=TIMEOUT):
+       def __init__(self, jail, name, category, score=3, age="24h",
+               banaction=None, bancategory=None, bankey=None, updateperiod=900, 
+               loglevel='DEBUG', agent="Fail2Ban", timeout=TIMEOUT):
                super(BadIPsAction, self).__init__(jail, name)
 
                self.timeout = timeout
@@ -95,10 +100,12 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                self.category = category
                self.score = score
                self.age = age
-               self.key = key
                self.banaction = banaction
                self.bancategory = bancategory or category
                self.bankey = bankey
+               loglevel = splitwords(loglevel)
+               self.sumloglevel = str2LogLevel(loglevel[-1])
+               self.loglevel = str2LogLevel(loglevel[0])
                self.updateperiod = updateperiod
 
                self._bannedips = set()
@@ -114,6 +121,15 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                except Exception as e: # pragma: no cover
                        return False, e
 
+       def logError(self, response, what=''): # pragma: no cover - sporadical (502: Bad Gateway, etc)
+               messages = {}
+               try:
+                       messages = json.loads(response.read().decode('utf-8'))
+               except:
+                       pass
+               self._logSys.error(
+                       "%s. badips.com response: '%s'", what,
+                               messages.get('err', 'Unknown'))
 
        def getCategories(self, incParents=False):
                """Get badips.com categories.
@@ -133,11 +149,8 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                try:
                        response = urlopen(
                                self._Request("/".join([self._badips, "get", "categories"])), timeout=self.timeout)
-               except HTTPError as response:
-                       messages = json.loads(response.read().decode('utf-8'))
-                       self._logSys.error(
-                               "Failed to fetch categories. badips.com response: '%s'",
-                               messages['err'])
+               except HTTPError as response: # pragma: no cover
+                       self.logError(response, "Failed to fetch categories")
                        raise
                else:
                        response_json = json.loads(response.read().decode('utf-8'))
@@ -186,12 +199,10 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                                urlencode({'age': age})])
                        if key:
                                url = "&".join([url, urlencode({'key': key})])
+                       self._logSys.debug('badips.com: get list, url: %r', url)
                        response = urlopen(self._Request(url), timeout=self.timeout)
-               except HTTPError as response:
-                       messages = json.loads(response.read().decode('utf-8'))
-                       self._logSys.error(
-                               "Failed to fetch bad IP list. badips.com response: '%s'",
-                               messages['err'])
+               except HTTPError as response: # pragma: no cover
+                       self.logError(response, "Failed to fetch bad IP list")
                        raise
                else:
                        return set(response.read().decode('utf-8').split())
@@ -219,7 +230,7 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
 
        @bancategory.setter
        def bancategory(self, bancategory):
-               if bancategory not in self.getCategories(incParents=True):
+               if bancategory != "any" and bancategory not in self.getCategories(incParents=True):
                        self._logSys.error("Category name '%s' not valid. "
                                "see badips.com for list of valid categories",
                                bancategory)
@@ -271,13 +282,8 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
        def _banIPs(self, ips):
                for ip in ips:
                        try:
-                               self._jail.actions[self.banaction].ban({
-                                       'ip': ip,
-                                       'failures': 0,
-                                       'matches': "",
-                                       'ipmatches': "",
-                                       'ipjailmatches': "",
-                               })
+                               ai = Actions.ActionInfo(BanTicket(ip), self._jail)
+                               self._jail.actions[self.banaction].ban(ai)
                        except Exception as e:
                                self._logSys.error(
                                        "Error banning IP %s for jail '%s' with action '%s': %s",
@@ -285,27 +291,22 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                                        exc_info=self._logSys.getEffectiveLevel()<=logging.DEBUG)
                        else:
                                self._bannedips.add(ip)
-                               self._logSys.info(
+                               self._logSys.log(self.loglevel,
                                        "Banned IP %s for jail '%s' with action '%s'",
                                        ip, self._jail.name, self.banaction)
 
        def _unbanIPs(self, ips):
                for ip in ips:
                        try:
-                               self._jail.actions[self.banaction].unban({
-                                       'ip': ip,
-                                       'failures': 0,
-                                       'matches': "",
-                                       'ipmatches': "",
-                                       'ipjailmatches': "",
-                               })
+                               ai = Actions.ActionInfo(BanTicket(ip), self._jail)
+                               self._jail.actions[self.banaction].unban(ai)
                        except Exception as e:
-                               self._logSys.info(
+                               self._logSys.error(
                                        "Error unbanning IP %s for jail '%s' with action '%s': %s",
                                        ip, self._jail.name, self.banaction, e,
                                        exc_info=self._logSys.getEffectiveLevel()<=logging.DEBUG)
                        else:
-                               self._logSys.info(
+                               self._logSys.log(self.loglevel,
                                        "Unbanned IP %s for jail '%s' with action '%s'",
                                        ip, self._jail.name, self.banaction)
                        finally:
@@ -333,12 +334,19 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                                ips = self.getList(
                                        self.bancategory, self.score, self.age, self.bankey)
                                # Remove old IPs no longer listed
-                               self._unbanIPs(self._bannedips - ips)
+                               s = self._bannedips - ips
+                               m = len(s)
+                               self._unbanIPs(s)
                                # Add new IPs which are now listed
-                               self._banIPs(ips - self._bannedips)
-
-                               self._logSys.info(
-                                       "Updated IPs for jail '%s'. Update again in %i seconds",
+                               s = ips - self._bannedips
+                               p = len(s)
+                               self._banIPs(s)
+                               if m != 0 or p != 0:
+                                       self._logSys.log(self.sumloglevel,
+                                               "Updated IPs for jail '%s' (-%d/+%d)",
+                                               self._jail.name, m, p)
+                               self._logSys.debug(
+                                       "Next update for jail '%' in %i seconds",
                                        self._jail.name, self.updateperiod)
                        finally:
                                self._timer = threading.Timer(self.updateperiod, self.update)
@@ -368,19 +376,15 @@ class BadIPsAction(ActionBase): # pragma: no cover - may be unavailable
                        Any issues with badips.com request.
                """
                try:
-                       url = "/".join([self._badips, "add", self.category, aInfo['ip']])
-                       if self.key:
-                               url = "?".join([url, urlencode({'key': self.key})])
+                       url = "/".join([self._badips, "add", self.category, str(aInfo['ip'])])
+                       self._logSys.debug('badips.com: ban, url: %r', url)
                        response = urlopen(self._Request(url), timeout=self.timeout)
-               except HTTPError as response:
-                       messages = json.loads(response.read().decode('utf-8'))
-                       self._logSys.error(
-                               "Response from badips.com report: '%s'",
-                               messages['err'])
+               except HTTPError as response: # pragma: no cover
+                       self.logError(response, "Failed to ban")
                        raise
                else:
                        messages = json.loads(response.read().decode('utf-8'))
-                       self._logSys.info(
+                       self._logSys.debug(
                                "Response from badips.com report: '%s'",
                                messages['suc'])
 
index 2f31d8b9bf201d4b40d59c778901cbd380ee1e10..ba6d427b4c03342eb9d95b2693a1f3013e9015ce 100644 (file)
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =
@@ -54,7 +54,7 @@ actioncheck =
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionban = curl --fail --data-urlencode 'server=<email>' --data 'apikey=<apikey>' --data 'service=<service>' --data 'ip=<ip>' --data-urlencode 'logs=<matches>' --data 'format=text' --user-agent "<agent>" "https://www.blocklist.de/en/httpreports.html"
+actionban = curl --fail --data-urlencode "server=<email>" --data "apikey=<apikey>" --data "service=<service>" --data "ip=<ip>" --data-urlencode "logs=<matches><br>" --data 'format=text' --user-agent "<agent>" "https://www.blocklist.de/en/httpreports.html"
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
@@ -64,10 +64,8 @@ actionban = curl --fail --data-urlencode 'server=<email>' --data 'apikey=<apikey
 #
 actionunban =
 
-[Init]
-
 # Option:  email
-# Notes    server email address, as per blocklise.de account
+# Notes    server email address, as per blocklist.de account
 # Values:  STRING  Default: None
 #
 #email =
index cbd6a15d310d3800fdc5e0c5656ff952d6e25b59..444192d3aceb1afdb149fcaec0f2348815421c12 100644 (file)
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
-actionstart = ipfw show | fgrep -c -m 1 -s 'table(<table>)' > /dev/null 2>&1 || ( ipfw show | awk 'BEGIN { b = <lowest_rule_num> } { if ($1 < b) {} else if ($1 == b) { b = $1 + 1 } else { e = b } } END { if (e) exit e <br> else exit b }'; num=$?; ipfw -q add $num <blocktype> <block> from table\(<table>\) to me <port>; echo $num > "<startstatefile>" )
+actionstart = ipfw show | fgrep -c -m 1 -s 'table(<table>)' > /dev/null 2>&1 || (
+    num=$(ipfw show | awk 'BEGIN { b = <lowest_rule_num> } { if ($1 == b) { b = $1 + 1 } } END { print b }');
+    ipfw -q add "$num" <blocktype> <block> from table\(<table>\) to me <port>; echo "$num" > "<startstatefile>"
+  )
 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =  [ ! -f <startstatefile> ] || ( read num < "<startstatefile>" <br> ipfw -q delete $num <br> rm "<startstatefile>" )
@@ -38,7 +41,7 @@ actioncheck =
 # Values:  CMD
 #
 # requires an ipfw rule like "deny ip from table(1) to me"
-actionban = e=`ipfw table <table> add <ip> 2>&1`; x=$?; [ $x -eq 0 -o "$e" = 'ipfw: setsockopt(IP_FW_TABLE_XADD): File exists' ] || { echo "$e" 1>&2; exit $x; }
+actionban = e=`ipfw table <table> add <ip> 2>&1`; x=$?; [ $x -eq 0 -o "$e" = 'ipfw: setsockopt(IP_FW_TABLE_XADD): File exists' ] || echo "$e" | grep -q "record already exists" || { echo "$e" 1>&2; exit $x; }
 
 
 # Option:  actionunban
@@ -47,7 +50,7 @@ actionban = e=`ipfw table <table> add <ip> 2>&1`; x=$?; [ $x -eq 0 -o "$e" = 'ip
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionunban = e=`ipfw table <table> delete <ip> 2>&1`; x=$?; [ $x -eq 0 -o "$e" = 'ipfw: setsockopt(IP_FW_TABLE_XDEL): No such process' ] || { echo "$e" 1>&2; exit $x; }
+actionunban = e=`ipfw table <table> delete <ip> 2>&1`; x=$?; [ $x -eq 0 -o "$e" = 'ipfw: setsockopt(IP_FW_TABLE_XDEL): No such process' ] || echo "$e" | grep -q "record not found" || { echo "$e" 1>&2; exit $x; }
 
 [Init]
 # Option:  table
index 89df5b9e434a7e161d87ec5b7fad93771f18ae67..361cb177733daede33164385df01f53850ccb60e 100644 (file)
@@ -5,7 +5,7 @@
 #
 # Please set jail.local's permission to 640 because it contains your CF API key.
 #
-# This action depends on curl.
+# This action depends on curl (and optionally jq).
 # Referenced from http://www.normyee.net/blog/2012/02/02/adding-cloudflare-support-to-fail2ban by NORM YEE
 #
 # To get your CloudFlare API Key: https://www.cloudflare.com/a/account/my-account
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart =
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =
@@ -43,9 +43,9 @@ actioncheck =
 # API v1
 #actionban = curl -s -o /dev/null https://www.cloudflare.com/api_json.html -d 'a=ban' -d 'tkn=<cftoken>' -d 'email=<cfuser>' -d 'key=<ip>'
 # API v4
-actionban = curl -s -o /dev/null -X POST -H 'X-Auth-Email: <cfuser>' -H 'X-Auth-Key: <cftoken>' \
-            -H 'Content-Type: application/json' -d '{ "mode": "block", "configuration": { "target": "ip", "value": "<ip>" } }' \
-            https://api.cloudflare.com/client/v4/user/firewall/access_rules/rules
+actionban = curl -s -o /dev/null -X POST <_cf_api_prms> \
+            -d '{"mode":"block","configuration":{"target":"ip","value":"<ip>"},"notes":"Fail2Ban <name>"}' \
+            <_cf_api_url>
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
@@ -58,9 +58,14 @@ actionban = curl -s -o /dev/null -X POST -H 'X-Auth-Email: <cfuser>' -H 'X-Auth-
 # API v1
 #actionunban = curl -s -o /dev/null https://www.cloudflare.com/api_json.html -d 'a=nul' -d 'tkn=<cftoken>' -d 'email=<cfuser>' -d 'key=<ip>'
 # API v4
-actionunban = curl -s -o /dev/null -X DELETE -H 'X-Auth-Email: <cfuser>' -H 'X-Auth-Key: <cftoken>' \
-              https://api.cloudflare.com/client/v4/user/firewall/access_rules/rules/$(curl -s -X GET -H 'X-Auth-Email: <cfuser>' -H 'X-Auth-Key: <cftoken>' \
-              'https://api.cloudflare.com/client/v4/user/firewall/access_rules/rules?mode=block&configuration_target=ip&configuration_value=<ip>&page=1&per_page=1' | cut -d'"' -f6)
+actionunban = id=$(curl -s -X GET <_cf_api_prms> \
+                   "<_cf_api_url>?mode=block&configuration_target=ip&configuration_value=<ip>&page=1&per_page=1&notes=Fail2Ban%%20<name>" \
+                   | { jq -r '.result[0].id' 2>/dev/null || tr -d '\n' | sed -nE 's/^.*"result"\s*:\s*\[\s*\{\s*"id"\s*:\s*"([^"]+)".*$/\1/p'; })
+              if [ -z "$id" ]; then echo "<name>: id for <ip> cannot be found"; exit 0; fi;
+              curl -s -o /dev/null -X DELETE <_cf_api_prms> "<_cf_api_url>/$id"
+
+_cf_api_url = https://api.cloudflare.com/client/v4/user/firewall/access_rules/rules
+_cf_api_prms = -H 'X-Auth-Email: <cfuser>' -H 'X-Auth-Key: <cftoken>' -H 'Content-Type: application/json'
 
 [Init]
 
index 1f74d635499071389c256415797d730c42ebe856..4d73b058590eb4fb1cc0587a3c6a38dae075186c 100644 (file)
@@ -41,13 +41,13 @@ debug = 0
 norestored = 1
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart =
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =
@@ -102,7 +102,7 @@ logpath = /dev/null
 # Notes.:  Your system mail command. Is passed 2 args: subject and recipient
 # Values:  CMD
 #
-mailcmd = mail -s
+mailcmd = mail -E 'set escape' -s
 
 # Option:  mailargs
 # Notes.:  Additional arguments to mail command. e.g. for standard Unix mail:
index 4f2e09caea2580f1ffa4c9d9334084b1f4d722a4..3d5a7a53a965a2fb5b1474e7f65c5f08a6bd7edd 100644 (file)
 norestored = 1
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart =
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = if [ -f <tmpfile>.buffer ]; then
@@ -179,7 +179,7 @@ tcpflags =
 # Notes.:  Your system mail command. Is passed 2 args: subject and recipient
 # Values:  CMD
 #
-mailcmd = mail -s
+mailcmd = mail -E 'set escape' -s
 
 # Option:  mailargs
 # Notes.:  Additional arguments to mail command. e.g. for standard Unix mail:
index 41250c276695d465c8302b002848e6a8eb817d16..eb07e320ffe26a7d80a0e88565872dfab88daa4d 100644 (file)
@@ -7,7 +7,7 @@
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = if [ ! -z '<target>' ]; then touch <target>; fi;
@@ -22,7 +22,7 @@ actionflush = printf %%b "-*\n" <to_target>
               echo "%(debug)s clear all"
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = if [ ! -z '<target>' ]; then rm -f <target>; fi;
index dcf203756e73a389878e67f4cb10e9a24c13bd01..c89a0243312490a707ba96a5f7fbca2c773feed2 100644 (file)
@@ -18,7 +18,7 @@ before = firewallcmd-common.conf
 
 [Definition]
 
-actionstart = ipset create <ipmset> hash:ip timeout <bantime><familyopt>
+actionstart = ipset create <ipmset> hash:ip timeout <default-ipsettime> <familyopt>
               firewall-cmd --direct --add-rule <family> filter <chain> 0 <actiontype> -m set --match-set <ipmset> src -j <blocktype>
 
 actionflush = ipset flush <ipmset>
@@ -27,7 +27,9 @@ actionstop = firewall-cmd --direct --remove-rule <family> filter <chain> 0 <acti
              <actionflush>
              ipset destroy <ipmset>
 
-actionban = ipset add <ipmset> <ip> timeout <bantime> -exist
+actionban = ipset add <ipmset> <ip> timeout <ipsettime> -exist
+
+# actionprolong = %(actionban)s
 
 actionunban = ipset del <ipmset> <ip> -exist
 
@@ -40,11 +42,19 @@ actionunban = ipset del <ipmset> <ip> -exist
 #
 chain = INPUT_direct
 
-# Option: bantime
-# Notes:  specifies the bantime in seconds (handled internally rather than by fail2ban)
-# Values:  [ NUM ]  Default: 600
+# Option: default-ipsettime
+# Notes:  specifies default timeout in seconds (handled default ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (no timeout, managed by fail2ban by unban)
+default-ipsettime = 0
+
+# Option: ipsettime
+# Notes:  specifies ticket timeout (handled ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (managed by fail2ban by unban)
+ipsettime = 0
 
-bantime = 600
+# expresion to caclulate timeout from bantime, example:
+# banaction = %(known/banaction)s[ipsettime='<timeout-bantime>']
+timeout-bantime = $([ "<bantime>" -le 2147483 ] && echo "<bantime>" || echo 0)
 
 # Option: actiontype
 # Notes.: defines additions to the blocking rule
@@ -61,7 +71,7 @@ allports = -p <protocol>
 # Option: multiport
 # Notes.: addition to block access only to specific ports
 # Usage.: use in jail config:  banaction = firewallcmd-ipset[actiontype=<multiport>]
-multiport = -p <protocol> -m multiport --dports <port>
+multiport = -p <protocol> -m multiport --dports "$(echo '<port>' | sed s/:/-/g)"
 
 ipmset = f2b-<name>
 familyopt =
@@ -69,7 +79,7 @@ familyopt =
 [Init?family=inet6]
 
 ipmset = f2b-<name>6
-familyopt = <sp>family inet6
+familyopt = family inet6
 
 
 # DEV NOTES:
index 81540e5b70a0fe8a250f09e3148e2243c8889877..0c401f1bd7656fa2503a58676dba4cdb24feb2b4 100644 (file)
@@ -11,9 +11,9 @@ before = firewallcmd-common.conf
 
 actionstart = firewall-cmd --direct --add-chain <family> filter f2b-<name>
               firewall-cmd --direct --add-rule <family> filter f2b-<name> 1000 -j RETURN
-              firewall-cmd --direct --add-rule <family> filter <chain> 0 -m conntrack --ctstate NEW -p <protocol> -m multiport --dports <port> -j f2b-<name>
+              firewall-cmd --direct --add-rule <family> filter <chain> 0 -m conntrack --ctstate NEW -p <protocol> -m multiport --dports "$(echo '<port>' | sed s/:/-/g)" -j f2b-<name>
 
-actionstop = firewall-cmd --direct --remove-rule <family> filter <chain> 0 -m conntrack --ctstate NEW -p <protocol> -m multiport --dports <port> -j f2b-<name>
+actionstop = firewall-cmd --direct --remove-rule <family> filter <chain> 0 -m conntrack --ctstate NEW -p <protocol> -m multiport --dports "$(echo '<port>' | sed s/:/-/g)" -j f2b-<name>
              firewall-cmd --direct --remove-rules <family> filter f2b-<name>
              firewall-cmd --direct --remove-chain <family> filter f2b-<name>
 
index b06f5ccd1752adeddca6424e6a4212836030376d..7b08603cac69c4b6d72186e05e83c593a376224a 100644 (file)
@@ -10,9 +10,9 @@ before = firewallcmd-common.conf
 
 actionstart = firewall-cmd --direct --add-chain <family> filter f2b-<name>
               firewall-cmd --direct --add-rule <family> filter f2b-<name> 1000 -j RETURN
-              firewall-cmd --direct --add-rule <family> filter <chain> 0 -m state --state NEW -p <protocol> -m multiport --dports <port> -j f2b-<name>
+              firewall-cmd --direct --add-rule <family> filter <chain> 0 -m state --state NEW -p <protocol> -m multiport --dports "$(echo '<port>' | sed s/:/-/g)" -j f2b-<name>
 
-actionstop = firewall-cmd --direct --remove-rule <family> filter <chain> 0 -m state --state NEW -p <protocol> -m multiport --dports <port> -j f2b-<name>
+actionstop = firewall-cmd --direct --remove-rule <family> filter <chain> 0 -m state --state NEW -p <protocol> -m multiport --dports "$(echo '<port>' | sed s/:/-/g)" -j f2b-<name>
              firewall-cmd --direct --remove-rules <family> filter f2b-<name>
              firewall-cmd --direct --remove-chain <family> filter f2b-<name>
 
index badfee831b2aac5e24dc4fb1c25fbed0576ff060..21e4508729ecd1302d1fb48a54bce41a869068c7 100644 (file)
@@ -1,6 +1,6 @@
 # Fail2Ban configuration file
 #
-# Author: Donald Yandt 
+# Authors: Donald Yandt, Sergey G. Brester
 # 
 # Because of the rich rule commands requires firewalld-0.3.1+
 # This action uses firewalld rich-rules which gives you a cleaner iptables since it stores rules according to zones and not
 #
 # If you use the --permanent rule you get a xml file in /etc/firewalld/zones/<zone>.xml that can be shared and parsed easliy
 #
-# Example commands to view rules:
-# firewall-cmd [--zone=<zone>] --list-rich-rules
-# firewall-cmd [--zone=<zone>] --list-all
-# firewall-cmd [--zone=zone] --query-rich-rule='rule'
+# This is an derivative of firewallcmd-rich-rules.conf, see there for details and other parameters.
 
 [INCLUDES]
 
-before = firewallcmd-common.conf
+before = firewallcmd-rich-rules.conf
 
 [Definition]
 
-actionstart = 
-
-actionstop = 
-
-actioncheck = 
-
-# you can also use zones and/or service names. 
-#
-# zone example: 
-# firewall-cmd --zone=<zone> --add-rich-rule="rule family='<family>' source address='<ip>' port port='<port>' protocol='<protocol>' log prefix='f2b-<name>' level='<level>' limit value='<rate>/m' <rich-blocktype>"
-#
-# service name example:
-# firewall-cmd --zone=<zone> --add-rich-rule="rule family='<family>' source address='<ip>' service name='<service>' log prefix='f2b-<name>' level='<level>' limit value='<rate>/m' <rich-blocktype>"
-#
-# Because rich rules can only handle single or a range of ports we must split ports and execute the command for each port. Ports can be single and ranges separated by a comma or space for an example: http, https, 22-60, 18 smtp 
-
-actionban = ports="<port>"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --add-rich-rule="rule family='<family>' source address='<ip>' port port='$p' protocol='<protocol>' log prefix='f2b-<name>' level='<level>' limit value='<rate>/m' <rich-blocktype>"; done
-          
-actionunban = ports="<port>"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --remove-rich-rule="rule family='<family>' source address='<ip>' port port='$p' protocol='<protocol>' log prefix='f2b-<name>' level='<level>' limit value='<rate>/m' <rich-blocktype>"; done
+rich-suffix = log prefix='f2b-<name>' level='<level>' limit value='<rate>/m' <rich-blocktype>
 
 [Init]
 
@@ -48,4 +27,3 @@ level = info
 
 # log rate per minute
 rate = 1
-
index bed71797da8ab2d1d76396fb2428862dc9d0b3cc..803d7d12cdf87949ab544d2b35e7d3ba8328666f 100644 (file)
@@ -35,8 +35,10 @@ actioncheck =
 #
 # Because rich rules can only handle single or a range of ports we must split ports and execute the command for each port. Ports can be single and ranges separated by a comma or space for an example: http, https, 22-60, 18 smtp 
 
-actionban = ports="<port>"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --add-rich-rule="rule family='<family>' source address='<ip>' port port='$p' protocol='<protocol>' <rich-blocktype>"; done
-          
-actionunban = ports="<port>"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --remove-rich-rule="rule family='<family>' source address='<ip>' port port='$p' protocol='<protocol>' <rich-blocktype>"; done
+fwcmd_rich_rule = rule family='<family>' source address='<ip>' port port='$p' protocol='<protocol>' %(rich-suffix)s
 
+actionban = ports="$(echo '<port>' | sed s/:/-/g)"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --add-rich-rule="%(fwcmd_rich_rule)s"; done
+          
+actionunban = ports="$(echo '<port>' | sed s/:/-/g)"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --remove-rich-rule="%(fwcmd_rich_rule)s"; done
 
+rich-suffix = <rich-blocktype>
\ No newline at end of file
index 5799d9d36c81e212d13ab3a9303652235713a0b2..03422a87724317b0dc91db9c7e70492a0482b5a7 100644 (file)
@@ -1,16 +1,17 @@
-[DEFAULT]\r
-\r
-# Usage:\r
-#   _grep_logs_args = 'test'\r
-#   (printf %%b "Log-excerpt contains 'test':\n"; %(_grep_logs)s; printf %%b "Log-excerpt contains 'test':\n") | mail ...\r
-#\r
-_grep_logs = logpath="<logpath>"; grep <grepopts> -E %(_grep_logs_args)s $logpath | <greplimit>\r
-_grep_logs_args = "(^|[^0-9a-fA-F:])$(echo '<ip>' | sed 's/\./\\./g')([^0-9a-fA-F:]|$)"\r
-\r
-# Used for actions, that should not by executed if ticket was restored:\r
-_bypass_if_restored = if [ '<restored>' = '1' ]; then exit 0; fi;\r
-\r
-[Init]\r
-greplimit = tail -n <grepmax>\r
-grepmax = 1000\r
-grepopts = -m <grepmax>\r
+[DEFAULT]
+
+# Usage:
+#   _grep_logs_args = 'test'
+#   (printf %%b "Log-excerpt contains 'test':\n"; %(_grep_logs)s; printf %%b "Log-excerpt contains 'test':\n") | mail ...
+#
+_grep_logs = logpath="<logpath>"; grep <grepopts> %(_grep_logs_args)s $logpath | <greplimit>
+# options `-wF` used to match only whole words and fixed string (not as pattern)
+_grep_logs_args = -wF "<ip>"
+
+# Used for actions, that should not by executed if ticket was restored:
+_bypass_if_restored = if [ '<restored>' = '1' ]; then exit 0; fi;
+
+[Init]
+greplimit = tail -n <grepmax>
+grepmax = 1000
+grepopts = -m <grepmax>
index 5cca6529b8452a176d9d06ad2a310ff18d8f999b..8eebbaffe2acc6105c73784d941684d41c80b440 100644 (file)
@@ -8,13 +8,13 @@
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = 
@@ -31,7 +31,7 @@ actioncheck =
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionban = IP=<ip> && printf %%b "<daemon_list>: $IP\n" >> <file>
+actionban = printf %%b "<daemon_list>: <ip_value>\n" >> <file>
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
@@ -39,7 +39,7 @@ actionban = IP=<ip> && printf %%b "<daemon_list>: $IP\n" >> <file>
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionunban = IP=$(echo <ip> | sed 's/\./\\./g') && sed -i "/^<daemon_list>: $IP$/d" <file>
+actionunban = IP=$(echo "<ip_value>" | sed 's/[][\.]/\\\0/g') && sed -i "/^<daemon_list>: $IP$/d" <file>
 
 [Init]
 
@@ -54,3 +54,9 @@ file = /etc/hosts.deny
 #          for hosts.deny/hosts_access. Default is all services.
 # Values:  STR  Default: ALL
 daemon_list = ALL
+
+# internal variable IP (to differentiate the IPv4 and IPv6 syntax, where it is enclosed in brackets):
+ip_value = <ip>
+
+[Init?family=inet6]
+ip_value = [<ip>]
index 61420e38a028d931dcef2f50c26e5aa395c941d1..02091d60efec526a0233883f53d746b964d484aa 100644 (file)
@@ -9,7 +9,7 @@
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 # enable IPF if not already enabled
@@ -17,7 +17,7 @@ actionstart = /sbin/ipf -E
 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 # don't disable IPF with "/sbin/ipf -D", there may be other filters in use
index 37625209f5fcb7dbd7fd68ed96178138ee3287b6..956b154b087530ff5942b26d6d7324767f86bb30 100644 (file)
@@ -8,14 +8,14 @@
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = 
 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = 
index dbea5984024865c9e4d167cdaab98238f8d5c824..caf9ab81299b11a975837443bbe381358e3c94cc 100644 (file)
@@ -14,7 +14,7 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = <iptables> -N f2b-<name>
@@ -22,7 +22,7 @@ actionstart = <iptables> -N f2b-<name>
               <iptables> -I <chain> -p <protocol> -j f2b-<name>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -p <protocol> -j f2b-<name>
index 30353f36605cc18ccfe488e6018ec64c2659c8bc..99ebbf8c1113a030d8cdc0c89304d1ab76daf7b3 100644 (file)
@@ -24,7 +24,7 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = ipset --create f2b-<name> iphash
@@ -38,7 +38,7 @@ actionstart = ipset --create f2b-<name> iphash
 actionflush = ipset --flush f2b-<name>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -p <protocol> -m multiport --dports <port> -m set --match-set f2b-<name> src -j <blocktype>
index b761ad8c1bea2dbee079931e5e705fc4ddd4a514..67d7947b2994a33e469461a586dfb58132d16b18 100644 (file)
@@ -23,10 +23,10 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
-actionstart = ipset create <ipmset> hash:ip timeout <bantime><familyopt>
+actionstart = ipset create <ipmset> hash:ip timeout <default-ipsettime> <familyopt>
               <iptables> -I <chain> -m set --match-set <ipmset> src -j <blocktype>
 
 # Option:  actionflush
@@ -36,7 +36,7 @@ actionstart = ipset create <ipmset> hash:ip timeout <bantime><familyopt>
 actionflush = ipset flush <ipmset>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -m set --match-set <ipmset> src -j <blocktype>
@@ -49,7 +49,9 @@ actionstop = <iptables> -D <chain> -m set --match-set <ipmset> src -j <blocktype
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionban = ipset add <ipmset> <ip> timeout <bantime> -exist
+actionban = ipset add <ipmset> <ip> timeout <ipsettime> -exist
+
+# actionprolong = %(actionban)s
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
@@ -61,11 +63,19 @@ actionunban = ipset del <ipmset> <ip> -exist
 
 [Init]
 
-# Option: bantime
-# Notes:  specifies the bantime in seconds (handled internally rather than by fail2ban)
-# Values:  [ NUM ]  Default: 600
-#
-bantime = 600
+# Option: default-ipsettime
+# Notes:  specifies default timeout in seconds (handled default ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (no timeout, managed by fail2ban by unban)
+default-ipsettime = 0
+
+# Option: ipsettime
+# Notes:  specifies ticket timeout (handled ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (managed by fail2ban by unban)
+ipsettime = 0
+
+# expresion to caclulate timeout from bantime, example:
+# banaction = %(known/banaction)s[ipsettime='<timeout-bantime>']
+timeout-bantime = $([ "<bantime>" -le 2147483 ] && echo "<bantime>" || echo 0)
 
 ipmset = f2b-<name>
 familyopt =
@@ -74,4 +84,4 @@ familyopt =
 [Init?family=inet6]
 
 ipmset = f2b-<name>6
-familyopt = <sp>family inet6
+familyopt = family inet6
index e337eedf94baa93fb152130e47c278d584f6b47c..876010273ffb57f9b54f7e124a076174e4a4f686 100644 (file)
@@ -23,10 +23,10 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
-actionstart = ipset create <ipmset> hash:ip timeout <bantime><familyopt>
+actionstart = ipset create <ipmset> hash:ip timeout <default-ipsettime> <familyopt>
               <iptables> -I <chain> -p <protocol> -m multiport --dports <port> -m set --match-set <ipmset> src -j <blocktype>
 
 # Option:  actionflush
@@ -36,7 +36,7 @@ actionstart = ipset create <ipmset> hash:ip timeout <bantime><familyopt>
 actionflush = ipset flush <ipmset>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -p <protocol> -m multiport --dports <port> -m set --match-set <ipmset> src -j <blocktype>
@@ -49,7 +49,9 @@ actionstop = <iptables> -D <chain> -p <protocol> -m multiport --dports <port> -m
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionban = ipset add <ipmset> <ip> timeout <bantime> -exist
+actionban = ipset add <ipmset> <ip> timeout <ipsettime> -exist
+
+# actionprolong = %(actionban)s
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
@@ -61,11 +63,19 @@ actionunban = ipset del <ipmset> <ip> -exist
 
 [Init]
 
-# Option: bantime
-# Notes:  specifies the bantime in seconds (handled internally rather than by fail2ban)
-# Values:  [ NUM ]  Default: 600
-#
-bantime = 600
+# Option: default-ipsettime
+# Notes:  specifies default timeout in seconds (handled default ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (no timeout, managed by fail2ban by unban)
+default-ipsettime = 0
+
+# Option: ipsettime
+# Notes:  specifies ticket timeout (handled ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (managed by fail2ban by unban)
+ipsettime = 0
+
+# expresion to caclulate timeout from bantime, example:
+# banaction = %(known/banaction)s[ipsettime='<timeout-bantime>']
+timeout-bantime = $([ "<bantime>" -le 2147483 ] && echo "<bantime>" || echo 0)
 
 ipmset = f2b-<name>
 familyopt =
@@ -74,4 +84,4 @@ familyopt =
 [Init?family=inet6]
 
 ipmset = f2b-<name>6
-familyopt = <sp>family inet6
+familyopt = family inet6
index 62c2b4b1d03e056450753bfd0ae4b7039a20a82d..df126dbf54b2ceb7921d2972001aa8449e4919f3 100644 (file)
@@ -16,7 +16,7 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = <iptables> -N f2b-<name>
@@ -34,7 +34,7 @@ actionflush = <iptables> -F f2b-<name>
               <iptables> -F f2b-<name>-log
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
index c05f6ffc490907e9fcd66627b991b45ca7e723bf..41b00c54125ee6a5d4b9a62be077f52481d83365 100644 (file)
@@ -11,7 +11,7 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = <iptables> -N f2b-<name>
@@ -19,7 +19,7 @@ actionstart = <iptables> -N f2b-<name>
               <iptables> -I <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
index 5b316807d95b7eafa7e0e6836081f80bc6e1afd3..39a17099e4ac9aa8277c83a33bf93c9042c312f4 100644 (file)
@@ -13,7 +13,7 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = <iptables> -N f2b-<name>
@@ -21,7 +21,7 @@ actionstart = <iptables> -N f2b-<name>
               <iptables> -I <chain> -m state --state NEW -p <protocol> --dport <port> -j f2b-<name>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -m state --state NEW -p <protocol> --dport <port> -j f2b-<name>
index 1970de14ee5297a91d40b30418d5108af5357037..97449222ce35ae9eee9848521ba9ff7d6e5b5b03 100644 (file)
@@ -12,7 +12,7 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 # Changing iptables rules requires root privileges. If fail2ban is
@@ -42,7 +42,7 @@ actionstart = if [ `id -u` -eq 0 ];then <iptables> -I <chain> -m recent --update
 actionflush = 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = echo / > /proc/net/xt_recent/<iptname>
index bf83e24a83f285d6f432ccf63d3cf5b8ffe85f96..8ed5fdadaab24be585406eadf4fbb99afc46cb19 100644 (file)
@@ -11,7 +11,7 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = <iptables> -N f2b-<name>
@@ -19,7 +19,7 @@ actionstart = <iptables> -N f2b-<name>
               <iptables> -I <chain> -p <protocol> --dport <port> -j f2b-<name>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = <iptables> -D <chain> -p <protocol> --dport <port> -j f2b-<name>
index 88cd623fbc2d33a150bef62a707107d4c2512874..79b841049cf830684b62263b7fdcbad36ebb6e8d 100644 (file)
 norestored = 1
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = printf %%b "Hi,\n
               The jail <name> has been started successfully.\n
               Output will be buffered until <lines> lines are available.\n
               Regards,\n
-              Fail2Ban"|mail -s "[Fail2Ban] <name>: started on <fq-hostname>" <dest>
+              Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: started on <fq-hostname>" <dest>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = if [ -f <tmpfile> ]; then
@@ -28,13 +28,13 @@ actionstop = if [ -f <tmpfile> ]; then
                  These hosts have been banned by Fail2Ban.\n
                  `cat <tmpfile>`
                  Regards,\n
-                 Fail2Ban"|mail -s "[Fail2Ban] <name>: Summary from <fq-hostname>" <dest>
+                 Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: Summary from <fq-hostname>" <dest>
                  rm <tmpfile>
              fi
              printf %%b "Hi,\n
              The jail <name> has been stopped.\n
              Regards,\n
-             Fail2Ban"|mail -s "[Fail2Ban] <name>: stopped on <fq-hostname>" <dest>
+             Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: stopped on <fq-hostname>" <dest>
 
 # Option:  actioncheck
 # Notes.:  command executed once before each actionban command
@@ -55,7 +55,7 @@ actionban = printf %%b "`date`: <ip> (<failures> failures)\n" >> <tmpfile>
                 These hosts have been banned by Fail2Ban.\n
                 `cat <tmpfile>`
                 \nRegards,\n
-                Fail2Ban"|mail -s "[Fail2Ban] <name>: Summary" <dest>
+                Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: Summary" <dest>
                 rm <tmpfile>
             fi
 
index b0d27afc39c5bf9bf4636f9dec6077c6ccbc256c..ecf3a5d9132a05fe132dff2595bf4e758a4831d4 100644 (file)
@@ -17,7 +17,7 @@ _whois = whois <ip> || echo "missing whois program"
 # character set before sending it to a mail program
 # make sure you have 'file' and 'iconv' commands installed when opting for that
 _whois_target_charset = UTF-8
-_whois_convert_charset = whois <ip> |
+_whois_convert_charset = (%(_whois)s) |
                          { WHOIS_OUTPUT=$(cat) ; WHOIS_CHARSET=$(printf %%b "$WHOIS_OUTPUT" | file -b --mime-encoding -) ; printf %%b "$WHOIS_OUTPUT" | iconv -f $WHOIS_CHARSET -t %(_whois_target_charset)s//TRANSLIT - ; }
 
 # choose between _whois and _whois_convert_charset in mail-whois-common.local
index 37e2d9b0171876b5a8c8d8993274851f580b95ff..d2818cb9b92d005974afb8f703654b535114ad0a 100644 (file)
@@ -15,7 +15,7 @@ before = mail-whois-common.conf
 norestored = 1
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = printf %%b "Hi,\n
@@ -24,7 +24,7 @@ actionstart = printf %%b "Hi,\n
               Fail2Ban" | <mailcmd> "[Fail2Ban] <name>: started on <fq-hostname>" <dest>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = printf %%b "Hi,\n
@@ -72,7 +72,7 @@ actionunban =
 # Notes.:  Your system mail command. Is passed 2 args: subject and recipient
 # Values:  CMD
 #
-mailcmd = mail -s
+mailcmd = mail -E 'set escape' -s
 
 # Default name of the chain
 #
index 1f69f4c6be74e9942ac4f02a2f3fe507e7281eaf..ab33b616dc66e34d20a1b70468f93f04d5608fcd 100644 (file)
@@ -14,22 +14,22 @@ before = mail-whois-common.conf
 norestored = 1
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = printf %%b "Hi,\n
               The jail <name> has been started successfully.\n
               Regards,\n
-              Fail2Ban"|mail -s "[Fail2Ban] <name>: started on <fq-hostname>" <dest>
+              Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: started on <fq-hostname>" <dest>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = printf %%b "Hi,\n
              The jail <name> has been stopped.\n
              Regards,\n
-             Fail2Ban"|mail -s "[Fail2Ban] <name>: stopped on <fq-hostname>" <dest>
+             Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: stopped on <fq-hostname>" <dest>
 
 # Option:  actioncheck
 # Notes.:  command executed once before each actionban command
@@ -49,7 +49,7 @@ actionban = printf %%b "Hi,\n
             Here is more information about <ip> :\n
             `%(_whois_command)s`\n
             Regards,\n
-            Fail2Ban"|mail -s "[Fail2Ban] <name>: banned <ip> from <fq-hostname>" <dest>
+            Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: banned <ip> from <fq-hostname>" <dest>
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
index cfc1cf65e36966647d6ea3b0ff41ba9bf6ac6c9b..f4838ddcb643af500132e6035d7dd30b1600e60a 100644 (file)
 norestored = 1
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = printf %%b "Hi,\n
               The jail <name> has been started successfully.\n
               Regards,\n
-              Fail2Ban"|mail -s "[Fail2Ban] <name>: started  on <fq-hostname>" <dest>
+              Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: started  on <fq-hostname>" <dest>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = printf %%b "Hi,\n
              The jail <name> has been stopped.\n
              Regards,\n
-             Fail2Ban"|mail -s "[Fail2Ban] <name>: stopped on <fq-hostname>" <dest>
+             Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: stopped on <fq-hostname>" <dest>
 
 # Option:  actioncheck
 # Notes.:  command executed once before each actionban command
@@ -43,7 +43,7 @@ actionban = printf %%b "Hi,\n
             The IP <ip> has just been banned by Fail2Ban after
             <failures> attempts against <name>.\n
             Regards,\n
-            Fail2Ban"|mail -s "[Fail2Ban] <name>: banned <ip> from <fq-hostname>" <dest>
+            Fail2Ban"|mail -E 'set escape' -s "[Fail2Ban] <name>: banned <ip> from <fq-hostname>" <dest>
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
index 8f3edf9e64d5e69252db8aadbf9b24782e6816a9..b0ab2cc384f9623cc04a4f922397723ac669e9ad 100644 (file)
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart =
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =
index 6c69da39f6dee12394d5d4ed80a83481890f1c61..908abe4006611d8a866de725b166321da12d6664 100644 (file)
@@ -6,17 +6,12 @@
 # Modified: Alexander Belykh <albel727@ngs.ru>
 #                       adapted for nftables
 #
+# Obsolete: superseded by nftables[type=allports]
 
 [INCLUDES]
 
-before = nftables-common.conf
+before = nftables.conf
 
 [Definition]
 
-# Option:  nftables_mode
-# Notes.:  additional expressions for nftables filter rule
-# Values:  nftables expressions
-#
-nftables_mode = meta l4proto <protocol>
-
-[Init]
+type = allports
index d1afafb3241b9f397bd3578421aeb013ff7a7b97..ba3ec92c9d7c6774f2544f71e16854425ed0b46b 100644 (file)
@@ -6,17 +6,12 @@
 # Modified: Alexander Belykh <albel727@ngs.ru>
 #                       adapted for nftables
 #
+# Obsolete: superseded by nftables[type=multiport]
 
 [INCLUDES]
 
-before = nftables-common.conf
+before = nftables.conf
 
 [Definition]
 
-# Option:  nftables_mode
-# Notes.:  additional expressions for nftables filter rule
-# Values:  nftables expressions
-#
-nftables_mode = <protocol> dport \{ <port> \}
-
-[Init]
+type = multiport
\ No newline at end of file
diff --git a/fail2ban/action.d/nftables.conf b/fail2ban/action.d/nftables.conf
new file mode 100644 (file)
index 0000000..77cf366
--- /dev/null
@@ -0,0 +1,203 @@
+# Fail2Ban configuration file
+#
+# Author: Daniel Black
+# Author: Cyril Jaquier
+# Modified: Yaroslav O. Halchenko <debian@onerussian.com>
+#                      made active on all ports from original iptables.conf
+# Modified: Alexander Belykh <albel727@ngs.ru>
+#                       adapted for nftables
+#
+# This is a included configuration file and includes the definitions for the nftables
+# used in all nftables based actions by default.
+#
+# The user can override the defaults in nftables-common.local
+# Example: redirect flow to honeypot
+#
+# [Init]
+# table_family = ip
+# chain_type = nat
+# chain_hook = prerouting
+# chain_priority = -50
+# blocktype = counter redirect to 2222
+
+[INCLUDES]
+
+after = nftables-common.local
+
+[Definition]
+
+# Option:  type
+# Notes.:  type of the action.
+# Values:  [ multiport | allports ]  Default: multiport
+#
+type = multiport
+
+rule_match-custom =
+rule_match-allports = meta l4proto \{ <protocol> \}
+rule_match-multiport = $proto dport \{ $(echo '<port>' | sed s/:/-/g) \}
+match = <rule_match-<type>>
+
+# Option:  rule_stat
+# Notes.:  statement for nftables filter rule.
+#          leaving it empty will block all (include udp and icmp)
+# Values:  nftables statement
+#
+rule_stat = %(match)s <addr_family> saddr @<addr_set> <blocktype>
+
+# optional interator over protocol's:
+_nft_for_proto-custom-iter =
+_nft_for_proto-custom-done =
+_nft_for_proto-allports-iter =
+_nft_for_proto-allports-done =
+_nft_for_proto-multiport-iter = for proto in $(echo '<protocol>' | sed 's/,/ /g'); do
+_nft_for_proto-multiport-done = done
+
+_nft_list = <nftables> -a list chain <table_family> <table> <chain>
+_nft_get_handle_id = grep -oP '@<addr_set>\s+.*\s+\Khandle\s+(\d+)$'
+
+_nft_add_set = <nftables> add set <table_family> <table> <addr_set> \{ type <addr_type>\; \}
+              <_nft_for_proto-<type>-iter>
+              <nftables> add rule <table_family> <table> <chain> %(rule_stat)s
+              <_nft_for_proto-<type>-done>
+_nft_del_set = { %(_nft_list)s | %(_nft_get_handle_id)s; } | while read -r hdl; do
+               <nftables> delete rule <table_family> <table> <chain> $hdl; done
+              <nftables> delete set <table_family> <table> <addr_set>
+
+# Option:  _nft_shutdown_table
+# Notes.:  command executed after the stop in order to delete table (it checks that no sets are available):
+# Values:  CMD
+#
+_nft_shutdown_table = { <nftables> list table <table_family> <table> | grep -qP '^\s+set\s+'; } || {
+                        <nftables> delete table <table_family> <table>
+                      }
+
+# Option:  actionstart
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
+# Values:  CMD
+#
+actionstart = <nftables> add table <table_family> <table>
+              <nftables> -- add chain <table_family> <table> <chain> \{ type <chain_type> hook <chain_hook> priority <chain_priority> \; \}
+              %(_nft_add_set)s
+
+# Option:  actionflush
+# Notes.:  command executed once to flush IPS, by shutdown (resp. by stop of the jail or this action);
+#          uses `nft flush set ...` and as fallback (e. g. unsupported) recreates the set (with references)
+# Values:  CMD
+#
+actionflush = { <nftables> flush set <table_family> <table> <addr_set> 2> /dev/null; } || {
+              %(_nft_del_set)s
+              %(_nft_add_set)s
+              }
+
+# Option:  actionstop
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
+# Values:  CMD
+#
+actionstop = %(_nft_del_set)s
+             <_nft_shutdown_table>
+
+# Option:  actioncheck
+# Notes.:  command executed once before each actionban command
+# Values:  CMD
+#
+actioncheck = <nftables> list chain <table_family> <table> <chain> | grep -q '@<addr_set>[ \t]'
+
+# Option:  actionban
+# Notes.:  command executed when banning an IP. Take care that the
+#          command is executed with Fail2Ban user rights.
+# Tags:    See jail.conf(5) man page
+# Values:  CMD
+#
+actionban = <nftables> add element <table_family> <table> <addr_set> \{ <ip> \}
+
+# Option:  actionunban
+# Notes.:  command executed when unbanning an IP. Take care that the
+#          command is executed with Fail2Ban user rights.
+# Tags:    See jail.conf(5) man page
+# Values:  CMD
+#
+actionunban = <nftables> delete element <table_family> <table> <addr_set> \{ <ip> \}
+
+[Init]
+
+# Option:  table
+# Notes.:  main table to store chain and sets (automatically created on demand)
+# Values:  STRING  Default: f2b-table
+table = f2b-table
+
+# Option:  table_family
+# Notes.:  address family to work in
+# Values:  [ip | ip6 | inet]  Default: inet
+table_family = inet
+
+# Option:  chain
+# Notes.:  main chain to store rules
+# Values:  STRING  Default: f2b-chain
+chain = f2b-chain
+
+# Option:  chain_type
+# Notes.:  refers to the kind of chain to be created
+# Values:  [filter | route | nat]  Default: filter
+#
+chain_type = filter
+
+# Option:  chain_hook
+# Notes.:  refers to the kind of chain to be created
+# Values:  [ prerouting | input | forward | output | postrouting ]  Default: input
+#
+chain_hook = input
+
+# Option:  chain_priority
+# Notes.:  priority in the chain.
+# Values:  NUMBER  Default: -1
+#
+chain_priority = -1
+
+# Option:  addr_type
+# Notes.:  address type to work with
+# Values:  [ipv4_addr | ipv6_addr]  Default: ipv4_addr
+#
+addr_type = ipv4_addr
+
+# Default name of the filtering set
+#
+name = default
+
+# Option:  port
+# Notes.:  specifies port to monitor
+# Values:  [ NUM | STRING ]  Default:
+#
+port = ssh
+
+# Option:  protocol
+# Notes.:  internally used by config reader for interpolations.
+# Values:  [ tcp | udp ] Default: tcp
+#
+protocol = tcp
+
+# Option:  blocktype
+# Note:    This is what the action does with rules. This can be any jump target
+#          as per the nftables man page (section 8). Common values are drop,
+#          reject, reject with icmpx type host-unreachable, redirect to 2222
+# Values:  STRING
+blocktype = reject
+
+# Option:  nftables
+# Notes.:  Actual command to be executed, including common to all calls options
+# Values:  STRING
+nftables = nft
+
+# Option: addr_set
+# Notes.: The name of the nft set used to store banned addresses
+# Values: STRING
+addr_set = addr-set-<name>
+
+# Option: addr_family
+# Notes.: The family of the banned addresses
+# Values: [ ip | ip6 ]
+addr_family = ip
+
+[Init?family=inet6]
+addr_family = ip6
+addr_type = ipv6_addr
+addr_set = addr6-set-<name>
index 33c15f9c957802c1935ef764e7cef8ad78b3315b..ee702907ea3a3a0bce31fcf3bfb37ad39da24e8c 100644 (file)
@@ -103,6 +103,8 @@ actionstop = %(actionflush)s
 
 actioncheck = 
 
-actionban = echo "\\\\<fid> 1;" >> '%(blck_lst_file)s'; %(blck_lst_reload)s
+_echo_blck_row = printf '\%%s 1;\n' "<fid>"
 
-actionunban = id=$(echo "<fid>" | sed -e 's/[]\/$*.^|[]/\\&/g'); sed -i "/$id 1;/d" %(blck_lst_file)s; %(blck_lst_reload)s
+actionban = %(_echo_blck_row)s >> '%(blck_lst_file)s'; %(blck_lst_reload)s
+
+actionunban = id=$(%(_echo_blck_row)s | sed -e 's/[]\/$*.^|[]/\\&/g'); sed -i "/^$id$/d" %(blck_lst_file)s; %(blck_lst_reload)s
index 8b00d17730d38b1fc1b5b49091106d01ffb20df3..3bbb2f514323451dfcb7db997e4b76475e2bd198 100644 (file)
@@ -9,7 +9,7 @@
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 # we don't enable NPF automatically, as it will be enabled elsewhere
@@ -17,7 +17,7 @@ actionstart =
 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 # we don't disable NPF automatically either
index 7886825c73b43ae8df3e00542e1379776ab11805..ef56c6bd5920236560d67a836390e9e3a5f8df46 100644 (file)
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart =
 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =
index a319fc6bcff7753bf320a581772211a11a6fedb3..a75e5723d59cef1abf130d3e544189a9065881a7 100644 (file)
@@ -12,5 +12,5 @@ actioncheck =
 actionban = /usr/libexec/afctl -a <ip> -t <bantime>
 actionunban = /usr/libexec/afctl -r <ip>
 
-[Init]
-bantime = 2880
+actionprolong = %(actionunban)s && %(actionban)s
+
index abe4009c739e00574aeb37409ff5d55fb2e746ac..6ff6afdff3b4384fb65aa7852f6e5609eb4526d0 100644 (file)
@@ -9,14 +9,14 @@
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = 
 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = 
index 905312c35f9e599863994e4a9bd9150ec80e0f2f..933b4de014c3805f24ef07703a9c7848417536c4 100644 (file)
@@ -10,7 +10,7 @@
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 # we don't enable PF automatically; to enable run pfctl -e 
@@ -35,7 +35,7 @@ actionstart = echo "table <<tablename>-<name>> persist counters" | <pfctl> -f-
 actionstart_on_demand = false
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 # we only disable PF rules we've installed prior
index 37bc642df28ab2c2f85cbd385913949b70a426a8..13803f8b7baf991d2381587c9c4ac1401f91525f 100644 (file)
@@ -14,7 +14,7 @@ before = sendmail-common.conf
 norestored = 1
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = printf %%b "Subject: [Fail2Ban] <name>: started on <fq-hostname>
@@ -24,10 +24,10 @@ actionstart = printf %%b "Subject: [Fail2Ban] <name>: started on <fq-hostname>
               The jail <name> has been started successfully.\n
               Output will be buffered until <lines> lines are available.\n
               Regards,\n
-              Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+              Fail2Ban" | <mailcmd>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = if [ -f <tmpfile> ]; then
@@ -38,7 +38,7 @@ actionstop = if [ -f <tmpfile> ]; then
                  These hosts have been banned by Fail2Ban.\n
                  `cat <tmpfile>`
                  Regards,\n
-                 Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+                 Fail2Ban" | <mailcmd>
                  rm <tmpfile>
              fi
              printf %%b "Subject: [Fail2Ban] <name>: stopped  on <fq-hostname>
@@ -47,7 +47,7 @@ actionstop = if [ -f <tmpfile> ]; then
              Hi,\n
              The jail <name> has been stopped.\n
              Regards,\n
-             Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+             Fail2Ban" | <mailcmd>
 
 # Option:  actioncheck
 # Notes.:  command executed once before each actionban command
@@ -71,7 +71,7 @@ actionban = printf %%b "`date`: <ip> (<failures> failures)\n" >> <tmpfile>
                 These hosts have been banned by Fail2Ban.\n
                 `cat <tmpfile>`
                 Regards,\n
-                Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+                Fail2Ban" | <mailcmd>
                 rm <tmpfile>
             fi
 
index 46eca9ca44416a40d6804b0ecdb909019617c48e..1e31fadfa6fde2d68c7cba78f52439aa48fda10b 100644 (file)
@@ -11,7 +11,7 @@ after = sendmail-common.local
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = printf %%b "Subject: [Fail2Ban] <name>: started on <fq-hostname>
@@ -21,10 +21,10 @@ actionstart = printf %%b "Subject: [Fail2Ban] <name>: started on <fq-hostname>
               Hi,\n
               The jail <name> has been started successfully.\n
               Regards,\n
-              Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+              Fail2Ban" | <mailcmd>
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = printf %%b "Subject: [Fail2Ban] <name>: stopped on <fq-hostname>
@@ -34,7 +34,7 @@ actionstop = printf %%b "Subject: [Fail2Ban] <name>: stopped on <fq-hostname>
              Hi,\n
              The jail <name> has been stopped.\n
              Regards,\n
-             Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+             Fail2Ban" | <mailcmd>
 
 # Option:  actioncheck
 # Notes.:  command executed once before each actionban command
@@ -60,6 +60,10 @@ actionunban =
 
 [Init]
 
+# Your system mail command
+#
+mailcmd = /usr/sbin/sendmail -f "<sender>" "<dest>"
+
 # Recipient mail address
 #
 dest = root
index b7c1bf368d4dfe65eef07018037acd3618a739ec..b36e49a7e651293656c2f8103b156e4e8843f4ea 100644 (file)
@@ -37,11 +37,11 @@ actionban = ( printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostn
             Country:`geoiplookup -f /usr/share/GeoIP/GeoIP.dat "<ip>" | cut -d':' -f2-`
             AS:`geoiplookup -f /usr/share/GeoIP/GeoIPASNum.dat "<ip>" | cut -d':' -f2-`
             hostname: <ip-host>\n\n
-            Lines containing failures of <ip>\n";
+            Lines containing failures of <ip> (max <grepmax>)\n";
             %(_grep_logs)s;
             printf %%b "\n
             Regards,\n
-            Fail2Ban" ) | /usr/sbin/sendmail -f <sender> <dest>
+            Fail2Ban" ) | <mailcmd>
 
 [Init]
 
index 06ea3a3e756ccc680b7c417aa42955c3cd22f0b0..7790ec532a4366bc60a6e003c9670acd55eeb212 100644 (file)
@@ -7,6 +7,7 @@
 [INCLUDES]
 
 before = sendmail-common.conf
+         mail-whois-common.conf
 
 [Definition]
 
@@ -27,11 +28,11 @@ actionban = printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostnam
             The IP <ip> has just been banned by Fail2Ban after
             <failures> attempts against <name>.\n\n
             Here is more information about <ip> :\n
-            `/usr/bin/whois <ip>`\n\n
+            `%(_whois_command)s`\n\n
             Matches for <name> with <ipjailfailures> failures IP:<ip>\n
             <ipjailmatches>\n\n
             Regards,\n
-            Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+            Fail2Ban" | <mailcmd>
 
 [Init]
 
index 83bff1b4023b42104142ab1bfc47db1eae7a62c8..e4717ca1b99a249f92dae53490407e8888a87b04 100644 (file)
@@ -7,6 +7,7 @@
 [INCLUDES]
 
 before = sendmail-common.conf
+         mail-whois-common.conf
 
 [Definition]
 
@@ -27,11 +28,11 @@ actionban = printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostnam
             The IP <ip> has just been banned by Fail2Ban after
             <failures> attempts against <name>.\n\n
             Here is more information about <ip> :\n
-            `/usr/bin/whois <ip>`\n\n
+            `%(_whois_command)s`\n\n
             Matches with <ipfailures> failures IP:<ip>\n
             <ipmatches>\n\n
             Regards,\n
-            Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+            Fail2Ban" | <mailcmd>
 
 [Init]
 
index 4b947cb2b7656002d201afd3900fbdec3e0eec94..47ec6ed5f9faeb763d1d573ea586e0ac4dc847d3 100644 (file)
@@ -7,6 +7,7 @@
 [INCLUDES]
 
 before = sendmail-common.conf
+         mail-whois-common.conf
          helpers-common.conf
 
 [Definition]
@@ -27,13 +28,13 @@ actionban = ( printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostn
             Hi,\n
             The IP <ip> has just been banned by Fail2Ban after
             <failures> attempts against <name>.\n\n
-            Here is more information about <ip> :\n
-            `/usr/bin/whois <ip> || echo missing whois program`\n\n
-            Lines containing failures of <ip>\n";
+            Here is more information about <ip> :\n"
+            %(_whois_command)s;
+            printf %%b "\nLines containing failures of <ip> (max <grepmax>)\n";
             %(_grep_logs)s;
             printf %%b "\n
             Regards,\n
-            Fail2Ban" ) | /usr/sbin/sendmail -f <sender> <dest>
+            Fail2Ban" ) | <mailcmd>
 
 [Init]
 
index 015201351482d8dd63db1e56cf706598bc30fa4d..08215ea7e3861356327263ddaf129448a32f3bee 100644 (file)
@@ -7,6 +7,7 @@
 [INCLUDES]
 
 before = sendmail-common.conf
+         mail-whois-common.conf
 
 [Definition]
 
@@ -27,11 +28,11 @@ actionban = printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostnam
             The IP <ip> has just been banned by Fail2Ban after
             <failures> attempts against <name>.\n\n
             Here is more information about <ip> :\n
-            `/usr/bin/whois <ip>`\n\n
+            `%(_whois_command)s`\n\n
             Matches:\n
             <matches>\n\n
             Regards,\n
-            Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+            Fail2Ban" | <mailcmd>
 
 [Init]
 
index 2fb01ed339412b75a0473f7c4c1dd4987e2a2268..9e93cd3278864aea6fbea3c5b9e0e92ecff0243f 100644 (file)
@@ -7,6 +7,7 @@
 [INCLUDES]
 
 before = sendmail-common.conf
+         mail-whois-common.conf
 
 [Definition]
 
@@ -27,9 +28,9 @@ actionban = printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostnam
             The IP <ip> has just been banned by Fail2Ban after
             <failures> attempts against <name>.\n\n
             Here is more information about <ip> :\n
-            `/usr/bin/whois <ip> || echo missing whois program`\n
+            `%(_whois_command)s`\n
             Regards,\n
-            Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+            Fail2Ban" | <mailcmd>
 
 [Init]
 
index cf42091578381656a5ba782ce811b2d1db5dc7f9..ad9e8d79172f07d3008b63f4c7baad7d92600069 100644 (file)
@@ -27,7 +27,7 @@ actionban = printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostnam
             The IP <ip> has just been banned by Fail2Ban after
             <failures> attempts against <name>.\n
             Regards,\n
-            Fail2Ban" | /usr/sbin/sendmail -f <sender> <dest>
+            Fail2Ban" | <mailcmd>
 
 [Init]
 
index 1ebcfb01ff5c67572c43b23aacd95b0423e94e8e..eacb53d92eb6a7b2da0aa47c7e4f65f5384718b1 100644 (file)
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = if ! ipset -quiet -name list f2b-<name> >/dev/null;
-              then ipset -quiet -exist create f2b-<name> hash:ip timeout <bantime>;
+              then ipset -quiet -exist create f2b-<name> hash:ip timeout <default-ipsettime>;
               fi
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = ipset flush f2b-<name>
@@ -66,7 +66,9 @@ actionstop = ipset flush f2b-<name>
 # Tags:    See jail.conf(5) man page
 # Values:  CMD
 #
-actionban = ipset add f2b-<name> <ip> timeout <bantime> -exist
+actionban = ipset add f2b-<name> <ip> timeout <ipsettime> -exist
+
+# actionprolong = %(actionban)s
 
 # Option:  actionunban
 # Notes.:  command executed when unbanning an IP. Take care that the
@@ -76,10 +78,16 @@ actionban = ipset add f2b-<name> <ip> timeout <bantime> -exist
 #
 actionunban = ipset del f2b-<name> <ip> -exist
 
-[Init]
+# Option: default-ipsettime
+# Notes:  specifies default timeout in seconds (handled default ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (no timeout, managed by fail2ban by unban)
+default-ipsettime = 0
 
-# Option: bantime
-# Notes:  specifies the bantime in seconds (handled internally rather than by fail2ban)
-# Values:  [ NUM ]  Default: 600
-#
-bantime = 600
+# Option: ipsettime
+# Notes:  specifies ticket timeout (handled ipset timeout only)
+# Values:  [ NUM ]  Default: 0 (managed by fail2ban by unban)
+ipsettime = 0
+
+# expresion to caclulate timeout from bantime, example:
+# banaction = %(known/banaction)s[ipsettime='<timeout-bantime>']
+timeout-bantime = $([ "<bantime>" -le 2147483 ] && echo "<bantime>" || echo 0)
index 282b95afe3ada46fd015ea4aee3c3e2d5f09ee19..83d08d9998086a40a2be7341ddfd3c9ca7aca360 100644 (file)
@@ -9,7 +9,7 @@
 # connections. So if the attempter goes on trying using the same connection
 # he could even log in. In order to get the same behavior of the iptable
 # action (so that the ban is immediate) the /etc/shorewall/shorewall.conf
-# file should me modified with "BLACKLISTNEWONLY=No". Note that as of
+# file should be modified with "BLACKLISTNEWONLY=No". Note that as of
 # Shorewall 4.5.13 BLACKLISTNEWONLY is deprecated; however the equivalent
 # of BLACKLISTNEWONLY=No can now be achieved by setting BLACKLIST="ALL".
 # 
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart = 
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop = 
index 9cdfe3274004f933b1023395693db3f75ff18598..5c27d0ff7a15957675a43bf6a125af6085727121 100644 (file)
@@ -159,25 +159,25 @@ class SMTPAction(ActionBase):
                try:
                        self._logSys.debug("Connected to SMTP '%s', response: %i: %s",
                                self.host, *smtp.connect(self.host))
-                       if self.user and self.password:
+                       if self.user and self.password: # pragma: no cover (ATM no tests covering that)
                                smtp.login(self.user, self.password)
                        failed_recipients = smtp.sendmail(
                                self.fromaddr, self.toaddr.split(", "), msg.as_string())
-               except smtplib.SMTPConnectError:
+               except smtplib.SMTPConnectError: # pragma: no cover
                        self._logSys.error("Error connecting to host '%s'", self.host)
                        raise
-               except smtplib.SMTPAuthenticationError:
+               except smtplib.SMTPAuthenticationError: # pragma: no cover
                        self._logSys.error(
                                "Failed to authenticate with host '%s' user '%s'",
                                self.host, self.user)
                        raise
-               except smtplib.SMTPException:
+               except smtplib.SMTPException: # pragma: no cover
                        self._logSys.error(
                                "Error sending mail to host '%s' from '%s' to '%s'",
                                self.host, self.fromaddr, self.toaddr)
                        raise
                else:
-                       if failed_recipients:
+                       if failed_recipients: # pragma: no cover
                                self._logSys.warning(
                                        "Email to '%s' failed to following recipients: %r",
                                        self.toaddr, failed_recipients)
@@ -186,7 +186,7 @@ class SMTPAction(ActionBase):
                        try:
                                self._logSys.debug("Disconnected from '%s', response %i: %s",
                                        self.host, *smtp.quit())
-                       except smtplib.SMTPServerDisconnected:
+                       except smtplib.SMTPServerDisconnected: # pragma: no cover
                                pass # Not connected
 
        def start(self):
index c24a8e0ad3bb4b550bd5c833772b96cd0fb21dc1..6fb7d0af597456ef85c4da456cee381fd7719be7 100644 (file)
@@ -10,13 +10,13 @@ before = iptables-common.conf
 [Definition]
 
 # Option:  actionstart
-# Notes.:  command executed once at the start of Fail2Ban.
+# Notes.:  command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
 # Values:  CMD
 #
 actionstart =
 
 # Option:  actionstop
-# Notes.:  command executed once at the end of Fail2Ban
+# Notes.:  command executed at the stop of jail (or at the end of Fail2Ban)
 # Values:  CMD
 #
 actionstop =
index 2b135c4320957e70abebd8807a8aa2035140c8ff..f348b2c44b7cad9f56923791431b71b128caf5a1 100644 (file)
@@ -41,7 +41,12 @@ actionstop =
 
 actioncheck =
 
-actionban = oifs=${IFS}; IFS=.;SEP_IP=( <ip> ); set -- ${SEP_IP}; ADDRESSES=$(dig +short -t txt -q $4.$3.$2.$1.abuse-contacts.abusix.org); IFS=${oifs}
+actionban = oifs=${IFS};
+            RESOLVER_ADDR="%(addr_resolver)s"
+            if [ "<debug>" -gt 0 ]; then echo "try to resolve $RESOLVER_ADDR"; fi
+            ADDRESSES=$(dig +short -t txt -q $RESOLVER_ADDR | tr -d '"')
+            IFS=,; ADDRESSES=$(echo $ADDRESSES)
+            IFS=${oifs}
             IP=<ip>
             FROM=<sender>
             SERVICE=<service>
@@ -51,26 +56,37 @@ actionban = oifs=${IFS}; IFS=.;SEP_IP=( <ip> ); set -- ${SEP_IP}; ADDRESSES=$(di
             PORT=<port>
             DATE=`LC_ALL=C date --date=@<time> +"%%a, %%d %%h %%Y %%T %%z"`
             if [ ! -z "$ADDRESSES" ]; then
+                oifs=${IFS}; IFS=,; ADDRESSES=$(echo $ADDRESSES)
+                IFS=${oifs}
                 (printf -- %%b "<header>\n<message>\n<report>\n\n";
                  date '+Note: Local timezone is %%z (%%Z)';
-                 printf -- %%b "\n<ipmatches>\n\n<footer>") | <mailcmd> <mailargs> ${ADDRESSES//,/\" \"}
+                 printf -- %%b "\n<ipmatches>\n\n<footer>") | <mailcmd> <mailargs> $ADDRESSES
             fi
 
 actionunban =
 
-[Init]
+# Server as resolver used in dig command
+#
+addr_resolver = <ip-rev>abuse-contacts.abusix.org
+
+# Option: boundary
+# Notes:  This can be overwritten to be safe for possible predictions
+boundary = bfbb0f920793ac03cb8634bde14d8a1e
+
+_boundary = Abuse<time>-<boundary>
+
 # Option: header
 # Notes:  This is really a fixed value
-header  = Subject: abuse report about $IP - $DATE\nAuto-Submitted: auto-generated\nX-XARF: PLAIN\nContent-Transfer-Encoding: 7bit\nContent-Type: multipart/mixed; charset=utf8;\n  boundary=Abuse-bfbb0f920793ac03cb8634bde14d8a1e;\n\n--Abuse-bfbb0f920793ac03cb8634bde14d8a1e\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Type: text/plain; charset=utf-8;\n
+header  = Subject: abuse report about $IP - $DATE\nAuto-Submitted: auto-generated\nX-XARF: PLAIN\nContent-Transfer-Encoding: 7bit\nContent-Type: multipart/mixed; charset=utf8;\n  boundary=%(_boundary)s;\n\n--%(_boundary)s\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Type: text/plain; charset=utf-8;\n
 
 # Option: footer
 # Notes:  This is really a fixed value and needs to match the report and header
 #         mime delimiters
-footer = \n\n--Abuse-bfbb0f920793ac03cb8634bde14d8a1e--
+footer = \n\n--%(_boundary)s--
 
 # Option: report
 # Notes:  Intended to be fixed
-report =  --Abuse-bfbb0f920793ac03cb8634bde14d8a1e\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Type: text/plain; charset=utf-8; name=\"report.txt\";\n\n---\nReported-From: $FROM\nCategory: abuse\nReport-ID: $REPORTID\nReport-Type: login-attack\nService: $SERVICE\nVersion: 0.2\nUser-Agent: Fail2ban v0.9\nDate: $DATE\nSource-Type: ip-address\nSource: $IP\nPort: $PORT\nSchema-URL: http://www.x-arf.org/schema/abuse_login-attack_0.1.2.json\nAttachment: text/plain\nOccurances: $FAILURES\nTLP: $TLP\n\n\n--Abuse-bfbb0f920793ac03cb8634bde14d8a1e\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Type: text/plain; charset=utf8; name=\"logfile.log\";
+report =  --%(_boundary)s\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Type: text/plain; charset=utf-8; name=\"report.txt\";\n\n---\nReported-From: $FROM\nCategory: abuse\nReport-ID: $REPORTID\nReport-Type: login-attack\nService: $SERVICE\nVersion: 0.2\nUser-Agent: Fail2ban v0.9\nDate: $DATE\nSource-Type: ip-address\nSource: $IP\nPort: $PORT\nSchema-URL: http://www.x-arf.org/schema/abuse_login-attack_0.1.2.json\nAttachment: text/plain\nOccurances: $FAILURES\nTLP: $TLP\n\n\n--%(_boundary)s\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Type: text/plain; charset=utf8; name=\"logfile.log\";
 
 # Option: Message
 # Notes:  This can be modified by the users
index 52e47187379c86b192b18068dd85735327e86553..f3867839abdadce570a39b680f91446a588c6ab0 100644 (file)
@@ -5,11 +5,11 @@
 # Changes:  in most of the cases you should not modify this
 #           file, but provide customizations in fail2ban.local file, e.g.:
 #
-# [Definition]
+# [DEFAULT]
 # loglevel = DEBUG
 #
 
-[Definition]
+[DEFAULT]
 
 # Option: loglevel
 # Notes.: Set the log level output.
@@ -19,7 +19,7 @@
 #         NOTICE
 #         INFO
 #         DEBUG
-# Values: [ LEVEL ]  Default: ERROR
+# Values: [ LEVEL ]  Default: INFO
 #
 loglevel = INFO
 
@@ -67,3 +67,20 @@ dbfile = /var/lib/fail2ban/fail2ban.sqlite3
 # Notes.: Sets age at which bans should be purged from the database
 # Values: [ SECONDS ] Default: 86400 (24hours)
 dbpurgeage = 1d
+
+# Options: dbmaxmatches
+# Notes.: Number of matches stored in database per ticket (resolvable via 
+#         tags <ipmatches>/<ipjailmatches> in actions)
+# Values: [ INT ] Default: 10
+dbmaxmatches = 10
+
+[Definition]
+
+
+[Thread]
+
+# Options: stacksize
+# Notes.: Specifies the stack size (in KiB) to be used for subsequently created threads,
+#         and must be 0 or a positive integer value of at least 32.
+# Values: [ SIZE ] Default: 0 (use platform or configured default)
+#stacksize = 0
index d9a6fa5ee017b3cad96e1f8dc6baec71b91ed2bf..40f6d6e36c168365914c519c2fbc343e367471c3 100644 (file)
@@ -9,21 +9,32 @@ before = apache-common.conf
 
 [Definition]
 
+# Mode for filter: normal (default) and aggressive (allows DDoS & brute force detection of mod_evasive)
+mode = normal
+
+# ignore messages of mod_evasive module:
+apache-pref-ign-normal = (?!evasive)
+# allow "denied by server configuration" from all modules:
+apache-pref-ign-aggressive =
+# mode related ignore prefix for common _apache_error_client substitution:
+apache-pref-ignore = <apache-pref-ign-<mode>>
+
 prefregex = ^%(_apache_error_client)s (?:AH\d+: )?<F-CONTENT>.+</F-CONTENT>$
 
 # auth_type = ((?:Digest|Basic): )?
 auth_type = ([A-Z]\w+: )?
 
 failregex = ^client (?:denied by server configuration|used wrong authentication scheme)\b
-            ^user <F-USER>(?:\S*|.*?)</F-USER> (?:auth(?:oriz|entic)ation failure|not found|denied by provider)\b
+            ^user (?!`)<F-USER>(?:\S*|.*?)</F-USER> (?:auth(?:oriz|entic)ation failure|not found|denied by provider)\b
             ^Authorization of user <F-USER>(?:\S*|.*?)</F-USER> to access .*? failed\b
             ^%(auth_type)suser <F-USER>(?:\S*|.*?)</F-USER>: password mismatch\b
-            ^%(auth_type)suser `<F-USER>(?:[^']*|.*?)</F-USER>' in realm `.+' (not found|denied by provider)\b
+            ^%(auth_type)suser `<F-USER>(?:[^']*|.*?)</F-USER>' in realm `.+' (auth(?:oriz|entic)ation failure|not found|denied by provider)\b
             ^%(auth_type)sinvalid nonce .* received - length is not\b
             ^%(auth_type)srealm mismatch - got `(?:[^']*|.*?)' but expected\b
             ^%(auth_type)sunknown algorithm `(?:[^']*|.*?)' received\b
             ^invalid qop `(?:[^']*|.*?)' received\b
             ^%(auth_type)sinvalid nonce .*? received - user attempted time travel\b
+            ^(?:No h|H)ostname \S+ provided via SNI(?:, but no hostname provided| and hostname \S+ provided| for a name based virtual host)\b
 
 ignoreregex = 
 
index 3eec83d006c753ab9048d789fc5a5111cadddb18..6577fe7d006d224e3d5c1332a221c36b1f6708fb 100644 (file)
@@ -27,7 +27,9 @@ _daemon = (?:apache\d*|httpd(?:/\w+)?)
 
 apache-prefix = <apache-prefix-<logging>>
 
-_apache_error_client = <apache-prefix>\[(:?error|\S+:\S+)\]( \[pid \d+(:\S+ \d+)?\])? \[client <HOST>(:\d{1,5})?\]
+apache-pref-ignore =
+
+_apache_error_client = <apache-prefix>\[(:?error|<apache-pref-ignore>\S+:\S+)\]( \[pid \d+(:\S+ \d+)?\])? \[client <HOST>(:\d{1,5})?\]
 
 datepattern = {^LN-BEG}
 
index e296227a86bd2784e5ac02ce7689d89e7f1f27bb..f7600acfc72c4024263645caebfa88de779d8b80 100644 (file)
@@ -10,7 +10,7 @@ before = apache-common.conf
 [Definition]
 
 
-failregex = ^%(_apache_error_client)s ModSecurity:\s+(?:\[(?:\w+ \"[^\"]*\"|[^\]]*)\]\s*)*Access denied with code [45]\d\d
+failregex = ^%(_apache_error_client)s(?: \[client [^\]]+\])? ModSecurity:\s+(?:\[(?:\w+ \"[^\"]*\"|[^\]]*)\]\s*)*Access denied with code [45]\d\d
 
 ignoreregex = 
 
index fbc1af64b0d2e9f725368d7401510957224fbed9..dd9452a91b40a5b22a1cc6c7d63bffd732cd5ba9 100644 (file)
@@ -17,8 +17,13 @@ before = apache-common.conf
 
 [Definition]
 
-failregex = ^%(_apache_error_client)s ((AH001(28|30): )?File does not exist|(AH01264: )?script not found or unable to stat): /\S*(php([45]|[.-]cgi)?|\.asp|\.exe|\.pl)(, referer: \S+)?\s*$
-            ^%(_apache_error_client)s script '/\S*(php([45]|[.-]cgi)?|\.asp|\.exe|\.pl)\S*' not found or unable to stat(, referer: \S+)?\s*$
+script = /\S*(?:php(?:[45]|[.-]cgi)?|\.asp|\.exe|\.pl|\bcgi-bin/)
+
+prefregex = ^%(_apache_error_client)s (?:AH0(?:01(?:28|30)|1(?:264|071)|2811): )?(?:(?:[Ff]ile|script|[Gg]ot) )<F-CONTENT>.+</F-CONTENT>$
+
+failregex = ^(?:does not exist|not found or unable to stat): <script>\b
+            ^'<script>\S*' not found or unable to stat
+            ^error '[Pp]rimary script unknown(?:\\n)?'
 
 ignoreregex = 
 
index 337e9573e6d54452923f391d1508b8fc2164ab6b..6847249558de49be92ce3982f9b258a58218e4af 100644 (file)
@@ -16,7 +16,7 @@ __pid_re = (?:\s*\[\d+\])
 iso8601 = \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+[+-]\d{4}
 
 # All Asterisk log messages begin like this:
-log_prefix= (?:NOTICE|SECURITY|WARNING)%(__pid_re)s:?(?:\[C-[\da-f]*\])? [^:]+:\d*(?:(?: in)? \w+:)?
+log_prefix= (?:NOTICE|SECURITY|WARNING)%(__pid_re)s:?(?:\[C-[\da-f]*\])?:? [^:]+:\d*(?:(?: in)? [^:]+:)?
 
 prefregex = ^%(__prefix_line)s%(log_prefix)s <F-CONTENT>.+</F-CONTENT>$
 
@@ -25,8 +25,8 @@ failregex = ^Registration from '[^']*' failed for '<HOST>(:\d+)?' - (?:Wrong pas
             ^(?:Host )?<HOST> (?:failed (?:to authenticate\b|MD5 authentication\b)|tried to authenticate with nonexistent user\b)
             ^No registration for peer '[^']*' \(from <HOST>\)$
             ^hacking attempt detected '<HOST>'$
-            ^SecurityEvent="(?:FailedACL|InvalidAccountID|ChallengeResponseFailed|InvalidPassword)"(?:(?:,(?!RemoteAddress=)\w+="[^"]*")*|.*?),RemoteAddress="IPV[46]/(UDP|TCP|WS)/<HOST>/\d+"(?:,(?!RemoteAddress=)\w+="[^"]*")*$
-            ^"Rejecting unknown SIP connection from <HOST>"$
+            ^SecurityEvent="(?:FailedACL|InvalidAccountID|ChallengeResponseFailed|InvalidPassword)"(?:(?:,(?!RemoteAddress=)\w+="[^"]*")*|.*?),RemoteAddress="IPV[46]/[^/"]+/<HOST>/\d+"(?:,(?!RemoteAddress=)\w+="[^"]*")*$
+            ^"Rejecting unknown SIP connection from <HOST>(?::\d+)?"$
             ^Request (?:'[^']*' )?from '(?:[^']*|.*?)' failed for '<HOST>(?::\d+)?'\s\(callid: [^\)]*\) - (?:No matching endpoint found|Not match Endpoint(?: Contact)? ACL|(?:Failed|Error) to authenticate)\s*$
 
 # FreePBX (todo: make optional in v.0.10):
@@ -44,3 +44,12 @@ datepattern = {^LN-BEG}
 # First regex: channels/chan_sip.c
 #
 # main/logger.c:ast_log_vsyslog - "in {functionname}:" only occurs in syslog
+
+journalmatch = _SYSTEMD_UNIT=asterisk.service
+
+
+[lt_journal]
+
+# asterisk can log timestamp if logs into systemd-journal (optional part matching this timestamp, gh-2383):
+__extra_timestamp = (?:\[[^\]]+\]\s+)?
+__prefix_line = %(known/__prefix_line)s%(__extra_timestamp)s
diff --git a/fail2ban/filter.d/bitwarden.conf b/fail2ban/filter.d/bitwarden.conf
new file mode 100644 (file)
index 0000000..b0651c8
--- /dev/null
@@ -0,0 +1,13 @@
+# Fail2Ban filter for Bitwarden
+# Detecting failed login attempts
+# Logged in bwdata/logs/identity/Identity/log.txt
+
+[INCLUDES]
+before = common.conf
+
+[Definition]
+_daemon = Bitwarden-Identity
+failregex = ^%(__prefix_line)s\s*\[(?:W(?:RN|arning)|Bit\.Core\.[^\]]+)\]\s+Failed login attempt(?:, 2FA invalid)?\. <ADDR>$
+
+# DEV Notes:
+# __prefix_line can result to an empty string, so it can support syslog and non-syslog at once.
diff --git a/fail2ban/filter.d/centreon.conf b/fail2ban/filter.d/centreon.conf
new file mode 100644 (file)
index 0000000..fd3c848
--- /dev/null
@@ -0,0 +1,9 @@
+# Fail2Ban filter for Centreon Web
+# Detecting unauthorized access to the Centreon Web portal
+# typically logged in /var/log/centreon/login.log
+
+[Init]
+datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S
+
+[Definition]
+failregex = ^(?:\|-?\d+){3}\|\[[^\]]*\] \[<HOST>\] Authentication failed for '<F-USER>[^']+</F-USER>'
index a8cba188ead39c9bdce16d92b3b3cd1b0d3bdbbf..132860388b94ffd5241823d4be86dee1519b9d73 100644 (file)
@@ -10,6 +10,9 @@ after = common.local
 
 [DEFAULT]
 
+# Type of log-file resp. log-format (file, short, journal, rfc542):
+logtype = file
+
 # Daemon definition is to be specialized (if needed) in .conf file
 _daemon = \S*
 
@@ -22,7 +25,7 @@ __pid_re = (?:\[\d+\])
 
 # Daemon name (with optional source_file:line or whatever)
 # EXAMPLES: pam_rhosts_auth, [sshd], pop(pam_unix)
-__daemon_re = [\[\(]?%(_daemon)s(?:\(\S+\))?[\]\)]?:?
+__daemon_re = [\[\(]?<_daemon>(?:\(\S+\))?[\]\)]?:?
 
 # extra daemon info
 # EXAMPLE: [ID 800047 auth.info]
@@ -30,11 +33,11 @@ __daemon_extra_re = \[ID \d+ \S+\]
 
 # Combinations of daemon name and PID
 # EXAMPLES: sshd[31607], pop(pam_unix)[4920]
-__daemon_combs_re = (?:%(__pid_re)s?:\s+%(__daemon_re)s|%(__daemon_re)s%(__pid_re)s?:?)
+__daemon_combs_re = (?:<__pid_re>?:\s+<__daemon_re>|<__daemon_re><__pid_re>?:?)
 
 # Some messages have a kernel prefix with a timestamp
 # EXAMPLES: kernel: [769570.846956]
-__kernel_prefix = kernel: \[ *\d+\.\d+\]
+__kernel_prefix = kernel:\s?\[ *\d+\.\d+\]:?
 
 __hostname = \S+
 
@@ -55,13 +58,32 @@ __date_ambit = (?:\[\])
 #      [bsdverbose]? [hostname] [vserver tag] daemon_id spaces
 #
 # This can be optional (for instance if we match named native log files)
-__prefix_line = %(__date_ambit)s?\s*(?:%(__bsd_syslog_verbose)s\s+)?(?:%(__hostname)s\s+)?(?:%(__kernel_prefix)s\s+)?(?:%(__vserver)s\s+)?(?:%(__daemon_combs_re)s\s+)?(?:%(__daemon_extra_re)s\s+)?
+__prefix_line = <lt_<logtype>/__prefix_line>
 
 # PAM authentication mechanism check for failures, e.g.: pam_unix, pam_sss,
 # pam_ldap
 __pam_auth = pam_unix
 
 # standardly all formats using prefix have line-begin anchored date:
+datepattern = <lt_<logtype>/datepattern>
+
+[lt_file]
+# Common line prefixes for logtype "file":
+__prefix_line = <__date_ambit>?\s*(?:<__bsd_syslog_verbose>\s+)?(?:<__hostname>\s+)?(?:<__kernel_prefix>\s+)?(?:<__vserver>\s+)?(?:<__daemon_combs_re>\s+)?(?:<__daemon_extra_re>\s+)?
 datepattern = {^LN-BEG}
 
-# Author: Yaroslav Halchenko
+[lt_short]
+# Common (short) line prefix for logtype "journal" (corresponds output of formatJournalEntry):
+__prefix_line = \s*(?:<__hostname>\s+)?(?:<_daemon><__pid_re>?:?\s+)?(?:<__kernel_prefix>\s+)?
+datepattern = %(lt_file/datepattern)s
+[lt_journal]
+__prefix_line = %(lt_short/__prefix_line)s
+datepattern = %(lt_short/datepattern)s
+
+[lt_rfc5424]
+# RFC 5424 log-format, see gh-2309:
+#__prefix_line = \s*<__hostname> <__daemon_re> \d+ \S+ \S+\s+
+__prefix_line = \s*<__hostname> <__daemon_re> \d+ \S+ (?:[^\[\]\s]+|(?:\[(?:[^\]"]*|"[^"]*")*\])+)\s+
+datepattern = ^<\d+>\d+\s+{DATE}
+
+# Author: Yaroslav Halchenko, Sergey G. Brester (aka sebres)
index 888753c457fe6a6545787ba472b22f7d238af0da..4b2b8d87726c2baa72a89887ded018c1feb186cf 100644 (file)
@@ -12,7 +12,7 @@ before = common.conf
 
 _daemon = courieresmtpd
 
-prefregex = ^%(__prefix_line)serror,relay=<HOST>,<F-CONTENT>.+</F-CONTENT>$
+prefregex = ^%(__prefix_line)serror,relay=<HOST>,(?:port=\d+,)?<F-CONTENT>.+</F-CONTENT>$
 
 failregex = ^[^:]*: 550 User (<.*> )?unknown\.?$
             ^msg="535 Authentication failed\.",cmd:( AUTH \S+)?( [0-9a-zA-Z\+/=]+)?(?: \S+)$
index cdc177360aad50a410ca79e7724c60f982769258..638cd7c5896744349a73297f212fcd1de142f718 100644 (file)
 # 08-09-2014 06:14:27   smtp: postmaster [1.2.3.4] authentication failure using internet password
 # 08-09-2014 06:14:27   SMTP Server: Authentication failed for user postmaster ; connecting host 1.2.3.4
 
-__prefix = (?:\[[^\]]+\])?\s+
-failregex = ^%(__prefix)sSMTP Server: Authentication failed for user .*? \; connecting host <HOST>$
-            ^%(__prefix)ssmtp: (?:[^\[]+ )*\[<HOST>\] authentication failure using internet password\s*$
+__prefix = (?:\[[^\]]+\])?\s*
+__opt_data = (?::|\s+\[[^\]]+\])
+failregex = ^%(__prefix)sSMTP Server%(__opt_data)s Authentication failed for user .*? \; connecting host \[?<HOST>\]?$
+            ^%(__prefix)ssmtp: (?:[^\[]+ )*\[?<HOST>\]? authentication failure using internet password\s*$
+            ^%(__prefix)sSMTP Server%(__opt_data)s Connection from \[?<HOST>\]? rejected for policy reasons\.
+
 # Option:  ignoreregex
 # Notes.:  regex to ignore. If this regex matches, the line is ignored.
 # Values:  TEXT
index 2019a160fc18f3f06a6153bbde2782fb87792c1d..98d9f43bf603a98d09f278550ebbb9e0d5ea3342 100644 (file)
@@ -10,15 +10,15 @@ before = common.conf
 _auth_worker = (?:dovecot: )?auth(?:-worker)?
 _daemon = (?:dovecot(?:-auth)?|auth)
 
-prefregex = ^%(__prefix_line)s(?:%(_auth_worker)s(?:\([^\)]+\))?: )?(?:%(__pam_auth)s(?:\(dovecot:auth\))?: |(?:pop3|imap)-login: )?(?:Info: )?<F-CONTENT>.+</F-CONTENT>$
+prefregex = ^%(__prefix_line)s(?:%(_auth_worker)s(?:\([^\)]+\))?: )?(?:%(__pam_auth)s(?:\(dovecot:auth\))?: |(?:pop3|imap|managesieve|submission)-login: )?(?:Info: )?<F-CONTENT>.+</F-CONTENT>$
 
-failregex = ^authentication failure; logname=\S* uid=\S* euid=\S* tty=dovecot ruser=\S* rhost=<HOST>(?:\s+user=\S*)?\s*$
-            ^(?:Aborted login|Disconnected)(?::(?: [^ \(]+)+)? \((?:auth failed, \d+ attempts(?: in \d+ secs)?|tried to use (?:disabled|disallowed) \S+ auth)\):(?: user=<[^>]*>,)?(?: method=\S+,)? rip=<HOST>(?:[^>]*(?:, session=<\S+>)?)\s*$
+failregex = ^authentication failure; logname=<F-ALT_USER1>\S*</F-ALT_USER1> uid=\S* euid=\S* tty=dovecot ruser=<F-USER>\S*</F-USER> rhost=<HOST>(?:\s+user=<F-ALT_USER>\S*</F-ALT_USER>)?\s*$
+            ^(?:Aborted login|Disconnected|Remote closed connection|Client has quit the connection)(?::(?: [^ \(]+)+)? \((?:auth failed, \d+ attempts(?: in \d+ secs)?|tried to use (?:disabled|disallowed) \S+ auth|proxy dest auth failed)\):(?: user=<<F-USER>[^>]*</F-USER>>,)?(?: method=\S+,)? rip=<HOST>(?:[^>]*(?:, session=<\S+>)?)\s*$
             ^pam\(\S+,<HOST>(?:,\S*)?\): pam_authenticate\(\) failed: (?:User not known to the underlying authentication module: \d+ Time\(s\)|Authentication failure \(password mismatch\?\)|Permission denied)\s*$
-            ^[a-z\-]{3,15}\(\S*,<HOST>(?:,\S*)?\): (?:unknown user|invalid credentials)\s*$
+            ^[a-z\-]{3,15}\(\S*,<HOST>(?:,\S*)?\): (?:unknown user|invalid credentials|Password mismatch)
             <mdre-<mode>>
 
-mdre-aggressive = ^(?:Aborted login|Disconnected)(?::(?: [^ \(]+)+)? \((?:no auth attempts|disconnected before auth was ready,|client didn't finish \S+ auth,)(?: (?:in|waited) \d+ secs)?\):(?: user=<[^>]*>,)?(?: method=\S+,)? rip=<HOST>(?:[^>]*(?:, session=<\S+>)?)\s*$
+mdre-aggressive = ^(?:Aborted login|Disconnected|Remote closed connection|Client has quit the connection)(?::(?: [^ \(]+)+)? \((?:no auth attempts|disconnected before auth was ready,|client didn't finish \S+ auth,)(?: (?:in|waited) \d+ secs)?\):(?: user=<[^>]*>,)?(?: method=\S+,)? rip=<HOST>(?:[^>]*(?:, session=<\S+>)?)\s*$
 
 mdre-normal = 
 
index f1e56a75641d7921f2afd405a2b788fe6494fe27..6a8c12c518b881ede305116ec8195b6fc8f1c27d 100644 (file)
@@ -20,7 +20,7 @@ failregex = ^%(pid)s %(host_info)ssender verify fail for <\S+>: (?:Unknown user|
             ^%(pid)s \w+ authenticator failed for (?:[^\[\( ]* )?(?:\(\S*\) )?\[<HOST>\](?::\d+)?(?: I=\[\S+\](:\d+)?)?: 535 Incorrect authentication data( \(set_id=.*\)|: \d+ Time\(s\))?\s*$
             ^%(pid)s %(host_info)srejected RCPT [^@]+@\S+: (?:relay not permitted|Sender verify failed|Unknown user|Unrouteable address)\s*$
             ^%(pid)s SMTP protocol synchronization error \([^)]*\): rejected (?:connection from|"\S+") %(host_info)s(?:next )?input=".*"\s*$
-            ^%(pid)s SMTP call from \S+ %(host_info)sdropped: too many nonmail commands \(last was "\S+"\)\s*$
+            ^%(pid)s SMTP call from (?:[^\[\( ]* )?%(host_info)sdropped: too many (?:nonmail commands|syntax or protocol errors) \(last (?:command )?was "[^"]*"\)\s*$
             ^%(pid)s SMTP protocol error in "[^"]+(?:"+[^"]*(?="))*?" %(host_info)sAUTH command used when not advertised\s*$
             ^%(pid)s no MAIL in SMTP connection from (?:[^\[\( ]* )?(?:\(\S*\) )?%(host_info)sD=\d\S*s(?: C=\S*)?\s*$
             ^%(pid)s (?:[\w\-]+ )?SMTP connection from (?:[^\[\( ]* )?(?:\(\S*\) )?%(host_info)sclosed by DROP in ACL\s*$
index 4759fbed7e01a09efe01679d89c5bf670fd6576b..0fdcf1f169e13fcde3231787d8885afef9240306 100644 (file)
@@ -18,17 +18,39 @@ before = common.conf
 
 _daemon = freeswitch
 
+# Parameter "mode": normal, ddos or extra (default, combines all)
+# Usage example (for jail.local):
+#   [freeswitch]
+#   mode = normal
+#   # or with rewrite filter parameters of jail:
+#   [freeswitch-ddos]
+#   filter = freeswitch[mode=ddos]
+#
+mode = extra
+              
 # Prefix contains common prefix line (server, daemon, etc.) and 2 datetimes if used systemd backend
-_pref_line = ^%(__prefix_line)s(?:\d+-\d+-\d+ \d+:\d+:\d+\.\d+)?
+_pref_line = ^%(__prefix_line)s(?:(?:\d+-)?\d+-\d+ \d+:\d+:\d+\.\d+)?
+
+prefregex = ^%(_pref_line)s \[WARN(?:ING)?\](?: \[SOFIA\])? \[?sofia_reg\.c:\d+\]? <F-CONTENT>.+</F-CONTENT>$
+
+cmnfailre = ^Can't find user \[[^@]+@[^\]]+\] from <HOST>$
+
+mdre-normal = %(cmnfailre)s
+              ^SIP auth failure \((REGISTER|INVITE)\) on sofia profile \'[^']+\' for \[[^\]]*\] from ip <HOST>$
+
+mdre-ddos   = ^SIP auth (?:failure|challenge) \((REGISTER|INVITE)\) on sofia profile \'[^']+\' for \[[^\]]*\] from ip <HOST>$
+
+mdre-extra  = %(cmnfailre)s
+              <mdre-ddos>
 
-failregex = %(_pref_line)s \[WARNING\] sofia_reg\.c:\d+ SIP auth (failure|challenge) \((REGISTER|INVITE)\) on sofia profile \'[^']+\' for \[[^\]]*\] from ip <HOST>$
-            %(_pref_line)s \[WARNING\] sofia_reg\.c:\d+ Can't find user \[[^@]+@[^\]]+\] from <HOST>$
+failregex = <mdre-<mode>>
 
 ignoreregex =
 
-datepattern = {^LN-BEG}
+datepattern = ^(?:%%Y-)?%%m-%%d[ T]%%H:%%M:%%S(?:\.%%f)?
+              {^LN-BEG}
 
-# Author: Rupa SChomaker, soapee01, Daniel Black
+# Author: Rupa SChomaker, soapee01, Daniel Black, Sergey Brester aka sebres
 # https://freeswitch.org/confluence/display/FREESWITCH/Fail2Ban
 # Thanks to Jim on mailing list of samples and guidance
 #
diff --git a/fail2ban/filter.d/gitlab.conf b/fail2ban/filter.d/gitlab.conf
new file mode 100644 (file)
index 0000000..0c614ae
--- /dev/null
@@ -0,0 +1,6 @@
+# Fail2Ban filter for Gitlab
+# Detecting unauthorized access to the Gitlab Web portal
+# typically logged in /var/log/gitlab/gitlab-rails/application.log
+
+[Definition]
+failregex = ^: Failed Login: username=<F-USER>.+</F-USER> ip=<HOST>$
diff --git a/fail2ban/filter.d/grafana.conf b/fail2ban/filter.d/grafana.conf
new file mode 100644 (file)
index 0000000..e7f0f42
--- /dev/null
@@ -0,0 +1,9 @@
+# Fail2Ban filter for Grafana
+# Detecting unauthorized access
+# Typically logged in /var/log/grafana/grafana.log
+
+[Init]
+datepattern = ^t=%%Y-%%m-%%dT%%H:%%M:%%S%%z
+
+[Definition]
+failregex = ^(?: lvl=err?or)? msg="Invalid username or password"(?: uname=(?:"<F-ALT_USER>[^"]+</F-ALT_USER>"|<F-USER>\S+</F-USER>)| error="<F-ERROR>[^"]+</F-ERROR>"| \S+=(?:\S*|"[^"]+"))* remote_addr=<ADDR>$
index 09b4e7b0369aec5394827f8be1f42dbf63a6edc1..bc6dbea931d3cba1edbe24889ab41ef4a9510dcc 100644 (file)
@@ -5,21 +5,47 @@
 
 [Definition]
 
-# Option: failregex
-# Notes.: regex to match the password failures messages in the logfile.
-# Values: TEXT
-#
-failregex = ^.*\nWARNING: Authentication attempt from <HOST> for user "[^"]*" failed\.$
+logging = catalina
+failregex = <L_<logging>/failregex>
+maxlines = <L_<logging>/maxlines>
+datepattern = <L_<logging>/datepattern>
 
-# Option:  ignoreregex
-# Notes.:  regex to ignore. If this regex matches, the line is ignored.
-# Values:  TEXT
-#
-ignoreregex = 
+[L_catalina]
+
+failregex = ^.*\nWARNING: Authentication attempt from <HOST> for user "[^"]*" failed\.$
 
-# "maxlines" is number of log lines to buffer for multi-line regex searches
 maxlines = 2
 
 datepattern = ^%%b %%d, %%ExY %%I:%%M:%%S %%p
               ^WARNING:()**
-              {^LN-BEG}
\ No newline at end of file
+              {^LN-BEG}
+
+[L_webapp]
+
+failregex = ^ \[\S+\] WARN  \S+ - Authentication attempt from <HOST> for user "<F-USER>[^"]+</F-USER>" failed.
+
+maxlines = 1
+
+datepattern = ^%%H:%%M:%%S.%%f
+
+# DEV Notes:
+#
+# failregex is based on the default pattern given in Guacamole documentation :
+# https://guacamole.apache.org/doc/gug/configuring-guacamole.html#webapp-logging
+#
+# The following logback.xml Guacamole configuration file can then be used accordingly :
+# <configuration>
+#   <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+#     <file>/var/log/guacamole.log</file>
+#     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+#       <fileNamePattern>/var/log/guacamole.%d.log.gz</fileNamePattern>
+#       <maxHistory>32</maxHistory>
+#     </rollingPolicy>
+#     <encoder>
+#       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+#     </encoder>
+#   </appender>
+#   <root level="info">
+#     <appender-ref ref="FILE" />
+#   </root>
+# </configuration>
index 3c443251d516cc151d793ddb283648e0ee1a8b69..b11f0d983a1c88aa00edbcc5c5d4e33bf8aeda4f 100755 (executable)
@@ -24,7 +24,7 @@ def is_googlebot(ip):
     import re
 
     host = DNSUtils.ipToName(ip)
-    if not host or not re.match('.*\.google(bot)?\.com$', host):
+    if not host or not re.match(r'.*\.google(bot)?\.com$', host):
        return False
     host_ips = DNSUtils.dnsToIp(host)
     return (ip in host_ips)
index b652a1f4b28386ceacc9a0cd05e9ca2ff51ed48d..fdaee9c3de8c1da4641f4ea5122dcfecc10545c4 100644 (file)
@@ -8,13 +8,17 @@
 # common.local
 before = common.conf
 
+# [DEFAULT]
+# logtype = short
+
 [Definition]
 
 _daemon = monit
 
+_prefix = Warning|HttpRequest
+
 # Regexp for previous (accessing monit httpd) and new (access denied) versions
-failregex = ^\[\s*\]\s*error\s*:\s*Warning:\s+Client '<HOST>' supplied (?:unknown user '[^']+'|wrong password for user '[^']*') accessing monit httpd$
-            ^%(__prefix_line)s\w+: access denied -- client <HOST>: (?:unknown user '[^']+'|wrong password for user '[^']*'|empty password)$
+failregex = ^%(__prefix_line)s(?:error\s*:\s+)?(?:%(_prefix)s):\s+(?:access denied\s+--\s+)?[Cc]lient '?<HOST>'?(?:\s+supplied|\s*:)\s+(?:unknown user '<F-ALT_USER>[^']+</F-ALT_USER>'|wrong password for user '<F-USER>[^']*</F-USER>'|empty password)
 
 # Ignore login with empty user (first connect, no user specified)
 # ignoreregex = %(__prefix_line)s\w+: access denied -- client <HOST>: (?:unknown user '')
index f5f100a67d73e011431f36a85e87516030192bb0..efdaf8b56048e495591a4186bbd84f92c2012ec2 100644 (file)
@@ -1,11 +1,6 @@
 # Fail2Ban filter for murmur/mumble-server
 #
 
-[INCLUDES]
-
-before = common.conf
-
-
 [Definition]
 
 _daemon = murmurd
@@ -15,7 +10,13 @@ _daemon = murmurd
 #      variable in your server config file (murmur.ini / mumble-server.ini).
 _usernameregex = [^>]+
 
-_prefix = \s+\d+ => <\d+:%(_usernameregex)s\(-1\)> Rejected connection from <HOST>:\d+:
+# Prefix for systemd-journal (with second date-pattern as optional match):
+#
+__prefix_journal = (?:\S+\s+%(_daemon)s\[\d+\]:(?:\s+\<W\>[\d\-]+ [\d:]+.\d+)?)
+
+__prefix_line = %(__prefix_journal)s?
+
+_prefix = %(__prefix_line)s\s+\d+ => <\d+:%(_usernameregex)s\(-1\)> Rejected connection from <HOST>:\d+:
 
 prefregex = ^%(_prefix)s <F-CONTENT>.+</F-CONTENT>$
 
@@ -26,6 +27,8 @@ ignoreregex =
 
 datepattern = ^<W>{DATE}
 
+journalmatch = _SYSTEMD_UNIT=murmurd.service + _COMM=murmurd
+
 # DEV Notes:
 #
 # Author: Ross Brown
index 31bd2056978b5ec5926c71ded817f466821a5018..930c9b5ac7be406a6a38db8a50e11d80d8d001f3 100644 (file)
@@ -3,7 +3,7 @@
 #
 # To log wrong MySQL access attempts add to /etc/my.cnf in [mysqld]:
 # log-error=/var/log/mysqld.log
-# log-warning = 2
+# log-warnings = 2
 #
 # If using mysql syslog [mysql_safe] has syslog in /etc/my.cnf
 
@@ -17,7 +17,7 @@ before = common.conf
 
 _daemon = mysqld
 
-failregex = ^%(__prefix_line)s(?:\d+ |\d{6} \s?\d{1,2}:\d{2}:\d{2} )?\[\w+\] Access denied for user '[^']+'@'<HOST>' (to database '[^']*'|\(using password: (YES|NO)\))*\s*$
+failregex = ^%(__prefix_line)s(?:(?:\d{6}|\d{4}-\d{2}-\d{2})[ T]\s?\d{1,2}:\d{2}:\d{2} )?(?:\d+ )?\[\w+\] (?:\[[^\]]+\] )*Access denied for user '<F-USER>[^']+</F-USER>'@'<HOST>' (to database '[^']*'|\(using password: (YES|NO)\))*\s*$
 
 ignoreregex = 
 
index 2e14d44285ae4d67f804db11229150b580c986c6..0d5a6275d922db5713c34d74ec95c982fcf3acaa 100644 (file)
@@ -34,11 +34,11 @@ __daemon_combs_re=(?:%(__pid_re)s?:\s+%(__daemon_re)s|%(__daemon_re)s%(__pid_re)
 # this can be optional (for instance if we match named native log files)
 __line_prefix=(?:\s\S+ %(__daemon_combs_re)s\s+)?
 
-prefregex = ^%(__line_prefix)s( error:)?\s*client <HOST>#\S+( \([\S.]+\))?: <F-CONTENT>.+</F-CONTENT>$
+prefregex = ^%(__line_prefix)s(?: error:)?\s*client(?: @\S*)? <HOST>#\S+(?: \([\S.]+\))?: <F-CONTENT>.+</F-CONTENT>\s(?:denied|\(NOTAUTH\))\s*$
 
-failregex = ^(view (internal|external): )?query(?: \(cache\))? '.*' denied\s*$
-            ^zone transfer '\S+/AXFR/\w+' denied\s*$
-            ^bad zone transfer request: '\S+/IN': non-authoritative zone \(NOTAUTH\)\s*$
+failregex = ^(?:view (?:internal|external): )?query(?: \(cache\))?
+            ^zone transfer
+            ^bad zone transfer request: '\S+/IN': non-authoritative zone
 
 ignoreregex =
 
index ff4ea802537ac1f1cf62e5c019c83ab300850f13..0cadbeeea349c09e56cbbab221ac428ed9c8dd25 100644 (file)
@@ -16,15 +16,14 @@ _ttys_re=\S*
 __pam_re=\(?%(__pam_auth)s(?:\(\S+\))?\)?:?
 _daemon = \S+
 
-prefregex = ^%(__prefix_line)s%(__pam_re)s\s+authentication failure; logname=\S* uid=\S* euid=\S* tty=%(_ttys_re)s <F-CONTENT>.+</F-CONTENT>$
+prefregex = ^%(__prefix_line)s%(__pam_re)s\s+authentication failure;(?:\s+(?:(?:logname|e?uid)=\S*)){0,3} tty=%(_ttys_re)s <F-CONTENT>.+</F-CONTENT>$
 
-failregex = ^ruser=<F-USER>\S*</F-USER> rhost=<HOST>\s*$
-            ^ruser= rhost=<HOST>\s+user=<F-USER>\S*</F-USER>\s*$
-            ^ruser= rhost=<HOST>\s+user=<F-USER>.*?</F-USER>\s*$
-            ^ruser=<F-USER>.*?</F-USER> rhost=<HOST>\s*$
+failregex = ^ruser=<F-ALT_USER>(?:\S*|.*?)</F-ALT_USER> rhost=<HOST>(?:\s+user=<F-USER>(?:\S*|.*?)</F-USER>)?\s*$
 
 ignoreregex = 
 
+datepattern = {^LN-BEG}
+
 # DEV Notes:
 #
 # for linux-pam before 0.99.2.0 (late 2005) (removed before 0.8.11 release)
index 5b0862bb459b35a03445dd28c4380cb579123955..4378bedb7f19f478925e156016ddb9f4eb208b3a 100644 (file)
@@ -1,4 +1,4 @@
-# Fail2Ban fitler for the phpMyAdmin-syslog
+# Fail2Ban filter for the phpMyAdmin-syslog
 #
 
 [INCLUDES]
index d1505e327772a91b644224f9daa083eb59f095ae..fb690fb0b089a56cf644fd85a4fbc2bf9c1d8e57 100644 (file)
@@ -15,13 +15,13 @@ _port = (?::\d+)?
 
 prefregex = ^%(__prefix_line)s<mdpr-<mode>> <F-CONTENT>.+</F-CONTENT>$
 
-mdpr-normal = (?:NOQUEUE: reject:|improper command pipelining after \S+)
+mdpr-normal = (?:\w+: reject:|(?:improper command pipelining|too many errors) after \S+)
 mdre-normal=^RCPT from [^[]*\[<HOST>\]%(_port)s: 55[04] 5\.7\.1\s
-            ^RCPT from [^[]*\[<HOST>\]%(_port)s: 45[04] 4\.7\.1 (?:Service unavailable\b|Client host rejected: cannot find your (reverse )?hostname\b)
-            ^RCPT from [^[]*\[<HOST>\]%(_port)s: 450 4\.7\.1 (<[^>]*>)?: Helo command rejected: Host not found\b
-            ^EHLO from [^[]*\[<HOST>\]%(_port)s: 504 5\.5\.2 (<[^>]*>)?: Helo command rejected: need fully-qualified hostname\b
-            ^VRFY from [^[]*\[<HOST>\]%(_port)s: 550 5\.1\.1\s
-            ^RCPT from [^[]*\[<HOST>\]%(_port)s: 450 4\.1\.8 (<[^>]*>)?: Sender address rejected: Domain not found\b
+            ^RCPT from [^[]*\[<HOST>\]%(_port)s: 45[04] 4\.7\.\d+ (?:Service unavailable\b|Client host rejected: cannot find your (reverse )?hostname\b)
+            ^RCPT from [^[]*\[<HOST>\]%(_port)s: 450 4\.7\.\d+ (<[^>]*>)?: Helo command rejected: Host not found\b
+            ^EHLO from [^[]*\[<HOST>\]%(_port)s: 504 5\.5\.\d+ (<[^>]*>)?: Helo command rejected: need fully-qualified hostname\b
+            ^(RCPT|VRFY) from [^[]*\[<HOST>\]%(_port)s: 550 5\.1\.1\s
+            ^RCPT from [^[]*\[<HOST>\]%(_port)s: 450 4\.1\.\d+ (<[^>]*>)?: Sender address rejected: Domain not found\b
             ^from [^[]*\[<HOST>\]%(_port)s:?
 
 mdpr-auth = warning:
@@ -37,7 +37,7 @@ mdre-rbl  = ^RCPT from [^[]*\[<HOST>\]%(_port)s: [45]54 [45]\.7\.1 Service unava
 mdpr-more = %(mdpr-normal)s
 mdre-more = %(mdre-normal)s
 
-mdpr-ddos = lost connection after(?! DATA) [A-Z]+
+mdpr-ddos = (?:lost connection after(?! DATA) [A-Z]+|disconnect(?= from \S+(?: \S+=\d+)* auth=0/(?:[1-9]|\d\d+)))
 mdre-ddos = ^from [^[]*\[<HOST>\]%(_port)s:?
 
 mdpr-extra = (?:%(mdpr-auth)s|%(mdpr-normal)s)
@@ -48,6 +48,8 @@ mdpr-aggressive = (?:%(mdpr-auth)s|%(mdpr-normal)s|%(mdpr-ddos)s)
 mdre-aggressive = %(mdre-auth2)s
                   %(mdre-normal)s
 
+mdpr-errors = too many errors after \S+
+mdre-errors = ^from [^[]*\[<HOST>\]%(_port)s$
 
 
 failregex = <mdre-<mode>>
@@ -56,10 +58,17 @@ failregex = <mdre-<mode>>
 # Usage example (for jail.local):
 #   [postfix]
 #   mode = aggressive
+#
 #   # or another jail (rewrite filter parameters of jail):
 #   [postfix-rbl]
 #   filter = postfix[mode=rbl]
 #
+#   # jail to match "too many errors", related postconf `smtpd_hard_error_limit`:
+#   # (normally included in other modes (normal, more, extra, aggressive), but this jail'd allow to ban on the first message)
+#   [postfix-many-errors]
+#   filter = postfix[mode=errors]
+#   maxretry = 1
+#
 mode = more
 
 ignoreregex = 
index a7bd28374c40009e379fe31bf2d0f257ac28eb46..71f2ba73e4f7dbe19bc09dc73c75808b7ec50311 100644 (file)
@@ -1,4 +1,4 @@
-# Fail2Ban fitler for the Proftpd FTP daemon
+# Fail2Ban filter for the Proftpd FTP daemon
 #
 # Set "UseReverseDNS off" in proftpd.conf to avoid the need for DNS.
 # See: http://www.proftpd.org/docs/howto/DNS.html
@@ -14,16 +14,15 @@ before = common.conf
 
 _daemon = proftpd
 
-__suffix_failed_login = (User not authorized for login|No such user found|Incorrect password|Password expired|Account disabled|Invalid shell: '\S+'|User in \S+|Limit (access|configuration) denies login|Not a UserAlias|maximum login length exceeded).?
+__suffix_failed_login = ([uU]ser not authorized for login|[nN]o such user found|[iI]ncorrect password|[pP]assword expired|[aA]ccount disabled|[iI]nvalid shell: '\S+'|[uU]ser in \S+|[lL]imit (access|configuration) denies login|[nN]ot a UserAlias|[mM]aximum login length exceeded)
 
 
-prefregex = ^%(__prefix_line)s%(__hostname)s \(\S+\[<HOST>\]\)[: -]+ <F-CONTENT>(?:USER|SECURITY|Maximum).+</F-CONTENT>$
+prefregex = ^%(__prefix_line)s%(__hostname)s \(\S+\[<HOST>\]\)[: -]+ <F-CONTENT>(?:USER|SECURITY|Maximum) .+</F-CONTENT>$
 
 
-failregex = ^USER .*: no such user found from \S+ \[\S+\] to \S+:\S+ *$
-            ^USER .* \(Login failed\): %(__suffix_failed_login)s\s*$
-            ^SECURITY VIOLATION: .* login attempted\. *$
-            ^Maximum login attempts \(\d+\) exceeded *$
+failregex = ^USER <F-USER>\S+|.*?</F-USER>(?: \(Login failed\))?: %(__suffix_failed_login)s
+            ^SECURITY VIOLATION: <F-USER>\S+|.*?</F-USER> login attempted
+            ^Maximum login attempts \(\d+\) exceeded
 
 ignoreregex = 
 
index e2501cf6490525577e071e822b5865f2604fe6e4..63833cab54ca2a268afe4421f227860232358ac4 100644 (file)
@@ -21,17 +21,17 @@ before = common.conf
 
 [Definition]
 
-_daemon = fail2ban\.actions\s*
+_daemon = (?:fail2ban(?:-server|\.actions)\s*)
 
-# The name of the jail that this filter is used for. In jail.conf, name the 
-# jail using this filter 'recidive', or change this line!
+# The name of the jail that this filter is used for. In jail.conf, name the jail using
+# this filter 'recidive', or supply another name with `filter = recidive[_jailname="jail"]`
 _jailname = recidive
 
-failregex = ^(%(__prefix_line)s| %(_daemon)s%(__pid_re)s?:\s+)NOTICE\s+\[(?!%(_jailname)s\])(?:.*)\]\s+Ban\s+<HOST>\s*$
+failregex = ^%(__prefix_line)s(?:\s*fail2ban\.actions\s*%(__pid_re)s?:\s+)?NOTICE\s+\[(?!%(_jailname)s\])(?:.*)\]\s+Ban\s+<HOST>\s*$
 
-ignoreregex = 
+datepattern = ^{DATE}
 
-[Init]
+ignoreregex = 
 
 journalmatch = _SYSTEMD_UNIT=fail2ban.service PRIORITY=5
 
index 9912ff4720e9568e3d298876c396b9908a27146a..7eed8adb94607b2d3448edfcb0235be72696cb07 100644 (file)
@@ -18,7 +18,7 @@ prefregex = ^\s*(\[\])?(%(__hostname)s\s*(?:roundcube(?:\[(\d*)\])?:)?\s*(<[\w]+
 failregex = ^(?:FAILED login|Login failed) for <F-USER>.*</F-USER> from <HOST>(?:(?:\([^\)]*\))?\. (?:(?! from ).)*(?: user=(?P=user))? in \S+\.php on line \d+ \(\S+ \S+\))?$
             ^(?:<[\w]+> )?Failed login for <F-USER>.*</F-USER> from <HOST> in session \w+( \(error: \d\))?$
 
-ignoreregex = 
+ignoreregex = Could not connect to .* Connection refused
 
 journalmatch = SYSLOG_IDENTIFIER=roundcube
 
index 35bf23575e37fe39523a01b85667de366dcb4541..84fcbddae35f55a9c2cd42f0ca0dce7bbe3e7dde 100644 (file)
@@ -8,9 +8,14 @@ before = common.conf
 [Definition]
 
 _daemon = (?:sendmail|sm-(?:mta|acceptingconnections))
+# "\w{14,20}" will give support for IDs from 14 up to 20 characters long
+__prefix_line = %(known/__prefix_line)s(?:\w{14,20}: )?
+addr = (?:IPv6:<IP6>|<IP4>)
 
-failregex = ^%(__prefix_line)s\w{14}: (\S+ )?\[<HOST>\]( \(may be forged\))?: possible SMTP attack: command=AUTH, count=\d+$
+prefregex = ^<F-MLFID>%(__prefix_line)s</F-MLFID><F-CONTENT>.+</F-CONTENT>$
 
+failregex = ^(\S+ )?\[%(addr)s\]( \(may be forged\))?: possible SMTP attack: command=AUTH, count=\d+$
+            ^AUTH failure \(LOGIN\):(?: [^:]+:)? authentication failure: checkpass failed, user=<F-USER>(?:\S+|.*?)</F-USER>, relay=(?:\S+ )?\[%(addr)s\](?: \(may be forged\))?$
 ignoreregex =
 
 journalmatch = _SYSTEMD_UNIT=sendmail.service
index bdc1c2c10b8926bdf56e7c5213ed1d17c53811f5..e8b766c5743420d705b3e4646c610a460fbbd01c 100644 (file)
@@ -20,19 +20,21 @@ before = common.conf
 [Definition]
 
 _daemon = (?:(sm-(mta|acceptingconnections)|sendmail))
+__prefix_line = %(known/__prefix_line)s(?:\w{14,20}: )?
+addr = (?:IPv6:<IP6>|<IP4>)
 
-prefregex = ^<F-MLFID>%(__prefix_line)s(?:\w{14}: )?</F-MLFID><F-CONTENT>.+</F-CONTENT>$
+prefregex = ^<F-MLFID>%(__prefix_line)s</F-MLFID><F-CONTENT>.+</F-CONTENT>$
 
-cmnfailre = ^ruleset=check_rcpt, arg1=(?P<email><\S+@\S+>), relay=(\S+ )?\[<HOST>\](?: \(may be forged\))?, reject=(550 5\.7\.1 (?P=email)\.\.\. Relaying denied\. (IP name possibly forged \[(\d+\.){3}\d+\]|Proper authentication required\.|IP name lookup failed \[(\d+\.){3}\d+\])|553 5\.1\.8 (?P=email)\.\.\. Domain of sender address \S+ does not exist|550 5\.[71]\.1 (?P=email)\.\.\. (Rejected: .*|User unknown))$
-            ^ruleset=check_relay, arg1=(?P<dom>\S+), arg2=<HOST>, relay=((?P=dom) )?\[(\d+\.){3}\d+\](?: \(may be forged\))?, reject=421 4\.3\.2 (Connection rate limit exceeded\.|Too many open connections\.)$
-            ^rejecting commands from (\S* )?\[<HOST>\] due to pre-greeting traffic after \d+ seconds$
-            ^(?:\S+ )?\[<HOST>\]: (?:(?i)expn|vrfy) \S+ \[rejected\]$
+cmnfailre = ^ruleset=check_rcpt, arg1=(?P<email><\S+@\S+>), relay=(\S+ )?\[%(addr)s\](?: \(may be forged\))?, reject=(550 5\.7\.1 (?P=email)\.\.\. Relaying denied\. (IP name possibly forged \[(\d+\.){3}\d+\]|Proper authentication required\.|IP name lookup failed \[(\d+\.){3}\d+\])|553 5\.1\.8 (?P=email)\.\.\. Domain of sender address \S+ does not exist|550 5\.[71]\.1 (?P=email)\.\.\. (Rejected: .*|User unknown))$
+            ^ruleset=check_relay, arg1=(?P<dom>\S+), arg2=%(addr)s, relay=((?P=dom) )?\[(\d+\.){3}\d+\](?: \(may be forged\))?, reject=421 4\.3\.2 (Connection rate limit exceeded\.|Too many open connections\.)$
+            ^rejecting commands from (\S* )?\[%(addr)s\] due to pre-greeting traffic after \d+ seconds$
+            ^(?:\S+ )?\[%(addr)s\]: (?:(?i)expn|vrfy) \S+ \[rejected\]$
             ^<[^@]+@[^>]+>\.\.\. No such user here$
-            ^<F-NOFAIL>from=<[^@]+@[^>]+></F-NOFAIL>, size=\d+, class=\d+, nrcpts=\d+, bodytype=\w+, proto=E?SMTP, daemon=MTA, relay=\S+ \[<HOST>\]$
+            ^<F-NOFAIL>from=<[^@]+@[^>]+></F-NOFAIL>, size=\d+, class=\d+, nrcpts=\d+, bodytype=\w+, proto=E?SMTP, daemon=MTA, relay=\S+ \[%(addr)s\]$
 
 mdre-normal =
 
-mdre-extra = ^(?:\S+ )?\[<HOST>\](?: \(may be forged\))? did not issue (?:[A-Z]{4}[/ ]?)+during connection to M(?:TA|SP)(?:-\w+)?$
+mdre-extra = ^(?:\S+ )?\[%(addr)s\](?: \(may be forged\))? did not issue \S+ during connection
 
 mdre-aggressive = %(mdre-extra)s
 
@@ -48,7 +50,7 @@ mode = normal
 
 ignoreregex = 
 
-journalmatch = _SYSTEMD_UNIT=sendmail.service
+journalmatch = SYSLOG_IDENTIFIER=sm-mta + _SYSTEMD_UNIT=sendmail.service
 
 # DEV NOTES:
 # 
diff --git a/fail2ban/filter.d/softethervpn.conf b/fail2ban/filter.d/softethervpn.conf
new file mode 100644 (file)
index 0000000..f7e7c0c
--- /dev/null
@@ -0,0 +1,9 @@
+# Fail2Ban filter for SoftEtherVPN
+# Detecting unauthorized access to SoftEtherVPN
+# typically logged in /usr/local/vpnserver/security_log/*/sec.log, or in syslog, depending on configuration
+
+[INCLUDES]
+before = common.conf
+
+[Definition]
+failregex = ^%(__prefix_line)s(?:(?:\([\d\-]+ [\d:.]+\) )?<SECURITY_LOG>: )?Connection "[^"]+": User authentication failed. The user name that has been provided was "<F-USER>(?:[^"]+|.+)</F-USER>", from <ADDR>\.$
index 48221dc099000663c299858b00562eb0e4e3be46..4155f89ea2c8f606aecd61e1b068ed589e3494b5 100644 (file)
@@ -4,7 +4,7 @@
 
 [Definition]
 
-failregex = ^ sogod \[\d+\]: SOGoRootPage Login from '<HOST>' for user '.*' might not have worked( - password policy: \d*  grace: -?\d*  expire: -?\d*  bound: -?\d*)?\s*$
+failregex = ^ sogod \[\d+\]: SOGoRootPage Login from '<HOST>(?:,[^']*)?' for user '[^']*' might not have worked( - password policy: \d*  grace: -?\d*  expire: -?\d*  bound: -?\d*)?\s*$
 
 ignoreregex = "^<ADDR>"
 
index ab5fd38526dd3eb1217d7e45695a2bb6a765180d..e794226270ff723a37e9fba905d3082edc81e15b 100644 (file)
@@ -21,52 +21,85 @@ _daemon = sshd
 # optional prefix (logged from several ssh versions) like "error: ", "error: PAM: " or "fatal: "
 __pref = (?:(?:error|fatal): (?:PAM: )?)?
 # optional suffix (logged from several ssh versions) like " [preauth]"
-__suff = (?: \[preauth\])?\s*
-__on_port_opt = (?: port \d+)?(?: on \S+(?: port \d+)?)?
+#__suff = (?: port \d+)?(?: \[preauth\])?\s*
+__suff = (?: (?:port \d+|on \S+|\[preauth\])){0,3}\s*
+__on_port_opt = (?: (?:port \d+|on \S+)){0,2}
+# close by authenticating user:
+__authng_user = (?: (?:invalid|authenticating) user <F-USER>\S+|.*?</F-USER>)?
 
 # for all possible (also future) forms of "no matching (cipher|mac|MAC|compression method|key exchange method|host key type) found",
 # see ssherr.c for all possible SSH_ERR_..._ALG_MATCH errors.
 __alg_match = (?:(?:\w+ (?!found\b)){0,2}\w+)
 
+# PAM authentication mechanism, can be overridden, e. g. `filter = sshd[__pam_auth='pam_ldap']`:
+__pam_auth = pam_[a-z]+
+
 [Definition]
 
 prefregex = ^<F-MLFID>%(__prefix_line)s</F-MLFID>%(__pref)s<F-CONTENT>.+</F-CONTENT>$
 
-cmnfailre = ^[aA]uthentication (?:failure|error|failed) for <F-USER>.*</F-USER> from <HOST>( via \S+)?\s*%(__suff)s$
-            ^User not known to the underlying authentication module for <F-USER>.*</F-USER> from <HOST>\s*%(__suff)s$
-            ^Failed \S+ for invalid user <F-USER>(?P<cond_user>\S+)|(?:(?! from ).)*?</F-USER> from <HOST>%(__on_port_opt)s(?: ssh\d*)?(?(cond_user): |(?:(?:(?! from ).)*)$)
-            ^Failed \b(?!publickey)\S+ for (?P<cond_inv>invalid user )?<F-USER>(?P<cond_user>\S+)|(?(cond_inv)(?:(?! from ).)*?|[^:]+)</F-USER> from <HOST>%(__on_port_opt)s(?: ssh\d*)?(?(cond_user): |(?:(?:(?! from ).)*)$)
-            ^<F-USER>ROOT</F-USER> LOGIN REFUSED.* FROM <HOST>\s*%(__suff)s$
-            ^[iI](?:llegal|nvalid) user <F-USER>.*?</F-USER> from <HOST>%(__on_port_opt)s\s*$
-            ^User <F-USER>.+</F-USER> from <HOST> not allowed because not listed in AllowUsers\s*%(__suff)s$
-            ^User <F-USER>.+</F-USER> from <HOST> not allowed because listed in DenyUsers\s*%(__suff)s$
-            ^User <F-USER>.+</F-USER> from <HOST> not allowed because not in any group\s*%(__suff)s$
-            ^refused connect from \S+ \(<HOST>\)\s*%(__suff)s$
+cmnfailre = ^[aA]uthentication (?:failure|error|failed) for <F-USER>.*</F-USER> from <HOST>( via \S+)?%(__suff)s$
+            ^User not known to the underlying authentication module for <F-USER>.*</F-USER> from <HOST>%(__suff)s$
+            <cmnfailre-failed-pub-<publickey>>
+            ^Failed <cmnfailed> for (?P<cond_inv>invalid user )?<F-USER>(?P<cond_user>\S+)|(?(cond_inv)(?:(?! from ).)*?|[^:]+)</F-USER> from <HOST>%(__on_port_opt)s(?: ssh\d*)?(?(cond_user): |(?:(?:(?! from ).)*)$)
+            ^<F-USER>ROOT</F-USER> LOGIN REFUSED FROM <HOST>
+            ^[iI](?:llegal|nvalid) user <F-USER>.*?</F-USER> from <HOST>%(__suff)s$
+            ^User <F-USER>\S+|.*?</F-USER> from <HOST> not allowed because not listed in AllowUsers%(__suff)s$
+            ^User <F-USER>\S+|.*?</F-USER> from <HOST> not allowed because listed in DenyUsers%(__suff)s$
+            ^User <F-USER>\S+|.*?</F-USER> from <HOST> not allowed because not in any group%(__suff)s$
+            ^refused connect from \S+ \(<HOST>\)
             ^Received <F-MLFFORGET>disconnect</F-MLFFORGET> from <HOST>%(__on_port_opt)s:\s*3: .*: Auth fail%(__suff)s$
-            ^User <F-USER>.+</F-USER> from <HOST> not allowed because a group is listed in DenyGroups\s*%(__suff)s$
-            ^User <F-USER>.+</F-USER> from <HOST> not allowed because none of user's groups are listed in AllowGroups\s*%(__suff)s$
-            ^pam_unix\(sshd:auth\):\s+authentication failure;\s*logname=\S*\s*uid=\d*\s*euid=\d*\s*tty=\S*\s*ruser=<F-USER>\S*</F-USER>\s*rhost=<HOST>\s.*%(__suff)s$
-            ^(error: )?maximum authentication attempts exceeded for <F-USER>.*</F-USER> from <HOST>%(__on_port_opt)s(?: ssh\d*)?%(__suff)s$
-            ^User <F-USER>.+</F-USER> not allowed because account is locked%(__suff)s
-            ^<F-MLFFORGET>Disconnecting</F-MLFFORGET>: Too many authentication failures(?: for <F-USER>.+?</F-USER>)?%(__suff)s
-            ^<F-NOFAIL>Received <F-MLFFORGET>disconnect</F-MLFFORGET></F-NOFAIL> from <HOST>: 11:
-            ^<F-NOFAIL>Connection <F-MLFFORGET>closed</F-MLFFORGET></F-NOFAIL> by <HOST>%(__suff)s$
-            ^<F-MLFFORGET><F-NOFAIL>Accepted publickey</F-NOFAIL></F-MLFFORGET> for \S+ from <HOST>(?:\s|$)
+            ^User <F-USER>\S+|.*?</F-USER> from <HOST> not allowed because a group is listed in DenyGroups%(__suff)s$
+            ^User <F-USER>\S+|.*?</F-USER> from <HOST> not allowed because none of user's groups are listed in AllowGroups%(__suff)s$
+            ^<F-NOFAIL>%(__pam_auth)s\(sshd:auth\):\s+authentication failure;</F-NOFAIL>(?:\s+(?:(?:logname|e?uid|tty)=\S*)){0,4}\s+ruser=<F-ALT_USER>\S*</F-ALT_USER>\s+rhost=<HOST>(?:\s+user=<F-USER>\S*</F-USER>)?%(__suff)s$
+            ^maximum authentication attempts exceeded for <F-USER>.*</F-USER> from <HOST>%(__on_port_opt)s(?: ssh\d*)?%(__suff)s$
+            ^User <F-USER>\S+|.*?</F-USER> not allowed because account is locked%(__suff)s
+            ^<F-MLFFORGET>Disconnecting</F-MLFFORGET>(?: from)?(?: (?:invalid|authenticating)) user <F-USER>\S+</F-USER> <HOST>%(__on_port_opt)s:\s*Change of username or service not allowed:\s*.*\[preauth\]\s*$
+            ^Disconnecting: Too many authentication failures(?: for <F-USER>\S+|.*?</F-USER>)?%(__suff)s$
+            ^<F-NOFAIL>Received <F-MLFFORGET>disconnect</F-MLFFORGET></F-NOFAIL> from <HOST>%(__on_port_opt)s:\s*11:
+            <mdre-<mode>-other>
+            ^<F-MLFFORGET><F-MLFGAINED>Accepted \w+</F-MLFGAINED></F-MLFFORGET> for <F-USER>\S+</F-USER> from <HOST>(?:\s|$)
+
+cmnfailed-any = \S+
+cmnfailed-ignore = \b(?!publickey)\S+
+cmnfailed-invalid = <cmnfailed-ignore>
+cmnfailed-nofail = (?:<F-NOFAIL>publickey</F-NOFAIL>|\S+)
+cmnfailed = <cmnfailed-<publickey>>
 
 mdre-normal =
+# used to differentiate "connection closed" with and without `[preauth]` (fail/nofail cases in ddos mode)
+mdre-normal-other = ^<F-NOFAIL><F-MLFFORGET>(Connection closed|Disconnected)</F-MLFFORGET></F-NOFAIL> (?:by|from)%(__authng_user)s <HOST>(?:%(__suff)s|\s*)$
 
-mdre-ddos = ^Did not receive identification string from <HOST>%(__suff)s$
-            ^Connection <F-MLFFORGET>reset</F-MLFFORGET> by <HOST>%(__on_port_opt)s%(__suff)s
+mdre-ddos = ^Did not receive identification string from <HOST>
+            ^kex_exchange_identification: (?:[Cc]lient sent invalid protocol identifier|[Cc]onnection closed by remote host)
+            ^Bad protocol version identification '.*' from <HOST>
             ^<F-NOFAIL>SSH: Server;Ltype:</F-NOFAIL> (?:Authname|Version|Kex);Remote: <HOST>-\d+;[A-Z]\w+:
-            ^Read from socket failed: Connection <F-MLFFORGET>reset</F-MLFFORGET> by peer%(__suff)s
+            ^Read from socket failed: Connection <F-MLFFORGET>reset</F-MLFFORGET> by peer
+# same as mdre-normal-other, but as failure (without <F-NOFAIL>) and [preauth] only:
+mdre-ddos-other = ^<F-MLFFORGET>(Connection (?:closed|reset)|Disconnected)</F-MLFFORGET> (?:by|from)%(__authng_user)s <HOST>%(__on_port_opt)s\s+\[preauth\]\s*$
 
-mdre-extra = ^Received <F-MLFFORGET>disconnect</F-MLFFORGET> from <HOST>%(__on_port_opt)s:\s*14: No supported authentication methods available%(__suff)s$
+mdre-extra = ^Received <F-MLFFORGET>disconnect</F-MLFFORGET> from <HOST>%(__on_port_opt)s:\s*14: No(?: supported)? authentication methods available
             ^Unable to negotiate with <HOST>%(__on_port_opt)s: no matching <__alg_match> found.
-            ^Unable to negotiate a <__alg_match>%(__suff)s$
+            ^Unable to negotiate a <__alg_match>
             ^no matching <__alg_match> found:
+# part of mdre-ddos-other, but user name is supplied (invalid/authenticating) on [preauth] phase only:
+mdre-extra-other = ^<F-MLFFORGET>Disconnected</F-MLFFORGET>(?: from)?(?: (?:invalid|authenticating)) user <F-USER>\S+|.*?</F-USER> <HOST>%(__on_port_opt)s \[preauth\]\s*$
 
 mdre-aggressive = %(mdre-ddos)s
                   %(mdre-extra)s
+# mdre-extra-other is fully included within mdre-ddos-other:
+mdre-aggressive-other = %(mdre-ddos-other)s
+
+# Parameter "publickey": nofail (default), invalid, any, ignore
+publickey = nofail
+# consider failed publickey for invalid users only:
+cmnfailre-failed-pub-invalid = ^Failed publickey for invalid user <F-USER>(?P<cond_user>\S+)|(?:(?! from ).)*?</F-USER> from <HOST>%(__on_port_opt)s(?: ssh\d*)?(?(cond_user): |(?:(?:(?! from ).)*)$)
+# consider failed publickey for valid users too (don't need RE, see cmnfailed):
+cmnfailre-failed-pub-any =
+# same as invalid, but consider failed publickey for valid users too, just as no failure (helper to get IP and user-name only, see cmnfailed):
+cmnfailre-failed-pub-nofail = <cmnfailre-failed-pub-invalid>
+# don't consider failed publickey as failures (don't need RE, see cmnfailed):
+cmnfailre-failed-pub-ignore =
 
 cfooterre = ^<F-NOFAIL>Connection from</F-NOFAIL> <HOST>
 
@@ -92,8 +125,6 @@ maxlines = 1
 
 journalmatch = _SYSTEMD_UNIT=sshd.service + _COMM=sshd
 
-datepattern = {^LN-BEG}
-
 # DEV Notes:
 #
 #   "Failed \S+ for .*? from <HOST>..." failregex uses non-greedy catch-all because
diff --git a/fail2ban/filter.d/traefik-auth.conf b/fail2ban/filter.d/traefik-auth.conf
new file mode 100644 (file)
index 0000000..8022fee
--- /dev/null
@@ -0,0 +1,76 @@
+# Fail2ban filter configuration for traefik :: auth
+# used to ban hosts, that were failed through traefik
+#
+# Author: CrazyMax
+#
+# To use 'traefik-auth' filter you have to configure your Traefik instance to write
+# the access logs as describe in https://docs.traefik.io/configuration/logs/#access-logs
+# into a log file on host and specifiy users for Basic Authentication
+# https://docs.traefik.io/configuration/entrypoints/#basic-authentication
+#
+# Example:
+#
+# version: "3.2"
+#
+# services:
+#   traefik:
+#     image: traefik:latest
+#     command:
+#       - "--loglevel=INFO"
+#       - "--accesslog=true"
+#       - "--accessLog.filePath=/var/log/access.log"
+# #       - "--accessLog.filters.statusCodes=400-499"
+#       - "--defaultentrypoints=http,https"
+#       - "--entryPoints=Name:http Address::80"
+#       - "--entryPoints=Name:https Address::443 TLS"
+#       - "--docker.domain=example.com"
+#       - "--docker.watch=true"
+#       - "--docker.exposedbydefault=false"
+#       - "--api=true"
+#       - "--api.dashboard=true"
+#     ports:
+#       - target: 80
+#         published: 80
+#         protocol: tcp
+#         mode: host
+#       - target: 443
+#         published: 443
+#         protocol: tcp
+#         mode: host
+#     labels:
+#       - "traefik.enable=true"
+#       - "traefik.port=8080"
+#       - "traefik.backend=traefik"
+#       - "traefik.frontend.rule=Host:traefik.example.com"
+#       - "traefik.frontend.auth.basic.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/"
+#     volumes:
+#       - "/var/log/traefik:/var/log"
+#       - "/var/run/docker.sock:/var/run/docker.sock"
+#     restart: always
+#
+
+[Definition]
+
+# Parameter "method" can be used to specifiy request method
+req-method = \S+
+# Usage example (for jail.local):
+#   filter = traefik-auth[req-method="GET|POST|HEAD"]
+
+failregex = ^<HOST> \- <usrre-<mode>> \[\] \"(?:<req-method>) [^\"]+\" 401\b
+
+ignoreregex =
+
+# Parameter "mode": normal (default), ddos or aggressive
+# Usage example (for jail.local):
+#   [traefik-auth]
+#   mode = aggressive
+#   # or another jail (rewrite filter parameters of jail):
+#   [traefik-auth-ddos]
+#   filter = traefik-auth[mode=ddos]
+#
+mode = normal
+
+# part of failregex matches user name (must be available in normal mode, must be empty in ddos mode, and both for aggressive mode):
+usrre-normal = (?!- )<F-USER>\S+</F-USER>
+usrre-ddos = -
+usrre-aggressive = <F-USER>\S+</F-USER>
\ No newline at end of file
diff --git a/fail2ban/filter.d/znc-adminlog.conf b/fail2ban/filter.d/znc-adminlog.conf
new file mode 100644 (file)
index 0000000..8faa25e
--- /dev/null
@@ -0,0 +1,34 @@
+# Fail2Ban filter for ZNC (requires adminlog module)
+#
+# to use this module, enable the adminlog module from within ZNC and point
+# logpath to its logfile (e.g. /var/lib/znc/moddata/adminlog/znc.log).
+
+[DEFAULT]
+
+logtype = file
+
+[Definition]
+
+_daemon = znc
+
+# Prefix for different logtype (file, journal):
+#
+__prefix_file = (?:\[\]\s+)?
+__prefix_short = (?:\S+\s+%(_daemon)s\[\d+\]:)\s+
+__prefix_journal = %(__prefix_short)s
+
+__prefix_line = <__prefix_<logtype>>
+
+failregex = ^%(__prefix_line)s\[[^]]+\] failed to login from <ADDR>
+
+ignoreregex = 
+
+journalmatch = _SYSTEMD_UNIT=znc.service + _COMM=znc
+
+# DEV Notes:
+# Log format is: [<DATE+TIME>] [<USERNAME>] <ACTION> from <ADDR>
+# [2018-10-27 01:40:17] [girst] connected to ZNC from 1.2.3.4
+# [2018-10-27 01:40:21] [girst] disconnected from ZNC from 1.2.3.4
+# [2018-10-27 01:40:55] [girst] failed to login from 1.2.3.4
+#
+# Author: Tobias Girstmair (//gir.st/)
index fc5dcb39f4e70f750e9b33bb6cf45d5c5a1f218f..e6961a1898e6056aed81c7884b636e2fb29b4bf3 100644 (file)
@@ -44,9 +44,47 @@ before = paths-debian.conf
 # MISCELLANEOUS OPTIONS
 #
 
-# "ignorself" specifies whether the local resp. own IP addresses should be ignored
+# "bantime.increment" allows to use database for searching of previously banned ip's to increase a 
+# default ban time using special formula, default it is banTime * 1, 2, 4, 8, 16, 32...
+#bantime.increment = true
+
+# "bantime.rndtime" is the max number of seconds using for mixing with random time 
+# to prevent "clever" botnets calculate exact time IP can be unbanned again:
+#bantime.rndtime = 
+
+# "bantime.maxtime" is the max number of seconds using the ban time can reach (doesn't grow further)
+#bantime.maxtime = 
+
+# "bantime.factor" is a coefficient to calculate exponent growing of the formula or common multiplier,
+# default value of factor is 1 and with default value of formula, the ban time 
+# grows by 1, 2, 4, 8, 16 ...
+#bantime.factor = 1
+
+# "bantime.formula" used by default to calculate next value of ban time, default value below,
+# the same ban time growing will be reached by multipliers 1, 2, 4, 8, 16, 32...
+#bantime.formula = ban.Time * (1<<(ban.Count if ban.Count<20 else 20)) * banFactor
+#
+# more aggressive example of formula has the same values only for factor "2.0 / 2.885385" :
+#bantime.formula = ban.Time * math.exp(float(ban.Count+1)*banFactor)/math.exp(1*banFactor)
+
+# "bantime.multipliers" used to calculate next value of ban time instead of formula, coresponding 
+# previously ban count and given "bantime.factor" (for multipliers default is 1);
+# following example grows ban time by 1, 2, 4, 8, 16 ... and if last ban count greater as multipliers count, 
+# always used last multiplier (64 in example), for factor '1' and original ban time 600 - 10.6 hours
+#bantime.multipliers = 1 2 4 8 16 32 64
+# following example can be used for small initial ban time (bantime=60) - it grows more aggressive at begin,
+# for bantime=60 the multipliers are minutes and equal: 1 min, 5 min, 30 min, 1 hour, 5 hour, 12 hour, 1 day, 2 day
+#bantime.multipliers = 1 5 30 60 300 720 1440 2880
+
+# "bantime.overalljails" (if true) specifies the search of IP in the database will be executed 
+# cross over all jails, if false (dafault), only current jail of the ban IP will be searched
+#bantime.overalljails = false
+
+# --------------------
+
+# "ignoreself" specifies whether the local resp. own IP addresses should be ignored
 # (default is true). Fail2ban will not ban a host which matches such addresses.
-#ignorself = true
+#ignoreself = true
 
 # "ignoreip" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban
 # will not ban a host which matches an address in this list. Several addresses
@@ -69,6 +107,9 @@ findtime  = 10m
 # "maxretry" is the number of failures before a host get banned.
 maxretry = 5
 
+# "maxmatches" is the number of matches stored in ticket (resolvable via tag <matches> in actions).
+maxmatches = %(maxretry)s
+
 # "backend" specifies the backend used to get files modification.
 # Available options are "pyinotify", "gamin", "polling", "systemd" and "auto".
 # This option can be overridden in each jail as well.
@@ -168,28 +209,28 @@ banaction = iptables-multiport
 banaction_allports = iptables-allports
 
 # The simplest action to take: ban only
-action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
+action_ = %(banaction)s[port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
 
 # ban & send an e-mail with whois report to the destemail.
-action_mw = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
-            %(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]
+action_mw = %(action_)s
+            %(mta)s-whois[sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]
 
 # ban & send an e-mail with whois report and relevant log lines
 # to the destemail.
-action_mwl = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
-             %(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]
+action_mwl = %(action_)s
+             %(mta)s-whois-lines[sender="%(sender)s", dest="%(destemail)s", logpath="%(logpath)s", chain="%(chain)s"]
 
 # See the IMPORTANT note in action.d/xarf-login-attack for when to use this action
 #
 # ban & send a xarf e-mail to abuse contact of IP address and include relevant log lines
 # to the destemail.
-action_xarf = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
-             xarf-login-attack[service=%(__name__)s, sender="%(sender)s", logpath=%(logpath)s, port="%(port)s"]
+action_xarf = %(action_)s
+             xarf-login-attack[service=%(__name__)s, sender="%(sender)s", logpath="%(logpath)s", port="%(port)s"]
 
 # ban IP on CloudFlare & send an e-mail with whois report and relevant log lines
 # to the destemail.
 action_cf_mwl = cloudflare[cfuser="%(cfemail)s", cftoken="%(cfapikey)s"]
-                %(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]
+                %(mta)s-whois-lines[sender="%(sender)s", dest="%(destemail)s", logpath="%(logpath)s", chain="%(chain)s"]
 
 # Report block via blocklist.de fail2ban reporting service API
 # 
@@ -199,7 +240,7 @@ action_cf_mwl = cloudflare[cfuser="%(cfemail)s", cftoken="%(cfapikey)s"]
 # in your `jail.local` globally (section [DEFAULT]) or per specific jail section (resp. in 
 # corresponding jail.d/my-jail.local file).
 #
-action_blocklist_de  = blocklist_de[email="%(sender)s", service=%(filter)s, apikey="%(blocklist_de_apikey)s", agent="%(fail2ban_agent)s"]
+action_blocklist_de  = blocklist_de[email="%(sender)s", service="%(__name__)s", apikey="%(blocklist_de_apikey)s", agent="%(fail2ban_agent)s"]
 
 # Report ban via badips.com, and use as blacklist
 #
@@ -330,7 +371,7 @@ maxretry = 1
 [openhab-auth]
 
 filter = openhab
-action = iptables-allports[name=NoAuthFailures]
+banaction = %(banaction_allports)s
 logpath = /opt/openhab/logs/request.log
 
 
@@ -437,11 +478,13 @@ backend  = %(syslog_backend)s
 
 port     = http,https
 logpath  = /var/log/tomcat*/catalina.out
+#logpath  = /var/log/guacamole.log
 
 [monit]
 #Ban clients brute-forcing the monit gui login
 port = 2812
 logpath  = /var/log/monit
+           /var/log/monit.log
 
 
 [webmin-auth]
@@ -702,8 +745,8 @@ logpath  = /var/log/named/security.log
 [nsd]
 
 port     = 53
-action   = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp]
-           %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp]
+action_  = %(default/action_)s[name=%(__name__)s-tcp, protocol="tcp"]
+           %(default/action_)s[name=%(__name__)s-udp, protocol="udp"]
 logpath = /var/log/nsd.log
 
 
@@ -714,9 +757,8 @@ logpath = /var/log/nsd.log
 [asterisk]
 
 port     = 5060,5061
-action   = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp]
-           %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp]
-           %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s"]
+action_  = %(default/action_)s[name=%(__name__)s-tcp, protocol="tcp"]
+           %(default/action_)s[name=%(__name__)s-udp, protocol="udp"]
 logpath  = /var/log/asterisk/messages
 maxretry = 10
 
@@ -724,16 +766,22 @@ maxretry = 10
 [freeswitch]
 
 port     = 5060,5061
-action   = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp]
-           %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp]
-           %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s"]
+action_  = %(default/action_)s[name=%(__name__)s-tcp, protocol="tcp"]
+           %(default/action_)s[name=%(__name__)s-udp, protocol="udp"]
 logpath  = /var/log/freeswitch.log
 maxretry = 10
 
 
+# enable adminlog; it will log to a file inside znc's directory by default.
+[znc-adminlog]
+
+port     = 6667
+logpath  = /var/lib/znc/moddata/adminlog/znc.log
+
+
 # To log wrong MySQL access attempts add to /etc/my.cnf in [mysqld] or
 # equivalent section:
-# log-warning = 2
+# log-warnings = 2
 #
 # for syslog (daemon facility)
 # [mysqld_safe]
@@ -804,11 +852,31 @@ logpath = /var/log/ejabberd/ejabberd.log
 [counter-strike]
 
 logpath = /opt/cstrike/logs/L[0-9]*.log
-# Firewall: http://www.cstrike-planet.com/faq/6
 tcpport = 27030,27031,27032,27033,27034,27035,27036,27037,27038,27039
 udpport = 1200,27000,27001,27002,27003,27004,27005,27006,27007,27008,27009,27010,27011,27012,27013,27014,27015
-action  = %(banaction)s[name=%(__name__)s-tcp, port="%(tcpport)s", protocol="tcp", chain="%(chain)s", actname=%(banaction)s-tcp]
-           %(banaction)s[name=%(__name__)s-udp, port="%(udpport)s", protocol="udp", chain="%(chain)s", actname=%(banaction)s-udp]
+action_  = %(default/action_)s[name=%(__name__)s-tcp, port="%(tcpport)s", protocol="tcp"]
+           %(default/action_)s[name=%(__name__)s-udp, port="%(udpport)s", protocol="udp"]
+
+[softethervpn]
+port     = 500,4500
+protocol = udp
+logpath  = /usr/local/vpnserver/security_log/*/sec.log
+
+[gitlab]
+port    = http,https
+logpath = /var/log/gitlab/gitlab-rails/application.log
+
+[grafana]
+port    = http,https
+logpath = /var/log/grafana/grafana.log
+
+[bitwarden]
+port    = http,https
+logpath = /home/*/bwdata/logs/identity/Identity/log.txt
+
+[centreon]
+port    = http,https
+logpath = /var/log/centreon/login.log
 
 # consider low maxretry and a long bantime
 # nobody except your own Nagios server should ever probe nrpe
@@ -842,7 +910,8 @@ filter       = apache-pass[knocking_url="%(knocking_url)s"]
 logpath      = %(apache_access_log)s
 blocktype    = RETURN
 returntype   = DROP
-action       = %(action_)s[blocktype=%(blocktype)s, returntype=%(returntype)s]
+action       = %(action_)s[blocktype=%(blocktype)s, returntype=%(returntype)s,
+                        actionstart_on_demand=false, actionrepair_on_unban=true]
 bantime      = 1h
 maxretry     = 1
 findtime     = 1
@@ -851,8 +920,8 @@ findtime     = 1
 [murmur]
 # AKA mumble-server
 port     = 64738
-action   = %(banaction)s[name=%(__name__)s-tcp, port="%(port)s", protocol=tcp, chain="%(chain)s", actname=%(banaction)s-tcp]
-           %(banaction)s[name=%(__name__)s-udp, port="%(port)s", protocol=udp, chain="%(chain)s", actname=%(banaction)s-udp]
+action_  = %(default/action_)s[name=%(__name__)s-tcp, protocol="tcp"]
+           %(default/action_)s[name=%(__name__)s-udp, protocol="udp"]
 logpath  = /var/log/mumble-server/mumble-server.log
 
 
@@ -888,3 +957,8 @@ backend = %(syslog_backend)s
 port    = http,https
 logpath = %(apache_error_log)s
 
+[traefik-auth]
+# to use 'traefik-auth' filter you have to configure your Traefik instance,
+# see `filter.d/traefik-auth.conf` for details and service example.
+port    = http,https
+logpath = /var/log/traefik/access.log
index cc42561e3826d58aef8b06b352d01b766eb2fb13..2c75b5cff6e206fae08d6ec0279337b12f98bc4e 100644 (file)
       <family>DejaVu Sans Mono</family>
     </accept>
   </alias>
-  <!-- Generic name assignment -->
-  <alias>
-    <family>DejaVu Sans Mono</family>
-    <default>
-      <family>monospace</family>
-    </default>
-  </alias>
-  <!-- Generic name aliasing -->
-  <alias>
-    <family>monospace</family>
-    <prefer>
-      <family>DejaVu Sans Mono</family>
-    </prefer>
-  </alias>
 </fontconfig>
index 565cab5fc501be545d187c7bed7794aea89de746..cff7a842d0ce043b84c5da90f942aed4d61c173c 100644 (file)
       <family>DejaVu Sans</family>
     </accept>
   </alias>
-  <!-- Generic name assignment -->
-  <alias>
-    <family>DejaVu Sans</family>
-    <default>
-      <family>sans-serif</family>
-    </default>
-  </alias>
-  <!-- Generic name aliasing -->
-  <alias>
-    <family>sans-serif</family>
-    <prefer>
-      <family>DejaVu Sans</family>
-    </prefer>
-  </alias>
 </fontconfig>
index a922e9b2dca120d5267bfe5b71bac78a95adc0bf..10ae70fd21618e0124fcaaa92667898af0874197 100644 (file)
       <family>DejaVu Serif</family>
     </accept>
   </alias>
-  <!-- Generic name assignment -->
-  <alias>
-    <family>DejaVu Serif</family>
-    <default>
-      <family>serif</family>
-    </default>
-  </alias>
-  <!-- Generic name aliasing -->
-  <alias>
-    <family>serif</family>
-    <prefer>
-      <family>DejaVu Serif</family>
-    </prefer>
-  </alias>
 </fontconfig>
index e908e5a0a0c300fbf9199c0f6ade788b5926492f..f0f908e0efdb8fb85fde80d297be2ac8803a4904 100644 (file)
@@ -29,7 +29,7 @@
 <!-- Font directory list -->
 
        <dir>/usr/share/fonts</dir>
-       <dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/usr/local/share/fonts</dir>
+       <dir>/usr/local/share/fonts</dir>
        <dir prefix="xdg">fonts</dir>
        <!-- the following element will be removed in the future -->
        <dir>~/.fonts</dir>
diff --git a/group b/group
index 209e2cb4d892cf2001467cfc0e48e1db7ac498dc..a9c79ac95dc26c8d1ab175ecb078d148b90ff3f9 100644 (file)
--- a/group
+++ b/group
@@ -59,3 +59,4 @@ nagios:x:119:
 kvm:x:106:
 render:x:120:
 systemd-coredump:x:999:
+tcpdump:x:121:
diff --git a/group- b/group-
index 33f1c5124f72c27a06633d2962496877ab28d074..209e2cb4d892cf2001467cfc0e48e1db7ac498dc 100644 (file)
--- a/group-
+++ b/group-
@@ -58,3 +58,4 @@ _chrony:x:118:
 nagios:x:119:
 kvm:x:106:
 render:x:120:
+systemd-coredump:x:999:
diff --git a/group.org b/group.org
new file mode 100644 (file)
index 0000000..209e2cb
--- /dev/null
+++ b/group.org
@@ -0,0 +1,61 @@
+root:x:0:frank
+daemon:x:1:
+bin:x:2:
+sys:x:3:
+adm:x:4:
+tty:x:5:frank,gitdeploy
+disk:x:6:frank
+lp:x:7:frank
+mail:x:8:frank
+news:x:9:
+uucp:x:10:
+man:x:12:
+proxy:x:13:
+kmem:x:15:
+dialout:x:20:
+fax:x:21:
+voice:x:22:
+cdrom:x:24:
+floppy:x:25:
+tape:x:26:
+sudo:x:27:
+audio:x:29:frank
+dip:x:30:
+www-data:x:33:
+backup:x:34:
+operator:x:37:frank,gitdeploy
+list:x:38:
+irc:x:39:
+src:x:40:
+gnats:x:41:
+shadow:x:42:
+utmp:x:43:
+video:x:44:frank
+sasl:x:45:
+plugdev:x:46:
+staff:x:50:frank,doris,patrick,gitdeploy
+games:x:60:frank,doris,patrick
+users:x:100:
+nogroup:x:65534:
+input:x:101:
+systemd-journal:x:102:
+systemd-timesync:x:103:
+systemd-network:x:104:
+systemd-resolve:x:105:
+crontab:x:107:frank,gitdeploy
+netdev:x:108:
+ssh:x:109:
+ssl-cert:x:110:
+postfix:x:111:
+postdrop:x:112:
+mlocate:x:113:frank,doris,patrick
+bind:x:114:
+git-commiters:x:222:frank,doris,patrick
+ulog:x:115:
+openldap:x:116:
+messagebus:x:117:
+_chrony:x:118:
+nagios:x:119:
+kvm:x:106:
+render:x:120:
+systemd-coredump:x:999:
index b9bacd41bc65ad929a8d0f7a6c3f85c8318962f2..a91d96576881a2a986bba269427ff58ba2583124 100755 (executable)
@@ -115,7 +115,7 @@ EOF
           cat <<EOF
   # GRUB lacks write support for $abstraction, so recordfail support is disabled.
 EOF
-          return
+          return 1
           ;;
       esac
     done
@@ -126,7 +126,7 @@ EOF
        cat <<EOF
   # GRUB lacks write support for $FS, so recordfail support is disabled.
 EOF
-       return
+       return 1
        ;;
     esac
 
@@ -135,7 +135,9 @@ EOF
 EOF
   }
 
-  check_writable
+  if ! check_writable; then
+    recordfail_broken=1
+  fi
 
   cat <<EOF
 }
@@ -379,6 +381,16 @@ EOF
   fi
 fi
 EOF
+if [ "$recordfail_broken" = 1 ]; then
+  cat << EOF
+if [ \$grub_platform = efi ]; then
+  set timeout=${GRUB_RECORDFAIL_TIMEOUT:-30}
+  if [ x\$feature_timeout_style = xy ] ; then
+    set timeout_style=menu
+  fi
+fi
+EOF
+fi
 }
 
 if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
index 71725844491b025bbd551407d832779278109abc..786888d3f3e5a93d57cd0f3d42e4e88e4bb5d299 100755 (executable)
@@ -37,7 +37,7 @@ set_default_theme(){
                        if [ -e /usr/share/plymouth/themes/default.grub ]; then
                                sed "s/^/${1}/" /usr/share/plymouth/themes/default.grub
                        fi
-                       # For plymouth backward compatiblity. Can be removed
+                       # For plymouth backward compatibility. Can be removed
                        # after xenial.
                        if [ -e /lib/plymouth/themes/default.grub ]; then
                                sed "s/^/${1}/" /lib/plymouth/themes/default.grub
@@ -95,7 +95,7 @@ set_background_image(){
        fi
 
        # Step #5: Check if GRUB can read the background image directly.
-       # If so, we can remove the cache file (if any). Otherwise the backgound
+       # If so, we can remove the cache file (if any). Otherwise the background
        # image needs to be cached under /boot/grub/.
        if is_path_readable_by_grub "${1}"; then
                rm --force "${BACKGROUND_CACHE}.jpeg" \
index 187316f8dc4f6fa1845c0d265098695ea13b44a9..b0188199266843655e00c1d094ec6ecc1bac0b37 100755 (executable)
@@ -61,12 +61,22 @@ case ${GRUB_DEVICE} in
   ;;
 esac
 
+# Default to disabling partition uuid support to maintian compatibility with
+# older kernels.
+GRUB_DISABLE_LINUX_PARTUUID=${GRUB_DISABLE_LINUX_PARTUUID-true}
+
 # btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
 # and mounting btrfs requires user space scanning, so force UUID in this case.
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
-    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+if ( [ "x${GRUB_DEVICE_UUID}" = "x" ] && [ "x${GRUB_DEVICE_PARTUUID}" = "x" ] ) \
+    || ( [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
+       && [ "x${GRUB_DISABLE_LINUX_PARTUUID}" = "xtrue" ] ) \
+    || ( ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+       && ! test -e "/dev/disk/by-partuuid/${GRUB_DEVICE_PARTUUID}" ) \
     || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
   LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+elif [ "x${GRUB_DEVICE_UUID}" = "x" ] \
+    || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ]; then
+  LINUX_ROOT_DEVICE=PARTUUID=${GRUB_DEVICE_PARTUUID}
 else
   LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
 fi
@@ -191,8 +201,12 @@ EOF
        echo    '$(echo "$message" | grub_quote)'
 EOF
     fi
+    initrd_path=
+    for i in ${initrd}; do
+      initrd_path="${initrd_path} ${rel_dirname}/${i}"
+    done
     sed "s/^/$submenu_indentation/" << EOF
-       initrd  ${rel_dirname}/${initrd}
+       initrd  $(echo $initrd_path)
 EOF
   fi
   sed "s/^/$submenu_indentation/" << EOF
@@ -295,7 +309,15 @@ while [ "x$list" != "x" ] ; do
   alt_version=`echo $version | sed -e "s,\.old$,,g"`
   linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
 
-  initrd=
+  initrd_early=
+  for i in ${GRUB_EARLY_INITRD_LINUX_STOCK} \
+          ${GRUB_EARLY_INITRD_LINUX_CUSTOM}; do
+    if test -e "${dirname}/${i}" ; then
+      initrd_early="${initrd_early} ${i}"
+    fi
+  done
+
+  initrd_real=
   for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
           "initrd-${version}" "initramfs-${version}.img" \
           "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
@@ -305,11 +327,22 @@ while [ "x$list" != "x" ] ; do
           "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
           "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
     if test -e "${dirname}/${i}" ; then
-      initrd="$i"
+      initrd_real="${i}"
       break
     fi
   done
 
+  initrd=
+  if test -n "${initrd_early}" || test -n "${initrd_real}"; then
+    initrd="${initrd_early} ${initrd_real}"
+
+    initrd_display=
+    for i in ${initrd}; do
+      initrd_display="${initrd_display} ${dirname}/${i}"
+    done
+    gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&2
+  fi
+
   config=
   for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
     if test -e "${i}" ; then
@@ -323,12 +356,16 @@ while [ "x$list" != "x" ] ; do
       initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
   fi
 
-  if test -n "${initrd}" ; then
-    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
-  elif test -z "${initramfs}" ; then
+  if test -z "${initramfs}" && test -z "${initrd_real}" ; then
     # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs.  Since there's
     # no initrd or builtin initramfs, it can't work here.
-    linux_root_device_thisversion=${GRUB_DEVICE}
+    if [ "x${GRUB_DEVICE_PARTUUID}" = "x" ] \
+       || [ "x${GRUB_DISABLE_LINUX_PARTUUID}" = "xtrue" ]; then
+
+       linux_root_device_thisversion=${GRUB_DEVICE}
+    else
+       linux_root_device_thisversion=PARTUUID=${GRUB_DEVICE_PARTUUID}
+    fi
   fi
 
   if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
index fb3ed82fcf4963dd8d2b88e08c24588c73a09186..961fc7c2602abc0f554d6ec62a9e757501594e39 100755 (executable)
@@ -49,12 +49,22 @@ case ${GRUB_DEVICE} in
   ;;
 esac
 
+# Default to disabling partition uuid support to maintian compatibility with
+# older kernels.
+GRUB_DISABLE_LINUX_PARTUUID=${GRUB_DISABLE_LINUX_PARTUUID-true}
+
 # btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
 # and mounting btrfs requires user space scanning, so force UUID in this case.
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
-    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+if ( [ "x${GRUB_DEVICE_UUID}" = "x" ] && [ "x${GRUB_DEVICE_PARTUUID}" = "x" ] ) \
+    || ( [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
+       && [ "x${GRUB_DISABLE_LINUX_PARTUUID}" = "xtrue" ] ) \
+    || ( ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+       && ! test -e "/dev/disk/by-partuuid/${GRUB_DEVICE_PARTUUID}" ) \
     || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
   LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+elif [ "x${GRUB_DEVICE_UUID}" = "x" ] \
+    || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ]; then
+  LINUX_ROOT_DEVICE=PARTUUID=${GRUB_DEVICE_PARTUUID}
 else
   LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
 fi
@@ -84,6 +94,11 @@ esac
 title_correction_code=
 
 linux_entry ()
+{
+  linux_entry_xsm "$@" false
+  linux_entry_xsm "$@" true
+}
+linux_entry_xsm ()
 {
   os="$1"
   version="$2"
@@ -91,6 +106,18 @@ linux_entry ()
   type="$4"
   args="$5"
   xen_args="$6"
+  xsm="$7"
+  # If user wants to enable XSM support, make sure there's
+  # corresponding policy file.
+  if ${xsm} ; then
+      xenpolicy="xenpolicy-$xen_version"
+      if test ! -e "${xen_dirname}/${xenpolicy}" ; then
+         return
+      fi
+      xen_args="$xen_args flask=enforcing"
+      xen_version="$(gettext_printf "%s (XSM enabled)" "$xen_version")"
+      # xen_version is used for messages only; actual file is xen_basename
+  fi
   if [ -z "$boot_device_id" ]; then
       boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   fi
@@ -137,9 +164,20 @@ EOF
   if test -n "${initrd}" ; then
     # TRANSLATORS: ramdisk isn't identifier. Should be translated.
     message="$(gettext_printf "Loading initial ramdisk ...")"
+    initrd_path=
+    for i in ${initrd}; do
+       initrd_path="${initrd_path} ${rel_dirname}/${i}"
+    done
     sed "s/^/$submenu_indentation/" << EOF
        echo    '$(echo "$message" | grub_quote)'
-       ${module_loader}        --nounzip   ${rel_dirname}/${initrd}
+       ${module_loader}        --nounzip   $(echo $initrd_path)
+EOF
+  fi
+  if ${xsm} && test -n "${xenpolicy}" ; then
+    message="$(gettext_printf "Loading XSM policy ...")"
+    sed "s/^/$submenu_indentation/" << EOF
+       echo    '$(echo "$message" | grub_quote)'
+       ${module_loader}     ${rel_dirname}/${xenpolicy}
 EOF
   fi
   sed "s/^/$submenu_indentation/" << EOF
@@ -167,10 +205,14 @@ if [ "x${linux_list}" = "x" ] ; then
     exit 0
 fi
 
-file_is_not_sym () {
+file_is_not_xen_garbage () {
     case "$1" in
        */xen-syms-*)
            return 1;;
+       */xenpolicy-*)
+           return 1;;
+       */*.config)
+           return 1;;
        *)
            return 0;;
     esac
@@ -178,7 +220,7 @@ file_is_not_sym () {
 
 xen_list=
 for i in /boot/xen*; do
-    if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" ; then xen_list="$xen_list $i" ; fi
+    if grub_file_is_not_garbage "$i" && file_is_not_xen_garbage "$i" ; then xen_list="$xen_list $i" ; fi
 done
 prepare_boot_cache=
 boot_device_id=
@@ -214,13 +256,27 @@ while [ "x${xen_list}" != "x" ] ; do
     if [ "x$is_top_level" != xtrue ]; then
        echo "  submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
     fi
-    if ($grub_file --is-x86-multiboot2 $current_xen); then
-       xen_loader="multiboot2"
-       module_loader="module2"
+    if ($grub_file --is-arm64-efi $current_xen); then
+       xen_loader="xen_hypervisor"
+       module_loader="xen_module"
     else
-       xen_loader="multiboot"
-       module_loader="module"
+       if ($grub_file --is-x86-multiboot2 $current_xen); then
+           xen_loader="multiboot2"
+           module_loader="module2"
+       else
+           xen_loader="multiboot"
+           module_loader="module"
+        fi
     fi
+
+    initrd_early=
+    for i in ${GRUB_EARLY_INITRD_LINUX_STOCK} \
+             ${GRUB_EARLY_INITRD_LINUX_CUSTOM}; do
+       if test -e "${xen_dirname}/${i}" ; then
+          initrd_early="${initrd_early} ${i}"
+       fi
+    done
+
     while [ "x$list" != "x" ] ; do
        linux=`version_find_latest $list`
        gettext_printf "Found linux image: %s\n" "$linux" >&2
@@ -231,7 +287,7 @@ while [ "x${xen_list}" != "x" ] ; do
        alt_version=`echo $version | sed -e "s,\.old$,,g"`
        linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
 
-       initrd=
+       initrd_real=
        for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
           "initrd-${version}" "initramfs-${version}.img" \
           "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
@@ -241,15 +297,31 @@ while [ "x${xen_list}" != "x" ] ; do
           "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
           "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" ; do
            if test -e "${dirname}/${i}" ; then
-               initrd="$i"
+               initrd_real="$i"
                break
            fi
        done
-       if test -n "${initrd}" ; then
-           gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
-       else
+
+       initrd=
+       if test -n "${initrd_early}" || test -n "${initrd_real}"; then
+           initrd="${initrd_early} ${initrd_real}"
+
+           initrd_display=
+           for i in ${initrd}; do
+               initrd_display="${initrd_display} ${dirname}/${i}"
+           done
+           gettext_printf "Found initrd image: %s\n" "$(echo $initrd_display)" >&2
+       fi
+
+       if test -z "${initrd_real}"; then
     # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
-           linux_root_device_thisversion=${GRUB_DEVICE}
+           if [ "x${GRUB_DEVICE_PARTUUID}" = "x" ] \
+               || [ "x${GRUB_DISABLE_LINUX_PARTUUID}" = "xtrue" ]; then
+
+               linux_root_device_thisversion=${GRUB_DEVICE}
+           else
+               linux_root_device_thisversion=PARTUUID=${GRUB_DEVICE_PARTUUID}
+           fi
        fi
 
        if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
index 0a4ee10e2f5cccd8aa95e73638e66a1607e3a369..3e525ba79add292f45675f0fdbb9e30e8e519690 100755 (executable)
@@ -26,12 +26,12 @@ export TEXTDOMAINDIR="${datarootdir}/locale"
 
 . "${datarootdir}/grub/grub-mkconfig_lib"
 
-efi_vars_dir=/sys/firmware/efi/vars
+efi_vars_dir=/sys/firmware/efi/efivars
 EFI_GLOBAL_VARIABLE=8be4df61-93ca-11d2-aa0d-00e098032b8c
-OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE/data"
+OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE"
 
 if [ -e "$OsIndications" ] && \
-   [ "$(( $(printf 0x%x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then
+   [ "$(( $(printf 0x%x \'"$(cat $OsIndications | cut -b5)") & 1 ))" = 1 ]; then
   LABEL="System setup"
 
   gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2
diff --git a/gshadow b/gshadow
index adff22f225e6e96a6250f2755ba6ac51524473c7..5939af45265989104c1b4ec3b011368ad03e9e29 100644 (file)
--- a/gshadow
+++ b/gshadow
@@ -59,3 +59,4 @@ nagios:!::
 kvm:!::
 render:!::
 systemd-coredump:!!::
+tcpdump:!::
index c375c2449a46150cf72bf58e47435f0a86fd9e6d..adff22f225e6e96a6250f2755ba6ac51524473c7 100644 (file)
--- a/gshadow-
+++ b/gshadow-
@@ -58,3 +58,4 @@ _chrony:!::
 nagios:!::
 kvm:!::
 render:!::
+systemd-coredump:!!::
index 5ff1f9b615553cfe714389eb8377170151bbe4f4..0118f033ed0707702c6dff0f38e53915b3d48720 100644 (file)
@@ -23,7 +23,7 @@ object Host NodeName {
   address = "127.0.0.1"
   address6 = "::1"
 
-  /* Set custom attribute `os` for hostgroup assignment in `groups.conf`. */
+  /* Set custom variable `os` for hostgroup assignment in `groups.conf`. */
   vars.os = "Linux"
 
   /* Define http vhost attributes for service apply rules in `services.conf`. */
index 6a7e1f5a489d963fb416c0d893b34259364e8b9a..ac65875468d3410fb3a1523c4d02a435f6e71ce9 100644 (file)
@@ -2,7 +2,7 @@
  * The example notification apply rules.
  *
  * Only applied if host/service objects have
- * the custom attribute `notification` defined
+ * the custom variable `notification` defined
  * and containing `mail` as key.
  *
  * Check `hosts.conf` for an example.
index 416915bc07928fbd5419e9ee35f9d0d7a422308a..c8e1b3cc65952977105614632a40293f349acd83 100644 (file)
@@ -42,7 +42,7 @@ apply Service "ping6" {
 /*
  * Apply the `ssh` service to all hosts
  * with the `address` attribute defined and
- * the custom attribute `os` set to `Linux`.
+ * the custom variable `os` set to `Linux`.
  */
 apply Service "ssh" {
   import "generic-service"
diff --git a/icinga2/features-available/icingadb.conf b/icinga2/features-available/icingadb.conf
new file mode 100644 (file)
index 0000000..9951c83
--- /dev/null
@@ -0,0 +1,5 @@
+object IcingaDB "icingadb" {
+  //host = "127.0.0.1"
+  //port = 6380
+  //password = "xxx"
+}
index 540556c101b740d1c81fb43d57da10d4f654a65c..471a6226845169e5d32dd50dacf08e3d7b7bcc2c 100644 (file)
@@ -6,4 +6,20 @@
 object OpenTsdbWriter "opentsdb" {
   //host = "127.0.0.1"
   //port = 4242
+  //enable_generic_metrics = false
+
+  // Custom Tagging, refer to Icinga object type documentation for
+  // OpenTsdbWriter
+  //host_template = {
+  //  metric = "icinga.host"
+  //  tags = {
+  //    zone = "$host.zone$"
+  //  }
+  //}
+  //service_template = {
+  //  metric = "icinga.service.$service.check_command$"
+  //  tags = {
+  //    zone = "$service.zone$"
+  //  }
+  //}
 }
index 781fee3553a7031ac560dac367365727c5760805..2a2c011f6b4ea8fdf8c9d45d70694761c953762d 100755 (executable)
@@ -1,7 +1,6 @@
-#!/usr/bin/env bash
-#
-# Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/)
-# Except of function urlencode which is Copyright (C) by Brian White (brian@aljex.com) used under MIT license 
+#!/bin/sh
+# Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+
+# Except of function urlencode which is Copyright (C) by Brian White (brian@aljex.com) used under MIT license
 
 PROG="`basename $0`"
 ICINGA2HOST="`hostname`"
@@ -51,11 +50,14 @@ Error() {
 }
 
 urlencode() {
-  local LANG=C i c e=''
-  for ((i=0;i<${#1};i++)); do
-    c=${1:$i:1}
-    [[ "$c" =~ [a-zA-Z0-9\.\~\_\-] ]] || printf -v c '%%%02X' "'$c"
-    e+="$c"
+  local LANG=C i=0 c e s="$1"
+
+  while [ $i -lt ${#1} ]; do
+    [ "$i" -eq 0 ] || s="${s#?}"
+    c=${s%"${s#?}"}
+    [ -z "${c#[[:alnum:].~_-]}" ] || c=$(printf '%%%02X' "'$c")
+    e="${e}${c}"
+    i=$((i + 1))
   done
   echo "$e"
 }
@@ -143,7 +145,7 @@ $ICINGAWEB2URL/monitoring/host/show?host=$(urlencode "$HOSTNAME")"
 fi
 
 ## Check whether verbose mode was enabled and log to syslog.
-if [ "$VERBOSE" == "true" ] ; then
+if [ "$VERBOSE" = "true" ] ; then
   logger "$PROG sends $SUBJECT => $USEREMAIL"
 fi
 
index d4a1944dc6d1854fc32ecc81cdc678d3966cfb7a..c901f234dcbb7493731efffbb37b41d62b8c13e1 100755 (executable)
@@ -1,6 +1,5 @@
-#!/usr/bin/env bash
-#
-# Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/)
+#!/bin/sh
+# Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+
 # Except of function urlencode which is Copyright (C) by Brian White (brian@aljex.com) used under MIT license
 
 PROG="`basename $0`"
@@ -53,11 +52,14 @@ Error() {
 }
 
 urlencode() {
-  local LANG=C i c e=''
-  for ((i=0;i<${#1};i++)); do
-    c=${1:$i:1}
-    [[ "$c" =~ [a-zA-Z0-9\.\~\_\-] ]] || printf -v c '%%%02X' "'$c"
-    e+="$c"
+  local LANG=C i=0 c e s="$1"
+
+  while [ $i -lt ${#1} ]; do
+    [ "$i" -eq 0 ] || s="${s#?}"
+    c=${s%"${s#?}"}
+    [ -z "${c#[[:alnum:].~_-]}" ] || c=$(printf '%%%02X' "'$c")
+    e="${e}${c}"
+    i=$((i + 1))
   done
   echo "$e"
 }
@@ -148,7 +150,7 @@ $ICINGAWEB2URL/monitoring/service/show?host=$(urlencode "$HOSTNAME")&service=$(u
 fi
 
 ## Check whether verbose mode was enabled and log to syslog.
-if [ "$VERBOSE" == "true" ] ; then
+if [ "$VERBOSE" = "true" ] ; then
   logger "$PROG sends $SUBJECT => $USEREMAIL"
 fi
 
index ceff6bd8c8eaf0d06f4687c2b0ca9a5045f13990..e378eae9d42033aa1a18fc51cde05d2c17422a45 100644 (file)
@@ -1,2 +1,2 @@
-This directory contains configuration files for cluster zones. If you're not
-running a cluster you can safely ignore this directory.
+Please check the documentation for more details:
+https://icinga.com/docs/icinga2/latest/doc/06-distributed-monitoring/
diff --git a/init.d/bind9 b/init.d/bind9
deleted file mode 100755 (executable)
index 59d8e3d..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-#!/bin/sh -e
-
-### BEGIN INIT INFO
-# Provides:          bind9
-# Required-Start:    $remote_fs
-# Required-Stop:     $remote_fs
-# Should-Start:      $network $syslog
-# Should-Stop:       $network $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Start and stop bind9
-# Description:       bind9 is a Domain Name Server (DNS)
-#        which translates ip addresses to and from internet names
-### END INIT INFO
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-
-# for a chrooted server: "-u bind -t /var/lib/named"
-# Don't modify this line, change or create /etc/default/bind9.
-OPTIONS=""
-RESOLVCONF=no
-
-test -f /etc/default/bind9 && . /etc/default/bind9
-
-test -x /usr/sbin/rndc || exit 0
-
-. /lib/lsb/init-functions
-PIDFILE=/run/named/named.pid
-
-check_network() {
-    if [ -x /usr/bin/uname ] && [ "X$(/usr/bin/uname -o)" = XSolaris ]; then
-       IFCONFIG_OPTS="-au"
-    else
-       IFCONFIG_OPTS=""
-    fi
-    if [ -z "$(/sbin/ifconfig $IFCONFIG_OPTS)" ]; then
-       #log_action_msg "No networks configured."
-       return 1
-    fi
-    return 0
-}
-
-case "$1" in
-    start)
-       log_daemon_msg "Starting domain name service..." "bind9"
-
-       modprobe capability >/dev/null 2>&1 || true
-
-       # dirs under /run can go away on reboots.
-       mkdir -p /run/named
-       chmod 775 /run/named
-       chown root:bind /run/named >/dev/null 2>&1 || true
-
-       if [ ! -x /usr/sbin/named ]; then
-           log_action_msg "named binary missing - not starting"
-           log_end_msg 1
-       fi
-
-       if ! check_network; then
-           log_action_msg "no networks configured"
-           log_end_msg 1
-       fi
-
-       if start-stop-daemon --start --oknodo --quiet --exec /usr/sbin/named \
-               --pidfile ${PIDFILE} -- $OPTIONS; then
-           if [ "X$RESOLVCONF" != "Xno" ] && [ -x /sbin/resolvconf ] ; then
-               echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.named
-           fi
-           log_end_msg 0
-       else
-           log_end_msg 1
-       fi
-    ;;
-
-    stop)
-       log_daemon_msg "Stopping domain name service..." "bind9"
-       if ! check_network; then
-           log_action_msg "no networks configured"
-           log_end_msg 1
-       fi
-
-       if [ "X$RESOLVCONF" != "Xno" ] && [ -x /sbin/resolvconf ] ; then
-           /sbin/resolvconf -d lo.named
-       fi
-       pid=$(/usr/sbin/rndc stop -p | awk '/^pid:/ {print $2}') || true
-       if [ -z "$pid" ]; then          # no pid found, so either not running, or error
-           pid=$(pgrep -f ^/usr/sbin/named) || true
-           start-stop-daemon --stop --oknodo --quiet --exec /usr/sbin/named \
-                   --pidfile ${PIDFILE} -- $OPTIONS
-       fi
-       if [ -n "$pid" ]; then
-           sig=0
-           n=1
-           while kill -$sig $pid 2>/dev/null; do
-               if [ $n -eq 1 ]; then
-                   echo "waiting for pid $pid to die"
-               fi
-               if [ $n -eq 11 ]; then
-                   echo "giving up on pid $pid with kill -0; trying -9"
-                   sig=9
-               fi
-               if [ $n -gt 20 ]; then
-                   echo "giving up on pid $pid"
-                   break
-               fi
-               n=$(($n+1))
-               sleep 1
-           done
-       fi
-       log_end_msg 0
-    ;;
-
-    reload|force-reload)
-       log_daemon_msg "Reloading domain name service..." "bind9"
-       if ! check_network; then
-           log_action_msg "no networks configured"
-           log_end_msg 1
-       fi
-
-       /usr/sbin/rndc reload >/dev/null && log_end_msg 0 || log_end_msg 1
-    ;;
-
-    restart)
-       if ! check_network; then
-           log_action_msg "no networks configured"
-           exit 1
-       fi
-
-       $0 stop
-       $0 start
-    ;;
-    
-    status)
-       ret=0
-       status_of_proc -p ${PIDFILE} /usr/sbin/named bind9 2>/dev/null || ret=$?
-       exit $ret
-       ;;
-
-    *)
-       log_action_msg "Usage: /etc/init.d/bind9 {start|stop|reload|restart|force-reload|status}"
-       exit 1
-    ;;
-esac
-
-exit 0
index bc376b59cfd64093bb0835e96d59598c6ecdc23a..ce121d7ac83197d4489e2bb2b66193621511757c 100755 (executable)
@@ -22,8 +22,7 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin
 DAEMON=/usr/sbin/chronyd
 NAME="chronyd"
 DESC="time daemon"
-PIDFILE=/run/chronyd.pid
-CHRONY_HELPER=/usr/lib/chrony/chrony-helper
+PIDFILE=/run/chrony/chronyd.pid
 
 [ -x "$DAEMON" ] || exit 0
 
@@ -42,16 +41,13 @@ case "$1" in
         else
             log_daemon_msg "Starting $DESC" "$NAME"
             start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
-            if [ -x $CHRONY_HELPER ]; then
-                $CHRONY_HELPER update-daemon
-            fi
             log_end_msg $?
         fi
         ;;
 
     stop)
         log_daemon_msg "Stopping $DESC" "$NAME"
-        start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --remove-pidfile --exec $DAEMON
+        start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
         log_end_msg $?
         ;;
 
index 4f41293fcf5c7a103ff78aae4804fd143311ce7c..105c83b80919a960167ffca2153b1d73d2fbf835 100755 (executable)
@@ -67,6 +67,13 @@ start_it_up()
 
   create_machineid
 
+  # Force libnss-systemd to avoid trying to communicate via D-Bus, which
+  # is never going to work well from within dbus-daemon. systemd
+  # special-cases this internally, but we might need to do the same when
+  # booting with sysvinit if libnss-systemd is still installed.
+  # (Workaround for #940971)
+  export SYSTEMD_NSS_BYPASS_BUS=1
+
   log_daemon_msg "Starting $DESC" "$NAME"
   start-stop-daemon --start --quiet --pidfile $PIDFILE \
     --exec $DAEMON -- --system $PARAMS
index d907aabb19a462afa65397c9017c7ad23fdb192a..f401b8e85f1a70e3c879fe4d88446fe0a8178822 100755 (executable)
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 ### BEGIN INIT INFO
 # Provides:          fail2ban
 # Required-Start:    $local_fs $remote_fs
 #  rename this file: (sudo) mv /etc/init.d/fail2ban.init /etc/init.d/fail2ban
 #  same with the logrotate file: (sudo) mv /etc/logrotate.d/fail2ban.logrotate /etc/logrotate.d/fail2ban
 #
-PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin
-DESC="authentication failure monitor"
-NAME=fail2ban
+PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin"
+DESC="Authentication failure monitor"
+NAME="fail2ban"
 
 # fail2ban-client is not a daemon itself but starts a daemon and
 # loads its with configuration
-DAEMON=/usr/bin/$NAME-client
-SCRIPTNAME=/etc/init.d/$NAME
+DAEMON="/usr/bin/$NAME-client"
+SCRIPTNAME="/etc/init.d/$NAME"
 
 # Ad-hoc way to parse out socket file name
-SOCKFILE=`grep -h '^[^#]*socket *=' /etc/$NAME/$NAME.conf /etc/$NAME/$NAME.local 2>/dev/null \
-          | tail -n 1 | sed -e 's/.*socket *= *//g' -e 's/ *$//g'`
-[ -z "$SOCKFILE" ] && SOCKFILE='/var/run/fail2ban.sock'
+SOCKFILE="$(grep -h '^[^#]*socket *=' "/etc/$NAME/$NAME.conf" "/etc/$NAME/$NAME.local" 2>/dev/null \
+       | tail -n 1 | sed -e 's/.*socket *= *//g' -e 's/ *$//g')"
+[ -z "$SOCKFILE" ] && SOCKFILE="/var/run/fail2ban.sock"
 
 # Exit if the package is not installed
 [ -x "$DAEMON" ] || exit 0
 
 # Run as root by default.
-FAIL2BAN_USER=root
+FAIL2BAN_USER="root"
 
 # Read configuration variable file if it is present
-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME"
 DAEMON_ARGS="$FAIL2BAN_OPTS"
 
 # Load the VERBOSE setting and other rcS variables
@@ -51,7 +51,8 @@ DAEMON_ARGS="$FAIL2BAN_OPTS"
 
 # Predefine what can be missing from lsb source later on -- necessary to run
 # on sarge. Just present it in a bit more compact way from what was shipped
-log_daemon_msg () {
+log_daemon_msg()
+{
        [ -z "$1" ] && return 1
        echo -n "$1:"
        [ -z "$2" ] || echo -n " $2"
@@ -68,7 +69,7 @@ log_daemon_msg () {
 #
 report_bug()
 {
-       echo $*
+       echo "$*"
        echo "Please submit a bug report to Debian BTS (reportbug fail2ban)"
        exit 1
 }
@@ -80,10 +81,10 @@ report_bug()
 check_socket()
 {
        # Return
-       #       0 if socket is present and readable
-       #       1 if socket file is not present
-       #       2 if socket file is present but not readable
-       #       3 if socket file is present but is not a socket
+       #       0 if socket is present and readable
+       #       1 if socket file is not present
+       #       2 if socket file is present but not readable
+       #       3 if socket file is present but is not a socket
        [ -e "$SOCKFILE" ] || return 1
        [ -r "$SOCKFILE" ] || return 2
        [ -S "$SOCKFILE" ] || return 3
@@ -96,14 +97,14 @@ check_socket()
 do_start()
 {
        # Return
-       #       0 if daemon has been started
-       #       1 if daemon was already running
-       #       2 if daemon could not be started
+       #       0 if daemon has been started
+       #       1 if daemon was already running
+       #       2 if daemon could not be started
        do_status && return 1
 
        if [ -e "$SOCKFILE" ]; then
                log_failure_msg "Socket file $SOCKFILE is present"
-               [ "$1" = "force-start" ] \
+               [ "$1" = force-start ] \
                        && log_success_msg "Starting anyway as requested" \
                        || return 2
                DAEMON_ARGS="$DAEMON_ARGS -x"
@@ -112,18 +113,20 @@ do_start()
        # Assure that /var/run/fail2ban exists
        [ -d /var/run/fail2ban ] || mkdir -p /var/run/fail2ban
 
-       if [ "$FAIL2BAN_USER" != "root" ]; then
+       if [ "$FAIL2BAN_USER" != root ]; then
                # Make the socket directory, IP lists and fail2ban log
                # files writable by fail2ban
                chown "$FAIL2BAN_USER" /var/run/fail2ban
                # Create the logfile if it doesn't exist
                touch /var/log/fail2ban.log
                chown "$FAIL2BAN_USER" /var/log/fail2ban.log
-               find /proc/net/xt_recent -name 'fail2ban-*' -exec chown "$FAIL2BAN_USER" {} \;
+               find /proc/net/xt_recent -name "fail2ban-*" -exec chown "$FAIL2BAN_USER" "{}" ";"
        fi
 
-       start-stop-daemon --start --quiet --chuid "$FAIL2BAN_USER" --exec $DAEMON -- \
-               $DAEMON_ARGS start > /dev/null\
+       # $DAEMON_ARGS need to be expanded possibly with multiple or no options
+       # shellcheck disable=SC2086
+       start-stop-daemon --start --quiet --chuid "$FAIL2BAN_USER" --exec "$DAEMON" -- \
+               $DAEMON_ARGS start >/dev/null \
                || return 2
 
        return 0
@@ -136,8 +139,8 @@ do_start()
 #
 do_status()
 {
-       $DAEMON ping > /dev/null 2>&1
-       return $?
+       $DAEMON ping >/dev/null 2>&1
+       return "$?"
 }
 
 #
@@ -146,22 +149,22 @@ do_status()
 do_stop()
 {
        # Return
-       #       0 if daemon has been stopped
-       #       1 if daemon was already stopped
-       #       2 if daemon could not be stopped
-       #       other if a failure occurred
-       $DAEMON status > /dev/null 2>&1 || return 1
-       $DAEMON stop > /dev/null || return 2
+       #       0 if daemon has been stopped
+       #       1 if daemon was already stopped
+       #       2 if daemon could not be stopped
+       #       other if a failure occurred
+       $DAEMON status >/dev/null 2>&1 || return 1
+       $DAEMON stop >/dev/null || return 2
 
        # now we need actually to wait a bit since it might take time
        # for server to react on client's stop request. Especially
        # important for restart command on slow boxes
        count=1
-       while do_status && [ $count -lt 60 ]; do
+       while do_status && [ "$count" -lt 60 ]; do
                sleep 1
-               count=$(($count+1))
+               count="$((count + 1))"
        done
-       [ $count -lt 60 ] || return 3 # failed to stop
+       [ "$count" -lt 60 ] || return 3 # failed to stop
 
        return 0
 }
@@ -169,8 +172,9 @@ do_stop()
 #
 # Function to reload configuration
 #
-do_reload() {
-       $DAEMON reload > /dev/null && return 0 || return 1
+do_reload()
+{
+       "$DAEMON" reload >/dev/null && return 0 || return 1
        return 0
 }
 
@@ -180,9 +184,16 @@ do_reload() {
 #
 log_end_msg_wrapper()
 {
-       if [ "$3" != "no" ]; then
-               [ $1 -lt $2 ] && value=0 || value=1
-               log_end_msg $value
+       if [ "$1" != 0 ] && [ "$1" != "$2" ]; then
+               value="1"
+       else
+               value="0"
+       fi
+       if [ "$3" != no ]; then
+               log_end_msg "$value"
+       fi
+       if [ "$value" != 0 ]; then
+               exit "$1"
        fi
 }
 
@@ -191,13 +202,13 @@ case "$command" in
        start|force-start)
                [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
                do_start "$command"
-               log_end_msg_wrapper $? 2 "$VERBOSE"
+               log_end_msg_wrapper "$?" 255 "$VERBOSE"
                ;;
 
        stop)
                [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
                do_stop
-               log_end_msg_wrapper $? 2 "$VERBOSE"
+               log_end_msg_wrapper "$?" 255 "$VERBOSE"
                ;;
 
        restart|force-reload)
@@ -206,41 +217,55 @@ case "$command" in
                case "$?" in
                        0|1)
                                do_start
-                               log_end_msg_wrapper $? 1 "always"
+                               log_end_msg_wrapper "$?" 0 always
                                ;;
                        *)
                                # Failed to stop
                                log_end_msg 1
                                ;;
-               esac
+               esac
                ;;
 
-       reload|force-reload)
-        log_daemon_msg "Reloading $DESC" "$NAME"
-        do_reload
-        log_end_msg $?
-        ;;
+       reload)
+               log_daemon_msg "Reloading $DESC" "$NAME"
+               do_reload
+               log_end_msg "$?"
+               ;;
 
        status)
                log_daemon_msg "Status of $DESC"
                do_status
-               case $? in
-                       0)  log_success_msg " $NAME is running" ;;
+               case "$?" in
+                       0)
+                               log_success_msg " $NAME is running"
+                               ;;
                        255)
                                check_socket
-                               case $? in
-                                       1)  log_failure_msg " $NAME is not running" && exit 3 ;;
-                                       0)  log_failure_msg " $NAME is not running but $SOCKFILE exists" && exit 3 ;;
-                                       2)  log_failure_msg " $SOCKFILE not readable, status of $NAME is unknown" && exit 3 ;;
-                                       3)  log_failure_msg " $SOCKFILE exists but not a socket, status of $NAME is unknown" && exit 3 ;;
-                                       *)  report_bug "Unknown return code from $NAME:check_socket." && exit 4 ;;
+                               case "$?" in
+                                       1)
+                                               log_failure_msg " $NAME is not running" && exit 3
+                                               ;;
+                                       0)
+                                               log_failure_msg " $NAME is not running but $SOCKFILE exists" && exit 3
+                                               ;;
+                                       2)
+                                               log_failure_msg " $SOCKFILE not readable, status of $NAME is unknown" && exit 3
+                                               ;;
+                                       3)
+                                               log_failure_msg " $SOCKFILE exists but not a socket, status of $NAME is unknown" && exit 3
+                                               ;;
+                                       *)
+                                               report_bug "Unknown return code from $NAME:check_socket." && exit 4
+                                               ;;
                                esac
                                ;;
-                       *)  report_bug "Unknown $NAME status code" && exit 4
+                       *)
+                               report_bug "Unknown $NAME status code" && exit 4
+                               ;;
                esac
                ;;
        *)
-               echo "Usage: $SCRIPTNAME {start|force-start|stop|restart|force-reload|status}" >&2
+               echo "Usage: $SCRIPTNAME {start|force-start|stop|restart|force-reload|status}" 1>&2
                exit 3
                ;;
 esac
index 64cfa10b20aecf7e1507a262d01aee9c9776e6c3..3abca95d2ee5111e83fd9a80afcba9e0e97390bc 100755 (executable)
@@ -23,7 +23,7 @@ DAEMON_GROUP=nagios
 DAEMON_CMDGROUP=www-data
 DAEMON_ARGS="-e /var/log/icinga2/icinga2.err"
 STARTUP_LOG="/var/log/icinga2/startup.log"
-PIDFILE=/var/run/icinga2/$NAME.pid
+PIDFILE=/run/icinga2/$NAME.pid
 SCRIPTNAME=/etc/init.d/$NAME
 
 # Block/ignore SIGPIPE inside Icinga2
@@ -47,14 +47,14 @@ trap '' 13 # SIGPIPE
 
 # check run directory
 check_run () {
-  test -d '/var/run/icinga2' || mkdir /var/run/icinga2
-  test -d '/var/run/icinga2/cmd' || mkdir /var/run/icinga2/cmd
+  test -d '/run/icinga2' || mkdir /run/icinga2
+  test -d '/run/icinga2/cmd' || mkdir /run/icinga2/cmd
 
-  chown "$DAEMON_USER":"$DAEMON_GROUP" /var/run/icinga2
-  chmod 0755 /var/run/icinga2
+  chown "$DAEMON_USER":"$DAEMON_GROUP" /run/icinga2
+  chmod 0755 /run/icinga2
 
-  chown "$DAEMON_USER":"$DAEMON_CMDGROUP" /var/run/icinga2/cmd
-  chmod 2710 /var/run/icinga2/cmd
+  chown "$DAEMON_USER":"$DAEMON_CMDGROUP" /run/icinga2/cmd
+  chmod 2710 /run/icinga2/cmd
 }
 
 check_config () {
diff --git a/init.d/named b/init.d/named
new file mode 100755 (executable)
index 0000000..44b00ca
--- /dev/null
@@ -0,0 +1,146 @@
+#!/bin/sh -e
+
+### BEGIN INIT INFO
+# Provides:          bind bind9
+# Required-Start:    $remote_fs
+# Required-Stop:     $remote_fs
+# Should-Start:      $network $syslog
+# Should-Stop:       $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start and stop BIND 9 Domain Name Server
+# Description:       BIND 9 is a Domain Name Server (DNS)
+#        which translates ip addresses to and from internet names
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# for a chrooted server: "-u bind -t /var/lib/named"
+# Don't modify this line, instead change or create /etc/default/named.
+OPTIONS=""
+RESOLVCONF=no
+
+test -f /etc/default/named && . /etc/default/named
+
+test -x /usr/sbin/rndc || exit 0
+
+. /lib/lsb/init-functions
+PIDFILE=/run/named/named.pid
+
+check_network() {
+    result=0
+    if [ -x /usr/bin/uname ] && [ "X$(/usr/bin/uname -o)" = XSolaris ]; then
+        LIST_NICS_IP=$(/sbin/ifconfig -au) || result=$?
+    else
+        LIST_NICS_IP=$(/bin/ip addr) || result=$?
+    fi
+    if [ $result -ne 0 -o -z "${LIST_NICS_IP}" ]; then
+       #log_action_msg "No networks configured."
+       return 1
+    fi
+    return 0
+}
+
+case "$1" in
+    start)
+       log_daemon_msg "Starting domain name service..." "named"
+
+       modprobe capability >/dev/null 2>&1 || true
+
+       # dirs under /run can go away on reboots.
+       mkdir -p /run/named
+       chmod 775 /run/named
+       chown root:bind /run/named >/dev/null 2>&1 || true
+
+       if [ ! -x /usr/sbin/named ]; then
+           log_action_msg "named binary missing - not starting"
+           log_end_msg 1
+       fi
+
+       if ! check_network; then
+           log_action_msg "no networks configured"
+           log_end_msg 1
+       fi
+
+       if start-stop-daemon --start --oknodo --quiet --exec /usr/sbin/named \
+               --pidfile ${PIDFILE} -- $OPTIONS; then
+           if [ "X$RESOLVCONF" != "Xno" ] && [ -x /sbin/resolvconf ] ; then
+               echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.named
+           fi
+           log_end_msg 0
+       else
+           log_end_msg 1
+       fi
+    ;;
+
+    stop)
+       log_daemon_msg "Stopping domain name service..." "named"
+       if ! check_network; then
+           log_action_msg "no networks configured"
+           log_end_msg 1
+       fi
+
+       if [ "X$RESOLVCONF" != "Xno" ] && [ -x /sbin/resolvconf ] ; then
+           /sbin/resolvconf -d lo.named
+       fi
+       pid=$(/usr/sbin/rndc stop -p | awk '/^pid:/ {print $2}') || true
+       if [ -z "$pid" ]; then          # no pid found, so either not running, or error
+           pid=$(pgrep -f ^/usr/sbin/named) || true
+           start-stop-daemon --stop --oknodo --quiet --exec /usr/sbin/named \
+                   --pidfile ${PIDFILE} -- $OPTIONS
+       fi
+       if [ -n "$pid" ]; then
+           sig=0
+           n=1
+           while kill -$sig $pid 2>/dev/null; do
+               if [ $n -eq 1 ]; then
+                   echo "waiting for pid $pid to die"
+               fi
+               if [ $n -eq 11 ]; then
+                   echo "giving up on pid $pid with kill -0; trying -9"
+                   sig=9
+               fi
+               if [ $n -gt 20 ]; then
+                   echo "giving up on pid $pid"
+                   break
+               fi
+               n=$(($n+1))
+               sleep 1
+           done
+       fi
+       log_end_msg 0
+    ;;
+
+    reload|force-reload)
+       log_daemon_msg "Reloading domain name service..." "named"
+       if ! check_network; then
+           log_action_msg "no networks configured"
+           log_end_msg 1
+       fi
+
+       /usr/sbin/rndc reload >/dev/null && log_end_msg 0 || log_end_msg 1
+    ;;
+
+    restart)
+       if ! check_network; then
+           log_action_msg "no networks configured"
+           exit 1
+       fi
+
+       $0 stop
+       $0 start
+    ;;
+    
+    status)
+       ret=0
+       status_of_proc -p ${PIDFILE} /usr/sbin/named bind 2>/dev/null || ret=$?
+       exit $ret
+       ;;
+
+    *)
+       log_action_msg "Usage: /etc/init.d/named {start|stop|reload|restart|force-reload|status}"
+       exit 1
+    ;;
+esac
+
+exit 0
index b3a0ec8fda59818da0a7ea0720f670602756d94c..7cafddc1d98d1cc774834c1b3f87eaf14c73eabc 100644 (file)
@@ -14,7 +14,8 @@
 13     dnrouted
 14     xorp
 15     ntk
-16      dhcp
+16     dhcp
+18     keepalived
 42     babel
 186    bgp
 187    isis
index 35eca9b9bad2eac76e0390f2466df373c0fa60b7..87e0345502d8bb6dbd38ab99503da57d767b4c6e 100644 (file)
@@ -1,13 +1,14 @@
-# Generated by xtables-save v1.8.2 on Thu Apr  8 19:25:18 2021
+# Generated by iptables-save v1.8.7 on Thu Sep 16 13:59:08 2021
 *filter
 :INPUT ACCEPT [0:0]
 :FORWARD ACCEPT [0:0]
-:OUTPUT ACCEPT [3894502:15435226157]
+:OUTPUT ACCEPT [844:109767]
+:f2b-apache-noscript - [0:0]
+:f2b-ssh - [0:0]
 :icinga2 - [0:0]
 :rejects - [0:0]
 :salt-master - [0:0]
-:f2b-ssh - [0:0]
-:f2b-apache-noscript - [0:0]
+-A INPUT -p tcp -m multiport --dports 22 -j f2b-ssh
 -A INPUT -p tcp -m multiport --dports 80,443 -j f2b-apache-noscript
 -A INPUT -p tcp -m multiport --dports 22 -j f2b-ssh
 -A INPUT -s 220.192.0.0/12 -p tcp -m multiport --dports 22 -j REJECT --reject-with icmp-port-unreachable
 -A INPUT -j rejects
 -A INPUT -j NFLOG --nflog-prefix  "IPv4 INPUT Reject " --nflog-threshold 1
 -A INPUT -j REJECT --reject-with icmp-port-unreachable
+-A f2b-apache-noscript -j RETURN
+-A f2b-ssh -s 221.131.165.56/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -s 180.76.60.141/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -s 107.175.33.240/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -s 221.131.165.23/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -s 128.199.99.204/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -s 49.88.112.115/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -s 42.192.249.157/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -s 212.129.248.183/32 -j REJECT --reject-with icmp-port-unreachable
+-A f2b-ssh -j RETURN
+-A f2b-ssh -j RETURN
 -A icinga2 -s 185.102.95.107/32 -j ACCEPT
 -A icinga2 -s 162.254.24.33/32 -j ACCEPT
 -A icinga2 -s 185.48.118.128/32 -j ACCEPT
 -A salt-master -s 188.34.187.246/32 -j ACCEPT
 -A salt-master -j NFLOG --nflog-prefix  "IPv4 Salt Reject " --nflog-threshold 1
 -A salt-master -j REJECT --reject-with icmp-port-unreachable
--A f2b-ssh -s 107.175.33.240/32 -j REJECT --reject-with icmp-port-unreachable
--A f2b-ssh -s 221.131.165.23/32 -j REJECT --reject-with icmp-port-unreachable
--A f2b-ssh -s 128.199.99.204/32 -j REJECT --reject-with icmp-port-unreachable
--A f2b-ssh -s 49.88.112.115/32 -j REJECT --reject-with icmp-port-unreachable
--A f2b-ssh -s 42.192.249.157/32 -j REJECT --reject-with icmp-port-unreachable
--A f2b-ssh -s 212.129.248.183/32 -j REJECT --reject-with icmp-port-unreachable
--A f2b-ssh -j RETURN
--A f2b-apache-noscript -j RETURN
 COMMIT
-# Completed on Thu Apr  8 19:25:18 2021
+# Completed on Thu Sep 16 13:59:08 2021
index 8bfb66cc3299fe23bbe1babae903036cdf2651f9..2228474d9d1f4844a72de4c96a7ae82e979d4912 100644 (file)
@@ -1,8 +1,8 @@
-# Generated by xtables-save v1.8.2 on Thu Apr  8 19:25:18 2021
+# Generated by ip6tables-save v1.8.7 on Thu Sep 16 13:59:08 2021
 *filter
 :INPUT ACCEPT [0:0]
 :FORWARD ACCEPT [0:0]
-:OUTPUT ACCEPT [7925469:622635830]
+:OUTPUT ACCEPT [1061:84609]
 :salt-master - [0:0]
 -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
 -A INPUT -m conntrack --ctstate RELATED -j ACCEPT
@@ -29,4 +29,4 @@
 -A salt-master -j NFLOG --nflog-prefix  "IPv6 Salt Reject " --nflog-threshold 1
 -A salt-master -j REJECT --reject-with icmp6-port-unreachable
 COMMIT
-# Completed on Thu Apr  8 19:25:18 2021
+# Completed on Thu Sep 16 13:59:08 2021
index 2c32b0c9db1b6a077aad3ab55a080196c5c00ad8..eef550a539dc97bd95d05bef3102aa8d29ee7def 100755 (executable)
@@ -1,82 +1,15 @@
 #!/bin/sh
 set -e
-# Mark as not-for-autoremoval those kernel packages that are:
-#  - the currently booted version
-#  - the kernel version we've been called for
-#  - the latest kernel version (as determined by debian version number)
-#  - the second-latest kernel version
-#
-# In the common case this results in two kernels saved (booted into the
-# second-latest kernel, we install the latest kernel in an upgrade), but
-# can save up to four. Kernel refers here to a distinct release, which can
-# potentially be installed in multiple flavours counting as one kernel.
 
 eval $(apt-config shell APT_CONF_D Dir::Etc::parts/d)
 test -n "${APT_CONF_D}" || APT_CONF_D="/etc/apt/apt.conf.d"
 config_file="${APT_CONF_D}/01autoremove-kernels"
 
-eval $(apt-config shell DPKG Dir::bin::dpkg/f)
-test -n "$DPKG" || DPKG="/usr/bin/dpkg"
-
-list="$("${DPKG}" -l | awk '/^[ih][^nc][ ]+(linux|kfreebsd|gnumach)-image-[0-9]+\./ && $2 !~ /-dbg(:.*)?$/ && $2 !~ /-dbgsym(:.*)?$/ { print $2,$3; }' \
-   | sed -e 's#^\(linux\|kfreebsd\|gnumach\)-image-##' -e 's#:[^:]\+ # #')"
-debverlist="$(echo "$list" | cut -d' ' -f 2 | sort --unique --reverse --version-sort)"
-
-if [ -n "$1" ]; then
-       installed_version="$(echo "$list" | awk "\$1 == \"$1\" { print \$2;exit; }")"
-fi
-unamer="$(uname -r | tr '[A-Z]' '[a-z]')"
-if [ -n "$unamer" ]; then
-       running_version="$(echo "$list" | awk "\$1 == \"$unamer\" { print \$2;exit; }")"
-fi
-# ignore the currently running version if attempting a reproducible build
-if [ -n "${SOURCE_DATE_EPOCH}" ]; then
-       unamer=""
-       running_version=""
-fi
-latest_version="$(echo "$debverlist" | sed -n 1p)"
-previous_version="$(echo "$debverlist" | sed -n 2p)"
-
-debkernels="$(echo "$latest_version
-$installed_version
-$running_version
-$previous_version" | sort -u | sed -e '/^$/ d')"
-kernels="$( (echo "$1
-$unamer"; for deb in $debkernels; do echo "$list" | awk "\$2 == \"$deb\" { print \$1; }"; done; ) \
-   | sed -e 's#\([\.\+]\)#\\\1#g' -e '/^$/ d' | sort -u)"
-
 generateconfig() {
        cat <<EOF
 // DO NOT EDIT! File autogenerated by $0
-APT::NeverAutoRemove
-{
-EOF
-       for package in $(apt-config dump --no-empty --format '%v%n' 'APT::VersionedKernelPackages'); do
-               for kernel in $kernels; do
-                       echo "   \"^${package}-${kernel}$\";"
-               done
-       done
-       echo '};'
-       if [ "${APT_AUTO_REMOVAL_KERNELS_DEBUG:-true}" = 'true' ]; then
-               cat <<EOF
-/* Debug information:
-# dpkg list:
-$(dpkg -l | grep '\(linux\|kfreebsd\|gnumach\)-image-')
-# list of installed kernel packages:
-$list
-# list of different kernel versions:
-$debverlist
-# Installing kernel: $installed_version ($1)
-# Running kernel: ${running_version:-ignored} (${unamer:-ignored})
-# Last kernel: $latest_version
-# Previous kernel: $previous_version
-# Kernel versions list to keep:
-$debkernels
-# Kernel packages (version part) to protect:
-$kernels
-*/
+APT::LastInstalledKernel "$1";
 EOF
-       fi
 }
 generateconfig "$@" > "${config_file}.dpkg-new"
 mv -f "${config_file}.dpkg-new" "$config_file"
index 42d42b0dba9accf42b22f6a6d0abcdb539a63029..635114a6247ba1b4a8f662db546e93493e4d6b87 100644 (file)
@@ -6,7 +6,7 @@
 # This file should be world readable but not world writable.
 
 #BASE  dc=example,dc=com
-#URI   ldap://ldap.example.com ldap://ldap-master.example.com:666
+#URI   ldap://ldap.example.com ldap://ldap-provider.example.com:666
 
 #SIZELIMIT     12
 #TIMELIMIT     15
index e14adc2e8d211348f6734fabc36ef9f24ddcdf35..b45baacfce967fa25b9a31a343d383e942e4ef04 100644 (file)
@@ -34,7 +34,7 @@ convert schema files in general.
 
 This notice applies to all files in this directory.
 
-Copyright 1998-2018 The OpenLDAP Foundation, Redwood City, California, USA
+Copyright 1998-2021 The OpenLDAP Foundation, Redwood City, California, USA
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
index f920004194107a1e321180892e00f247c2a60bed..84029517a64d42ff3cd6aafc4c039b01d0cab9b8 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 535115731acb750035361bfd8fe8459de844ffe8..0b816868ab354553f6635b39eb952a459b238a87 100644 (file)
@@ -3,7 +3,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index a9f555618cf349029104e611cb9bbd52fabbcfc7..4357642e18602a8d39f5073c1df8ffcebe7014c6 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 61305c351e670c90b45657aafc6159d843252512..8b267b8d97b3be0e781a22418f7cff4690752af4 100644 (file)
@@ -1,7 +1,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index f6ac79f35cf621ea07bfd4155116022626f1d27e..0f828c5078e77ef4b9e52b998363348fe9fe1fb5 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index ed1720262b2fbe5b5a23f71256ad10f390fb7e4a..58c33d60d84df605f3bdd534dac3ed7cc99257b7 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index d6aa0794db0ac566762dd86f8434956e8baff3fa..965bf6f8fa1589464cb39b14280cee0d22c92fae 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 72dc645361f1f3bf4ca0ff457c1778e453b7c1b7..dc7ae102c52970c7c222e6119b5725c5e2e98a9e 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 63ebeea924ad66f892fd8a806cc0009c60a342e1..83b571a758d87989318cafa648a9dddf3cacc337 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index e1bbf9dda0509bac275bf4fd36a01a573670f467..c38a9d041570ea8afd6c13eb2925b3c0c93d1d65 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 9605edd833b4f604368a7de61399d08ea49184aa..950dae3a1901ddc5fcde6f6d21eef77997dcf76e 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 31b4eb8c11b2a339db2482dfc17e08b4d3a5f8f0..a54d70cba7dced9a13b077629b86f229fd91ce69 100644 (file)
@@ -1,7 +1,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 1bec8dfef48453693aee9f3d0bbf942a240275ef..0c26a23c6af18688c44ba26069b04f843be73be1 100644 (file)
@@ -1,7 +1,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index ae49ad5b538671b637f3cec095ad0a5d2a2bb98c..be7280ff00e8d0076fb47d64940f5c61274c67f2 100644 (file)
@@ -1,7 +1,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index 643d0093ab5b42dbcd68bf57369ee58d6ff6fec6..ee709ef73f22289c4f07a43fc0da13f04b3fe1b4 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2018 The OpenLDAP Foundation.
+## Copyright 1998-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
index bbf2a9318c1b3c14759ba4233c61b932da0f9557..18c96b1899122666389b72b0991e66e65beae971 100644 (file)
@@ -1,7 +1,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 2004-2018 The OpenLDAP Foundation.
+## Copyright 2004-2021 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
diff --git a/libnl-3/classid b/libnl-3/classid
new file mode 100644 (file)
index 0000000..2203243
--- /dev/null
@@ -0,0 +1,45 @@
+###############################################################################
+#
+# ClassID <-> Name Translation Table
+#
+# This file can be used to assign names to classids for easier reference
+# in all libnl tools.
+#
+# Format:
+#   <MAJ:>             <NAME>          # qdisc definition
+#   <MAJ:MIN>          <NAME>          # class deifnition
+#   <NAME:MIN>         <NAME>          # class definition referencing an
+#                                        existing qdisc definition.
+#
+# Example:
+#   1:                 top             # top -> 1:0
+#   top:1              interactive     # interactive -> 1:1
+#   top:2              www             # www -> 1:2
+#   top:3              bulk            # bulk -> 1:3
+#   2:1                        test_class      # test_class -> 2:1
+#
+# Illegal Example:
+#   30:1                classD
+#   classD:2            invalidClass    # classD refers to a class, not a qdisc
+#
+###############################################################################
+
+# <CLASSID>            <NAME>
+
+# Reserved default classids
+0:0                    none
+ffff:ffff              root
+ffff:fff1              ingress
+
+#
+# List your classid definitions here:
+#
+
+
+
+###############################################################################
+# List of auto-generated classids
+#
+# DO NOT ADD CLASSID DEFINITIONS BELOW THIS LINE
+#
+# <CLASSID>            <NAME>
diff --git a/libnl-3/pktloc b/libnl-3/pktloc
new file mode 100644 (file)
index 0000000..8559161
--- /dev/null
@@ -0,0 +1,76 @@
+#
+# Location definitions for packet matching
+#
+
+# name         alignment       offset          mask            shift
+ip.version     u8              net+0           0xF0            4
+ip.hdrlen      u8              net+0           0x0F
+ip.diffserv    u8              net+1
+ip.length      u16             net+2
+ip.id          u16             net+4
+ip.flag.res    u8              net+6           0xff            7
+ip.df          u8              net+6           0x40            6
+ip.mf          u8              net+6           0x20            5
+ip.offset      u16             net+6           0x1FFF
+ip.ttl         u8              net+8
+ip.proto       u8              net+9
+ip.chksum      u16             net+10
+ip.src         u32             net+12
+ip.dst         u32             net+16
+
+# if ip.ihl > 5
+ip.opts                u32             net+20
+
+
+#
+# IP version 6
+#
+# name         alignment       offset          mask            shift
+ip6.version    u8              net+0           0xF0            4
+ip6.tc         u16             net+0           0xFF0           4
+ip6.flowlabel  u32             net+0           0xFFFFF
+ip6.length     u16             net+4
+ip6.nexthdr    u8              net+6
+ip6.hoplimit   u8              net+7
+ip6.src                16              net+8
+ip6.dst                16              net+24
+
+#
+# Transmission Control Protocol (TCP)
+#
+# name         alignment       offset          mask            shift
+tcp.sport      u16             tcp+0
+tcp.dport      u16             tcp+2
+tcp.seq                u32             tcp+4
+tcp.ack                u32             tcp+8
+
+# Data offset (4 bits)
+tcp.off                u8              tcp+12          0xF0            4
+
+# Reserved [0 0 0] (3 bits)
+tcp.reserved   u8              tcp+12          0x04            1
+
+# ECN [N C E] (3 bits)
+tcp.ecn                u16             tcp+12          0x01C00         6
+
+# Individual TCP flags (0|1) (6 bits in total)
+tcp.flag.urg   u8              tcp+13          0x20            5
+tcp.flag.ack   u8              tcp+13          0x10            4
+tcp.flag.psh   u8              tcp+13          0x08            3
+tcp.flag.rst   u8              tcp+13          0x04            2
+tcp.flag.syn   u8              tcp+13          0x02            1
+tcp.flag.fin   u8              tcp+13          0x01
+
+tcp.win                u16             tcp+14
+tcp.csum       u16             tcp+16
+tcp.urg                u16             tcp+18
+tcp.opts       u32             tcp+20
+
+#
+# User Datagram Protocol (UDP)
+#
+# name         alignment       offset          mask            shift
+udp.sport      u16             tcp+0
+udp.dport      u16             tcp+2
+udp.length     u16             tcp+4
+udp.csum       u16             tcp+6
diff --git a/logcheck/ignore.d.server/netfilter-persistent/netfilter-persistent b/logcheck/ignore.d.server/netfilter-persistent/netfilter-persistent
new file mode 100644 (file)
index 0000000..06e1ca1
--- /dev/null
@@ -0,0 +1 @@
+^\w{3} [ :[:digit:]]{11} [._[:alnum:]-]+ systemd\[1\]: netfilter-persistent\.service: Dependency Conflict(s|edBy)=(ip(6)?tables|ipset)\.service dropped, merged into netfilter-persistent\.service$
index 171f20ee306ebd8e1138afa157f43171988bec99..c29d5bf4ed1f21c143b701a9d6c334ba8cb3be34 100644 (file)
@@ -1,5 +1,5 @@
 ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: imklog [0-9.]+, log source = /proc/kmsg started.$
 ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: Kernel logging \(proc\) stopped.$
-^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] start$
-^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] exiting on signal [0-9]+.$
-^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="http://www.rsyslog.com"\] rsyslogd was HUPed$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="https://www.rsyslog.com"\] start$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="https://www.rsyslog.com"\] exiting on signal [0-9]+.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ rsyslogd: \[origin software="rsyslogd" swVersion="[0-9.]+" x-pid="[0-9]+" x-info="https://www.rsyslog.com"\] rsyslogd was HUPed$
index 25b7d9509a07f843532f1d176ded062f0621aef0..e58ab380a71ec7bde2ee548f9e2c25c5b617a4ee 100644 (file)
@@ -1,12 +1,12 @@
-# Generated by LVM2 version 2.03.02(2) (2018-12-18): Wed Sep  4 23:05:49 2019
+# Generated by LVM2 version 2.03.11(2) (2021-01-08): Thu Sep 16 14:12:01 2021
 
 contents = "Text Format Volume Group"
 version = 1
 
-description = "Created *after* executing 'pvscan --cache --activate ay 8:17'"
+description = "Created *after* executing 'vgcfgbackup'"
 
-creation_host = "ns3"  # Linux ns3 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5+deb10u2 (2019-08-08) x86_64
-creation_time = 1567631149     # Wed Sep  4 23:05:49 2019
+creation_host = "ns3"  # Linux ns3 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64
+creation_time = 1631794321     # Thu Sep 16 14:12:01 2021
 
 vg00 {
        id = "JepAFT-Qvz3-A30x-OAuH-gKtZ-sybB-thTeYw"
index f2bcf0235efba8f958ea3d5f892b57ef593282b6..4679c994f02c5b6ad8b2cde5a8bd0c51a078ed6a 100644 (file)
@@ -88,6 +88,22 @@ devices {
        # 
        external_device_info_source = "none"
 
+       # Configuration option devices/hints.
+       # Use a local file to remember which devices have PVs on them.
+       # Some commands will use this as an optimization to reduce device
+       # scanning, and will only scan the listed PVs. Removing the hint file
+       # will cause lvm to generate a new one. Disable hints if PVs will
+       # be copied onto devices using non-lvm commands, like dd.
+       # 
+       # Accepted values:
+       #   all
+       #     Use all hints.
+       #   none
+       #     Use no hints.
+       # 
+       # This configuration option has an automatic default value.
+       # hints = "all"
+
        # Configuration option devices/preferred_names.
        # Select which path name to display for a block device.
        # If multiple path names exist for a block device, and LVM needs to
@@ -126,7 +142,7 @@ devices {
        # 
        # Example
        # Accept every block device:
-       # filter = [ "a|.*/|" ]
+       # filter = [ "a|.*|" ]
        # Reject the cdrom drive:
        # filter = [ "r|/dev/cdrom|" ]
        # Work with just loopback devices, e.g. for testing:
@@ -134,10 +150,10 @@ devices {
        # Accept all loop devices and ide drives except hdc:
        # filter = [ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
        # Use anchors to be very specific:
-       # filter = [ "a|^/dev/hda8$|", "r|.*/|" ]
+       # filter = [ "a|^/dev/hda8$|", "r|.*|" ]
        # 
        # This configuration option has an automatic default value.
-       # filter = [ "a|.*/|" ]
+       # filter = [ "a|.*|" ]
 
        # Configuration option devices/global_filter.
        # Limit the block devices that are used by LVM system components.
@@ -147,7 +163,7 @@ devices {
        # The syntax is the same as devices/filter. Devices rejected by
        # global_filter are not opened by LVM.
        # This configuration option has an automatic default value.
-       # global_filter = [ "a|.*/|" ]
+       # global_filter = [ "a|.*|" ]
 
        # Configuration option devices/types.
        # List of additional acceptable block device types.
@@ -167,17 +183,52 @@ devices {
        sysfs_scan = 1
 
        # Configuration option devices/scan_lvs.
-       # Scan LVM LVs for layered PVs.
-       scan_lvs = 1
+       # Scan LVM LVs for layered PVs, allowing LVs to be used as PVs.
+       # When 1, LVM will detect PVs layered on LVs, and caution must be
+       # taken to avoid a host accessing a layered VG that may not belong
+       # to it, e.g. from a guest image. This generally requires excluding
+       # the LVs with device filters. Also, when this setting is enabled,
+       # every LVM command will scan every active LV on the system (unless
+       # filtered), which can cause performance problems on systems with
+       # many active LVs. When this setting is 0, LVM will not detect or
+       # use PVs that exist on LVs, and will not allow a PV to be created on
+       # an LV. The LVs are ignored using a built in device filter that
+       # identifies and excludes LVs.
+       scan_lvs = 0
 
        # Configuration option devices/multipath_component_detection.
        # Ignore devices that are components of DM multipath devices.
        multipath_component_detection = 1
 
        # Configuration option devices/md_component_detection.
-       # Ignore devices that are components of software RAID (md) devices.
+       # Enable detection and exclusion of MD component devices.
+       # An MD component device is a block device that MD uses as part
+       # of a software RAID virtual device. When an LVM PV is created
+       # on an MD device, LVM must only use the top level MD device as
+       # the PV, and should ignore the underlying component devices.
+       # In cases where the MD superblock is located at the end of the
+       # component devices, it is more difficult for LVM to consistently
+       # identify an MD component, see the md_component_checks setting.
        md_component_detection = 1
 
+       # Configuration option devices/md_component_checks.
+       # The checks LVM should use to detect MD component devices.
+       # MD component devices are block devices used by MD software RAID.
+       # 
+       # Accepted values:
+       #   auto
+       #     LVM will skip scanning the end of devices when it has other
+       #     indications that the device is not an MD component.
+       #   start
+       #     LVM will only scan the start of devices for MD superblocks.
+       #     This does not incur extra I/O by LVM.
+       #   full
+       #     LVM will scan the start and end of devices for MD superblocks.
+       #     This requires an extra read at the end of devices.
+       # 
+       # This configuration option has an automatic default value.
+       # md_component_checks = "auto"
+
        # Configuration option devices/fw_raid_component_detection.
        # Ignore devices that are components of firmware RAID devices.
        # LVM must use an external_device_info_source other than none for this
@@ -296,6 +347,12 @@ devices {
        # Enabling this setting allows the VG to be used as usual even with
        # uncertain devices.
        allow_changes_with_duplicate_pvs = 0
+
+       # Configuration option devices/allow_mixed_block_sizes.
+       # Allow PVs in the same VG with different logical block sizes.
+       # When allowed, the user is responsible to ensure that an LV is
+       # using PVs with matching block sizes when necessary.
+       allow_mixed_block_sizes = 0
 }
 
 # Configuration section allocation.
@@ -372,7 +429,8 @@ allocation {
 
        # Configuration option allocation/cache_pool_metadata_require_separate_pvs.
        # Cache pool metadata and data will always use different PVs.
-       cache_pool_metadata_require_separate_pvs = 0
+       # This configuration option has an automatic default value.
+       # cache_pool_metadata_require_separate_pvs = 0
 
        # Configuration option allocation/cache_metadata_format.
        # Sets default metadata format for new cache.
@@ -431,8 +489,9 @@ allocation {
        # This configuration option does not have a default value defined.
 
        # Configuration option allocation/thin_pool_metadata_require_separate_pvs.
-       # Thin pool metdata and data will always use different PVs.
-       thin_pool_metadata_require_separate_pvs = 0
+       # Thin pool metadata and data will always use different PVs.
+       # This configuration option has an automatic default value.
+       # thin_pool_metadata_require_separate_pvs = 0
 
        # Configuration option allocation/thin_pool_zero.
        # Thin pool data chunks are zeroed before they are first used.
@@ -469,6 +528,11 @@ allocation {
        # This configuration option has an automatic default value.
        # thin_pool_chunk_size_policy = "generic"
 
+       # Configuration option allocation/zero_metadata.
+       # Zero whole metadata area before use with thin or cache pool.
+       # This configuration option has an automatic default value.
+       # zero_metadata = 1
+
        # Configuration option allocation/thin_pool_chunk_size.
        # The minimal chunk size in KiB for thin pool volumes.
        # Larger chunk sizes may improve performance for plain thin volumes,
@@ -497,10 +561,19 @@ allocation {
        # This configuration option has an automatic default value.
        # vdo_use_deduplication = 1
 
-       # Configuration option allocation/vdo_emulate_512_sectors.
-       # Specifies that the VDO volume is to emulate a 512 byte block device.
+       # Configuration option allocation/vdo_use_metadata_hints.
+       # Enables or disables whether VDO volume should tag its latency-critical
+       # writes with the REQ_SYNC flag. Some device mapper targets such as dm-raid5
+       # process writes with this flag at a higher priority.
+       # Default is enabled.
        # This configuration option has an automatic default value.
-       # vdo_emulate_512_sectors = 0
+       # vdo_use_metadata_hints = 1
+
+       # Configuration option allocation/vdo_minimum_io_size.
+       # The minimum IO size for VDO volume to accept, in bytes.
+       # Valid values are 512 or 4096. The recommended and default value is 4096.
+       # This configuration option has an automatic default value.
+       # vdo_minimum_io_size = 4096
 
        # Configuration option allocation/vdo_block_map_cache_size_mb.
        # Specifies the amount of memory in MiB allocated for caching block map
@@ -511,10 +584,10 @@ allocation {
        # vdo_block_map_cache_size_mb = 128
 
        # Configuration option allocation/vdo_block_map_period.
-       # Tunes the quantity of block map updates that can accumulate
-       # before cache pages are flushed to disk. The value must be
-       # at least 1 and less then 16380.
-       # A lower value means shorter recovery time but lower performance.
+       # The speed with which the block map cache writes out modified block map pages.
+       # A smaller era length is likely to reduce the amount time spent rebuilding,
+       # at the cost of increased block map writes during normal operation.
+       # The maximum and recommended value is 16380; the minimum value is 1.
        # This configuration option has an automatic default value.
        # vdo_block_map_period = 16380
 
@@ -534,22 +607,6 @@ allocation {
        # This configuration option has an automatic default value.
        # vdo_index_memory_size_mb = 256
 
-       # Configuration option allocation/vdo_use_read_cache.
-       # Enables or disables the read cache within the VDO volume.
-       # The cache should be enabled if write workloads are expected
-       # to have high levels of deduplication, or for read intensive
-       # workloads of highly compressible data.
-       # This configuration option has an automatic default value.
-       # vdo_use_read_cache = 0
-
-       # Configuration option allocation/vdo_read_cache_size_mb.
-       # Specifies the extra VDO volume read cache size in MiB.
-       # This space is in addition to a system-defined minimum.
-       # The value must be less then 16TiB and 1.12 MiB of memory
-       # will be used per MiB of read cache specified, per bio thread.
-       # This configuration option has an automatic default value.
-       # vdo_read_cache_size_mb = 0
-
        # Configuration option allocation/vdo_slab_size_mb.
        # Specifies the size in MiB of the increment by which a VDO is grown.
        # Using a smaller size constrains the total maximum physical size
@@ -571,7 +628,7 @@ allocation {
        # Each additional thread after the first will use an additional 18MiB of RAM,
        # plus 1.12 MiB of RAM per megabyte of configured read cache size.
        # This configuration option has an automatic default value.
-       # vdo_bio_threads = 1
+       # vdo_bio_threads = 4
 
        # Configuration option allocation/vdo_bio_rotation.
        # Specifies the number of I/O operations to enqueue for each bio-submission
@@ -625,6 +682,18 @@ allocation {
        #         Data which has not been flushed is not guaranteed to persist in this mode.
        # This configuration option has an automatic default value.
        # vdo_write_policy = "auto"
+
+       # Configuration option allocation/vdo_max_discard.
+       # Specified te maximum size of discard bio accepted, in 4096 byte blocks.
+       # I/O requests to a VDO volume are normally split into 4096-byte blocks,
+       # and processed up to 2048 at a time. However, discard requests to a VDO volume
+       # can be automatically split to a larger size, up to <max discard> 4096-byte blocks
+       # in a single bio, and are limited to 1500 at a time.
+       # Increasing this value may provide better overall performance, at the cost of
+       # increased latency for the individual discard requests.
+       # The default and minimum is 1. The maximum is UINT_MAX / 4096.
+       # This configuration option has an automatic default value.
+       # vdo_max_discard = 1
 }
 
 # Configuration section log.
@@ -715,7 +784,8 @@ log {
 
        # Configuration option log/indent.
        # Indent messages according to their severity.
-       indent = 1
+       # This configuration option has an automatic default value.
+       # indent = 0
 
        # Configuration option log/command_names.
        # Display the command name on each line of output.
@@ -741,6 +811,20 @@ log {
        # available: memory, devices, io, activation, allocation,
        # metadata, cache, locking, lvmpolld. Use "all" to see everything.
        debug_classes = [ "memory", "devices", "io", "activation", "allocation", "metadata", "cache", "locking", "lvmpolld", "dbus" ]
+
+       # Configuration option log/debug_file_fields.
+       # The fields included in debug output written to log file.
+       # Use "all" to include everything (the default).
+       # This configuration option is advanced.
+       # This configuration option has an automatic default value.
+       # debug_file_fields = [ "time", "command", "fileline", "message" ]
+
+       # Configuration option log/debug_output_fields.
+       # The fields included in debug output written to stderr.
+       # Use "all" to include everything (the default).
+       # This configuration option is advanced.
+       # This configuration option has an automatic default value.
+       # debug_output_fields = [ "time", "command", "fileline", "message" ]
 }
 
 # Configuration section backup.
@@ -828,9 +912,6 @@ global {
        # the error messages.
        activation = 1
 
-       # Configuration option global/segment_libraries.
-       # This configuration option does not have a default value defined.
-
        # Configuration option global/proc.
        # Location of proc filesystem.
        # This configuration option is advanced.
@@ -856,8 +937,7 @@ global {
        # a volume group's metadata, instead of always granting the read-only
        # requests immediately, delay them to allow the read-write requests to
        # be serviced. Without this setting, write access may be stalled by a
-       # high volume of read-only requests. This option only affects
-       # locking_type 1 viz. local file-based locking.
+       # high volume of read-only requests. This option only affects file locks.
        prioritise_write_locks = 1
 
        # Configuration option global/library_dir.
@@ -904,6 +984,17 @@ global {
        # 
        mirror_segtype_default = "raid1"
 
+       # Configuration option global/support_mirrored_mirror_log.
+       # Enable mirrored 'mirror' log type for testing.
+       # 
+       # This type is deprecated to create or convert to but can
+       # be enabled to test that activation of existing mirrored
+       # logs and conversion to disk/core works.
+       # 
+       # Not supported for regular operation!
+       # This configuration option has an automatic default value.
+       # support_mirrored_mirror_log = 0
+
        # Configuration option global/raid10_segtype_default.
        # The segment type used by the -i -m combination.
        # The --type raid10|mirror option overrides this setting.
@@ -960,7 +1051,8 @@ global {
        # activated from these events (the default is all.)
        # When event_activation is disabled, the system will generally run
        # a direct activation command to activate LVs in complete VGs.
-       event_activation = 1
+       # This configuration option has an automatic default value.
+       # event_activation = 1
 
        # Configuration option global/use_aio.
        # Use async I/O when reading and writing devices.
@@ -1095,7 +1187,7 @@ global {
        # The full path to the vdoformat command.
        # LVM uses this command to initial data volume for VDO type logical volume
        # This configuration option has an automatic default value.
-       # vdo_format_executable = "autodetect"
+       # vdo_format_executable = "/usr/bin/vdoformat"
 
        # Configuration option global/vdo_format_options.
        # List of options passed added to standard vdoformat command.
@@ -1159,6 +1251,16 @@ global {
        # When enabled, an LVM command that changes PVs, changes VG metadata,
        # or changes the activation state of an LV will send a notification.
        notify_dbus = 1
+
+       # Configuration option global/io_memory_size.
+       # The amount of memory in KiB that LVM allocates to perform disk io.
+       # LVM performance may benefit from more io memory when there are many
+       # disks or VG metadata is large. Increasing this size may be necessary
+       # when a single copy of VG metadata is larger than the current setting.
+       # This value should usually not be decreased from the default; setting
+       # it too low can result in lvm failing to read VGs.
+       # This configuration option has an automatic default value.
+       # io_memory_size = 8192
 }
 
 # Configuration section activation.
@@ -1194,7 +1296,8 @@ activation {
        # This enables additional checks (and if necessary, repairs) on entries
        # in the device directory after udev has completed processing its
        # events. Useful for diagnosing problems with LVM/udev interactions.
-       verify_udev_operations = 0
+       # This configuration option has an automatic default value.
+       # verify_udev_operations = 0
 
        # Configuration option activation/retry_deactivation.
        # Retry failed LV deactivation.
@@ -1219,23 +1322,27 @@ activation {
        # When disabled, the striped target is used. The linear target is an
        # optimised version of the striped target that only handles a single
        # stripe.
-       use_linear_target = 1
+       # This configuration option has an automatic default value.
+       # use_linear_target = 1
 
        # Configuration option activation/reserved_stack.
        # Stack size in KiB to reserve for use while devices are suspended.
        # Insufficent reserve risks I/O deadlock during device suspension.
-       reserved_stack = 64
+       # This configuration option has an automatic default value.
+       # reserved_stack = 64
 
        # Configuration option activation/reserved_memory.
        # Memory size in KiB to reserve for use while devices are suspended.
        # Insufficent reserve risks I/O deadlock during device suspension.
-       reserved_memory = 8192
+       # This configuration option has an automatic default value.
+       # reserved_memory = 8192
 
        # Configuration option activation/process_priority.
        # Nice value used while devices are suspended.
        # Use a high priority so that LVs are suspended
        # for the shortest possible time.
-       process_priority = -18
+       # This configuration option has an automatic default value.
+       # process_priority = -18
 
        # Configuration option activation/volume_list.
        # Only LVs selected by this list are activated.
@@ -1352,7 +1459,8 @@ activation {
        #   auto
        #     Use default value chosen by kernel.
        # 
-       readahead = "auto"
+       # This configuration option has an automatic default value.
+       # readahead = "auto"
 
        # Configuration option activation/raid_fault_policy.
        # Defines how a device failure in a RAID LV is handled.
@@ -1488,7 +1596,8 @@ activation {
        # 8.4G, it is extended to 14.4G:
        # vdo_pool_autoextend_threshold = 70
        # 
-       vdo_pool_autoextend_threshold = 100
+       # This configuration option has an automatic default value.
+       # vdo_pool_autoextend_threshold = 100
 
        # Configuration option activation/vdo_pool_autoextend_percent.
        # Auto-extending a VDO pool adds this percent extra space.
@@ -1524,7 +1633,8 @@ activation {
        # Use the old behavior of mlockall to pin all memory.
        # Prior to version 2.02.62, LVM used mlockall() to pin the whole
        # process's memory while activating devices.
-       use_mlockall = 0
+       # This configuration option has an automatic default value.
+       # use_mlockall = 0
 
        # Configuration option activation/monitoring.
        # Monitor LVs that are activated.
@@ -1539,7 +1649,8 @@ activation {
        # intervals of this number of seconds. If this is set to 0 and there
        # is only one thing to wait for, there are no progress reports, but
        # the process is awoken immediately once the operation is complete.
-       polling_interval = 15
+       # This configuration option has an automatic default value.
+       # polling_interval = 15
 
        # Configuration option activation/auto_set_activation_skip.
        # Set the activation skip flag on new thin snapshot LVs.
@@ -1660,7 +1771,6 @@ activation {
        # additional space for VG metadata. The --metadatasize option overrides
        # this setting.
        # This configuration option does not have a default value defined.
-       # This configuration option has an automatic default value.
 
        # Configuration option metadata/pvmetadataignore.
        # Ignore metadata areas on a new PV.
@@ -2096,7 +2206,8 @@ dmeventd {
        # failures. It removes failed devices from a volume group and
        # reconfigures a mirror as necessary. If no mirror library is
        # provided, mirrors are not monitored through dmeventd.
-       mirror_library = "libdevmapper-event-lvm2mirror.so"
+       # This configuration option has an automatic default value.
+       # mirror_library = "libdevmapper-event-lvm2mirror.so"
 
        # Configuration option dmeventd/raid_library.
        # This configuration option has an automatic default value.
@@ -2107,14 +2218,16 @@ dmeventd {
        # libdevmapper-event-lvm2snapshot.so monitors the filling of snapshots
        # and emits a warning through syslog when the usage exceeds 80%. The
        # warning is repeated when 85%, 90% and 95% of the snapshot is filled.
-       snapshot_library = "libdevmapper-event-lvm2snapshot.so"
+       # This configuration option has an automatic default value.
+       # snapshot_library = "libdevmapper-event-lvm2snapshot.so"
 
        # Configuration option dmeventd/thin_library.
        # The library dmeventd uses when monitoring a thin device.
        # libdevmapper-event-lvm2thin.so monitors the filling of a pool
        # and emits a warning through syslog when the usage exceeds 80%. The
        # warning is repeated when 85%, 90% and 95% of the pool is filled.
-       thin_library = "libdevmapper-event-lvm2thin.so"
+       # This configuration option has an automatic default value.
+       # thin_library = "libdevmapper-event-lvm2thin.so"
 
        # Configuration option dmeventd/thin_command.
        # The plugin runs command with each 5% increment when thin-pool data volume
index 0bd47b5669095f2cc7be9a96621d3e05de434732..2044fc27f931ab979f6575d1a48a939a013de0a8 100644 (file)
@@ -1,25 +1,24 @@
 # Demo configuration for 'VDO' using less memory.
-#
+# ~lvmconfig --type full | grep vdo
 
 allocation {
-       vdo_use_compression = 1
-       vdo_use_deduplication = 1
-       vdo_emulate_512_sectors = 0
-       vdo_block_map_cache_size_mb = 128
-       vdo_block_map_period = 16380
-       vdo_check_point_frequency = 0
-       vdo_use_sparse_index = 0
-       vdo_index_memory_size_mb = 256
-       vdo_use_read_cache = 0
-       vdo_read_cache_size_mb = 0
-       vdo_slab_size_mb = 2048
-
-       vdo_ack_threads = 1
-       vdo_bio_threads = 1
-       vdo_bio_rotation = 64
-       vdo_cpu_threads = 2
-       vdo_hash_zone_threads = 1
-       vdo_logical_threads = 1
-       vdo_physical_threads = 1
-       vdo_write_policy = "auto"
+       vdo_use_compression=1
+       vdo_use_deduplication=1
+       vdo_use_metadata_hints=1
+       vdo_minimum_io_size=4096
+       vdo_block_map_cache_size_mb=128
+       vdo_block_map_period=16380
+       vdo_check_point_frequency=0
+       vdo_use_sparse_index=0
+       vdo_index_memory_size_mb=256
+       vdo_slab_size_mb=2048
+       vdo_ack_threads=1
+       vdo_bio_threads=1
+       vdo_bio_rotation=64
+       vdo_cpu_threads=2
+       vdo_hash_zone_threads=1
+       vdo_logical_threads=1
+       vdo_physical_threads=1
+       vdo_write_policy="auto"
+       vdo_max_discard=1
 }
diff --git a/mailcap b/mailcap
index 7f9ac41ff89859dd5f228d6290859a0655250fee..d18fd1904177c6587d6170c40b18f40dcc6fa9e2 100644 (file)
--- a/mailcap
+++ b/mailcap
 
 ###############################################################################
 
-text/plain; less '%s'; needsterminal
-application/x-troff-man; /usr/bin/man -X100 -l '%s'; test=test -n "$DISPLAY" -a -e /usr/bin/gxditview; description=Man page
-text/troff; /usr/bin/man -X100 -l '%s'; test=test -n "$DISPLAY" -a -e /usr/bin/gxditview; description=Man page
-application/x-troff-man; /usr/bin/man -l '%s'; needsterminal; description=Man page
-text/troff; /usr/bin/man -l '%s'; needsterminal; description=Man page
+text/plain; less %s; needsterminal
+application/x-troff-man; /usr/bin/man -X100 -l %s; test=test -n "$DISPLAY" -a -e /usr/bin/gxditview; description=Man page
+text/troff; /usr/bin/man -X100 -l %s; test=test -n "$DISPLAY" -a -e /usr/bin/gxditview; description=Man page
+application/x-troff-man; /usr/bin/man -l %s; needsterminal; description=Man page
+text/troff; /usr/bin/man -l %s; needsterminal; description=Man page
 text/html; /usr/bin/sensible-browser %s; description=HTML Text; nametemplate=%s.html
 application/x-troff-man; /usr/bin/nroff -mandoc -Tutf8; copiousoutput; print=/usr/bin/nroff -mandoc -Tutf8 | print text/plain:-
 text/troff; /usr/bin/nroff -mandoc -Tutf8; copiousoutput; print=/usr/bin/nroff -mandoc -Tutf8 | print text/plain:-
@@ -54,13 +54,13 @@ text/plain; view %s; edit=vim %s; compose=vim %s; test=test -x /usr/bin/vim; nee
 text/html; /usr/bin/elinks -force-html -dump %s; copiousoutput; description=HTML Text; nametemplate=%s.html
 application/zip; unzip -l %s; nametemplate=%s.zip; copiousoutput
 text/plain; view %s; edit=vi %s; compose=vi %s; needsterminal
-application/x-troff-man; /usr/bin/man -Tascii -l '%s' | col -b; copiousoutput; description=Man page
-text/troff; /usr/bin/man -Tascii -l '%s' | col -b; copiousoutput; description=Man page
-text/*; less '%s'; needsterminal
+application/x-troff-man; /usr/bin/man -Tascii -l %s | col -b; copiousoutput; description=Man page
+text/troff; /usr/bin/man -Tascii -l %s | col -b; copiousoutput; description=Man page
+text/*; less %s; needsterminal
 text/*; view %s; edit=vim %s; compose=vim %s; test=test -x /usr/bin/vim; needsterminal
-application/x-tar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput
-application/x-gtar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput
-application/x-ustar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput
+application/x-tar; /bin/tar tvf %s; print=/bin/tar tvf - | print text/plain:-; copiousoutput
+application/x-gtar; /bin/tar tvf %s; print=/bin/tar tvf - | print text/plain:-; copiousoutput
+application/x-ustar; /bin/tar tvf %s; print=/bin/tar tvf - | print text/plain:-; copiousoutput
 text/*; more %s; needsterminal
 text/*; view %s; edit=vi %s; compose=vi %s; needsterminal
 application/vnd.debian.binary-package; /usr/lib/mime/debian-view %s; needsterminal; description=Debian GNU/Linux Package; nametemplate=%s.deb
index 722a52d614896ecd5d00a7f5c2149d3bdf8add87..7c2792e99ff6fc4d07e8ed60c0d74b3a0173641c 100644 (file)
@@ -69,6 +69,7 @@ MANDB_MAP     /usr/local/man          /var/cache/man/oldlocal
 MANDB_MAP      /usr/local/share/man    /var/cache/man/local
 MANDB_MAP      /usr/X11R6/man          /var/cache/man/X11R6
 MANDB_MAP      /opt/man                /var/cache/man/opt
+MANDB_MAP      /snap/man               /var/cache/man/snap
 #
 #---------------------------------------------------------
 # Program definitions.  These are commented out by default as the value
index 94d8f107a0494d32df72595e69c23f29830a25f8..62b4ea8f11ea8331a848a212da065f73615ed86a 100644 (file)
@@ -1,6 +1,7 @@
 # The MariaDB configuration file
 #
 # The MariaDB/MySQL tools read configuration files in the following order:
+# 0. "/etc/mysql/my.cnf" symlinks to this file, reason why all the rest is read.
 # 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
 # 2. "/etc/mysql/conf.d/*.cnf" to set global options.
 # 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
 # One can use all long options that the program supports.
 # Run program with --help to get a list of available options and with
 # --print-defaults to see which it would actually understand and use.
+#
+# If you are new to MariaDB, check out https://mariadb.com/kb/en/basic-mariadb-articles/
 
 #
-# This group is read both both by the client and the server
+# This group is read both by the client and the server
 # use it for options that affect everything
 #
 [client-server]
+# Port or socket location where to connect
+# port = 3306
+socket = /run/mysqld/mysqld.sock
 
 # Import all .cnf files from configuration directory
 !includedir /etc/mysql/conf.d/
diff --git a/nagios-plugins/config/curl-http.cfg b/nagios-plugins/config/curl-http.cfg
new file mode 100644 (file)
index 0000000..d3b967b
--- /dev/null
@@ -0,0 +1,111 @@
+# 'check_curl_http' command definition
+define command{
+       command_name    check_curl_http
+       command_line    /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
+       }
+
+# 'check_curl_httpname' command definition
+define command{
+       command_name    check_curl_httpname
+       command_line    /usr/lib/nagios/plugins/check_curl -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
+       }
+
+# 'check_curl_http2' command definition
+define command{
+       command_name    check_curl_http2
+       command_line    /usr/lib/nagios/plugins/check_curl -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' '$ARG4$'
+       }
+
+# 'check_curl_squid' command definition
+define command{
+       command_name    check_curl_squid
+       command_line    /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -p '$ARG1$'  -u '$ARG2$'
+       }
+
+# 'check_curl_https' command definition
+define command{
+       command_name    check_curl_https
+       command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' '$ARG1$'
+       }
+
+# 'check_curl_https_httpname' command definition
+define command{
+       command_name    check_curl_https_hostname
+       command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' '$ARG1$'
+       }
+
+# 'check_curl_https_auth' command definition
+define command{
+       command_name    check_curl_https_auth
+       command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
+       }
+
+# 'check_curl_https_auth_hostname' command definition
+define command{
+       command_name    check_curl_https_auth_hostname
+       command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -a '$ARG1$' '$ARG2$'
+       }
+
+# 'check_curl_cups' command definition
+define command{
+       command_name    check_curl_cups
+       command_line    /usr/lib/nagios/plugins/check_curl -I '$HOSTADDRESS$' -p 631 '$ARG1$'
+       }
+
+####
+# use these checks, if you want to test IPv4 connectivity on IPv6 enabled systems
+####
+
+# 'check_curl_http_4' command definition
+define command{
+        command_name    check_curl_http_4
+        command_line    /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+        }
+
+# 'check_curl_httpname_4' command definition
+define command{
+       command_name    check_curl_httpname_4
+       command_line    /usr/lib/nagios/plugins/check_curl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+       }
+
+# 'check_curl_http2_4' command definition
+define command{
+        command_name    check_curl_http2_4
+        command_line    /usr/lib/nagios/plugins/check_curl -H '$ARG1$' -I '$HOSTADDRESS$' -w '$ARG2$' -c '$ARG3$' -4 '$ARG4$'
+        }
+
+# 'check_curl_squid_4' command definition
+define command{
+        command_name    check_curl_squid_4
+        command_line    /usr/lib/nagios/plugins/check_curl -H '$HOSTADDRESS$' -p '$ARG1$'  -u '$ARG2$' -4
+        }
+
+# 'check_curl_https_4' command definition
+define command{
+        command_name    check_curl_https_4
+        command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+       }
+
+# 'check_curls_https_hostname_4' command definition
+define command{
+       command_name    check_curl_https_hostname_4
+       command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME$' -I '$HOSTADDRESS$' -4 '$ARG1$'
+       }
+
+# 'check_curl_https_auth_4' command definition
+define command{
+        command_name    check_curl_https_auth_4
+        command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
+        }
+
+# 'check_curl_https_auth_hostname_4' command definition
+define command{
+       command_name    check_curl_https_auth_hostname_4
+       command_line    /usr/lib/nagios/plugins/check_curl --ssl -H '$HOSTNAME' -I '$HOSTADDRESS$' -a '$ARG1$' -4 '$ARG2$'
+       }
+
+# 'check_curl_cups_4' command definition
+define command{
+       command_name    check_curl_cups_4
+       command_line    /usr/lib/nagios/plugins/check_curl -I '$HOSTADDRESS$' -p 631 -4 '$ARG1$'
+       }
index 2be8f8ef3851f685fa6ec04aa70dc5ceac4892f5..21442ed34f51462a391d433bf59908db85297365 100644 (file)
@@ -50,7 +50,7 @@ define command{
 # 'snmp_users' command definition
 define command{
        command_name    snmp_users
-       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrSystem.hrSystemNumUsers -w :'$ARG2$' -c :'$ARG3$' -l users
+       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o host.hrSystem.hrSystemNumUsers.0 -w :'$ARG2$' -c :'$ARG3$' -l users
        }
 
 
diff --git a/nanorc b/nanorc
index 427801abcf3f277ad8ed81c793036f098542bb61..1f515c10ea2a6ca4a9cf20d8345fea4b4cc9ae62 100644 (file)
--- a/nanorc
+++ b/nanorc
@@ -1,22 +1,15 @@
 ## Sample initialization file for GNU nano.
 ##
-## Please note that you must have configured nano with --enable-nanorc
-## for this file to be read!  Also note that this file should not be in
-## DOS or Mac format, and that characters specially interpreted by the
-## shell should not be escaped here.
+## For the options that take parameters, the default value is shown.
+## Other options are unset by default.  To make sure that an option
+## is disabled, you can use "unset <option>".
 ##
-## To make sure an option is disabled, use "unset <option>".
-##
-## For the options that take parameters, the default value is given.
-## Other options are unset by default.
-##
-## Quotes inside string parameters don't have to be escaped with
-## backslashes.  The last double quote in the string will be treated as
-## its end.  For example, for the "brackets" option, ""')>]}" will match
-## ", ', ), >, ], and }.
+## Characters that are special in a shell should not be escaped here.
+## Inside string parameters, quotes should not be escaped -- the last
+## double quote on the line will be seen as the closing quote.
 
-## Make the 'nextword' function (Ctrl+Right) stop at word ends
-## instead of at beginnings.
+## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
+## stop at word ends instead of at beginnings.
 # set afterends
 
 ## When soft line wrapping is enabled, make it wrap lines at blanks
 ## Use bold text instead of reverse video text.
 # set boldtext
 
+## Treat any line with leading whitespace as the beginning of a paragraph.
+# set bookstyle
+
 ## The characters treated as closing brackets when justifying paragraphs.
 ## This may not include any blank characters.  Only closing punctuation,
 ## optionally followed by these closing brackets, can end sentences.
 # set brackets ""')>]}"
 
+## Automatically hard-wrap the current line when it becomes overlong.
+# set breaklonglines
+
 ## Do case-sensitive searches by default.
 # set casesensitive
 
 
 ## Use cut-from-cursor-to-end-of-line by default.
 # set cutfromcursor
-## (The old form, 'cut', is deprecated.)
 
-## Set the line length for wrapping text and justifying paragraphs.
-## If the value is 0 or less, the wrapping point will be the screen
-## width less this number.
+## Do not use the line below the title bar, leaving it entirely blank.
+# set emptyline
+
+## Set the target width for automatic hard-wrapping and for justifying
+## paragraphs.  If the specified value is 0 or less, the wrapping point
+## will be the terminal's width minus this number.
 # set fill -8
 
 ## Remember the used search/replace strings for the next session.
 set historylog
 
-## Display line numbers to the left of the text.
+## Display a "scrollbar" on the righthand side of the edit window.
+# set indicator
+
+## Scroll the buffer contents per half-screen instead of per line.
+# set jumpyscrolling
+
+## Display line numbers to the left (and any anchors in the margin).
 # set linenumbers
 
 ## Enable vim-style lock-files.  This is just to let a vim user know you
@@ -69,14 +76,14 @@ set historylog
 ## no plans to implement vim-style undo state in these files.
 set locking
 
+## Fall back to slow libmagic to try and determine an applicable syntax.
+# set magic
+
 ## The opening and closing brackets that can be found by bracket
 ## searches.  They cannot contain blank characters.  The former set must
 ## come before the latter set, and both must be in the same order.
 # set matchbrackets "(<[{)>]}"
 
-## Use the blank line below the title bar as extra editing space.
-# set morespace
-
 ## Enable mouse support, if available for your system.  When enabled,
 ## mouse clicks can be used to place the cursor, set the mark (with a
 ## double click), and execute shortcuts.  The mouse will work in the X
@@ -96,13 +103,6 @@ set locking
 ## Don't automatically add a newline when a file does not end with one.
 # set nonewlines
 
-## Don't pause between warnings at startup.  Which means that only the
-## last one will be readable (when there are multiple ones).
-# set nopauses
-
-## Don't wrap text at all.
-set nowrap
-
 ## Set operating directory.  nano will not read or write files outside
 ## this directory and its subdirectories.  Also, the current directory
 ## is changed to here, so any files are inserted from this dir.  A blank
@@ -125,21 +125,27 @@ set nowrap
 ## 1 keystroke instead of 26.  Note that "constantshow" overrides this.
 # set quickblank
 
-## The email-quote string, used to justify email-quoted paragraphs.
-## This is an extended regular expression.  The default is:
-# set quotestr "^([    ]*([#:>|}]|//))+"
+## The regular expression that matches quoting characters in email
+## or line-comment introducers in source code.  The default is:
+# set quotestr "^([    ]*([!#%:;>|}]|//))+"
+
+## Try to work around a mismatching terminfo terminal description.
+# set rawsequences
 
 ## Fix Backspace/Delete confusion problem.
 # set rebinddelete
 
-## Fix numeric keypad key confusion problem.
-# set rebindkeypad
-
-## Do extended regular expression searches by default.
+## Do regular-expression searches by default.
+## Regular expressions are of the extended type (ERE).
 # set regexp
 
-## Put the cursor on the highlighted item in the file browser;
-## useful for people who use a braille display.
+## Save a changed buffer automatically on exit; don't prompt.
+# set saveonexit
+## (The old form of this option, 'set tempfile', is deprecated.)
+
+## Put the cursor on the highlighted item in the file browser, and show
+## the cursor in the help viewer; useful for people who use a braille
+## display and people with poor vision.
 # set showcursor
 
 ## Make the Home key smarter.  When Home is pressed anywhere but at the
@@ -149,18 +155,20 @@ set nowrap
 ## beginning of the line.
 # set smarthome
 
-## Use smooth scrolling as the default.
-# set smooth
-
-## Enable soft line wrapping (AKA full-line display).
+## Spread overlong lines over multiple screen lines.
 # set softwrap
 
 ## Use this spelling checker instead of the internal one.  This option
 ## does not have a default value.
 # set speller "aspell -x -c"
 
-## Allow nano to be suspended.
-set suspend
+## Use the end of the title bar for some state flags: I = auto-indenting,
+## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
+set stateflags
+
+## Allow nano to be suspended (with ^Z by default).
+set suspendable
+## (The old form of this option, 'set suspend', is deprecated.)
 
 ## Use this tab size instead of the default; it must be greater than 0.
 # set tabsize 8
@@ -168,15 +176,8 @@ set suspend
 ## Convert typed tabs to spaces.
 # set tabstospaces
 
-## Save automatically on exit; don't prompt.
-# set tempfile
-
 ## Snip whitespace at the end of lines when justifying or hard-wrapping.
 # set trimblanks
-## (The old form, 'justifytrim', is deprecated.)
-
-## Disallow file modification.  Why would you want this in an rcfile? ;)
-# set view
 
 ## The two single-column characters used to display the first characters
 ## of tabs and spaces.  187 in ISO 8859-1 (0000BB in Unicode) and 183 in
@@ -195,78 +196,100 @@ set suspend
 ## set, it overrides option 'set wordbounds'.
 # set wordchars "<_>."
 
+## Let an unmodified Backspace or Delete erase the marked region (instead
+## of a single character, and without affecting the cutbuffer).
+# set zap
 
 ## Paint the interface elements of nano.  These are examples;
 ## by default there are no colors, except for errorcolor.
-# set titlecolor brightwhite,blue
-# set statuscolor brightwhite,green
-# set errorcolor brightwhite,red
-# set selectedcolor brightwhite,magenta
+# set titlecolor bold,lightwhite,blue
+# set statuscolor bold,lightwhite,green
+# set errorcolor bold,lightwhite,red
+# set selectedcolor lightwhite,magenta
+# set stripecolor ,yellow
+# set scrollercolor cyan
 # set numbercolor cyan
 # set keycolor cyan
 # set functioncolor green
+
 ## In root's .nanorc you might want to use:
-# set titlecolor brightwhite,magenta
-# set statuscolor brightwhite,magenta
-# set errorcolor brightwhite,red
-# set selectedcolor brightwhite,cyan
+# set titlecolor bold,lightwhite,magenta
+# set statuscolor bold,lightwhite,magenta
+# set errorcolor bold,lightwhite,red
+# set selectedcolor lightwhite,cyan
+# set stripecolor ,yellow
+# set scrollercolor magenta
 # set numbercolor magenta
-# set keycolor brightmagenta
+# set keycolor lightmagenta
 # set functioncolor magenta
 
 
-## Setup of syntax coloring.
-##
-## Format:
-##
-## syntax "short description" ["filename regex" ...]
-##
-## The "none" syntax is reserved; specifying it on the command line is
-## the same as not having a syntax at all.  The "default" syntax is
-## special: it takes no filename regexes, and applies to files that
-## don't match any other syntax's filename regexes.
-##
-## color foreground,background "regex" ["regex"...]
-## or
-## icolor foreground,background "regex" ["regex"...]
-##
-## "color" will do case-sensitive matches, while "icolor" will do
-## case-insensitive matches.
-##
-## Valid colors: white, black, red, blue, green, yellow, magenta, cyan.
-## For foreground colors, you may use the prefix "bright" to get a
-## stronger highlight.
-##
-## To use multi-line regexes, use the start="regex" end="regex"
-## [start="regex" end="regex"...] format.
-##
-## If your system supports transparency, not specifying a background
-## color will use a transparent color.  If you don't want this, be sure
-## to set the background color to black or white.
-##
-## All regexes should be extended regular expressions.
-##
-## If you wish, you may put your syntax definitions in separate files.
-## You can make use of such files as follows:
-##
-## include "/path/to/syntax_file.nanorc"
-##
-## Unless otherwise noted, the name of the syntax file (without the
-## ".nanorc" extension) should be the same as the "short description"
-## name inside that file.  These names are kept fairly short to make
-## them easier to remember and faster to type using nano's -Y option.
-##
-## To include all existing syntax definitions, you can do:
-include "/usr/share/nano/*.nanorc"
-
+## === Syntax coloring ===
+## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
 
-## Key bindings.
-## See nanorc(5) (section REBINDING KEYS) for more details on this.
-##
-## The following two functions are not bound to any key by default.
-## You may wish to choose other keys than the ones suggested here.
-# bind M-B cutwordleft main
-# bind M-N cutwordright main
+## To include most of the existing syntax definitions, you can do:
+include "/usr/share/nano/*.nanorc"
 
-## Set this if your Backspace key sends Del most of the time.
-# bind Del backspace all
+## Or you can select just the ones you need.  For example:
+# include "/usr/share/nano/html.nanorc"
+# include "/usr/share/nano/python.nanorc"
+# include "/usr/share/nano/sh.nanorc"
+
+## In /usr/share/nano/extra/ you can find some syntaxes that are
+## specific for certain distros or for some less common languages.
+
+
+## If <Tab> should always produce four spaces when editing a Python file,
+## independent of the settings of 'tabsize' and 'tabstospaces':
+# extendsyntax python tabgives "    "
+
+## If <Tab> should always produce an actual TAB when editing a Makefile:
+# extendsyntax makefile tabgives "     "
+
+
+## === Key bindings ===
+## For all details, see 'man nanorc', section REBINDING KEYS.
+
+## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
+## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
+## the ASCII character for backspace, so it is bound by default to the
+## backspace function.  The <Backspace> key itself produces a different
+## keycode, which is hard-bound to the backspace function.  So, if you
+## normally use <Backspace> for backspacing and not ^H, you can make
+## <Ctrl+Backspace> delete the word to the left of the cursor with:
+# bind ^H chopwordleft main
+
+## If you would like nano to have keybindings that are more "usual",
+## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
+## then uncomment these:
+#bind ^Q exit all
+#bind ^S savefile main
+#bind ^W writeout main
+#bind ^O insert main
+#bind ^H help all
+#bind ^H exit help
+#bind ^F whereis all
+#bind ^G findnext all
+#bind ^B wherewas all
+#bind ^D findprevious all
+#bind ^R replace main
+#bind M-X flipnewbuffer all
+#bind ^X cut all
+#bind ^C copy main
+#bind ^V paste all
+#bind ^P location main
+#bind ^A mark main
+#unbind ^K main
+#unbind ^U all
+#unbind ^N main
+#unbind ^Y all
+#unbind M-J main
+#unbind M-T main
+#bind ^T gotoline main
+#bind ^T gotodir browser
+#bind ^Y speller main
+#bind M-U undo main
+#bind M-R redo main
+#bind ^U undo main
+#bind ^E redo main
+#set multibuffer
index db3d7b3608802a3769e63388af51f550b2434c68..46fb394635958486a01e20379a9c749cd9baacfc 100755 (executable)
@@ -6,7 +6,7 @@
 #   Thomas Liske <thomas@fiasko-nw.net>
 #
 # Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
+#   2013 - 2020 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
 #
 # License:
 #   This program is free software; you can redistribute it and/or modify
index 1e74ce2389648a38a765d9311157d457e468e83e..fe1de6d3fb43d9b5e614599d9c54c011d2ec35f6 100755 (executable)
@@ -6,7 +6,7 @@
 #   Thomas Liske <thomas@fiasko-nw.net>
 #
 # Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
+#   2013 - 2020 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
 #
 # License:
 #   This program is free software; you can redistribute it and/or modify
diff --git a/needrestart/hook.d/30-pacman b/needrestart/hook.d/30-pacman
new file mode 100755 (executable)
index 0000000..688b986
--- /dev/null
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+
+# needrestart - Restart daemons after library updates.
+#
+# Authors:
+#   Thomas Liske <thomas@fiasko-nw.net>
+#
+# Copyright Holder:
+#   2013 - 2020 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
+#
+# License:
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this package; if not, write to the Free Software
+#   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+#
+
+# This PacMan hook tries to find the run-level scripts of the package's binary
+# which has old libraries in use.
+
+use Getopt::Std;
+
+use strict;
+use warnings;
+
+system("type pacman 1> /dev/null 2> /dev/null");
+exit 0 if ($? != -1 && $? >> 8);
+
+our $opt_v;
+getopts('c:v');
+
+sub fork_pipe(@) {
+    my $pid = open(HPIPE, '-|');
+    defined($pid) || die "Can't fork: $!\n";
+
+    if($pid == 0) {
+       close(STDIN);
+       close(STDERR) unless($opt_v);
+
+       exec(@_);
+       exit;
+    }
+
+    \*HPIPE
+}
+
+my $FN = shift || die "Usage: $0 <filename>\n";
+my $psearch = fork_pipe(qw(pacman -Qqo), $FN);
+
+my @pkgs;
+while(<$psearch>) {
+    chomp;
+
+    push(@pkgs, $_);
+}
+close($psearch);
+
+exit(0) unless($#pkgs > -1);
+
+foreach my $pkg (@pkgs) {
+    print "PACKAGE|$pkg\n";
+
+    my $plist = fork_pipe(qw(pacman -Qql), $pkg);
+    while(<$plist>) {
+        chomp;
+        print "RC|$2\n" if(m@/etc(/rc\.d)?/init\.d/(.+)$@ && -x $_);
+    }
+    close($plist);
+}
+
+exit(1);
index ab779a48d038e302417dc30c8d862c79cd1d01ca..accde1658a98caccfc605188a25a6a1eb3062cb5 100755 (executable)
@@ -6,7 +6,7 @@
 #   Thomas Liske <thomas@fiasko-nw.net>
 #
 # Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
+#   2013 - 2020 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
 #
 # License:
 #   This program is free software; you can redistribute it and/or modify
diff --git a/needrestart/iucode.sh b/needrestart/iucode.sh
new file mode 100644 (file)
index 0000000..96eb8c3
--- /dev/null
@@ -0,0 +1,16 @@
+# needrestart - Restart daemons after library updates.
+#
+# This shell script is sourced in /usr/lib/needrestart/iucode-scan-versions
+# before calling iucode_tool to detect microcode updates for Intel CPUs.
+#
+# If required you may exec iucode_tool with customized parameters. You should
+# keep the `-l $filter` option and add a final exit statement in case the
+# exec call fails.
+
+# Example (generic):
+# exec iucode_tool -l $filter --ignore-broken -tb /lib/firmware/intel-ucode -ta /usr/share/misc/intel-microcode* 2>&1
+# exit $?
+
+# Example (CentOS):
+# lsinitrd -f kernel/x86/microcode/GenuineIntel.bin $(/boot/initramfs-*.img|sort -n|tail -n 1) | iucode_tool -t b -l -
+# exit $?
index 7503a8b01a08400fa74b0f7461b0174488fb80d7..4b2f6cb311744c60c7496ab2c2fd0e778fb253ef 100644 (file)
@@ -1,22 +1,10 @@
 
 # needrestart - Restart daemons after library updates.
 #
-# Authors:
-#   Thomas Liske <thomas@fiasko-nw.net>
-#
-# Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
-#
-# License:
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-
 # This is the configuration file of needrestart. This is perl syntax.
-# needrstart uses reasonable default values, you might not need to
+# needrestart uses reasonable default values, you might not need to
 # change anything.
+#
 
 # Verbosity:
 #  0 => quiet
@@ -76,7 +64,7 @@ $nrconf{blacklist} = [
 
 # Blacklist services (list of regex) - USE WITH CARE.
 # You should prefere to put services to $nrconf{override_rc} instead.
-# Any service listed in $nrconf{blacklist_rc} we be ignored completely!
+# Any service listed in $nrconf{blacklist_rc} will be ignored completely!
 #$nrconf{blacklist_rc} = [
 #];
 
@@ -98,8 +86,7 @@ $nrconf{override_rc} = {
 
     # networking stuff
     qr(^bird) => 0,
-    qr(^networking) => 0,
-    qr(^network-manager) => 0,
+    qr(^network) => 0,
     qr(^NetworkManager) => 0,
     qr(^ModemManager) => 0,
     qr(^wpa_supplicant) => 0,
@@ -108,6 +95,7 @@ $nrconf{override_rc} = {
     qr(^frr) => 0,
     qr(^tinc) => 0,
     qr(^(open|free|libre|strong)swan) => 0,
+    qr(^bluetooth) => 0,
 
     # gettys
     qr(^getty@.+\.service) => 0,
@@ -163,6 +151,9 @@ $nrconf{blacklist_mappings} = [
     # special device paths
     qr(^/(SYSV00000000( \(deleted\))?|drm(\s|$)|dev/)),
 
+    # ignore memfd file used by nvidia binary drivers
+    qr(^/memfd:/.glXXXXXX),
+
     # aio(7) mapping
     qr(^/\[aio\]),
 
@@ -172,21 +163,16 @@ $nrconf{blacklist_mappings} = [
     # plasmashell (issue #65)
     qr(/#\d+( \(deleted\))?$),
 
-    # Java Native Access
-    qr#/tmp/jna--#,
-
-    # Java Foreign Function Interface
-    qr#^/tmp/jffi#,
-
-    # elasticsearch
-    qr#^/tmp/elasticsearch\.#,
+    # temporary stuff
+    qr#^(/var)?/tmp/#,
+    qr#^(/var)?/run/#,
 ];
 
 # Verify mapped files in fileystem:
-# 0 : enabled (default)
-# -1: ignore non-existing files, workaround for broken grsecurity kernels
+# 0 : enabled
+# -1: ignore non-existing files, workaround for chroots and broken grsecurity kernels (default)
 # 1 : disable check completely, rely on content of maps file only
-$nrconf{skip_mapfiles} = (-d '/proc/sys/kernel/grsecurity' ? -1 : 0);
+$nrconf{skip_mapfiles} = -1;
 
 # Enable/disable hints on pending kernel upgrades:
 #  1: requires the user to acknowledge pending kernels
@@ -194,6 +180,10 @@ $nrconf{skip_mapfiles} = (-d '/proc/sys/kernel/grsecurity' ? -1 : 0);
 # -1: print kernel hints to stderr only
 #$nrconf{kernelhints} = -1;
 
+# Filter kernel image filenames by regex. This is required on Raspian having
+# multiple kernel image variants installed in parallel.
+#$nrconf{kernelfilter} = qr(kernel7\.img);
+
 # Enable/disable CPU microcode update hints:
 #  1: requires the user to acknowledge pending updates
 #  0: disable microcode checks completely
@@ -220,7 +210,7 @@ $nrconf{skip_mapfiles} = (-d '/proc/sys/kernel/grsecurity' ? -1 : 0);
 # Read additional config snippets.
 if(-d q(/etc/needrestart/conf.d)) {
       foreach my $fn (sort </etc/needrestart/conf.d/*.conf>) {
-             print STDERR "$LOGPREF eval $fn\n" if($nrconf{verbose});
+             print STDERR "$LOGPREF eval $fn\n" if($nrconf{verbosity} > 1);
              eval do { local(@ARGV, $/) = $fn; <>};
              die "Error parsing $fn: $@" if($@);
       }
index 3837c71c83f2c24feb5f773eb266fabe7bf17697..99e23d5cf53dd4e1900fc7f37d4522bd33beb5a2 100644 (file)
@@ -1,19 +1,7 @@
 # needrestart - Restart daemons after library updates.
 #
-# Authors:
-#   Thomas Liske <thomas@fiasko-nw.net>
-#
-# Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
-#
-# License:
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-
 # Configure notification globals (shell syntax)
+#
 
 # Disable write to tty (notify.d/200-write)
 #NR_NOTIFYD_DISABLE_WRITE='1'
index db67db5c0544d3025b24f722fba317ecf99ddaef..e69e979bb1ed313745ae688633851a01a030c7fd 100755 (executable)
@@ -6,7 +6,7 @@
 #   Thomas Liske <thomas@fiasko-nw.net>
 #
 # Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
+#   2013 - 2020 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
 #
 # License:
 #   This program is free software; you can redistribute it and/or modify
index d022126d4b0905a053ac42653df53f5bc83c0d78..932ea787e8c2ca76064bbf8eabf2ed4565e9fc52 100755 (executable)
@@ -6,7 +6,7 @@
 #   Thomas Liske <thomas@fiasko-nw.net>
 #
 # Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
+#   2013 - 2020 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
 #
 # License:
 #   This program is free software; you can redistribute it and/or modify
@@ -29,8 +29,11 @@ fi
 
 case "$NR_SESSION" in
     session*)
-        # cleanup environment
-       unset DBUS_SESSION_BUS_ADDRESS
+       DBUS_SESSION_BUS_ADDRESS=$(sed -z -n s/^DBUS_SESSION_BUS_ADDRESS=//p "/proc/$NR_SESSPPID/environ")
+       if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
+               unset DBUS_SESSION_BUS_ADDRESS
+       fi
+
        export DISPLAY=$(sed -z -n s/^DISPLAY=//p "/proc/$NR_SESSPPID/environ")
        export XAUTHORITY=$(sed -z -n s/^XAUTHORITY=//p "/proc/$NR_SESSPPID/environ")
 
@@ -45,7 +48,7 @@ case "$NR_SESSION" in
        MSGBODY=$(gettext 'Your session is running obsolete binaries or libraries as listed below.
 <i><b>Please consider a relogin or restart of the affected processes!</b></i>')'\n'$(cat)
 
-       su -p -s /bin/sh -c "$NSEND -u critical -i dialog-warning \"$MSGTITLE\" \"$MSGBODY\"" "$NR_USERNAME"
+       su -p -s /bin/sh -c "$NSEND -a needrestart -u critical -i dialog-warning \"$MSGTITLE\" \"$MSGBODY\"" "$NR_USERNAME"
        ;;
     *)
        echo "[$0] skip session '$NR_SESSION'" 1>&2
index 17f1aaca3b58ea880d783a9723e2afcd6ed688e6..934e281d54ecbf34c5298b7fc731b93015980068 100755 (executable)
@@ -6,7 +6,7 @@
 #   Thomas Liske <thomas@fiasko-nw.net>
 #
 # Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
+#   2013 - 2020 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
 #
 # License:
 #   This program is free software; you can redistribute it and/or modify
index 5964e2a83ac4c3ea5ff0054d6e1824501a893190..2db103aeee48b3a181513b1fd0064f0b2d15ac1d 100755 (executable)
@@ -2,21 +2,9 @@
 
 # needrestart - Restart daemons after library updates.
 #
-# Authors:
-#   Thomas Liske <thomas@fiasko-nw.net>
-#
-# Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
-#
-# License:
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-
 # Restart dbus and affiliated services under systemd using a procedure
 # suggested by @Vladimir-csp in github issue #44.
+#
 
 # enable xtrace if we should be verbose
 if [ "$NR_VERBOSE" = '1' ]; then
index 8f4a8a9d8ee89ce24f47fe5cad197ebc1f15961f..8b705ff721d7efb8aa06aaf8e2d89c2ad2bc3d96 100755 (executable)
@@ -2,17 +2,7 @@
 
 # needrestart - Restart daemons after library updates.
 #
-# Authors:
-#   Thomas Liske <thomas@fiasko-nw.net>
-#
-# Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
-#
-# License:
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
+# Restarting systemd using special systemctl call.
 #
 
 # enable xtrace if we should be verbose
index 325f1225c2a4cfd10c3e35a411afff80819b89a0..a4e53587533eb42352a936e46d3f40492fce4abe 100755 (executable)
@@ -2,17 +2,7 @@
 
 # needrestart - Restart daemons after library updates.
 #
-# Authors:
-#   Thomas Liske <thomas@fiasko-nw.net>
-#
-# Copyright Holder:
-#   2013 - 2018 (C) Thomas Liske [http://fiasko-nw.net/~thomas/]
-#
-# License:
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
+# Restart SysV's init.
 #
 
 # enable xtrace if we should be verbose
index 2505e5a19ad29e675eea3c90977bf5403fd5ef8c..4cc07968daa5006c0fa927e77c66b5ed9d5f5d32 100755 (executable)
@@ -4,7 +4,7 @@ set -e
 
 [ -x /usr/sbin/chronyd ] || exit 0
 
-if [ -e /run/chronyd.pid ]; then
+if [ -e /run/chrony/chronyd.pid ]; then
     chronyc onoffline > /dev/null 2>&1
 fi
 
index 2505e5a19ad29e675eea3c90977bf5403fd5ef8c..4cc07968daa5006c0fa927e77c66b5ed9d5f5d32 100755 (executable)
@@ -4,7 +4,7 @@ set -e
 
 [ -x /usr/sbin/chronyd ] || exit 0
 
-if [ -e /run/chronyd.pid ]; then
+if [ -e /run/chrony/chronyd.pid ]; then
     chronyc onoffline > /dev/null 2>&1
 fi
 
index 5facfa290b9daad3db8759b4e32b4e3fc3311efb..fd3591a7cf85fb5ddf6860ab3991a1da085e840c 100644 (file)
@@ -14,7 +14,7 @@
 # pam-auth-update(8) for details.
 
 # here are the per-package modules (the "Primary" block)
-auth   [success=1 default=ignore]      pam_unix.so nullok_secure
+auth   [success=1 default=ignore]      pam_unix.so nullok
 # here's the fallback if no module succeeds
 auth   requisite                       pam_deny.so
 # prime the stack with a positive return value if there isn't one already;
index cb8c7b710f403ef6bf7c033120e495a8d94dbcf1..6fa934618b759eb353d22687f92192f91aeb9500 100644 (file)
@@ -6,14 +6,14 @@
 # used to change user passwords.  The default is pam_unix.
 
 # Explanation of pam_unix options:
-#
-# The "sha512" option enables salted SHA512 passwords.  Without this option,
-# the default is Unix crypt.  Prior releases used the option "md5".
-#
-# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
-# login.defs.
-#
-# See the pam_unix manpage for other options.
+# The "yescrypt" option enables
+#hashed passwords using the yescrypt algorithm, introduced in Debian
+#11.  Without this option, the default is Unix crypt.  Prior releases
+#used the option "sha512"; if a shadow password hash will be shared
+#between Debian 11 and older releases replace "yescrypt" with "sha512"
+#for compatibility .  The "obscure" option replaces the old
+#`OBSCURE_CHECKS_ENAB' option in login.defs.  See the pam_unix manpage
+#for other options.
 
 # As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
 # To take advantage of this, it is recommended that you configure any
@@ -22,7 +22,7 @@
 # pam-auth-update(8) for details.
 
 # here are the per-package modules (the "Primary" block)
-password       [success=1 default=ignore]      pam_unix.so obscure sha512
+password       [success=1 default=ignore]      pam_unix.so obscure yescrypt
 # here's the fallback if no module succeeds
 password       requisite                       pam_deny.so
 # prime the stack with a positive return value if there isn't one already;
index 9d7324c476219c4105dd24a62f7a5c47f44d3651..d956ef1b9219f185855c6e9bf96eb4d8703fbbd4 100644 (file)
@@ -3,8 +3,7 @@
 #
 # This file is included from other service-specific PAM config files,
 # and should contain a list of modules that define tasks to be performed
-# at the start and end of sessions of *any* kind (both interactive and
-# non-interactive).
+# at the start and end of interactive sessions.
 #
 # As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
 # To take advantage of this, it is recommended that you configure any
diff --git a/passwd b/passwd
index a0dd8e9b717a5b2c90156df0cf59537f7052d91a..92e81c715411e23a09c0aebf864d1c52e1c182e5 100644 (file)
--- a/passwd
+++ b/passwd
@@ -13,7 +13,7 @@ proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
 www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
 backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
 list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
-irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
+irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
 gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
 nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
 systemd-timesync:x:100:103:systemd Time Synchronization,,,:/run/systemd:/bin/false
@@ -33,3 +33,4 @@ _apt:x:110:65534::/nonexistent:/bin/false
 _chrony:x:111:118:Chrony daemon,,,:/var/lib/chrony:/bin/false
 nagios:x:112:119::/var/lib/nagios:/bin/false
 systemd-coredump:x:999:999:systemd Core Dumper:/:/sbin/nologin
+tcpdump:x:103:121::/nonexistent:/usr/sbin/nologin
diff --git a/passwd- b/passwd-
index 823a03fcc5db65f376cf2c846680e7239eb53080..92e81c715411e23a09c0aebf864d1c52e1c182e5 100644 (file)
--- a/passwd-
+++ b/passwd-
@@ -13,7 +13,7 @@ proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
 www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
 backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
 list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
-irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
+irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
 gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
 nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
 systemd-timesync:x:100:103:systemd Time Synchronization,,,:/run/systemd:/bin/false
@@ -32,3 +32,5 @@ messagebus:x:109:117::/var/run/dbus:/bin/false
 _apt:x:110:65534::/nonexistent:/bin/false
 _chrony:x:111:118:Chrony daemon,,,:/var/lib/chrony:/bin/false
 nagios:x:112:119::/var/lib/nagios:/bin/false
+systemd-coredump:x:999:999:systemd Core Dumper:/:/sbin/nologin
+tcpdump:x:103:121::/nonexistent:/usr/sbin/nologin
diff --git a/passwd.org b/passwd.org
new file mode 100644 (file)
index 0000000..a0dd8e9
--- /dev/null
@@ -0,0 +1,35 @@
+root:x:0:0:root Ns3:/root:/bin/bash
+daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
+bin:x:2:2:bin:/bin:/usr/sbin/nologin
+sys:x:3:3:sys:/dev:/usr/sbin/nologin
+sync:x:4:65534:sync:/bin:/bin/sync
+games:x:5:60:games:/usr/games:/usr/sbin/nologin
+man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
+lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
+mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
+news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
+uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
+proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
+www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
+backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
+list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
+irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
+gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
+nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
+systemd-timesync:x:100:103:systemd Time Synchronization,,,:/run/systemd:/bin/false
+systemd-network:x:101:104:systemd Network Management,,,:/run/systemd/netif:/bin/false
+systemd-resolve:x:102:105:systemd Resolver,,,:/run/systemd/resolve:/bin/false
+sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
+postfix:x:105:111::/var/spool/postfix:/bin/false
+bind:x:106:114:Bind daemon user,,,:/var/cache/bind:/bin/false
+frank:x:1017:100:Frank Brehm:/home/frank:/bin/bash
+doris:x:1019:100:Doris Hennig:/home/doris:/bin/bash
+patrick:x:1004:100:Patrick Hennig:/home/patrick:/bin/bash
+ulog:x:107:115::/var/log/ulog:/bin/false
+openldap:x:108:116:OpenLDAP Server Account,,,:/var/lib/ldap:/bin/false
+gitdeploy:x:3334:100:Git deploy user:/home/gitdeploy:/bin/sh
+messagebus:x:109:117::/var/run/dbus:/bin/false
+_apt:x:110:65534::/nonexistent:/bin/false
+_chrony:x:111:118:Chrony daemon,,,:/var/lib/chrony:/bin/false
+nagios:x:112:119::/var/lib/nagios:/bin/false
+systemd-coredump:x:999:999:systemd Core Dumper:/:/sbin/nologin
diff --git a/php/7.3/apache2/conf.d/10-opcache.ini b/php/7.3/apache2/conf.d/10-opcache.ini
deleted file mode 120000 (symlink)
index f7def34..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/opcache.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/10-pdo.ini b/php/7.3/apache2/conf.d/10-pdo.ini
deleted file mode 120000 (symlink)
index 129c858..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/pdo.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-calendar.ini b/php/7.3/apache2/conf.d/20-calendar.ini
deleted file mode 120000 (symlink)
index 2945358..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/calendar.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-ctype.ini b/php/7.3/apache2/conf.d/20-ctype.ini
deleted file mode 120000 (symlink)
index 2b17542..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/ctype.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-exif.ini b/php/7.3/apache2/conf.d/20-exif.ini
deleted file mode 120000 (symlink)
index a99eb50..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/exif.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-fileinfo.ini b/php/7.3/apache2/conf.d/20-fileinfo.ini
deleted file mode 120000 (symlink)
index 990e4f3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/fileinfo.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-ftp.ini b/php/7.3/apache2/conf.d/20-ftp.ini
deleted file mode 120000 (symlink)
index d819634..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/ftp.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-gd.ini b/php/7.3/apache2/conf.d/20-gd.ini
deleted file mode 120000 (symlink)
index 989a323..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/gd.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-gettext.ini b/php/7.3/apache2/conf.d/20-gettext.ini
deleted file mode 120000 (symlink)
index 8884b94..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/gettext.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-iconv.ini b/php/7.3/apache2/conf.d/20-iconv.ini
deleted file mode 120000 (symlink)
index 7c55b8c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/iconv.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-json.ini b/php/7.3/apache2/conf.d/20-json.ini
deleted file mode 120000 (symlink)
index 696747a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/json.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-ldap.ini b/php/7.3/apache2/conf.d/20-ldap.ini
deleted file mode 120000 (symlink)
index 733cd76..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/ldap.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-phar.ini b/php/7.3/apache2/conf.d/20-phar.ini
deleted file mode 120000 (symlink)
index 7794a6e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/phar.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-posix.ini b/php/7.3/apache2/conf.d/20-posix.ini
deleted file mode 120000 (symlink)
index 5b30ce4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/posix.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-readline.ini b/php/7.3/apache2/conf.d/20-readline.ini
deleted file mode 120000 (symlink)
index 28d4473..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/readline.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-shmop.ini b/php/7.3/apache2/conf.d/20-shmop.ini
deleted file mode 120000 (symlink)
index 35d51fe..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/shmop.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-sockets.ini b/php/7.3/apache2/conf.d/20-sockets.ini
deleted file mode 120000 (symlink)
index d391833..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sockets.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-sysvmsg.ini b/php/7.3/apache2/conf.d/20-sysvmsg.ini
deleted file mode 120000 (symlink)
index 1f03b9a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sysvmsg.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-sysvsem.ini b/php/7.3/apache2/conf.d/20-sysvsem.ini
deleted file mode 120000 (symlink)
index e064d6a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sysvsem.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-sysvshm.ini b/php/7.3/apache2/conf.d/20-sysvshm.ini
deleted file mode 120000 (symlink)
index 4f36b88..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sysvshm.ini
\ No newline at end of file
diff --git a/php/7.3/apache2/conf.d/20-tokenizer.ini b/php/7.3/apache2/conf.d/20-tokenizer.ini
deleted file mode 120000 (symlink)
index 9ce14a1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/tokenizer.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/10-opcache.ini b/php/7.3/cli/conf.d/10-opcache.ini
deleted file mode 120000 (symlink)
index f7def34..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/opcache.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/10-pdo.ini b/php/7.3/cli/conf.d/10-pdo.ini
deleted file mode 120000 (symlink)
index 129c858..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/pdo.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-calendar.ini b/php/7.3/cli/conf.d/20-calendar.ini
deleted file mode 120000 (symlink)
index 2945358..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/calendar.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-ctype.ini b/php/7.3/cli/conf.d/20-ctype.ini
deleted file mode 120000 (symlink)
index 2b17542..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/ctype.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-exif.ini b/php/7.3/cli/conf.d/20-exif.ini
deleted file mode 120000 (symlink)
index a99eb50..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/exif.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-fileinfo.ini b/php/7.3/cli/conf.d/20-fileinfo.ini
deleted file mode 120000 (symlink)
index 990e4f3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/fileinfo.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-ftp.ini b/php/7.3/cli/conf.d/20-ftp.ini
deleted file mode 120000 (symlink)
index d819634..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/ftp.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-gd.ini b/php/7.3/cli/conf.d/20-gd.ini
deleted file mode 120000 (symlink)
index 989a323..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/gd.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-gettext.ini b/php/7.3/cli/conf.d/20-gettext.ini
deleted file mode 120000 (symlink)
index 8884b94..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/gettext.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-iconv.ini b/php/7.3/cli/conf.d/20-iconv.ini
deleted file mode 120000 (symlink)
index 7c55b8c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/iconv.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-json.ini b/php/7.3/cli/conf.d/20-json.ini
deleted file mode 120000 (symlink)
index 696747a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/json.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-ldap.ini b/php/7.3/cli/conf.d/20-ldap.ini
deleted file mode 120000 (symlink)
index 733cd76..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/ldap.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-phar.ini b/php/7.3/cli/conf.d/20-phar.ini
deleted file mode 120000 (symlink)
index 7794a6e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/phar.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-posix.ini b/php/7.3/cli/conf.d/20-posix.ini
deleted file mode 120000 (symlink)
index 5b30ce4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/posix.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-readline.ini b/php/7.3/cli/conf.d/20-readline.ini
deleted file mode 120000 (symlink)
index 28d4473..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/readline.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-shmop.ini b/php/7.3/cli/conf.d/20-shmop.ini
deleted file mode 120000 (symlink)
index 35d51fe..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/shmop.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-sockets.ini b/php/7.3/cli/conf.d/20-sockets.ini
deleted file mode 120000 (symlink)
index d391833..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sockets.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-sysvmsg.ini b/php/7.3/cli/conf.d/20-sysvmsg.ini
deleted file mode 120000 (symlink)
index 1f03b9a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sysvmsg.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-sysvsem.ini b/php/7.3/cli/conf.d/20-sysvsem.ini
deleted file mode 120000 (symlink)
index e064d6a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sysvsem.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-sysvshm.ini b/php/7.3/cli/conf.d/20-sysvshm.ini
deleted file mode 120000 (symlink)
index 4f36b88..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/sysvshm.ini
\ No newline at end of file
diff --git a/php/7.3/cli/conf.d/20-tokenizer.ini b/php/7.3/cli/conf.d/20-tokenizer.ini
deleted file mode 120000 (symlink)
index 9ce14a1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/php/7.3/mods-available/tokenizer.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/10-opcache.ini b/php/7.4/apache2/conf.d/10-opcache.ini
new file mode 120000 (symlink)
index 0000000..6147d1f
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/opcache.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/10-pdo.ini b/php/7.4/apache2/conf.d/10-pdo.ini
new file mode 120000 (symlink)
index 0000000..39d8297
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/pdo.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-calendar.ini b/php/7.4/apache2/conf.d/20-calendar.ini
new file mode 120000 (symlink)
index 0000000..ab4426f
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/calendar.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-ctype.ini b/php/7.4/apache2/conf.d/20-ctype.ini
new file mode 120000 (symlink)
index 0000000..81272fd
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ctype.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-exif.ini b/php/7.4/apache2/conf.d/20-exif.ini
new file mode 120000 (symlink)
index 0000000..6e60840
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/exif.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-ffi.ini b/php/7.4/apache2/conf.d/20-ffi.ini
new file mode 120000 (symlink)
index 0000000..616707c
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ffi.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-fileinfo.ini b/php/7.4/apache2/conf.d/20-fileinfo.ini
new file mode 120000 (symlink)
index 0000000..8dae17b
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/fileinfo.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-ftp.ini b/php/7.4/apache2/conf.d/20-ftp.ini
new file mode 120000 (symlink)
index 0000000..9f89d68
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ftp.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-gd.ini b/php/7.4/apache2/conf.d/20-gd.ini
new file mode 120000 (symlink)
index 0000000..1edf2f4
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/gd.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-gettext.ini b/php/7.4/apache2/conf.d/20-gettext.ini
new file mode 120000 (symlink)
index 0000000..47893aa
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/gettext.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-iconv.ini b/php/7.4/apache2/conf.d/20-iconv.ini
new file mode 120000 (symlink)
index 0000000..c5acd33
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/iconv.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-json.ini b/php/7.4/apache2/conf.d/20-json.ini
new file mode 120000 (symlink)
index 0000000..fa1f291
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/json.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-ldap.ini b/php/7.4/apache2/conf.d/20-ldap.ini
new file mode 120000 (symlink)
index 0000000..e7e6040
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ldap.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-phar.ini b/php/7.4/apache2/conf.d/20-phar.ini
new file mode 120000 (symlink)
index 0000000..79ac841
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/phar.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-posix.ini b/php/7.4/apache2/conf.d/20-posix.ini
new file mode 120000 (symlink)
index 0000000..96ec45a
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/posix.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-readline.ini b/php/7.4/apache2/conf.d/20-readline.ini
new file mode 120000 (symlink)
index 0000000..5b61e1c
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/readline.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-shmop.ini b/php/7.4/apache2/conf.d/20-shmop.ini
new file mode 120000 (symlink)
index 0000000..f6ea937
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/shmop.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-sockets.ini b/php/7.4/apache2/conf.d/20-sockets.ini
new file mode 120000 (symlink)
index 0000000..e3fa29d
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sockets.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-sysvmsg.ini b/php/7.4/apache2/conf.d/20-sysvmsg.ini
new file mode 120000 (symlink)
index 0000000..d0bf125
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sysvmsg.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-sysvsem.ini b/php/7.4/apache2/conf.d/20-sysvsem.ini
new file mode 120000 (symlink)
index 0000000..2fda4f3
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sysvsem.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-sysvshm.ini b/php/7.4/apache2/conf.d/20-sysvshm.ini
new file mode 120000 (symlink)
index 0000000..654c475
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sysvshm.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/conf.d/20-tokenizer.ini b/php/7.4/apache2/conf.d/20-tokenizer.ini
new file mode 120000 (symlink)
index 0000000..3a498c9
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/tokenizer.ini
\ No newline at end of file
diff --git a/php/7.4/apache2/php.ini b/php/7.4/apache2/php.ini
new file mode 100644 (file)
index 0000000..17816c9
--- /dev/null
@@ -0,0 +1,1947 @@
+[PHP]
+
+;;;;;;;;;;;;;;;;;;;
+; About php.ini   ;
+;;;;;;;;;;;;;;;;;;;
+; PHP's initialization file, generally called php.ini, is responsible for
+; configuring many of the aspects of PHP's behavior.
+
+; PHP attempts to find and load this configuration from a number of locations.
+; The following is a summary of its search order:
+; 1. SAPI module specific location.
+; 2. The PHPRC environment variable. (As of PHP 5.2.0)
+; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
+; 4. Current working directory (except CLI)
+; 5. The web server's directory (for SAPI modules), or directory of PHP
+; (otherwise in Windows)
+; 6. The directory from the --with-config-file-path compile time option, or the
+; Windows directory (usually C:\windows)
+; See the PHP docs for more specific information.
+; http://php.net/configuration.file
+
+; The syntax of the file is extremely simple.  Whitespace and lines
+; beginning with a semicolon are silently ignored (as you probably guessed).
+; Section headers (e.g. [Foo]) are also silently ignored, even though
+; they might mean something in the future.
+
+; Directives following the section heading [PATH=/www/mysite] only
+; apply to PHP files in the /www/mysite directory.  Directives
+; following the section heading [HOST=www.example.com] only apply to
+; PHP files served from www.example.com.  Directives set in these
+; special sections cannot be overridden by user-defined INI files or
+; at runtime. Currently, [PATH=] and [HOST=] sections only work under
+; CGI/FastCGI.
+; http://php.net/ini.sections
+
+; Directives are specified using the following syntax:
+; directive = value
+; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
+; Directives are variables used to configure PHP or PHP extensions.
+; There is no name validation.  If PHP can't find an expected
+; directive because it is not set or is mistyped, a default value will be used.
+
+; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
+; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
+; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
+; previously set variable or directive (e.g. ${foo})
+
+; Expressions in the INI file are limited to bitwise operators and parentheses:
+; |  bitwise OR
+; ^  bitwise XOR
+; &  bitwise AND
+; ~  bitwise NOT
+; !  boolean NOT
+
+; Boolean flags can be turned on using the values 1, On, True or Yes.
+; They can be turned off using the values 0, Off, False or No.
+
+; An empty string can be denoted by simply not writing anything after the equal
+; sign, or by using the None keyword:
+
+; foo =         ; sets foo to an empty string
+; foo = None    ; sets foo to an empty string
+; foo = "None"  ; sets foo to the string 'None'
+
+; If you use constants in your value, and these constants belong to a
+; dynamically loaded extension (either a PHP extension or a Zend extension),
+; you may only use these constants *after* the line that loads the extension.
+
+;;;;;;;;;;;;;;;;;;;
+; About this file ;
+;;;;;;;;;;;;;;;;;;;
+; PHP comes packaged with two INI files. One that is recommended to be used
+; in production environments and one that is recommended to be used in
+; development environments.
+
+; php.ini-production contains settings which hold security, performance and
+; best practices at its core. But please be aware, these settings may break
+; compatibility with older or less security conscience applications. We
+; recommending using the production ini in production and testing environments.
+
+; php.ini-development is very similar to its production variant, except it is
+; much more verbose when it comes to errors. We recommend using the
+; development version only in development environments, as errors shown to
+; application users can inadvertently leak otherwise secure information.
+
+; This is the php.ini-production INI file.
+
+;;;;;;;;;;;;;;;;;;;
+; Quick Reference ;
+;;;;;;;;;;;;;;;;;;;
+; The following are all the settings which are different in either the production
+; or development versions of the INIs with respect to PHP's default behavior.
+; Please see the actual settings later in the document for more details as to why
+; we recommend these changes in PHP's behavior.
+
+; display_errors
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; display_startup_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: Off
+
+; error_reporting
+;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
+;   Development Value: E_ALL
+;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
+
+; log_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: On
+
+; max_input_time
+;   Default Value: -1 (Unlimited)
+;   Development Value: 60 (60 seconds)
+;   Production Value: 60 (60 seconds)
+
+; output_buffering
+;   Default Value: Off
+;   Development Value: 4096
+;   Production Value: 4096
+
+; register_argc_argv
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; request_order
+;   Default Value: None
+;   Development Value: "GP"
+;   Production Value: "GP"
+
+; session.gc_divisor
+;   Default Value: 100
+;   Development Value: 1000
+;   Production Value: 1000
+
+; session.sid_bits_per_character
+;   Default Value: 4
+;   Development Value: 5
+;   Production Value: 5
+
+; short_open_tag
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; variables_order
+;   Default Value: "EGPCS"
+;   Development Value: "GPCS"
+;   Production Value: "GPCS"
+
+;;;;;;;;;;;;;;;;;;;;
+; php.ini Options  ;
+;;;;;;;;;;;;;;;;;;;;
+; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
+;user_ini.filename = ".user.ini"
+
+; To disable this feature set this option to an empty value
+;user_ini.filename =
+
+; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
+;user_ini.cache_ttl = 300
+
+;;;;;;;;;;;;;;;;;;;;
+; Language Options ;
+;;;;;;;;;;;;;;;;;;;;
+
+; Enable the PHP scripting language engine under Apache.
+; http://php.net/engine
+engine = On
+
+; This directive determines whether or not PHP will recognize code between
+; <? and ?> tags as PHP source which should be processed as such. It is
+; generally recommended that <?php and ?> should be used and that this feature
+; should be disabled, as enabling it may result in issues when generating XML
+; documents, however this remains supported for backward compatibility reasons.
+; Note that this directive does not control the <?= shorthand tag, which can be
+; used regardless of this directive.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://php.net/short-open-tag
+short_open_tag = Off
+
+; The number of significant digits displayed in floating point numbers.
+; http://php.net/precision
+precision = 14
+
+; Output buffering is a mechanism for controlling how much output data
+; (excluding headers and cookies) PHP should keep internally before pushing that
+; data to the client. If your application's output exceeds this setting, PHP
+; will send that data in chunks of roughly the size you specify.
+; Turning on this setting and managing its maximum buffer size can yield some
+; interesting side-effects depending on your application and web server.
+; You may be able to send headers and cookies after you've already sent output
+; through print or echo. You also may see performance benefits if your server is
+; emitting less packets due to buffered output versus PHP streaming the output
+; as it gets it. On production servers, 4096 bytes is a good setting for performance
+; reasons.
+; Note: Output buffering can also be controlled via Output Buffering Control
+;   functions.
+; Possible Values:
+;   On = Enabled and buffer is unlimited. (Use with caution)
+;   Off = Disabled
+;   Integer = Enables the buffer and sets its maximum size in bytes.
+; Note: This directive is hardcoded to Off for the CLI SAPI
+; Default Value: Off
+; Development Value: 4096
+; Production Value: 4096
+; http://php.net/output-buffering
+output_buffering = 4096
+
+; You can redirect all of the output of your scripts to a function.  For
+; example, if you set output_handler to "mb_output_handler", character
+; encoding will be transparently converted to the specified encoding.
+; Setting any output handler automatically turns on output buffering.
+; Note: People who wrote portable scripts should not depend on this ini
+;   directive. Instead, explicitly set the output handler using ob_start().
+;   Using this ini directive may cause problems unless you know what script
+;   is doing.
+; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
+;   and you cannot use both "ob_gzhandler" and "zlib.output_compression".
+; Note: output_handler must be empty if this is set 'On' !!!!
+;   Instead you must use zlib.output_handler.
+; http://php.net/output-handler
+;output_handler =
+
+; URL rewriter function rewrites URL on the fly by using
+; output buffer. You can set target tags by this configuration.
+; "form" tag is special tag. It will add hidden input tag to pass values.
+; Refer to session.trans_sid_tags for usage.
+; Default Value: "form="
+; Development Value: "form="
+; Production Value: "form="
+;url_rewriter.tags
+
+; URL rewriter will not rewrite absolute URL nor form by default. To enable
+; absolute URL rewrite, allowed hosts must be defined at RUNTIME.
+; Refer to session.trans_sid_hosts for more details.
+; Default Value: ""
+; Development Value: ""
+; Production Value: ""
+;url_rewriter.hosts
+
+; Transparent output compression using the zlib library
+; Valid values for this option are 'off', 'on', or a specific buffer size
+; to be used for compression (default is 4KB)
+; Note: Resulting chunk size may vary due to nature of compression. PHP
+;   outputs chunks that are few hundreds bytes each as a result of
+;   compression. If you prefer a larger chunk size for better
+;   performance, enable output_buffering in addition.
+; Note: You need to use zlib.output_handler instead of the standard
+;   output_handler, or otherwise the output will be corrupted.
+; http://php.net/zlib.output-compression
+zlib.output_compression = Off
+
+; http://php.net/zlib.output-compression-level
+;zlib.output_compression_level = -1
+
+; You cannot specify additional output handlers if zlib.output_compression
+; is activated here. This setting does the same as output_handler but in
+; a different order.
+; http://php.net/zlib.output-handler
+;zlib.output_handler =
+
+; Implicit flush tells PHP to tell the output layer to flush itself
+; automatically after every output block.  This is equivalent to calling the
+; PHP function flush() after each and every call to print() or echo() and each
+; and every HTML block.  Turning this option on has serious performance
+; implications and is generally recommended for debugging purposes only.
+; http://php.net/implicit-flush
+; Note: This directive is hardcoded to On for the CLI SAPI
+implicit_flush = Off
+
+; The unserialize callback function will be called (with the undefined class'
+; name as parameter), if the unserializer finds an undefined class
+; which should be instantiated. A warning appears if the specified function is
+; not defined, or if the function doesn't include/implement the missing class.
+; So only set this entry, if you really want to implement such a
+; callback-function.
+unserialize_callback_func =
+
+; The unserialize_max_depth specifies the default depth limit for unserialized
+; structures. Setting the depth limit too high may result in stack overflows
+; during unserialization. The unserialize_max_depth ini setting can be
+; overridden by the max_depth option on individual unserialize() calls.
+; A value of 0 disables the depth limit.
+;unserialize_max_depth = 4096
+
+; When floats & doubles are serialized, store serialize_precision significant
+; digits after the floating point. The default value ensures that when floats
+; are decoded with unserialize, the data will remain the same.
+; The value is also used for json_encode when encoding double values.
+; If -1 is used, then dtoa mode 0 is used which automatically select the best
+; precision.
+serialize_precision = -1
+
+; open_basedir, if set, limits all file operations to the defined directory
+; and below.  This directive makes most sense if used in a per-directory
+; or per-virtualhost web server configuration file.
+; Note: disables the realpath cache
+; http://php.net/open-basedir
+;open_basedir =
+
+; This directive allows you to disable certain functions.
+; It receives a comma-delimited list of function names.
+; http://php.net/disable-functions
+disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
+
+; This directive allows you to disable certain classes.
+; It receives a comma-delimited list of class names.
+; http://php.net/disable-classes
+disable_classes =
+
+; Colors for Syntax Highlighting mode.  Anything that's acceptable in
+; <span style="color: ???????"> would work.
+; http://php.net/syntax-highlighting
+;highlight.string  = #DD0000
+;highlight.comment = #FF9900
+;highlight.keyword = #007700
+;highlight.default = #0000BB
+;highlight.html    = #000000
+
+; If enabled, the request will be allowed to complete even if the user aborts
+; the request. Consider enabling it if executing long requests, which may end up
+; being interrupted by the user or a browser timing out. PHP's default behavior
+; is to disable this feature.
+; http://php.net/ignore-user-abort
+;ignore_user_abort = On
+
+; Determines the size of the realpath cache to be used by PHP. This value should
+; be increased on systems where PHP opens many files to reflect the quantity of
+; the file operations performed.
+; Note: if open_basedir is set, the cache is disabled
+; http://php.net/realpath-cache-size
+;realpath_cache_size = 4096k
+
+; Duration of time, in seconds for which to cache realpath information for a given
+; file or directory. For systems with rarely changing files, consider increasing this
+; value.
+; http://php.net/realpath-cache-ttl
+;realpath_cache_ttl = 120
+
+; Enables or disables the circular reference collector.
+; http://php.net/zend.enable-gc
+zend.enable_gc = On
+
+; If enabled, scripts may be written in encodings that are incompatible with
+; the scanner.  CP936, Big5, CP949 and Shift_JIS are the examples of such
+; encodings.  To use this feature, mbstring extension must be enabled.
+; Default: Off
+;zend.multibyte = Off
+
+; Allows to set the default encoding for the scripts.  This value will be used
+; unless "declare(encoding=...)" directive appears at the top of the script.
+; Only affects if zend.multibyte is set.
+; Default: ""
+;zend.script_encoding =
+
+; Allows to include or exclude arguments from stack traces generated for exceptions.
+; In production, it is recommended to turn this setting on to prohibit the output 
+; of sensitive information in stack traces
+; Default: Off
+zend.exception_ignore_args = On
+
+;;;;;;;;;;;;;;;;;
+; Miscellaneous ;
+;;;;;;;;;;;;;;;;;
+
+; Decides whether PHP may expose the fact that it is installed on the server
+; (e.g. by adding its signature to the Web server header).  It is no security
+; threat in any way, but it makes it possible to determine whether you use PHP
+; on your server or not.
+; http://php.net/expose-php
+expose_php = Off
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+; Maximum execution time of each script, in seconds
+; http://php.net/max-execution-time
+; Note: This directive is hardcoded to 0 for the CLI SAPI
+max_execution_time = 30
+
+; Maximum amount of time each script may spend parsing request data. It's a good
+; idea to limit this time on productions servers in order to eliminate unexpectedly
+; long running scripts.
+; Note: This directive is hardcoded to -1 for the CLI SAPI
+; Default Value: -1 (Unlimited)
+; Development Value: 60 (60 seconds)
+; Production Value: 60 (60 seconds)
+; http://php.net/max-input-time
+max_input_time = 60
+
+; Maximum input variable nesting level
+; http://php.net/max-input-nesting-level
+;max_input_nesting_level = 64
+
+; How many GET/POST/COOKIE input variables may be accepted
+;max_input_vars = 1000
+
+; Maximum amount of memory a script may consume
+; http://php.net/memory-limit
+memory_limit = 128M
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; This directive informs PHP of which errors, warnings and notices you would like
+; it to take action for. The recommended way of setting values for this
+; directive is through the use of the error level constants and bitwise
+; operators. The error level constants are below here for convenience as well as
+; some common settings and their meanings.
+; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
+; those related to E_NOTICE and E_STRICT, which together cover best practices and
+; recommended coding standards in PHP. For performance reasons, this is the
+; recommend error reporting setting. Your production server shouldn't be wasting
+; resources complaining about best practices and coding standards. That's what
+; development servers and development settings are for.
+; Note: The php.ini-development file has this setting as E_ALL. This
+; means it pretty much reports everything which is exactly what you want during
+; development and early testing.
+;
+; Error Level Constants:
+; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
+; E_ERROR           - fatal run-time errors
+; E_RECOVERABLE_ERROR  - almost fatal run-time errors
+; E_WARNING         - run-time warnings (non-fatal errors)
+; E_PARSE           - compile-time parse errors
+; E_NOTICE          - run-time notices (these are warnings which often result
+;                     from a bug in your code, but it's possible that it was
+;                     intentional (e.g., using an uninitialized variable and
+;                     relying on the fact it is automatically initialized to an
+;                     empty string)
+; E_STRICT          - run-time notices, enable to have PHP suggest changes
+;                     to your code which will ensure the best interoperability
+;                     and forward compatibility of your code
+; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
+; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
+;                     initial startup
+; E_COMPILE_ERROR   - fatal compile-time errors
+; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
+; E_USER_ERROR      - user-generated error message
+; E_USER_WARNING    - user-generated warning message
+; E_USER_NOTICE     - user-generated notice message
+; E_DEPRECATED      - warn about code that will not work in future versions
+;                     of PHP
+; E_USER_DEPRECATED - user-generated deprecation warnings
+;
+; Common Values:
+;   E_ALL (Show all errors, warnings and notices including coding standards.)
+;   E_ALL & ~E_NOTICE  (Show all errors, except for notices)
+;   E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)
+;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
+; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
+; Development Value: E_ALL
+; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
+; http://php.net/error-reporting
+error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
+
+; This directive controls whether or not and where PHP will output errors,
+; notices and warnings too. Error output is very useful during development, but
+; it could be very dangerous in production environments. Depending on the code
+; which is triggering the error, sensitive information could potentially leak
+; out of your application such as database usernames and passwords or worse.
+; For production environments, we recommend logging errors rather than
+; sending them to STDOUT.
+; Possible Values:
+;   Off = Do not display any errors
+;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
+;   On or stdout = Display errors to STDOUT
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://php.net/display-errors
+display_errors = Off
+
+; The display of errors which occur during PHP's startup sequence are handled
+; separately from display_errors. PHP's default behavior is to suppress those
+; errors from clients. Turning the display of startup errors on can be useful in
+; debugging configuration problems. We strongly recommend you
+; set this to 'off' for production servers.
+; Default Value: Off
+; Development Value: On
+; Production Value: Off
+; http://php.net/display-startup-errors
+display_startup_errors = Off
+
+; Besides displaying errors, PHP can also log errors to locations such as a
+; server-specific log, STDERR, or a location specified by the error_log
+; directive found below. While errors should not be displayed on productions
+; servers they should still be monitored and logging is a great way to do that.
+; Default Value: Off
+; Development Value: On
+; Production Value: On
+; http://php.net/log-errors
+log_errors = On
+
+; Set maximum length of log_errors. In error_log information about the source is
+; added. The default is 1024 and 0 allows to not apply any maximum length at all.
+; http://php.net/log-errors-max-len
+log_errors_max_len = 1024
+
+; Do not log repeated messages. Repeated errors must occur in same file on same
+; line unless ignore_repeated_source is set true.
+; http://php.net/ignore-repeated-errors
+ignore_repeated_errors = Off
+
+; Ignore source of message when ignoring repeated messages. When this setting
+; is On you will not log errors with repeated messages from different files or
+; source lines.
+; http://php.net/ignore-repeated-source
+ignore_repeated_source = Off
+
+; If this parameter is set to Off, then memory leaks will not be shown (on
+; stdout or in the log). This is only effective in a debug compile, and if
+; error reporting includes E_WARNING in the allowed list
+; http://php.net/report-memleaks
+report_memleaks = On
+
+; This setting is on by default.
+;report_zend_debug = 0
+
+; Store the last error/warning message in $php_errormsg (boolean). Setting this value
+; to On can assist in debugging and is appropriate for development servers. It should
+; however be disabled on production servers.
+; This directive is DEPRECATED.
+; Default Value: Off
+; Development Value: Off
+; Production Value: Off
+; http://php.net/track-errors
+;track_errors = Off
+
+; Turn off normal error reporting and emit XML-RPC error XML
+; http://php.net/xmlrpc-errors
+;xmlrpc_errors = 0
+
+; An XML-RPC faultCode
+;xmlrpc_error_number = 0
+
+; When PHP displays or logs an error, it has the capability of formatting the
+; error message as HTML for easier reading. This directive controls whether
+; the error message is formatted as HTML or not.
+; Note: This directive is hardcoded to Off for the CLI SAPI
+; http://php.net/html-errors
+;html_errors = On
+
+; If html_errors is set to On *and* docref_root is not empty, then PHP
+; produces clickable error messages that direct to a page describing the error
+; or function causing the error in detail.
+; You can download a copy of the PHP manual from http://php.net/docs
+; and change docref_root to the base URL of your local copy including the
+; leading '/'. You must also specify the file extension being used including
+; the dot. PHP's default behavior is to leave these settings empty, in which
+; case no links to documentation are generated.
+; Note: Never use this feature for production boxes.
+; http://php.net/docref-root
+; Examples
+;docref_root = "/phpmanual/"
+
+; http://php.net/docref-ext
+;docref_ext = .html
+
+; String to output before an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://php.net/error-prepend-string
+; Example:
+;error_prepend_string = "<span style='color: #ff0000'>"
+
+; String to output after an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://php.net/error-append-string
+; Example:
+;error_append_string = "</span>"
+
+; Log errors to specified file. PHP's default behavior is to leave this value
+; empty.
+; http://php.net/error-log
+; Example:
+;error_log = php_errors.log
+; Log errors to syslog (Event Log on Windows).
+;error_log = syslog
+
+; The syslog ident is a string which is prepended to every message logged
+; to syslog. Only used when error_log is set to syslog.
+;syslog.ident = php
+
+; The syslog facility is used to specify what type of program is logging
+; the message. Only used when error_log is set to syslog.
+;syslog.facility = user
+
+; Set this to disable filtering control characters (the default).
+; Some loggers only accept NVT-ASCII, others accept anything that's not
+; control characters. If your logger accepts everything, then no filtering
+; is needed at all.
+; Allowed values are:
+;   ascii (all printable ASCII characters and NL)
+;   no-ctrl (all characters except control characters)
+;   all (all characters)
+;   raw (like "all", but messages are not split at newlines)
+; http://php.net/syslog.filter
+;syslog.filter = ascii
+
+;windows.show_crt_warning
+; Default value: 0
+; Development value: 0
+; Production value: 0
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+
+; The separator used in PHP generated URLs to separate arguments.
+; PHP's default setting is "&".
+; http://php.net/arg-separator.output
+; Example:
+;arg_separator.output = "&amp;"
+
+; List of separator(s) used by PHP to parse input URLs into variables.
+; PHP's default setting is "&".
+; NOTE: Every character in this directive is considered as separator!
+; http://php.net/arg-separator.input
+; Example:
+;arg_separator.input = ";&"
+
+; This directive determines which super global arrays are registered when PHP
+; starts up. G,P,C,E & S are abbreviations for the following respective super
+; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
+; paid for the registration of these arrays and because ENV is not as commonly
+; used as the others, ENV is not recommended on productions servers. You
+; can still get access to the environment variables through getenv() should you
+; need to.
+; Default Value: "EGPCS"
+; Development Value: "GPCS"
+; Production Value: "GPCS";
+; http://php.net/variables-order
+variables_order = "GPCS"
+
+; This directive determines which super global data (G,P & C) should be
+; registered into the super global array REQUEST. If so, it also determines
+; the order in which that data is registered. The values for this directive
+; are specified in the same manner as the variables_order directive,
+; EXCEPT one. Leaving this value empty will cause PHP to use the value set
+; in the variables_order directive. It does not mean it will leave the super
+; globals array REQUEST empty.
+; Default Value: None
+; Development Value: "GP"
+; Production Value: "GP"
+; http://php.net/request-order
+request_order = "GP"
+
+; This directive determines whether PHP registers $argv & $argc each time it
+; runs. $argv contains an array of all the arguments passed to PHP when a script
+; is invoked. $argc contains an integer representing the number of arguments
+; that were passed when the script was invoked. These arrays are extremely
+; useful when running scripts from the command line. When this directive is
+; enabled, registering these variables consumes CPU cycles and memory each time
+; a script is executed. For performance reasons, this feature should be disabled
+; on production servers.
+; Note: This directive is hardcoded to On for the CLI SAPI
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://php.net/register-argc-argv
+register_argc_argv = Off
+
+; When enabled, the ENV, REQUEST and SERVER variables are created when they're
+; first used (Just In Time) instead of when the script starts. If these
+; variables are not used within a script, having this directive on will result
+; in a performance gain. The PHP directive register_argc_argv must be disabled
+; for this directive to have any effect.
+; http://php.net/auto-globals-jit
+auto_globals_jit = On
+
+; Whether PHP will read the POST data.
+; This option is enabled by default.
+; Most likely, you won't want to disable this option globally. It causes $_POST
+; and $_FILES to always be empty; the only way you will be able to read the
+; POST data will be through the php://input stream wrapper. This can be useful
+; to proxy requests or to process the POST data in a memory efficient fashion.
+; http://php.net/enable-post-data-reading
+;enable_post_data_reading = Off
+
+; Maximum size of POST data that PHP will accept.
+; Its value may be 0 to disable the limit. It is ignored if POST data reading
+; is disabled through enable_post_data_reading.
+; http://php.net/post-max-size
+post_max_size = 8M
+
+; Automatically add files before PHP document.
+; http://php.net/auto-prepend-file
+auto_prepend_file =
+
+; Automatically add files after PHP document.
+; http://php.net/auto-append-file
+auto_append_file =
+
+; By default, PHP will output a media type using the Content-Type header. To
+; disable this, simply set it to be empty.
+;
+; PHP's built-in default media type is set to text/html.
+; http://php.net/default-mimetype
+default_mimetype = "text/html"
+
+; PHP's default character set is set to UTF-8.
+; http://php.net/default-charset
+default_charset = "UTF-8"
+
+; PHP internal character encoding is set to empty.
+; If empty, default_charset is used.
+; http://php.net/internal-encoding
+;internal_encoding =
+
+; PHP input character encoding is set to empty.
+; If empty, default_charset is used.
+; http://php.net/input-encoding
+;input_encoding =
+
+; PHP output character encoding is set to empty.
+; If empty, default_charset is used.
+; See also output_buffer.
+; http://php.net/output-encoding
+;output_encoding =
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; UNIX: "/path1:/path2"
+;include_path = ".:/usr/share/php"
+;
+; Windows: "\path1;\path2"
+;include_path = ".;c:\php\includes"
+;
+; PHP's default setting for include_path is ".;/path/to/php/pear"
+; http://php.net/include-path
+
+; The root of the PHP pages, used only if nonempty.
+; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
+; if you are running php as a CGI under any web server (other than IIS)
+; see documentation for security issues.  The alternate is to use the
+; cgi.force_redirect configuration below
+; http://php.net/doc-root
+doc_root =
+
+; The directory under which PHP opens the script using /~username used only
+; if nonempty.
+; http://php.net/user-dir
+user_dir =
+
+; Directory in which the loadable extensions (modules) reside.
+; http://php.net/extension-dir
+;extension_dir = "./"
+; On windows:
+;extension_dir = "ext"
+
+; Directory where the temporary files should be placed.
+; Defaults to the system default (see sys_get_temp_dir)
+;sys_temp_dir = "/tmp"
+
+; Whether or not to enable the dl() function.  The dl() function does NOT work
+; properly in multithreaded servers, such as IIS or Zeus, and is automatically
+; disabled on them.
+; http://php.net/enable-dl
+enable_dl = Off
+
+; cgi.force_redirect is necessary to provide security running PHP as a CGI under
+; most web servers.  Left undefined, PHP turns this on by default.  You can
+; turn it off here AT YOUR OWN RISK
+; **You CAN safely turn this off for IIS, in fact, you MUST.**
+; http://php.net/cgi.force-redirect
+;cgi.force_redirect = 1
+
+; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
+; every request. PHP's default behavior is to disable this feature.
+;cgi.nph = 1
+
+; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
+; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
+; will look for to know it is OK to continue execution.  Setting this variable MAY
+; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
+; http://php.net/cgi.redirect-status-env
+;cgi.redirect_status_env =
+
+; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
+; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
+; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
+; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
+; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
+; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
+; http://php.net/cgi.fix-pathinfo
+;cgi.fix_pathinfo=1
+
+; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
+; of the web tree and people will not be able to circumvent .htaccess security.
+;cgi.discard_path=1
+
+; FastCGI under IIS supports the ability to impersonate
+; security tokens of the calling client.  This allows IIS to define the
+; security context that the request runs under.  mod_fastcgi under Apache
+; does not currently support this feature (03/17/2002)
+; Set to 1 if running under IIS.  Default is zero.
+; http://php.net/fastcgi.impersonate
+;fastcgi.impersonate = 1
+
+; Disable logging through FastCGI connection. PHP's default behavior is to enable
+; this feature.
+;fastcgi.logging = 0
+
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If set to 0, PHP sends Status: header that
+; is supported by Apache. When this option is set to 1, PHP will send
+; RFC2616 compliant header.
+; Default is zero.
+; http://php.net/cgi.rfc2616-headers
+;cgi.rfc2616_headers = 0
+
+; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
+; (shebang) at the top of the running script. This line might be needed if the
+; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
+; mode skips this line and ignores its content if this directive is turned on.
+; http://php.net/cgi.check-shebang-line
+;cgi.check_shebang_line=1
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+; Whether to allow HTTP file uploads.
+; http://php.net/file-uploads
+file_uploads = On
+
+; Temporary directory for HTTP uploaded files (will use system default if not
+; specified).
+; http://php.net/upload-tmp-dir
+;upload_tmp_dir =
+
+; Maximum allowed size for uploaded files.
+; http://php.net/upload-max-filesize
+upload_max_filesize = 2M
+
+; Maximum number of files that can be uploaded via a single request
+max_file_uploads = 20
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+; http://php.net/allow-url-fopen
+allow_url_fopen = On
+
+; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
+; http://php.net/allow-url-include
+allow_url_include = Off
+
+; Define the anonymous ftp password (your email address). PHP's default setting
+; for this is empty.
+; http://php.net/from
+;from="john@doe.com"
+
+; Define the User-Agent string. PHP's default setting for this is empty.
+; http://php.net/user-agent
+;user_agent="PHP"
+
+; Default timeout for socket based streams (seconds)
+; http://php.net/default-socket-timeout
+default_socket_timeout = 60
+
+; If your scripts have to deal with files from Macintosh systems,
+; or you are running on a Mac and need to deal with files from
+; unix or win32 systems, setting this flag will cause PHP to
+; automatically detect the EOL character in those files so that
+; fgets() and file() will work regardless of the source of the file.
+; http://php.net/auto-detect-line-endings
+;auto_detect_line_endings = Off
+
+;;;;;;;;;;;;;;;;;;;;;;
+; Dynamic Extensions ;
+;;;;;;;;;;;;;;;;;;;;;;
+
+; If you wish to have an extension loaded automatically, use the following
+; syntax:
+;
+;   extension=modulename
+;
+; For example:
+;
+;   extension=mysqli
+;
+; When the extension library to load is not located in the default extension
+; directory, You may specify an absolute path to the library file:
+;
+;   extension=/path/to/extension/mysqli.so
+;
+; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
+; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
+; deprecated in a future PHP major version. So, when it is possible, please
+; move to the new ('extension=<ext>) syntax.
+;
+; Notes for Windows environments :
+;
+; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
+;   extension folders as well as the separate PECL DLL download (PHP 5+).
+;   Be sure to appropriately set the extension_dir directive.
+;
+;extension=bz2
+;extension=curl
+;extension=ffi
+;extension=ftp
+;extension=fileinfo
+;extension=gd2
+;extension=gettext
+;extension=gmp
+;extension=intl
+;extension=imap
+;extension=ldap
+;extension=mbstring
+;extension=exif      ; Must be after mbstring as it depends on it
+;extension=mysqli
+;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
+;extension=odbc
+;extension=openssl
+;extension=pdo_firebird
+;extension=pdo_mysql
+;extension=pdo_oci
+;extension=pdo_odbc
+;extension=pdo_pgsql
+;extension=pdo_sqlite
+;extension=pgsql
+;extension=shmop
+
+; The MIBS data available in the PHP distribution must be installed.
+; See http://www.php.net/manual/en/snmp.installation.php
+;extension=snmp
+
+;extension=soap
+;extension=sockets
+;extension=sodium
+;extension=sqlite3
+;extension=tidy
+;extension=xmlrpc
+;extension=xsl
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[CLI Server]
+; Whether the CLI web server uses ANSI color coding in its terminal output.
+cli_server.color = On
+
+[Date]
+; Defines the default timezone used by the date functions
+; http://php.net/date.timezone
+;date.timezone =
+
+; http://php.net/date.default-latitude
+;date.default_latitude = 31.7667
+
+; http://php.net/date.default-longitude
+;date.default_longitude = 35.2333
+
+; http://php.net/date.sunrise-zenith
+;date.sunrise_zenith = 90.583333
+
+; http://php.net/date.sunset-zenith
+;date.sunset_zenith = 90.583333
+
+[filter]
+; http://php.net/filter.default
+;filter.default = unsafe_raw
+
+; http://php.net/filter.default-flags
+;filter.default_flags =
+
+[iconv]
+; Use of this INI entry is deprecated, use global input_encoding instead.
+; If empty, default_charset or input_encoding or iconv.input_encoding is used.
+; The precedence is: default_charset < input_encoding < iconv.input_encoding
+;iconv.input_encoding =
+
+; Use of this INI entry is deprecated, use global internal_encoding instead.
+; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
+; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
+;iconv.internal_encoding =
+
+; Use of this INI entry is deprecated, use global output_encoding instead.
+; If empty, default_charset or output_encoding or iconv.output_encoding is used.
+; The precedence is: default_charset < output_encoding < iconv.output_encoding
+; To use an output encoding conversion, iconv's output handler must be set
+; otherwise output encoding conversion cannot be performed.
+;iconv.output_encoding =
+
+[imap]
+; rsh/ssh logins are disabled by default. Use this INI entry if you want to
+; enable them. Note that the IMAP library does not filter mailbox names before
+; passing them to rsh/ssh command, thus passing untrusted data to this function
+; with rsh/ssh enabled is insecure.
+;imap.enable_insecure_rsh=0
+
+[intl]
+;intl.default_locale =
+; This directive allows you to produce PHP errors when some error
+; happens within intl functions. The value is the level of the error produced.
+; Default is 0, which does not produce any errors.
+;intl.error_level = E_WARNING
+;intl.use_exceptions = 0
+
+[sqlite3]
+; Directory pointing to SQLite3 extensions
+; http://php.net/sqlite3.extension-dir
+;sqlite3.extension_dir =
+
+; SQLite defensive mode flag (only available from SQLite 3.26+)
+; When the defensive flag is enabled, language features that allow ordinary
+; SQL to deliberately corrupt the database file are disabled. This forbids
+; writing directly to the schema, shadow tables (eg. FTS data tables), or
+; the sqlite_dbpage virtual table.
+; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html
+; (for older SQLite versions, this flag has no use)
+;sqlite3.defensive = 1
+
+[Pcre]
+; PCRE library backtracking limit.
+; http://php.net/pcre.backtrack-limit
+;pcre.backtrack_limit=100000
+
+; PCRE library recursion limit.
+; Please note that if you set this value to a high number you may consume all
+; the available process stack and eventually crash PHP (due to reaching the
+; stack size limit imposed by the Operating System).
+; http://php.net/pcre.recursion-limit
+;pcre.recursion_limit=100000
+
+; Enables or disables JIT compilation of patterns. This requires the PCRE
+; library to be compiled with JIT support.
+;pcre.jit=1
+
+[Pdo]
+; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
+; http://php.net/pdo-odbc.connection-pooling
+;pdo_odbc.connection_pooling=strict
+
+;pdo_odbc.db2_instance_name
+
+[Pdo_mysql]
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+pdo_mysql.default_socket=
+
+[Phar]
+; http://php.net/phar.readonly
+;phar.readonly = On
+
+; http://php.net/phar.require-hash
+;phar.require_hash = On
+
+;phar.cache_list =
+
+[mail function]
+; For Win32 only.
+; http://php.net/smtp
+SMTP = localhost
+; http://php.net/smtp-port
+smtp_port = 25
+
+; For Win32 only.
+; http://php.net/sendmail-from
+;sendmail_from = me@example.com
+
+; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
+; http://php.net/sendmail-path
+;sendmail_path =
+
+; Force the addition of the specified parameters to be passed as extra parameters
+; to the sendmail binary. These parameters will always replace the value of
+; the 5th parameter to mail().
+;mail.force_extra_parameters =
+
+; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
+mail.add_x_header = Off
+
+; The path to a log file that will log all mail() calls. Log entries include
+; the full path of the script, line number, To address and headers.
+;mail.log =
+; Log mail to syslog (Event Log on Windows).
+;mail.log = syslog
+
+[ODBC]
+; http://php.net/odbc.default-db
+;odbc.default_db    =  Not yet implemented
+
+; http://php.net/odbc.default-user
+;odbc.default_user  =  Not yet implemented
+
+; http://php.net/odbc.default-pw
+;odbc.default_pw    =  Not yet implemented
+
+; Controls the ODBC cursor model.
+; Default: SQL_CURSOR_STATIC (default).
+;odbc.default_cursortype
+
+; Allow or prevent persistent links.
+; http://php.net/odbc.allow-persistent
+odbc.allow_persistent = On
+
+; Check that a connection is still valid before reuse.
+; http://php.net/odbc.check-persistent
+odbc.check_persistent = On
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://php.net/odbc.max-persistent
+odbc.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://php.net/odbc.max-links
+odbc.max_links = -1
+
+; Handling of LONG fields.  Returns number of bytes to variables.  0 means
+; passthru.
+; http://php.net/odbc.defaultlrl
+odbc.defaultlrl = 4096
+
+; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
+; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
+; of odbc.defaultlrl and odbc.defaultbinmode
+; http://php.net/odbc.defaultbinmode
+odbc.defaultbinmode = 1
+
+[MySQLi]
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://php.net/mysqli.max-persistent
+mysqli.max_persistent = -1
+
+; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
+; http://php.net/mysqli.allow_local_infile
+;mysqli.allow_local_infile = On
+
+; Allow or prevent persistent links.
+; http://php.net/mysqli.allow-persistent
+mysqli.allow_persistent = On
+
+; Maximum number of links.  -1 means no limit.
+; http://php.net/mysqli.max-links
+mysqli.max_links = -1
+
+; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
+; at MYSQL_PORT.
+; http://php.net/mysqli.default-port
+mysqli.default_port = 3306
+
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+; http://php.net/mysqli.default-socket
+mysqli.default_socket =
+
+; Default host for mysqli_connect() (doesn't apply in safe mode).
+; http://php.net/mysqli.default-host
+mysqli.default_host =
+
+; Default user for mysqli_connect() (doesn't apply in safe mode).
+; http://php.net/mysqli.default-user
+mysqli.default_user =
+
+; Default password for mysqli_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
+; and reveal this password!  And of course, any users with read access to this
+; file will be able to reveal the password as well.
+; http://php.net/mysqli.default-pw
+mysqli.default_pw =
+
+; Allow or prevent reconnect
+mysqli.reconnect = Off
+
+[mysqlnd]
+; Enable / Disable collection of general statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+mysqlnd.collect_statistics = On
+
+; Enable / Disable collection of memory usage statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+mysqlnd.collect_memory_statistics = Off
+
+; Records communication from all extensions using mysqlnd to the specified log
+; file.
+; http://php.net/mysqlnd.debug
+;mysqlnd.debug =
+
+; Defines which queries will be logged.
+;mysqlnd.log_mask = 0
+
+; Default size of the mysqlnd memory pool, which is used by result sets.
+;mysqlnd.mempool_default_size = 16000
+
+; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
+;mysqlnd.net_cmd_buffer_size = 2048
+
+; Size of a pre-allocated buffer used for reading data sent by the server in
+; bytes.
+;mysqlnd.net_read_buffer_size = 32768
+
+; Timeout for network requests in seconds.
+;mysqlnd.net_read_timeout = 31536000
+
+; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
+; key.
+;mysqlnd.sha256_server_public_key =
+
+[OCI8]
+
+; Connection: Enables privileged connections using external
+; credentials (OCI_SYSOPER, OCI_SYSDBA)
+; http://php.net/oci8.privileged-connect
+;oci8.privileged_connect = Off
+
+; Connection: The maximum number of persistent OCI8 connections per
+; process. Using -1 means no limit.
+; http://php.net/oci8.max-persistent
+;oci8.max_persistent = -1
+
+; Connection: The maximum number of seconds a process is allowed to
+; maintain an idle persistent connection. Using -1 means idle
+; persistent connections will be maintained forever.
+; http://php.net/oci8.persistent-timeout
+;oci8.persistent_timeout = -1
+
+; Connection: The number of seconds that must pass before issuing a
+; ping during oci_pconnect() to check the connection validity. When
+; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
+; pings completely.
+; http://php.net/oci8.ping-interval
+;oci8.ping_interval = 60
+
+; Connection: Set this to a user chosen connection class to be used
+; for all pooled server requests with Oracle 11g Database Resident
+; Connection Pooling (DRCP).  To use DRCP, this value should be set to
+; the same string for all web servers running the same application,
+; the database pool must be configured, and the connection string must
+; specify to use a pooled server.
+;oci8.connection_class =
+
+; High Availability: Using On lets PHP receive Fast Application
+; Notification (FAN) events generated when a database node fails. The
+; database must also be configured to post FAN events.
+;oci8.events = Off
+
+; Tuning: This option enables statement caching, and specifies how
+; many statements to cache. Using 0 disables statement caching.
+; http://php.net/oci8.statement-cache-size
+;oci8.statement_cache_size = 20
+
+; Tuning: Enables statement prefetching and sets the default number of
+; rows that will be fetched automatically after statement execution.
+; http://php.net/oci8.default-prefetch
+;oci8.default_prefetch = 100
+
+; Compatibility. Using On means oci_close() will not close
+; oci_connect() and oci_new_connect() connections.
+; http://php.net/oci8.old-oci-close-semantics
+;oci8.old_oci_close_semantics = Off
+
+[PostgreSQL]
+; Allow or prevent persistent links.
+; http://php.net/pgsql.allow-persistent
+pgsql.allow_persistent = On
+
+; Detect broken persistent links always with pg_pconnect().
+; Auto reset feature requires a little overheads.
+; http://php.net/pgsql.auto-reset-persistent
+pgsql.auto_reset_persistent = Off
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://php.net/pgsql.max-persistent
+pgsql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent).  -1 means no limit.
+; http://php.net/pgsql.max-links
+pgsql.max_links = -1
+
+; Ignore PostgreSQL backends Notice message or not.
+; Notice message logging require a little overheads.
+; http://php.net/pgsql.ignore-notice
+pgsql.ignore_notice = 0
+
+; Log PostgreSQL backends Notice message or not.
+; Unless pgsql.ignore_notice=0, module cannot log notice message.
+; http://php.net/pgsql.log-notice
+pgsql.log_notice = 0
+
+[bcmath]
+; Number of decimal digits for all bcmath functions.
+; http://php.net/bcmath.scale
+bcmath.scale = 0
+
+[browscap]
+; http://php.net/browscap
+;browscap = extra/browscap.ini
+
+[Session]
+; Handler used to store/retrieve data.
+; http://php.net/session.save-handler
+session.save_handler = files
+
+; Argument passed to save_handler.  In the case of files, this is the path
+; where data files are stored. Note: Windows users have to change this
+; variable in order to use PHP's session functions.
+;
+; The path can be defined as:
+;
+;     session.save_path = "N;/path"
+;
+; where N is an integer.  Instead of storing all the session files in
+; /path, what this will do is use subdirectories N-levels deep, and
+; store the session data in those directories.  This is useful if
+; your OS has problems with many files in one directory, and is
+; a more efficient layout for servers that handle many sessions.
+;
+; NOTE 1: PHP will not create this directory structure automatically.
+;         You can use the script in the ext/session dir for that purpose.
+; NOTE 2: See the section on garbage collection below if you choose to
+;         use subdirectories for session storage
+;
+; The file storage module creates files using mode 600 by default.
+; You can change that by using
+;
+;     session.save_path = "N;MODE;/path"
+;
+; where MODE is the octal representation of the mode. Note that this
+; does not overwrite the process's umask.
+; http://php.net/session.save-path
+;session.save_path = "/var/lib/php/sessions"
+
+; Whether to use strict session mode.
+; Strict session mode does not accept an uninitialized session ID, and
+; regenerates the session ID if the browser sends an uninitialized session ID.
+; Strict mode protects applications from session fixation via a session adoption
+; vulnerability. It is disabled by default for maximum compatibility, but
+; enabling it is encouraged.
+; https://wiki.php.net/rfc/strict_sessions
+session.use_strict_mode = 0
+
+; Whether to use cookies.
+; http://php.net/session.use-cookies
+session.use_cookies = 1
+
+; http://php.net/session.cookie-secure
+;session.cookie_secure =
+
+; This option forces PHP to fetch and use a cookie for storing and maintaining
+; the session id. We encourage this operation as it's very helpful in combating
+; session hijacking when not specifying and managing your own session id. It is
+; not the be-all and end-all of session hijacking defense, but it's a good start.
+; http://php.net/session.use-only-cookies
+session.use_only_cookies = 1
+
+; Name of the session (used as cookie name).
+; http://php.net/session.name
+session.name = PHPSESSID
+
+; Initialize session on request startup.
+; http://php.net/session.auto-start
+session.auto_start = 0
+
+; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+; http://php.net/session.cookie-lifetime
+session.cookie_lifetime = 0
+
+; The path for which the cookie is valid.
+; http://php.net/session.cookie-path
+session.cookie_path = /
+
+; The domain for which the cookie is valid.
+; http://php.net/session.cookie-domain
+session.cookie_domain =
+
+; Whether or not to add the httpOnly flag to the cookie, which makes it
+; inaccessible to browser scripting languages such as JavaScript.
+; http://php.net/session.cookie-httponly
+session.cookie_httponly =
+
+; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF)
+; Current valid values are "Strict", "Lax" or "None". When using "None",
+; make sure to include the quotes, as `none` is interpreted like `false` in ini files.
+; https://tools.ietf.org/html/draft-west-first-party-cookies-07
+session.cookie_samesite =
+
+; Handler used to serialize data. php is the standard serializer of PHP.
+; http://php.net/session.serialize-handler
+session.serialize_handler = php
+
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; http://php.net/session.gc-probability
+session.gc_probability = 0
+
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
+; For high volume production servers, using a value of 1000 is a more efficient approach.
+; Default Value: 100
+; Development Value: 1000
+; Production Value: 1000
+; http://php.net/session.gc-divisor
+session.gc_divisor = 1000
+
+; After this number of seconds, stored data will be seen as 'garbage' and
+; cleaned up by the garbage collection process.
+; http://php.net/session.gc-maxlifetime
+session.gc_maxlifetime = 1440
+
+; NOTE: If you are using the subdirectory option for storing session files
+;       (see session.save_path above), then garbage collection does *not*
+;       happen automatically.  You will need to do your own garbage
+;       collection through a shell script, cron entry, or some other method.
+;       For example, the following script is the equivalent of setting
+;       session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
+;          find /path/to/sessions -cmin +24 -type f | xargs rm
+
+; Check HTTP Referer to invalidate externally stored URLs containing ids.
+; HTTP_REFERER has to contain this substring for the session to be
+; considered as valid.
+; http://php.net/session.referer-check
+session.referer_check =
+
+; Set to {nocache,private,public,} to determine HTTP caching aspects
+; or leave this empty to avoid sending anti-caching headers.
+; http://php.net/session.cache-limiter
+session.cache_limiter = nocache
+
+; Document expires after n minutes.
+; http://php.net/session.cache-expire
+session.cache_expire = 180
+
+; trans sid support is disabled by default.
+; Use of trans sid may risk your users' security.
+; Use this option with caution.
+; - User may send URL contains active session ID
+;   to other person via. email/irc/etc.
+; - URL that contains active session ID may be stored
+;   in publicly accessible computer.
+; - User may access your site with the same session ID
+;   always using URL stored in browser's history or bookmarks.
+; http://php.net/session.use-trans-sid
+session.use_trans_sid = 0
+
+; Set session ID character length. This value could be between 22 to 256.
+; Shorter length than default is supported only for compatibility reason.
+; Users should use 32 or more chars.
+; http://php.net/session.sid-length
+; Default Value: 32
+; Development Value: 26
+; Production Value: 26
+session.sid_length = 26
+
+; The URL rewriter will look for URLs in a defined set of HTML tags.
+; <form> is special; if you include them here, the rewriter will
+; add a hidden <input> field with the info which is otherwise appended
+; to URLs. <form> tag's action attribute URL will not be modified
+; unless it is specified.
+; Note that all valid entries require a "=", even if no value follows.
+; Default Value: "a=href,area=href,frame=src,form="
+; Development Value: "a=href,area=href,frame=src,form="
+; Production Value: "a=href,area=href,frame=src,form="
+; http://php.net/url-rewriter.tags
+session.trans_sid_tags = "a=href,area=href,frame=src,form="
+
+; URL rewriter does not rewrite absolute URLs by default.
+; To enable rewrites for absolute paths, target hosts must be specified
+; at RUNTIME. i.e. use ini_set()
+; <form> tags is special. PHP will check action attribute's URL regardless
+; of session.trans_sid_tags setting.
+; If no host is defined, HTTP_HOST will be used for allowed host.
+; Example value: php.net,www.php.net,wiki.php.net
+; Use "," for multiple hosts. No spaces are allowed.
+; Default Value: ""
+; Development Value: ""
+; Production Value: ""
+;session.trans_sid_hosts=""
+
+; Define how many bits are stored in each character when converting
+; the binary hash data to something readable.
+; Possible values:
+;   4  (4 bits: 0-9, a-f)
+;   5  (5 bits: 0-9, a-v)
+;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
+; Default Value: 4
+; Development Value: 5
+; Production Value: 5
+; http://php.net/session.hash-bits-per-character
+session.sid_bits_per_character = 5
+
+; Enable upload progress tracking in $_SESSION
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; http://php.net/session.upload-progress.enabled
+;session.upload_progress.enabled = On
+
+; Cleanup the progress information as soon as all POST data has been read
+; (i.e. upload completed).
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; http://php.net/session.upload-progress.cleanup
+;session.upload_progress.cleanup = On
+
+; A prefix used for the upload progress key in $_SESSION
+; Default Value: "upload_progress_"
+; Development Value: "upload_progress_"
+; Production Value: "upload_progress_"
+; http://php.net/session.upload-progress.prefix
+;session.upload_progress.prefix = "upload_progress_"
+
+; The index name (concatenated with the prefix) in $_SESSION
+; containing the upload progress information
+; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; http://php.net/session.upload-progress.name
+;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
+
+; How frequently the upload progress should be updated.
+; Given either in percentages (per-file), or in bytes
+; Default Value: "1%"
+; Development Value: "1%"
+; Production Value: "1%"
+; http://php.net/session.upload-progress.freq
+;session.upload_progress.freq =  "1%"
+
+; The minimum delay between updates, in seconds
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; http://php.net/session.upload-progress.min-freq
+;session.upload_progress.min_freq = "1"
+
+; Only write session data when session data is changed. Enabled by default.
+; http://php.net/session.lazy-write
+;session.lazy_write = On
+
+[Assertion]
+; Switch whether to compile assertions at all (to have no overhead at run-time)
+; -1: Do not compile at all
+;  0: Jump over assertion at run-time
+;  1: Execute assertions
+; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
+; Default Value: 1
+; Development Value: 1
+; Production Value: -1
+; http://php.net/zend.assertions
+zend.assertions = -1
+
+; Assert(expr); active by default.
+; http://php.net/assert.active
+;assert.active = On
+
+; Throw an AssertionError on failed assertions
+; http://php.net/assert.exception
+;assert.exception = On
+
+; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)
+; http://php.net/assert.warning
+;assert.warning = On
+
+; Don't bail out by default.
+; http://php.net/assert.bail
+;assert.bail = Off
+
+; User-function to be called if an assertion fails.
+; http://php.net/assert.callback
+;assert.callback = 0
+
+; Eval the expression with current error_reporting().  Set to true if you want
+; error_reporting(0) around the eval().
+; http://php.net/assert.quiet-eval
+;assert.quiet_eval = 0
+
+[COM]
+; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
+; http://php.net/com.typelib-file
+;com.typelib_file =
+
+; allow Distributed-COM calls
+; http://php.net/com.allow-dcom
+;com.allow_dcom = true
+
+; autoregister constants of a component's typlib on com_load()
+; http://php.net/com.autoregister-typelib
+;com.autoregister_typelib = true
+
+; register constants casesensitive
+; http://php.net/com.autoregister-casesensitive
+;com.autoregister_casesensitive = false
+
+; show warnings on duplicate constant registrations
+; http://php.net/com.autoregister-verbose
+;com.autoregister_verbose = true
+
+; The default character set code-page to use when passing strings to and from COM objects.
+; Default: system ANSI code page
+;com.code_page=
+
+[mbstring]
+; language for internal character representation.
+; This affects mb_send_mail() and mbstring.detect_order.
+; http://php.net/mbstring.language
+;mbstring.language = Japanese
+
+; Use of this INI entry is deprecated, use global internal_encoding instead.
+; internal/script encoding.
+; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)
+; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
+; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
+;mbstring.internal_encoding =
+
+; Use of this INI entry is deprecated, use global input_encoding instead.
+; http input encoding.
+; mbstring.encoding_translation = On is needed to use this setting.
+; If empty, default_charset or input_encoding or mbstring.input is used.
+; The precedence is: default_charset < input_encoding < mbstring.http_input
+; http://php.net/mbstring.http-input
+;mbstring.http_input =
+
+; Use of this INI entry is deprecated, use global output_encoding instead.
+; http output encoding.
+; mb_output_handler must be registered as output buffer to function.
+; If empty, default_charset or output_encoding or mbstring.http_output is used.
+; The precedence is: default_charset < output_encoding < mbstring.http_output
+; To use an output encoding conversion, mbstring's output handler must be set
+; otherwise output encoding conversion cannot be performed.
+; http://php.net/mbstring.http-output
+;mbstring.http_output =
+
+; enable automatic encoding translation according to
+; mbstring.internal_encoding setting. Input chars are
+; converted to internal encoding by setting this to On.
+; Note: Do _not_ use automatic encoding translation for
+;       portable libs/applications.
+; http://php.net/mbstring.encoding-translation
+;mbstring.encoding_translation = Off
+
+; automatic encoding detection order.
+; "auto" detect order is changed according to mbstring.language
+; http://php.net/mbstring.detect-order
+;mbstring.detect_order = auto
+
+; substitute_character used when character cannot be converted
+; one from another
+; http://php.net/mbstring.substitute-character
+;mbstring.substitute_character = none
+
+; overload(replace) single byte functions by mbstring functions.
+; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
+; etc. Possible values are 0,1,2,4 or combination of them.
+; For example, 7 for overload everything.
+; 0: No overload
+; 1: Overload mail() function
+; 2: Overload str*() functions
+; 4: Overload ereg*() functions
+; http://php.net/mbstring.func-overload
+;mbstring.func_overload = 0
+
+; enable strict encoding detection.
+; Default: Off
+;mbstring.strict_detection = On
+
+; This directive specifies the regex pattern of content types for which mb_output_handler()
+; is activated.
+; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
+;mbstring.http_output_conv_mimetype=
+
+; This directive specifies maximum stack depth for mbstring regular expressions. It is similar
+; to the pcre.recursion_limit for PCRE.
+; Default: 100000
+;mbstring.regex_stack_limit=100000
+
+; This directive specifies maximum retry count for mbstring regular expressions. It is similar
+; to the pcre.backtrack_limit for PCRE.
+; Default: 1000000
+;mbstring.regex_retry_limit=1000000
+
+[gd]
+; Tell the jpeg decode to ignore warnings and try to create
+; a gd image. The warning will then be displayed as notices
+; disabled by default
+; http://php.net/gd.jpeg-ignore-warning
+;gd.jpeg_ignore_warning = 1
+
+[exif]
+; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
+; With mbstring support this will automatically be converted into the encoding
+; given by corresponding encode setting. When empty mbstring.internal_encoding
+; is used. For the decode settings you can distinguish between motorola and
+; intel byte order. A decode setting cannot be empty.
+; http://php.net/exif.encode-unicode
+;exif.encode_unicode = ISO-8859-15
+
+; http://php.net/exif.decode-unicode-motorola
+;exif.decode_unicode_motorola = UCS-2BE
+
+; http://php.net/exif.decode-unicode-intel
+;exif.decode_unicode_intel    = UCS-2LE
+
+; http://php.net/exif.encode-jis
+;exif.encode_jis =
+
+; http://php.net/exif.decode-jis-motorola
+;exif.decode_jis_motorola = JIS
+
+; http://php.net/exif.decode-jis-intel
+;exif.decode_jis_intel    = JIS
+
+[Tidy]
+; The path to a default tidy configuration file to use when using tidy
+; http://php.net/tidy.default-config
+;tidy.default_config = /usr/local/lib/php/default.tcfg
+
+; Should tidy clean and repair output automatically?
+; WARNING: Do not use this option if you are generating non-html content
+; such as dynamic images
+; http://php.net/tidy.clean-output
+tidy.clean_output = Off
+
+[soap]
+; Enables or disables WSDL caching feature.
+; http://php.net/soap.wsdl-cache-enabled
+soap.wsdl_cache_enabled=1
+
+; Sets the directory name where SOAP extension will put cache files.
+; http://php.net/soap.wsdl-cache-dir
+soap.wsdl_cache_dir="/tmp"
+
+; (time to live) Sets the number of second while cached file will be used
+; instead of original one.
+; http://php.net/soap.wsdl-cache-ttl
+soap.wsdl_cache_ttl=86400
+
+; Sets the size of the cache limit. (Max. number of WSDL files to cache)
+soap.wsdl_cache_limit = 5
+
+[sysvshm]
+; A default size of the shared memory segment
+;sysvshm.init_mem = 10000
+
+[ldap]
+; Sets the maximum number of open links or -1 for unlimited.
+ldap.max_links = -1
+
+[dba]
+;dba.default_handler=
+
+[opcache]
+; Determines if Zend OPCache is enabled
+;opcache.enable=1
+
+; Determines if Zend OPCache is enabled for the CLI version of PHP
+;opcache.enable_cli=0
+
+; The OPcache shared memory storage size.
+;opcache.memory_consumption=128
+
+; The amount of memory for interned strings in Mbytes.
+;opcache.interned_strings_buffer=8
+
+; The maximum number of keys (scripts) in the OPcache hash table.
+; Only numbers between 200 and 1000000 are allowed.
+;opcache.max_accelerated_files=10000
+
+; The maximum percentage of "wasted" memory until a restart is scheduled.
+;opcache.max_wasted_percentage=5
+
+; When this directive is enabled, the OPcache appends the current working
+; directory to the script key, thus eliminating possible collisions between
+; files with the same name (basename). Disabling the directive improves
+; performance, but may break existing applications.
+;opcache.use_cwd=1
+
+; When disabled, you must reset the OPcache manually or restart the
+; webserver for changes to the filesystem to take effect.
+;opcache.validate_timestamps=1
+
+; How often (in seconds) to check file timestamps for changes to the shared
+; memory storage allocation. ("1" means validate once per second, but only
+; once per request. "0" means always validate)
+;opcache.revalidate_freq=2
+
+; Enables or disables file search in include_path optimization
+;opcache.revalidate_path=0
+
+; If disabled, all PHPDoc comments are dropped from the code to reduce the
+; size of the optimized code.
+;opcache.save_comments=1
+
+; Allow file existence override (file_exists, etc.) performance feature.
+;opcache.enable_file_override=0
+
+; A bitmask, where each bit enables or disables the appropriate OPcache
+; passes
+;opcache.optimization_level=0x7FFFBFFF
+
+;opcache.dups_fix=0
+
+; The location of the OPcache blacklist file (wildcards allowed).
+; Each OPcache blacklist file is a text file that holds the names of files
+; that should not be accelerated. The file format is to add each filename
+; to a new line. The filename may be a full path or just a file prefix
+; (i.e., /var/www/x  blacklists all the files and directories in /var/www
+; that start with 'x'). Line starting with a ; are ignored (comments).
+;opcache.blacklist_filename=
+
+; Allows exclusion of large files from being cached. By default all files
+; are cached.
+;opcache.max_file_size=0
+
+; Check the cache checksum each N requests.
+; The default value of "0" means that the checks are disabled.
+;opcache.consistency_checks=0
+
+; How long to wait (in seconds) for a scheduled restart to begin if the cache
+; is not being accessed.
+;opcache.force_restart_timeout=180
+
+; OPcache error_log file name. Empty string assumes "stderr".
+;opcache.error_log=
+
+; All OPcache errors go to the Web server log.
+; By default, only fatal errors (level 0) or errors (level 1) are logged.
+; You can also enable warnings (level 2), info messages (level 3) or
+; debug messages (level 4).
+;opcache.log_verbosity_level=1
+
+; Preferred Shared Memory back-end. Leave empty and let the system decide.
+;opcache.preferred_memory_model=
+
+; Protect the shared memory from unexpected writing during script execution.
+; Useful for internal debugging only.
+;opcache.protect_memory=0
+
+; Allows calling OPcache API functions only from PHP scripts which path is
+; started from specified string. The default "" means no restriction
+;opcache.restrict_api=
+
+; Mapping base of shared memory segments (for Windows only). All the PHP
+; processes have to map shared memory into the same address space. This
+; directive allows to manually fix the "Unable to reattach to base address"
+; errors.
+;opcache.mmap_base=
+
+; Facilitates multiple OPcache instances per user (for Windows only). All PHP
+; processes with the same cache ID and user share an OPcache instance.
+;opcache.cache_id=
+
+; Enables and sets the second level cache directory.
+; It should improve performance when SHM memory is full, at server restart or
+; SHM reset. The default "" disables file based caching.
+;opcache.file_cache=
+
+; Enables or disables opcode caching in shared memory.
+;opcache.file_cache_only=0
+
+; Enables or disables checksum validation when script loaded from file cache.
+;opcache.file_cache_consistency_checks=1
+
+; Implies opcache.file_cache_only=1 for a certain process that failed to
+; reattach to the shared memory (for Windows only). Explicitly enabled file
+; cache is required.
+;opcache.file_cache_fallback=1
+
+; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
+; This should improve performance, but requires appropriate OS configuration.
+;opcache.huge_code_pages=1
+
+; Validate cached file permissions.
+;opcache.validate_permission=0
+
+; Prevent name collisions in chroot'ed environment.
+;opcache.validate_root=0
+
+; If specified, it produces opcode dumps for debugging different stages of
+; optimizations.
+;opcache.opt_debug_level=0
+
+; Specifies a PHP script that is going to be compiled and executed at server
+; start-up.
+; http://php.net/opcache.preload
+;opcache.preload=
+
+; Preloading code as root is not allowed for security reasons. This directive
+; facilitates to let the preloading to be run as another user.
+; http://php.net/opcache.preload_user
+;opcache.preload_user=
+
+; Prevents caching files that are less than this number of seconds old. It
+; protects from caching of incompletely updated files. In case all file updates
+; on your site are atomic, you may increase performance by setting it to "0".
+;opcache.file_update_protection=2
+
+; Absolute path used to store shared lockfiles (for *nix only).
+;opcache.lockfile_path=/tmp
+
+[curl]
+; A default value for the CURLOPT_CAINFO option. This is required to be an
+; absolute path.
+;curl.cainfo =
+
+[openssl]
+; The location of a Certificate Authority (CA) file on the local filesystem
+; to use when verifying the identity of SSL/TLS peers. Most users should
+; not specify a value for this directive as PHP will attempt to use the
+; OS-managed cert stores in its absence. If specified, this value may still
+; be overridden on a per-stream basis via the "cafile" SSL stream context
+; option.
+;openssl.cafile=
+
+; If openssl.cafile is not specified or if the CA file is not found, the
+; directory pointed to by openssl.capath is searched for a suitable
+; certificate. This value must be a correctly hashed certificate directory.
+; Most users should not specify a value for this directive as PHP will
+; attempt to use the OS-managed cert stores in its absence. If specified,
+; this value may still be overridden on a per-stream basis via the "capath"
+; SSL stream context option.
+;openssl.capath=
+
+[ffi]
+; FFI API restriction. Possible values:
+; "preload" - enabled in CLI scripts and preloaded files (default)
+; "false"   - always disabled
+; "true"    - always enabled
+;ffi.enable=preload
+
+; List of headers files to preload, wildcard patterns allowed.
+;ffi.preload=
diff --git a/php/7.4/cli/conf.d/10-opcache.ini b/php/7.4/cli/conf.d/10-opcache.ini
new file mode 120000 (symlink)
index 0000000..6147d1f
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/opcache.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/10-pdo.ini b/php/7.4/cli/conf.d/10-pdo.ini
new file mode 120000 (symlink)
index 0000000..39d8297
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/pdo.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-calendar.ini b/php/7.4/cli/conf.d/20-calendar.ini
new file mode 120000 (symlink)
index 0000000..ab4426f
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/calendar.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-ctype.ini b/php/7.4/cli/conf.d/20-ctype.ini
new file mode 120000 (symlink)
index 0000000..81272fd
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ctype.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-exif.ini b/php/7.4/cli/conf.d/20-exif.ini
new file mode 120000 (symlink)
index 0000000..6e60840
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/exif.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-ffi.ini b/php/7.4/cli/conf.d/20-ffi.ini
new file mode 120000 (symlink)
index 0000000..616707c
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ffi.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-fileinfo.ini b/php/7.4/cli/conf.d/20-fileinfo.ini
new file mode 120000 (symlink)
index 0000000..8dae17b
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/fileinfo.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-ftp.ini b/php/7.4/cli/conf.d/20-ftp.ini
new file mode 120000 (symlink)
index 0000000..9f89d68
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ftp.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-gd.ini b/php/7.4/cli/conf.d/20-gd.ini
new file mode 120000 (symlink)
index 0000000..1edf2f4
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/gd.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-gettext.ini b/php/7.4/cli/conf.d/20-gettext.ini
new file mode 120000 (symlink)
index 0000000..47893aa
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/gettext.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-iconv.ini b/php/7.4/cli/conf.d/20-iconv.ini
new file mode 120000 (symlink)
index 0000000..c5acd33
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/iconv.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-json.ini b/php/7.4/cli/conf.d/20-json.ini
new file mode 120000 (symlink)
index 0000000..fa1f291
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/json.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-ldap.ini b/php/7.4/cli/conf.d/20-ldap.ini
new file mode 120000 (symlink)
index 0000000..e7e6040
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/ldap.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-phar.ini b/php/7.4/cli/conf.d/20-phar.ini
new file mode 120000 (symlink)
index 0000000..79ac841
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/phar.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-posix.ini b/php/7.4/cli/conf.d/20-posix.ini
new file mode 120000 (symlink)
index 0000000..96ec45a
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/posix.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-readline.ini b/php/7.4/cli/conf.d/20-readline.ini
new file mode 120000 (symlink)
index 0000000..5b61e1c
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/readline.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-shmop.ini b/php/7.4/cli/conf.d/20-shmop.ini
new file mode 120000 (symlink)
index 0000000..f6ea937
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/shmop.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-sockets.ini b/php/7.4/cli/conf.d/20-sockets.ini
new file mode 120000 (symlink)
index 0000000..e3fa29d
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sockets.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-sysvmsg.ini b/php/7.4/cli/conf.d/20-sysvmsg.ini
new file mode 120000 (symlink)
index 0000000..d0bf125
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sysvmsg.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-sysvsem.ini b/php/7.4/cli/conf.d/20-sysvsem.ini
new file mode 120000 (symlink)
index 0000000..2fda4f3
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sysvsem.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-sysvshm.ini b/php/7.4/cli/conf.d/20-sysvshm.ini
new file mode 120000 (symlink)
index 0000000..654c475
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/sysvshm.ini
\ No newline at end of file
diff --git a/php/7.4/cli/conf.d/20-tokenizer.ini b/php/7.4/cli/conf.d/20-tokenizer.ini
new file mode 120000 (symlink)
index 0000000..3a498c9
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/7.4/mods-available/tokenizer.ini
\ No newline at end of file
diff --git a/php/7.4/cli/php.ini b/php/7.4/cli/php.ini
new file mode 100644 (file)
index 0000000..b7e7db1
--- /dev/null
@@ -0,0 +1,1947 @@
+[PHP]
+
+;;;;;;;;;;;;;;;;;;;
+; About php.ini   ;
+;;;;;;;;;;;;;;;;;;;
+; PHP's initialization file, generally called php.ini, is responsible for
+; configuring many of the aspects of PHP's behavior.
+
+; PHP attempts to find and load this configuration from a number of locations.
+; The following is a summary of its search order:
+; 1. SAPI module specific location.
+; 2. The PHPRC environment variable. (As of PHP 5.2.0)
+; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
+; 4. Current working directory (except CLI)
+; 5. The web server's directory (for SAPI modules), or directory of PHP
+; (otherwise in Windows)
+; 6. The directory from the --with-config-file-path compile time option, or the
+; Windows directory (usually C:\windows)
+; See the PHP docs for more specific information.
+; http://php.net/configuration.file
+
+; The syntax of the file is extremely simple.  Whitespace and lines
+; beginning with a semicolon are silently ignored (as you probably guessed).
+; Section headers (e.g. [Foo]) are also silently ignored, even though
+; they might mean something in the future.
+
+; Directives following the section heading [PATH=/www/mysite] only
+; apply to PHP files in the /www/mysite directory.  Directives
+; following the section heading [HOST=www.example.com] only apply to
+; PHP files served from www.example.com.  Directives set in these
+; special sections cannot be overridden by user-defined INI files or
+; at runtime. Currently, [PATH=] and [HOST=] sections only work under
+; CGI/FastCGI.
+; http://php.net/ini.sections
+
+; Directives are specified using the following syntax:
+; directive = value
+; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
+; Directives are variables used to configure PHP or PHP extensions.
+; There is no name validation.  If PHP can't find an expected
+; directive because it is not set or is mistyped, a default value will be used.
+
+; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
+; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
+; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
+; previously set variable or directive (e.g. ${foo})
+
+; Expressions in the INI file are limited to bitwise operators and parentheses:
+; |  bitwise OR
+; ^  bitwise XOR
+; &  bitwise AND
+; ~  bitwise NOT
+; !  boolean NOT
+
+; Boolean flags can be turned on using the values 1, On, True or Yes.
+; They can be turned off using the values 0, Off, False or No.
+
+; An empty string can be denoted by simply not writing anything after the equal
+; sign, or by using the None keyword:
+
+; foo =         ; sets foo to an empty string
+; foo = None    ; sets foo to an empty string
+; foo = "None"  ; sets foo to the string 'None'
+
+; If you use constants in your value, and these constants belong to a
+; dynamically loaded extension (either a PHP extension or a Zend extension),
+; you may only use these constants *after* the line that loads the extension.
+
+;;;;;;;;;;;;;;;;;;;
+; About this file ;
+;;;;;;;;;;;;;;;;;;;
+; PHP comes packaged with two INI files. One that is recommended to be used
+; in production environments and one that is recommended to be used in
+; development environments.
+
+; php.ini-production contains settings which hold security, performance and
+; best practices at its core. But please be aware, these settings may break
+; compatibility with older or less security conscience applications. We
+; recommending using the production ini in production and testing environments.
+
+; php.ini-development is very similar to its production variant, except it is
+; much more verbose when it comes to errors. We recommend using the
+; development version only in development environments, as errors shown to
+; application users can inadvertently leak otherwise secure information.
+
+; This is the php.ini-production INI file.
+
+;;;;;;;;;;;;;;;;;;;
+; Quick Reference ;
+;;;;;;;;;;;;;;;;;;;
+; The following are all the settings which are different in either the production
+; or development versions of the INIs with respect to PHP's default behavior.
+; Please see the actual settings later in the document for more details as to why
+; we recommend these changes in PHP's behavior.
+
+; display_errors
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; display_startup_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: Off
+
+; error_reporting
+;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
+;   Development Value: E_ALL
+;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
+
+; log_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: On
+
+; max_input_time
+;   Default Value: -1 (Unlimited)
+;   Development Value: 60 (60 seconds)
+;   Production Value: 60 (60 seconds)
+
+; output_buffering
+;   Default Value: Off
+;   Development Value: 4096
+;   Production Value: 4096
+
+; register_argc_argv
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; request_order
+;   Default Value: None
+;   Development Value: "GP"
+;   Production Value: "GP"
+
+; session.gc_divisor
+;   Default Value: 100
+;   Development Value: 1000
+;   Production Value: 1000
+
+; session.sid_bits_per_character
+;   Default Value: 4
+;   Development Value: 5
+;   Production Value: 5
+
+; short_open_tag
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; variables_order
+;   Default Value: "EGPCS"
+;   Development Value: "GPCS"
+;   Production Value: "GPCS"
+
+;;;;;;;;;;;;;;;;;;;;
+; php.ini Options  ;
+;;;;;;;;;;;;;;;;;;;;
+; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
+;user_ini.filename = ".user.ini"
+
+; To disable this feature set this option to an empty value
+;user_ini.filename =
+
+; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
+;user_ini.cache_ttl = 300
+
+;;;;;;;;;;;;;;;;;;;;
+; Language Options ;
+;;;;;;;;;;;;;;;;;;;;
+
+; Enable the PHP scripting language engine under Apache.
+; http://php.net/engine
+engine = On
+
+; This directive determines whether or not PHP will recognize code between
+; <? and ?> tags as PHP source which should be processed as such. It is
+; generally recommended that <?php and ?> should be used and that this feature
+; should be disabled, as enabling it may result in issues when generating XML
+; documents, however this remains supported for backward compatibility reasons.
+; Note that this directive does not control the <?= shorthand tag, which can be
+; used regardless of this directive.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://php.net/short-open-tag
+short_open_tag = Off
+
+; The number of significant digits displayed in floating point numbers.
+; http://php.net/precision
+precision = 14
+
+; Output buffering is a mechanism for controlling how much output data
+; (excluding headers and cookies) PHP should keep internally before pushing that
+; data to the client. If your application's output exceeds this setting, PHP
+; will send that data in chunks of roughly the size you specify.
+; Turning on this setting and managing its maximum buffer size can yield some
+; interesting side-effects depending on your application and web server.
+; You may be able to send headers and cookies after you've already sent output
+; through print or echo. You also may see performance benefits if your server is
+; emitting less packets due to buffered output versus PHP streaming the output
+; as it gets it. On production servers, 4096 bytes is a good setting for performance
+; reasons.
+; Note: Output buffering can also be controlled via Output Buffering Control
+;   functions.
+; Possible Values:
+;   On = Enabled and buffer is unlimited. (Use with caution)
+;   Off = Disabled
+;   Integer = Enables the buffer and sets its maximum size in bytes.
+; Note: This directive is hardcoded to Off for the CLI SAPI
+; Default Value: Off
+; Development Value: 4096
+; Production Value: 4096
+; http://php.net/output-buffering
+output_buffering = 4096
+
+; You can redirect all of the output of your scripts to a function.  For
+; example, if you set output_handler to "mb_output_handler", character
+; encoding will be transparently converted to the specified encoding.
+; Setting any output handler automatically turns on output buffering.
+; Note: People who wrote portable scripts should not depend on this ini
+;   directive. Instead, explicitly set the output handler using ob_start().
+;   Using this ini directive may cause problems unless you know what script
+;   is doing.
+; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
+;   and you cannot use both "ob_gzhandler" and "zlib.output_compression".
+; Note: output_handler must be empty if this is set 'On' !!!!
+;   Instead you must use zlib.output_handler.
+; http://php.net/output-handler
+;output_handler =
+
+; URL rewriter function rewrites URL on the fly by using
+; output buffer. You can set target tags by this configuration.
+; "form" tag is special tag. It will add hidden input tag to pass values.
+; Refer to session.trans_sid_tags for usage.
+; Default Value: "form="
+; Development Value: "form="
+; Production Value: "form="
+;url_rewriter.tags
+
+; URL rewriter will not rewrite absolute URL nor form by default. To enable
+; absolute URL rewrite, allowed hosts must be defined at RUNTIME.
+; Refer to session.trans_sid_hosts for more details.
+; Default Value: ""
+; Development Value: ""
+; Production Value: ""
+;url_rewriter.hosts
+
+; Transparent output compression using the zlib library
+; Valid values for this option are 'off', 'on', or a specific buffer size
+; to be used for compression (default is 4KB)
+; Note: Resulting chunk size may vary due to nature of compression. PHP
+;   outputs chunks that are few hundreds bytes each as a result of
+;   compression. If you prefer a larger chunk size for better
+;   performance, enable output_buffering in addition.
+; Note: You need to use zlib.output_handler instead of the standard
+;   output_handler, or otherwise the output will be corrupted.
+; http://php.net/zlib.output-compression
+zlib.output_compression = Off
+
+; http://php.net/zlib.output-compression-level
+;zlib.output_compression_level = -1
+
+; You cannot specify additional output handlers if zlib.output_compression
+; is activated here. This setting does the same as output_handler but in
+; a different order.
+; http://php.net/zlib.output-handler
+;zlib.output_handler =
+
+; Implicit flush tells PHP to tell the output layer to flush itself
+; automatically after every output block.  This is equivalent to calling the
+; PHP function flush() after each and every call to print() or echo() and each
+; and every HTML block.  Turning this option on has serious performance
+; implications and is generally recommended for debugging purposes only.
+; http://php.net/implicit-flush
+; Note: This directive is hardcoded to On for the CLI SAPI
+implicit_flush = Off
+
+; The unserialize callback function will be called (with the undefined class'
+; name as parameter), if the unserializer finds an undefined class
+; which should be instantiated. A warning appears if the specified function is
+; not defined, or if the function doesn't include/implement the missing class.
+; So only set this entry, if you really want to implement such a
+; callback-function.
+unserialize_callback_func =
+
+; The unserialize_max_depth specifies the default depth limit for unserialized
+; structures. Setting the depth limit too high may result in stack overflows
+; during unserialization. The unserialize_max_depth ini setting can be
+; overridden by the max_depth option on individual unserialize() calls.
+; A value of 0 disables the depth limit.
+;unserialize_max_depth = 4096
+
+; When floats & doubles are serialized, store serialize_precision significant
+; digits after the floating point. The default value ensures that when floats
+; are decoded with unserialize, the data will remain the same.
+; The value is also used for json_encode when encoding double values.
+; If -1 is used, then dtoa mode 0 is used which automatically select the best
+; precision.
+serialize_precision = -1
+
+; open_basedir, if set, limits all file operations to the defined directory
+; and below.  This directive makes most sense if used in a per-directory
+; or per-virtualhost web server configuration file.
+; Note: disables the realpath cache
+; http://php.net/open-basedir
+;open_basedir =
+
+; This directive allows you to disable certain functions.
+; It receives a comma-delimited list of function names.
+; http://php.net/disable-functions
+disable_functions =
+
+; This directive allows you to disable certain classes.
+; It receives a comma-delimited list of class names.
+; http://php.net/disable-classes
+disable_classes =
+
+; Colors for Syntax Highlighting mode.  Anything that's acceptable in
+; <span style="color: ???????"> would work.
+; http://php.net/syntax-highlighting
+;highlight.string  = #DD0000
+;highlight.comment = #FF9900
+;highlight.keyword = #007700
+;highlight.default = #0000BB
+;highlight.html    = #000000
+
+; If enabled, the request will be allowed to complete even if the user aborts
+; the request. Consider enabling it if executing long requests, which may end up
+; being interrupted by the user or a browser timing out. PHP's default behavior
+; is to disable this feature.
+; http://php.net/ignore-user-abort
+;ignore_user_abort = On
+
+; Determines the size of the realpath cache to be used by PHP. This value should
+; be increased on systems where PHP opens many files to reflect the quantity of
+; the file operations performed.
+; Note: if open_basedir is set, the cache is disabled
+; http://php.net/realpath-cache-size
+;realpath_cache_size = 4096k
+
+; Duration of time, in seconds for which to cache realpath information for a given
+; file or directory. For systems with rarely changing files, consider increasing this
+; value.
+; http://php.net/realpath-cache-ttl
+;realpath_cache_ttl = 120
+
+; Enables or disables the circular reference collector.
+; http://php.net/zend.enable-gc
+zend.enable_gc = On
+
+; If enabled, scripts may be written in encodings that are incompatible with
+; the scanner.  CP936, Big5, CP949 and Shift_JIS are the examples of such
+; encodings.  To use this feature, mbstring extension must be enabled.
+; Default: Off
+;zend.multibyte = Off
+
+; Allows to set the default encoding for the scripts.  This value will be used
+; unless "declare(encoding=...)" directive appears at the top of the script.
+; Only affects if zend.multibyte is set.
+; Default: ""
+;zend.script_encoding =
+
+; Allows to include or exclude arguments from stack traces generated for exceptions.
+; In production, it is recommended to turn this setting on to prohibit the output 
+; of sensitive information in stack traces
+; Default: Off
+zend.exception_ignore_args = On
+
+;;;;;;;;;;;;;;;;;
+; Miscellaneous ;
+;;;;;;;;;;;;;;;;;
+
+; Decides whether PHP may expose the fact that it is installed on the server
+; (e.g. by adding its signature to the Web server header).  It is no security
+; threat in any way, but it makes it possible to determine whether you use PHP
+; on your server or not.
+; http://php.net/expose-php
+expose_php = On
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+; Maximum execution time of each script, in seconds
+; http://php.net/max-execution-time
+; Note: This directive is hardcoded to 0 for the CLI SAPI
+max_execution_time = 30
+
+; Maximum amount of time each script may spend parsing request data. It's a good
+; idea to limit this time on productions servers in order to eliminate unexpectedly
+; long running scripts.
+; Note: This directive is hardcoded to -1 for the CLI SAPI
+; Default Value: -1 (Unlimited)
+; Development Value: 60 (60 seconds)
+; Production Value: 60 (60 seconds)
+; http://php.net/max-input-time
+max_input_time = 60
+
+; Maximum input variable nesting level
+; http://php.net/max-input-nesting-level
+;max_input_nesting_level = 64
+
+; How many GET/POST/COOKIE input variables may be accepted
+;max_input_vars = 1000
+
+; Maximum amount of memory a script may consume
+; http://php.net/memory-limit
+memory_limit = -1
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; This directive informs PHP of which errors, warnings and notices you would like
+; it to take action for. The recommended way of setting values for this
+; directive is through the use of the error level constants and bitwise
+; operators. The error level constants are below here for convenience as well as
+; some common settings and their meanings.
+; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
+; those related to E_NOTICE and E_STRICT, which together cover best practices and
+; recommended coding standards in PHP. For performance reasons, this is the
+; recommend error reporting setting. Your production server shouldn't be wasting
+; resources complaining about best practices and coding standards. That's what
+; development servers and development settings are for.
+; Note: The php.ini-development file has this setting as E_ALL. This
+; means it pretty much reports everything which is exactly what you want during
+; development and early testing.
+;
+; Error Level Constants:
+; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
+; E_ERROR           - fatal run-time errors
+; E_RECOVERABLE_ERROR  - almost fatal run-time errors
+; E_WARNING         - run-time warnings (non-fatal errors)
+; E_PARSE           - compile-time parse errors
+; E_NOTICE          - run-time notices (these are warnings which often result
+;                     from a bug in your code, but it's possible that it was
+;                     intentional (e.g., using an uninitialized variable and
+;                     relying on the fact it is automatically initialized to an
+;                     empty string)
+; E_STRICT          - run-time notices, enable to have PHP suggest changes
+;                     to your code which will ensure the best interoperability
+;                     and forward compatibility of your code
+; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
+; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
+;                     initial startup
+; E_COMPILE_ERROR   - fatal compile-time errors
+; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
+; E_USER_ERROR      - user-generated error message
+; E_USER_WARNING    - user-generated warning message
+; E_USER_NOTICE     - user-generated notice message
+; E_DEPRECATED      - warn about code that will not work in future versions
+;                     of PHP
+; E_USER_DEPRECATED - user-generated deprecation warnings
+;
+; Common Values:
+;   E_ALL (Show all errors, warnings and notices including coding standards.)
+;   E_ALL & ~E_NOTICE  (Show all errors, except for notices)
+;   E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)
+;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
+; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
+; Development Value: E_ALL
+; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
+; http://php.net/error-reporting
+error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
+
+; This directive controls whether or not and where PHP will output errors,
+; notices and warnings too. Error output is very useful during development, but
+; it could be very dangerous in production environments. Depending on the code
+; which is triggering the error, sensitive information could potentially leak
+; out of your application such as database usernames and passwords or worse.
+; For production environments, we recommend logging errors rather than
+; sending them to STDOUT.
+; Possible Values:
+;   Off = Do not display any errors
+;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
+;   On or stdout = Display errors to STDOUT
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://php.net/display-errors
+display_errors = Off
+
+; The display of errors which occur during PHP's startup sequence are handled
+; separately from display_errors. PHP's default behavior is to suppress those
+; errors from clients. Turning the display of startup errors on can be useful in
+; debugging configuration problems. We strongly recommend you
+; set this to 'off' for production servers.
+; Default Value: Off
+; Development Value: On
+; Production Value: Off
+; http://php.net/display-startup-errors
+display_startup_errors = Off
+
+; Besides displaying errors, PHP can also log errors to locations such as a
+; server-specific log, STDERR, or a location specified by the error_log
+; directive found below. While errors should not be displayed on productions
+; servers they should still be monitored and logging is a great way to do that.
+; Default Value: Off
+; Development Value: On
+; Production Value: On
+; http://php.net/log-errors
+log_errors = On
+
+; Set maximum length of log_errors. In error_log information about the source is
+; added. The default is 1024 and 0 allows to not apply any maximum length at all.
+; http://php.net/log-errors-max-len
+log_errors_max_len = 1024
+
+; Do not log repeated messages. Repeated errors must occur in same file on same
+; line unless ignore_repeated_source is set true.
+; http://php.net/ignore-repeated-errors
+ignore_repeated_errors = Off
+
+; Ignore source of message when ignoring repeated messages. When this setting
+; is On you will not log errors with repeated messages from different files or
+; source lines.
+; http://php.net/ignore-repeated-source
+ignore_repeated_source = Off
+
+; If this parameter is set to Off, then memory leaks will not be shown (on
+; stdout or in the log). This is only effective in a debug compile, and if
+; error reporting includes E_WARNING in the allowed list
+; http://php.net/report-memleaks
+report_memleaks = On
+
+; This setting is on by default.
+;report_zend_debug = 0
+
+; Store the last error/warning message in $php_errormsg (boolean). Setting this value
+; to On can assist in debugging and is appropriate for development servers. It should
+; however be disabled on production servers.
+; This directive is DEPRECATED.
+; Default Value: Off
+; Development Value: Off
+; Production Value: Off
+; http://php.net/track-errors
+;track_errors = Off
+
+; Turn off normal error reporting and emit XML-RPC error XML
+; http://php.net/xmlrpc-errors
+;xmlrpc_errors = 0
+
+; An XML-RPC faultCode
+;xmlrpc_error_number = 0
+
+; When PHP displays or logs an error, it has the capability of formatting the
+; error message as HTML for easier reading. This directive controls whether
+; the error message is formatted as HTML or not.
+; Note: This directive is hardcoded to Off for the CLI SAPI
+; http://php.net/html-errors
+;html_errors = On
+
+; If html_errors is set to On *and* docref_root is not empty, then PHP
+; produces clickable error messages that direct to a page describing the error
+; or function causing the error in detail.
+; You can download a copy of the PHP manual from http://php.net/docs
+; and change docref_root to the base URL of your local copy including the
+; leading '/'. You must also specify the file extension being used including
+; the dot. PHP's default behavior is to leave these settings empty, in which
+; case no links to documentation are generated.
+; Note: Never use this feature for production boxes.
+; http://php.net/docref-root
+; Examples
+;docref_root = "/phpmanual/"
+
+; http://php.net/docref-ext
+;docref_ext = .html
+
+; String to output before an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://php.net/error-prepend-string
+; Example:
+;error_prepend_string = "<span style='color: #ff0000'>"
+
+; String to output after an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://php.net/error-append-string
+; Example:
+;error_append_string = "</span>"
+
+; Log errors to specified file. PHP's default behavior is to leave this value
+; empty.
+; http://php.net/error-log
+; Example:
+;error_log = php_errors.log
+; Log errors to syslog (Event Log on Windows).
+;error_log = syslog
+
+; The syslog ident is a string which is prepended to every message logged
+; to syslog. Only used when error_log is set to syslog.
+;syslog.ident = php
+
+; The syslog facility is used to specify what type of program is logging
+; the message. Only used when error_log is set to syslog.
+;syslog.facility = user
+
+; Set this to disable filtering control characters (the default).
+; Some loggers only accept NVT-ASCII, others accept anything that's not
+; control characters. If your logger accepts everything, then no filtering
+; is needed at all.
+; Allowed values are:
+;   ascii (all printable ASCII characters and NL)
+;   no-ctrl (all characters except control characters)
+;   all (all characters)
+;   raw (like "all", but messages are not split at newlines)
+; http://php.net/syslog.filter
+;syslog.filter = ascii
+
+;windows.show_crt_warning
+; Default value: 0
+; Development value: 0
+; Production value: 0
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+
+; The separator used in PHP generated URLs to separate arguments.
+; PHP's default setting is "&".
+; http://php.net/arg-separator.output
+; Example:
+;arg_separator.output = "&amp;"
+
+; List of separator(s) used by PHP to parse input URLs into variables.
+; PHP's default setting is "&".
+; NOTE: Every character in this directive is considered as separator!
+; http://php.net/arg-separator.input
+; Example:
+;arg_separator.input = ";&"
+
+; This directive determines which super global arrays are registered when PHP
+; starts up. G,P,C,E & S are abbreviations for the following respective super
+; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
+; paid for the registration of these arrays and because ENV is not as commonly
+; used as the others, ENV is not recommended on productions servers. You
+; can still get access to the environment variables through getenv() should you
+; need to.
+; Default Value: "EGPCS"
+; Development Value: "GPCS"
+; Production Value: "GPCS";
+; http://php.net/variables-order
+variables_order = "GPCS"
+
+; This directive determines which super global data (G,P & C) should be
+; registered into the super global array REQUEST. If so, it also determines
+; the order in which that data is registered. The values for this directive
+; are specified in the same manner as the variables_order directive,
+; EXCEPT one. Leaving this value empty will cause PHP to use the value set
+; in the variables_order directive. It does not mean it will leave the super
+; globals array REQUEST empty.
+; Default Value: None
+; Development Value: "GP"
+; Production Value: "GP"
+; http://php.net/request-order
+request_order = "GP"
+
+; This directive determines whether PHP registers $argv & $argc each time it
+; runs. $argv contains an array of all the arguments passed to PHP when a script
+; is invoked. $argc contains an integer representing the number of arguments
+; that were passed when the script was invoked. These arrays are extremely
+; useful when running scripts from the command line. When this directive is
+; enabled, registering these variables consumes CPU cycles and memory each time
+; a script is executed. For performance reasons, this feature should be disabled
+; on production servers.
+; Note: This directive is hardcoded to On for the CLI SAPI
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://php.net/register-argc-argv
+register_argc_argv = Off
+
+; When enabled, the ENV, REQUEST and SERVER variables are created when they're
+; first used (Just In Time) instead of when the script starts. If these
+; variables are not used within a script, having this directive on will result
+; in a performance gain. The PHP directive register_argc_argv must be disabled
+; for this directive to have any effect.
+; http://php.net/auto-globals-jit
+auto_globals_jit = On
+
+; Whether PHP will read the POST data.
+; This option is enabled by default.
+; Most likely, you won't want to disable this option globally. It causes $_POST
+; and $_FILES to always be empty; the only way you will be able to read the
+; POST data will be through the php://input stream wrapper. This can be useful
+; to proxy requests or to process the POST data in a memory efficient fashion.
+; http://php.net/enable-post-data-reading
+;enable_post_data_reading = Off
+
+; Maximum size of POST data that PHP will accept.
+; Its value may be 0 to disable the limit. It is ignored if POST data reading
+; is disabled through enable_post_data_reading.
+; http://php.net/post-max-size
+post_max_size = 8M
+
+; Automatically add files before PHP document.
+; http://php.net/auto-prepend-file
+auto_prepend_file =
+
+; Automatically add files after PHP document.
+; http://php.net/auto-append-file
+auto_append_file =
+
+; By default, PHP will output a media type using the Content-Type header. To
+; disable this, simply set it to be empty.
+;
+; PHP's built-in default media type is set to text/html.
+; http://php.net/default-mimetype
+default_mimetype = "text/html"
+
+; PHP's default character set is set to UTF-8.
+; http://php.net/default-charset
+default_charset = "UTF-8"
+
+; PHP internal character encoding is set to empty.
+; If empty, default_charset is used.
+; http://php.net/internal-encoding
+;internal_encoding =
+
+; PHP input character encoding is set to empty.
+; If empty, default_charset is used.
+; http://php.net/input-encoding
+;input_encoding =
+
+; PHP output character encoding is set to empty.
+; If empty, default_charset is used.
+; See also output_buffer.
+; http://php.net/output-encoding
+;output_encoding =
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; UNIX: "/path1:/path2"
+;include_path = ".:/usr/share/php"
+;
+; Windows: "\path1;\path2"
+;include_path = ".;c:\php\includes"
+;
+; PHP's default setting for include_path is ".;/path/to/php/pear"
+; http://php.net/include-path
+
+; The root of the PHP pages, used only if nonempty.
+; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
+; if you are running php as a CGI under any web server (other than IIS)
+; see documentation for security issues.  The alternate is to use the
+; cgi.force_redirect configuration below
+; http://php.net/doc-root
+doc_root =
+
+; The directory under which PHP opens the script using /~username used only
+; if nonempty.
+; http://php.net/user-dir
+user_dir =
+
+; Directory in which the loadable extensions (modules) reside.
+; http://php.net/extension-dir
+;extension_dir = "./"
+; On windows:
+;extension_dir = "ext"
+
+; Directory where the temporary files should be placed.
+; Defaults to the system default (see sys_get_temp_dir)
+;sys_temp_dir = "/tmp"
+
+; Whether or not to enable the dl() function.  The dl() function does NOT work
+; properly in multithreaded servers, such as IIS or Zeus, and is automatically
+; disabled on them.
+; http://php.net/enable-dl
+enable_dl = Off
+
+; cgi.force_redirect is necessary to provide security running PHP as a CGI under
+; most web servers.  Left undefined, PHP turns this on by default.  You can
+; turn it off here AT YOUR OWN RISK
+; **You CAN safely turn this off for IIS, in fact, you MUST.**
+; http://php.net/cgi.force-redirect
+;cgi.force_redirect = 1
+
+; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
+; every request. PHP's default behavior is to disable this feature.
+;cgi.nph = 1
+
+; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
+; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
+; will look for to know it is OK to continue execution.  Setting this variable MAY
+; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
+; http://php.net/cgi.redirect-status-env
+;cgi.redirect_status_env =
+
+; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
+; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
+; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
+; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
+; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
+; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
+; http://php.net/cgi.fix-pathinfo
+;cgi.fix_pathinfo=1
+
+; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
+; of the web tree and people will not be able to circumvent .htaccess security.
+;cgi.discard_path=1
+
+; FastCGI under IIS supports the ability to impersonate
+; security tokens of the calling client.  This allows IIS to define the
+; security context that the request runs under.  mod_fastcgi under Apache
+; does not currently support this feature (03/17/2002)
+; Set to 1 if running under IIS.  Default is zero.
+; http://php.net/fastcgi.impersonate
+;fastcgi.impersonate = 1
+
+; Disable logging through FastCGI connection. PHP's default behavior is to enable
+; this feature.
+;fastcgi.logging = 0
+
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If set to 0, PHP sends Status: header that
+; is supported by Apache. When this option is set to 1, PHP will send
+; RFC2616 compliant header.
+; Default is zero.
+; http://php.net/cgi.rfc2616-headers
+;cgi.rfc2616_headers = 0
+
+; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
+; (shebang) at the top of the running script. This line might be needed if the
+; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
+; mode skips this line and ignores its content if this directive is turned on.
+; http://php.net/cgi.check-shebang-line
+;cgi.check_shebang_line=1
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+; Whether to allow HTTP file uploads.
+; http://php.net/file-uploads
+file_uploads = On
+
+; Temporary directory for HTTP uploaded files (will use system default if not
+; specified).
+; http://php.net/upload-tmp-dir
+;upload_tmp_dir =
+
+; Maximum allowed size for uploaded files.
+; http://php.net/upload-max-filesize
+upload_max_filesize = 2M
+
+; Maximum number of files that can be uploaded via a single request
+max_file_uploads = 20
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+; http://php.net/allow-url-fopen
+allow_url_fopen = On
+
+; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
+; http://php.net/allow-url-include
+allow_url_include = Off
+
+; Define the anonymous ftp password (your email address). PHP's default setting
+; for this is empty.
+; http://php.net/from
+;from="john@doe.com"
+
+; Define the User-Agent string. PHP's default setting for this is empty.
+; http://php.net/user-agent
+;user_agent="PHP"
+
+; Default timeout for socket based streams (seconds)
+; http://php.net/default-socket-timeout
+default_socket_timeout = 60
+
+; If your scripts have to deal with files from Macintosh systems,
+; or you are running on a Mac and need to deal with files from
+; unix or win32 systems, setting this flag will cause PHP to
+; automatically detect the EOL character in those files so that
+; fgets() and file() will work regardless of the source of the file.
+; http://php.net/auto-detect-line-endings
+;auto_detect_line_endings = Off
+
+;;;;;;;;;;;;;;;;;;;;;;
+; Dynamic Extensions ;
+;;;;;;;;;;;;;;;;;;;;;;
+
+; If you wish to have an extension loaded automatically, use the following
+; syntax:
+;
+;   extension=modulename
+;
+; For example:
+;
+;   extension=mysqli
+;
+; When the extension library to load is not located in the default extension
+; directory, You may specify an absolute path to the library file:
+;
+;   extension=/path/to/extension/mysqli.so
+;
+; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
+; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
+; deprecated in a future PHP major version. So, when it is possible, please
+; move to the new ('extension=<ext>) syntax.
+;
+; Notes for Windows environments :
+;
+; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
+;   extension folders as well as the separate PECL DLL download (PHP 5+).
+;   Be sure to appropriately set the extension_dir directive.
+;
+;extension=bz2
+;extension=curl
+;extension=ffi
+;extension=ftp
+;extension=fileinfo
+;extension=gd2
+;extension=gettext
+;extension=gmp
+;extension=intl
+;extension=imap
+;extension=ldap
+;extension=mbstring
+;extension=exif      ; Must be after mbstring as it depends on it
+;extension=mysqli
+;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
+;extension=odbc
+;extension=openssl
+;extension=pdo_firebird
+;extension=pdo_mysql
+;extension=pdo_oci
+;extension=pdo_odbc
+;extension=pdo_pgsql
+;extension=pdo_sqlite
+;extension=pgsql
+;extension=shmop
+
+; The MIBS data available in the PHP distribution must be installed.
+; See http://www.php.net/manual/en/snmp.installation.php
+;extension=snmp
+
+;extension=soap
+;extension=sockets
+;extension=sodium
+;extension=sqlite3
+;extension=tidy
+;extension=xmlrpc
+;extension=xsl
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[CLI Server]
+; Whether the CLI web server uses ANSI color coding in its terminal output.
+cli_server.color = On
+
+[Date]
+; Defines the default timezone used by the date functions
+; http://php.net/date.timezone
+;date.timezone =
+
+; http://php.net/date.default-latitude
+;date.default_latitude = 31.7667
+
+; http://php.net/date.default-longitude
+;date.default_longitude = 35.2333
+
+; http://php.net/date.sunrise-zenith
+;date.sunrise_zenith = 90.583333
+
+; http://php.net/date.sunset-zenith
+;date.sunset_zenith = 90.583333
+
+[filter]
+; http://php.net/filter.default
+;filter.default = unsafe_raw
+
+; http://php.net/filter.default-flags
+;filter.default_flags =
+
+[iconv]
+; Use of this INI entry is deprecated, use global input_encoding instead.
+; If empty, default_charset or input_encoding or iconv.input_encoding is used.
+; The precedence is: default_charset < input_encoding < iconv.input_encoding
+;iconv.input_encoding =
+
+; Use of this INI entry is deprecated, use global internal_encoding instead.
+; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
+; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
+;iconv.internal_encoding =
+
+; Use of this INI entry is deprecated, use global output_encoding instead.
+; If empty, default_charset or output_encoding or iconv.output_encoding is used.
+; The precedence is: default_charset < output_encoding < iconv.output_encoding
+; To use an output encoding conversion, iconv's output handler must be set
+; otherwise output encoding conversion cannot be performed.
+;iconv.output_encoding =
+
+[imap]
+; rsh/ssh logins are disabled by default. Use this INI entry if you want to
+; enable them. Note that the IMAP library does not filter mailbox names before
+; passing them to rsh/ssh command, thus passing untrusted data to this function
+; with rsh/ssh enabled is insecure.
+;imap.enable_insecure_rsh=0
+
+[intl]
+;intl.default_locale =
+; This directive allows you to produce PHP errors when some error
+; happens within intl functions. The value is the level of the error produced.
+; Default is 0, which does not produce any errors.
+;intl.error_level = E_WARNING
+;intl.use_exceptions = 0
+
+[sqlite3]
+; Directory pointing to SQLite3 extensions
+; http://php.net/sqlite3.extension-dir
+;sqlite3.extension_dir =
+
+; SQLite defensive mode flag (only available from SQLite 3.26+)
+; When the defensive flag is enabled, language features that allow ordinary
+; SQL to deliberately corrupt the database file are disabled. This forbids
+; writing directly to the schema, shadow tables (eg. FTS data tables), or
+; the sqlite_dbpage virtual table.
+; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html
+; (for older SQLite versions, this flag has no use)
+;sqlite3.defensive = 1
+
+[Pcre]
+; PCRE library backtracking limit.
+; http://php.net/pcre.backtrack-limit
+;pcre.backtrack_limit=100000
+
+; PCRE library recursion limit.
+; Please note that if you set this value to a high number you may consume all
+; the available process stack and eventually crash PHP (due to reaching the
+; stack size limit imposed by the Operating System).
+; http://php.net/pcre.recursion-limit
+;pcre.recursion_limit=100000
+
+; Enables or disables JIT compilation of patterns. This requires the PCRE
+; library to be compiled with JIT support.
+;pcre.jit=1
+
+[Pdo]
+; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
+; http://php.net/pdo-odbc.connection-pooling
+;pdo_odbc.connection_pooling=strict
+
+;pdo_odbc.db2_instance_name
+
+[Pdo_mysql]
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+pdo_mysql.default_socket=
+
+[Phar]
+; http://php.net/phar.readonly
+;phar.readonly = On
+
+; http://php.net/phar.require-hash
+;phar.require_hash = On
+
+;phar.cache_list =
+
+[mail function]
+; For Win32 only.
+; http://php.net/smtp
+SMTP = localhost
+; http://php.net/smtp-port
+smtp_port = 25
+
+; For Win32 only.
+; http://php.net/sendmail-from
+;sendmail_from = me@example.com
+
+; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
+; http://php.net/sendmail-path
+;sendmail_path =
+
+; Force the addition of the specified parameters to be passed as extra parameters
+; to the sendmail binary. These parameters will always replace the value of
+; the 5th parameter to mail().
+;mail.force_extra_parameters =
+
+; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
+mail.add_x_header = Off
+
+; The path to a log file that will log all mail() calls. Log entries include
+; the full path of the script, line number, To address and headers.
+;mail.log =
+; Log mail to syslog (Event Log on Windows).
+;mail.log = syslog
+
+[ODBC]
+; http://php.net/odbc.default-db
+;odbc.default_db    =  Not yet implemented
+
+; http://php.net/odbc.default-user
+;odbc.default_user  =  Not yet implemented
+
+; http://php.net/odbc.default-pw
+;odbc.default_pw    =  Not yet implemented
+
+; Controls the ODBC cursor model.
+; Default: SQL_CURSOR_STATIC (default).
+;odbc.default_cursortype
+
+; Allow or prevent persistent links.
+; http://php.net/odbc.allow-persistent
+odbc.allow_persistent = On
+
+; Check that a connection is still valid before reuse.
+; http://php.net/odbc.check-persistent
+odbc.check_persistent = On
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://php.net/odbc.max-persistent
+odbc.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://php.net/odbc.max-links
+odbc.max_links = -1
+
+; Handling of LONG fields.  Returns number of bytes to variables.  0 means
+; passthru.
+; http://php.net/odbc.defaultlrl
+odbc.defaultlrl = 4096
+
+; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
+; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
+; of odbc.defaultlrl and odbc.defaultbinmode
+; http://php.net/odbc.defaultbinmode
+odbc.defaultbinmode = 1
+
+[MySQLi]
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://php.net/mysqli.max-persistent
+mysqli.max_persistent = -1
+
+; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
+; http://php.net/mysqli.allow_local_infile
+;mysqli.allow_local_infile = On
+
+; Allow or prevent persistent links.
+; http://php.net/mysqli.allow-persistent
+mysqli.allow_persistent = On
+
+; Maximum number of links.  -1 means no limit.
+; http://php.net/mysqli.max-links
+mysqli.max_links = -1
+
+; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
+; at MYSQL_PORT.
+; http://php.net/mysqli.default-port
+mysqli.default_port = 3306
+
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+; http://php.net/mysqli.default-socket
+mysqli.default_socket =
+
+; Default host for mysqli_connect() (doesn't apply in safe mode).
+; http://php.net/mysqli.default-host
+mysqli.default_host =
+
+; Default user for mysqli_connect() (doesn't apply in safe mode).
+; http://php.net/mysqli.default-user
+mysqli.default_user =
+
+; Default password for mysqli_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
+; and reveal this password!  And of course, any users with read access to this
+; file will be able to reveal the password as well.
+; http://php.net/mysqli.default-pw
+mysqli.default_pw =
+
+; Allow or prevent reconnect
+mysqli.reconnect = Off
+
+[mysqlnd]
+; Enable / Disable collection of general statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+mysqlnd.collect_statistics = On
+
+; Enable / Disable collection of memory usage statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+mysqlnd.collect_memory_statistics = Off
+
+; Records communication from all extensions using mysqlnd to the specified log
+; file.
+; http://php.net/mysqlnd.debug
+;mysqlnd.debug =
+
+; Defines which queries will be logged.
+;mysqlnd.log_mask = 0
+
+; Default size of the mysqlnd memory pool, which is used by result sets.
+;mysqlnd.mempool_default_size = 16000
+
+; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
+;mysqlnd.net_cmd_buffer_size = 2048
+
+; Size of a pre-allocated buffer used for reading data sent by the server in
+; bytes.
+;mysqlnd.net_read_buffer_size = 32768
+
+; Timeout for network requests in seconds.
+;mysqlnd.net_read_timeout = 31536000
+
+; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
+; key.
+;mysqlnd.sha256_server_public_key =
+
+[OCI8]
+
+; Connection: Enables privileged connections using external
+; credentials (OCI_SYSOPER, OCI_SYSDBA)
+; http://php.net/oci8.privileged-connect
+;oci8.privileged_connect = Off
+
+; Connection: The maximum number of persistent OCI8 connections per
+; process. Using -1 means no limit.
+; http://php.net/oci8.max-persistent
+;oci8.max_persistent = -1
+
+; Connection: The maximum number of seconds a process is allowed to
+; maintain an idle persistent connection. Using -1 means idle
+; persistent connections will be maintained forever.
+; http://php.net/oci8.persistent-timeout
+;oci8.persistent_timeout = -1
+
+; Connection: The number of seconds that must pass before issuing a
+; ping during oci_pconnect() to check the connection validity. When
+; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
+; pings completely.
+; http://php.net/oci8.ping-interval
+;oci8.ping_interval = 60
+
+; Connection: Set this to a user chosen connection class to be used
+; for all pooled server requests with Oracle 11g Database Resident
+; Connection Pooling (DRCP).  To use DRCP, this value should be set to
+; the same string for all web servers running the same application,
+; the database pool must be configured, and the connection string must
+; specify to use a pooled server.
+;oci8.connection_class =
+
+; High Availability: Using On lets PHP receive Fast Application
+; Notification (FAN) events generated when a database node fails. The
+; database must also be configured to post FAN events.
+;oci8.events = Off
+
+; Tuning: This option enables statement caching, and specifies how
+; many statements to cache. Using 0 disables statement caching.
+; http://php.net/oci8.statement-cache-size
+;oci8.statement_cache_size = 20
+
+; Tuning: Enables statement prefetching and sets the default number of
+; rows that will be fetched automatically after statement execution.
+; http://php.net/oci8.default-prefetch
+;oci8.default_prefetch = 100
+
+; Compatibility. Using On means oci_close() will not close
+; oci_connect() and oci_new_connect() connections.
+; http://php.net/oci8.old-oci-close-semantics
+;oci8.old_oci_close_semantics = Off
+
+[PostgreSQL]
+; Allow or prevent persistent links.
+; http://php.net/pgsql.allow-persistent
+pgsql.allow_persistent = On
+
+; Detect broken persistent links always with pg_pconnect().
+; Auto reset feature requires a little overheads.
+; http://php.net/pgsql.auto-reset-persistent
+pgsql.auto_reset_persistent = Off
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://php.net/pgsql.max-persistent
+pgsql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent).  -1 means no limit.
+; http://php.net/pgsql.max-links
+pgsql.max_links = -1
+
+; Ignore PostgreSQL backends Notice message or not.
+; Notice message logging require a little overheads.
+; http://php.net/pgsql.ignore-notice
+pgsql.ignore_notice = 0
+
+; Log PostgreSQL backends Notice message or not.
+; Unless pgsql.ignore_notice=0, module cannot log notice message.
+; http://php.net/pgsql.log-notice
+pgsql.log_notice = 0
+
+[bcmath]
+; Number of decimal digits for all bcmath functions.
+; http://php.net/bcmath.scale
+bcmath.scale = 0
+
+[browscap]
+; http://php.net/browscap
+;browscap = extra/browscap.ini
+
+[Session]
+; Handler used to store/retrieve data.
+; http://php.net/session.save-handler
+session.save_handler = files
+
+; Argument passed to save_handler.  In the case of files, this is the path
+; where data files are stored. Note: Windows users have to change this
+; variable in order to use PHP's session functions.
+;
+; The path can be defined as:
+;
+;     session.save_path = "N;/path"
+;
+; where N is an integer.  Instead of storing all the session files in
+; /path, what this will do is use subdirectories N-levels deep, and
+; store the session data in those directories.  This is useful if
+; your OS has problems with many files in one directory, and is
+; a more efficient layout for servers that handle many sessions.
+;
+; NOTE 1: PHP will not create this directory structure automatically.
+;         You can use the script in the ext/session dir for that purpose.
+; NOTE 2: See the section on garbage collection below if you choose to
+;         use subdirectories for session storage
+;
+; The file storage module creates files using mode 600 by default.
+; You can change that by using
+;
+;     session.save_path = "N;MODE;/path"
+;
+; where MODE is the octal representation of the mode. Note that this
+; does not overwrite the process's umask.
+; http://php.net/session.save-path
+;session.save_path = "/var/lib/php/sessions"
+
+; Whether to use strict session mode.
+; Strict session mode does not accept an uninitialized session ID, and
+; regenerates the session ID if the browser sends an uninitialized session ID.
+; Strict mode protects applications from session fixation via a session adoption
+; vulnerability. It is disabled by default for maximum compatibility, but
+; enabling it is encouraged.
+; https://wiki.php.net/rfc/strict_sessions
+session.use_strict_mode = 0
+
+; Whether to use cookies.
+; http://php.net/session.use-cookies
+session.use_cookies = 1
+
+; http://php.net/session.cookie-secure
+;session.cookie_secure =
+
+; This option forces PHP to fetch and use a cookie for storing and maintaining
+; the session id. We encourage this operation as it's very helpful in combating
+; session hijacking when not specifying and managing your own session id. It is
+; not the be-all and end-all of session hijacking defense, but it's a good start.
+; http://php.net/session.use-only-cookies
+session.use_only_cookies = 1
+
+; Name of the session (used as cookie name).
+; http://php.net/session.name
+session.name = PHPSESSID
+
+; Initialize session on request startup.
+; http://php.net/session.auto-start
+session.auto_start = 0
+
+; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+; http://php.net/session.cookie-lifetime
+session.cookie_lifetime = 0
+
+; The path for which the cookie is valid.
+; http://php.net/session.cookie-path
+session.cookie_path = /
+
+; The domain for which the cookie is valid.
+; http://php.net/session.cookie-domain
+session.cookie_domain =
+
+; Whether or not to add the httpOnly flag to the cookie, which makes it
+; inaccessible to browser scripting languages such as JavaScript.
+; http://php.net/session.cookie-httponly
+session.cookie_httponly =
+
+; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF)
+; Current valid values are "Strict", "Lax" or "None". When using "None",
+; make sure to include the quotes, as `none` is interpreted like `false` in ini files.
+; https://tools.ietf.org/html/draft-west-first-party-cookies-07
+session.cookie_samesite =
+
+; Handler used to serialize data. php is the standard serializer of PHP.
+; http://php.net/session.serialize-handler
+session.serialize_handler = php
+
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; http://php.net/session.gc-probability
+session.gc_probability = 0
+
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
+; For high volume production servers, using a value of 1000 is a more efficient approach.
+; Default Value: 100
+; Development Value: 1000
+; Production Value: 1000
+; http://php.net/session.gc-divisor
+session.gc_divisor = 1000
+
+; After this number of seconds, stored data will be seen as 'garbage' and
+; cleaned up by the garbage collection process.
+; http://php.net/session.gc-maxlifetime
+session.gc_maxlifetime = 1440
+
+; NOTE: If you are using the subdirectory option for storing session files
+;       (see session.save_path above), then garbage collection does *not*
+;       happen automatically.  You will need to do your own garbage
+;       collection through a shell script, cron entry, or some other method.
+;       For example, the following script is the equivalent of setting
+;       session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
+;          find /path/to/sessions -cmin +24 -type f | xargs rm
+
+; Check HTTP Referer to invalidate externally stored URLs containing ids.
+; HTTP_REFERER has to contain this substring for the session to be
+; considered as valid.
+; http://php.net/session.referer-check
+session.referer_check =
+
+; Set to {nocache,private,public,} to determine HTTP caching aspects
+; or leave this empty to avoid sending anti-caching headers.
+; http://php.net/session.cache-limiter
+session.cache_limiter = nocache
+
+; Document expires after n minutes.
+; http://php.net/session.cache-expire
+session.cache_expire = 180
+
+; trans sid support is disabled by default.
+; Use of trans sid may risk your users' security.
+; Use this option with caution.
+; - User may send URL contains active session ID
+;   to other person via. email/irc/etc.
+; - URL that contains active session ID may be stored
+;   in publicly accessible computer.
+; - User may access your site with the same session ID
+;   always using URL stored in browser's history or bookmarks.
+; http://php.net/session.use-trans-sid
+session.use_trans_sid = 0
+
+; Set session ID character length. This value could be between 22 to 256.
+; Shorter length than default is supported only for compatibility reason.
+; Users should use 32 or more chars.
+; http://php.net/session.sid-length
+; Default Value: 32
+; Development Value: 26
+; Production Value: 26
+session.sid_length = 26
+
+; The URL rewriter will look for URLs in a defined set of HTML tags.
+; <form> is special; if you include them here, the rewriter will
+; add a hidden <input> field with the info which is otherwise appended
+; to URLs. <form> tag's action attribute URL will not be modified
+; unless it is specified.
+; Note that all valid entries require a "=", even if no value follows.
+; Default Value: "a=href,area=href,frame=src,form="
+; Development Value: "a=href,area=href,frame=src,form="
+; Production Value: "a=href,area=href,frame=src,form="
+; http://php.net/url-rewriter.tags
+session.trans_sid_tags = "a=href,area=href,frame=src,form="
+
+; URL rewriter does not rewrite absolute URLs by default.
+; To enable rewrites for absolute paths, target hosts must be specified
+; at RUNTIME. i.e. use ini_set()
+; <form> tags is special. PHP will check action attribute's URL regardless
+; of session.trans_sid_tags setting.
+; If no host is defined, HTTP_HOST will be used for allowed host.
+; Example value: php.net,www.php.net,wiki.php.net
+; Use "," for multiple hosts. No spaces are allowed.
+; Default Value: ""
+; Development Value: ""
+; Production Value: ""
+;session.trans_sid_hosts=""
+
+; Define how many bits are stored in each character when converting
+; the binary hash data to something readable.
+; Possible values:
+;   4  (4 bits: 0-9, a-f)
+;   5  (5 bits: 0-9, a-v)
+;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
+; Default Value: 4
+; Development Value: 5
+; Production Value: 5
+; http://php.net/session.hash-bits-per-character
+session.sid_bits_per_character = 5
+
+; Enable upload progress tracking in $_SESSION
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; http://php.net/session.upload-progress.enabled
+;session.upload_progress.enabled = On
+
+; Cleanup the progress information as soon as all POST data has been read
+; (i.e. upload completed).
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; http://php.net/session.upload-progress.cleanup
+;session.upload_progress.cleanup = On
+
+; A prefix used for the upload progress key in $_SESSION
+; Default Value: "upload_progress_"
+; Development Value: "upload_progress_"
+; Production Value: "upload_progress_"
+; http://php.net/session.upload-progress.prefix
+;session.upload_progress.prefix = "upload_progress_"
+
+; The index name (concatenated with the prefix) in $_SESSION
+; containing the upload progress information
+; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; http://php.net/session.upload-progress.name
+;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
+
+; How frequently the upload progress should be updated.
+; Given either in percentages (per-file), or in bytes
+; Default Value: "1%"
+; Development Value: "1%"
+; Production Value: "1%"
+; http://php.net/session.upload-progress.freq
+;session.upload_progress.freq =  "1%"
+
+; The minimum delay between updates, in seconds
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; http://php.net/session.upload-progress.min-freq
+;session.upload_progress.min_freq = "1"
+
+; Only write session data when session data is changed. Enabled by default.
+; http://php.net/session.lazy-write
+;session.lazy_write = On
+
+[Assertion]
+; Switch whether to compile assertions at all (to have no overhead at run-time)
+; -1: Do not compile at all
+;  0: Jump over assertion at run-time
+;  1: Execute assertions
+; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
+; Default Value: 1
+; Development Value: 1
+; Production Value: -1
+; http://php.net/zend.assertions
+zend.assertions = -1
+
+; Assert(expr); active by default.
+; http://php.net/assert.active
+;assert.active = On
+
+; Throw an AssertionError on failed assertions
+; http://php.net/assert.exception
+;assert.exception = On
+
+; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)
+; http://php.net/assert.warning
+;assert.warning = On
+
+; Don't bail out by default.
+; http://php.net/assert.bail
+;assert.bail = Off
+
+; User-function to be called if an assertion fails.
+; http://php.net/assert.callback
+;assert.callback = 0
+
+; Eval the expression with current error_reporting().  Set to true if you want
+; error_reporting(0) around the eval().
+; http://php.net/assert.quiet-eval
+;assert.quiet_eval = 0
+
+[COM]
+; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
+; http://php.net/com.typelib-file
+;com.typelib_file =
+
+; allow Distributed-COM calls
+; http://php.net/com.allow-dcom
+;com.allow_dcom = true
+
+; autoregister constants of a component's typlib on com_load()
+; http://php.net/com.autoregister-typelib
+;com.autoregister_typelib = true
+
+; register constants casesensitive
+; http://php.net/com.autoregister-casesensitive
+;com.autoregister_casesensitive = false
+
+; show warnings on duplicate constant registrations
+; http://php.net/com.autoregister-verbose
+;com.autoregister_verbose = true
+
+; The default character set code-page to use when passing strings to and from COM objects.
+; Default: system ANSI code page
+;com.code_page=
+
+[mbstring]
+; language for internal character representation.
+; This affects mb_send_mail() and mbstring.detect_order.
+; http://php.net/mbstring.language
+;mbstring.language = Japanese
+
+; Use of this INI entry is deprecated, use global internal_encoding instead.
+; internal/script encoding.
+; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)
+; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
+; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
+;mbstring.internal_encoding =
+
+; Use of this INI entry is deprecated, use global input_encoding instead.
+; http input encoding.
+; mbstring.encoding_translation = On is needed to use this setting.
+; If empty, default_charset or input_encoding or mbstring.input is used.
+; The precedence is: default_charset < input_encoding < mbstring.http_input
+; http://php.net/mbstring.http-input
+;mbstring.http_input =
+
+; Use of this INI entry is deprecated, use global output_encoding instead.
+; http output encoding.
+; mb_output_handler must be registered as output buffer to function.
+; If empty, default_charset or output_encoding or mbstring.http_output is used.
+; The precedence is: default_charset < output_encoding < mbstring.http_output
+; To use an output encoding conversion, mbstring's output handler must be set
+; otherwise output encoding conversion cannot be performed.
+; http://php.net/mbstring.http-output
+;mbstring.http_output =
+
+; enable automatic encoding translation according to
+; mbstring.internal_encoding setting. Input chars are
+; converted to internal encoding by setting this to On.
+; Note: Do _not_ use automatic encoding translation for
+;       portable libs/applications.
+; http://php.net/mbstring.encoding-translation
+;mbstring.encoding_translation = Off
+
+; automatic encoding detection order.
+; "auto" detect order is changed according to mbstring.language
+; http://php.net/mbstring.detect-order
+;mbstring.detect_order = auto
+
+; substitute_character used when character cannot be converted
+; one from another
+; http://php.net/mbstring.substitute-character
+;mbstring.substitute_character = none
+
+; overload(replace) single byte functions by mbstring functions.
+; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
+; etc. Possible values are 0,1,2,4 or combination of them.
+; For example, 7 for overload everything.
+; 0: No overload
+; 1: Overload mail() function
+; 2: Overload str*() functions
+; 4: Overload ereg*() functions
+; http://php.net/mbstring.func-overload
+;mbstring.func_overload = 0
+
+; enable strict encoding detection.
+; Default: Off
+;mbstring.strict_detection = On
+
+; This directive specifies the regex pattern of content types for which mb_output_handler()
+; is activated.
+; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
+;mbstring.http_output_conv_mimetype=
+
+; This directive specifies maximum stack depth for mbstring regular expressions. It is similar
+; to the pcre.recursion_limit for PCRE.
+; Default: 100000
+;mbstring.regex_stack_limit=100000
+
+; This directive specifies maximum retry count for mbstring regular expressions. It is similar
+; to the pcre.backtrack_limit for PCRE.
+; Default: 1000000
+;mbstring.regex_retry_limit=1000000
+
+[gd]
+; Tell the jpeg decode to ignore warnings and try to create
+; a gd image. The warning will then be displayed as notices
+; disabled by default
+; http://php.net/gd.jpeg-ignore-warning
+;gd.jpeg_ignore_warning = 1
+
+[exif]
+; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
+; With mbstring support this will automatically be converted into the encoding
+; given by corresponding encode setting. When empty mbstring.internal_encoding
+; is used. For the decode settings you can distinguish between motorola and
+; intel byte order. A decode setting cannot be empty.
+; http://php.net/exif.encode-unicode
+;exif.encode_unicode = ISO-8859-15
+
+; http://php.net/exif.decode-unicode-motorola
+;exif.decode_unicode_motorola = UCS-2BE
+
+; http://php.net/exif.decode-unicode-intel
+;exif.decode_unicode_intel    = UCS-2LE
+
+; http://php.net/exif.encode-jis
+;exif.encode_jis =
+
+; http://php.net/exif.decode-jis-motorola
+;exif.decode_jis_motorola = JIS
+
+; http://php.net/exif.decode-jis-intel
+;exif.decode_jis_intel    = JIS
+
+[Tidy]
+; The path to a default tidy configuration file to use when using tidy
+; http://php.net/tidy.default-config
+;tidy.default_config = /usr/local/lib/php/default.tcfg
+
+; Should tidy clean and repair output automatically?
+; WARNING: Do not use this option if you are generating non-html content
+; such as dynamic images
+; http://php.net/tidy.clean-output
+tidy.clean_output = Off
+
+[soap]
+; Enables or disables WSDL caching feature.
+; http://php.net/soap.wsdl-cache-enabled
+soap.wsdl_cache_enabled=1
+
+; Sets the directory name where SOAP extension will put cache files.
+; http://php.net/soap.wsdl-cache-dir
+soap.wsdl_cache_dir="/tmp"
+
+; (time to live) Sets the number of second while cached file will be used
+; instead of original one.
+; http://php.net/soap.wsdl-cache-ttl
+soap.wsdl_cache_ttl=86400
+
+; Sets the size of the cache limit. (Max. number of WSDL files to cache)
+soap.wsdl_cache_limit = 5
+
+[sysvshm]
+; A default size of the shared memory segment
+;sysvshm.init_mem = 10000
+
+[ldap]
+; Sets the maximum number of open links or -1 for unlimited.
+ldap.max_links = -1
+
+[dba]
+;dba.default_handler=
+
+[opcache]
+; Determines if Zend OPCache is enabled
+;opcache.enable=1
+
+; Determines if Zend OPCache is enabled for the CLI version of PHP
+;opcache.enable_cli=0
+
+; The OPcache shared memory storage size.
+;opcache.memory_consumption=128
+
+; The amount of memory for interned strings in Mbytes.
+;opcache.interned_strings_buffer=8
+
+; The maximum number of keys (scripts) in the OPcache hash table.
+; Only numbers between 200 and 1000000 are allowed.
+;opcache.max_accelerated_files=10000
+
+; The maximum percentage of "wasted" memory until a restart is scheduled.
+;opcache.max_wasted_percentage=5
+
+; When this directive is enabled, the OPcache appends the current working
+; directory to the script key, thus eliminating possible collisions between
+; files with the same name (basename). Disabling the directive improves
+; performance, but may break existing applications.
+;opcache.use_cwd=1
+
+; When disabled, you must reset the OPcache manually or restart the
+; webserver for changes to the filesystem to take effect.
+;opcache.validate_timestamps=1
+
+; How often (in seconds) to check file timestamps for changes to the shared
+; memory storage allocation. ("1" means validate once per second, but only
+; once per request. "0" means always validate)
+;opcache.revalidate_freq=2
+
+; Enables or disables file search in include_path optimization
+;opcache.revalidate_path=0
+
+; If disabled, all PHPDoc comments are dropped from the code to reduce the
+; size of the optimized code.
+;opcache.save_comments=1
+
+; Allow file existence override (file_exists, etc.) performance feature.
+;opcache.enable_file_override=0
+
+; A bitmask, where each bit enables or disables the appropriate OPcache
+; passes
+;opcache.optimization_level=0x7FFFBFFF
+
+;opcache.dups_fix=0
+
+; The location of the OPcache blacklist file (wildcards allowed).
+; Each OPcache blacklist file is a text file that holds the names of files
+; that should not be accelerated. The file format is to add each filename
+; to a new line. The filename may be a full path or just a file prefix
+; (i.e., /var/www/x  blacklists all the files and directories in /var/www
+; that start with 'x'). Line starting with a ; are ignored (comments).
+;opcache.blacklist_filename=
+
+; Allows exclusion of large files from being cached. By default all files
+; are cached.
+;opcache.max_file_size=0
+
+; Check the cache checksum each N requests.
+; The default value of "0" means that the checks are disabled.
+;opcache.consistency_checks=0
+
+; How long to wait (in seconds) for a scheduled restart to begin if the cache
+; is not being accessed.
+;opcache.force_restart_timeout=180
+
+; OPcache error_log file name. Empty string assumes "stderr".
+;opcache.error_log=
+
+; All OPcache errors go to the Web server log.
+; By default, only fatal errors (level 0) or errors (level 1) are logged.
+; You can also enable warnings (level 2), info messages (level 3) or
+; debug messages (level 4).
+;opcache.log_verbosity_level=1
+
+; Preferred Shared Memory back-end. Leave empty and let the system decide.
+;opcache.preferred_memory_model=
+
+; Protect the shared memory from unexpected writing during script execution.
+; Useful for internal debugging only.
+;opcache.protect_memory=0
+
+; Allows calling OPcache API functions only from PHP scripts which path is
+; started from specified string. The default "" means no restriction
+;opcache.restrict_api=
+
+; Mapping base of shared memory segments (for Windows only). All the PHP
+; processes have to map shared memory into the same address space. This
+; directive allows to manually fix the "Unable to reattach to base address"
+; errors.
+;opcache.mmap_base=
+
+; Facilitates multiple OPcache instances per user (for Windows only). All PHP
+; processes with the same cache ID and user share an OPcache instance.
+;opcache.cache_id=
+
+; Enables and sets the second level cache directory.
+; It should improve performance when SHM memory is full, at server restart or
+; SHM reset. The default "" disables file based caching.
+;opcache.file_cache=
+
+; Enables or disables opcode caching in shared memory.
+;opcache.file_cache_only=0
+
+; Enables or disables checksum validation when script loaded from file cache.
+;opcache.file_cache_consistency_checks=1
+
+; Implies opcache.file_cache_only=1 for a certain process that failed to
+; reattach to the shared memory (for Windows only). Explicitly enabled file
+; cache is required.
+;opcache.file_cache_fallback=1
+
+; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
+; This should improve performance, but requires appropriate OS configuration.
+;opcache.huge_code_pages=1
+
+; Validate cached file permissions.
+;opcache.validate_permission=0
+
+; Prevent name collisions in chroot'ed environment.
+;opcache.validate_root=0
+
+; If specified, it produces opcode dumps for debugging different stages of
+; optimizations.
+;opcache.opt_debug_level=0
+
+; Specifies a PHP script that is going to be compiled and executed at server
+; start-up.
+; http://php.net/opcache.preload
+;opcache.preload=
+
+; Preloading code as root is not allowed for security reasons. This directive
+; facilitates to let the preloading to be run as another user.
+; http://php.net/opcache.preload_user
+;opcache.preload_user=
+
+; Prevents caching files that are less than this number of seconds old. It
+; protects from caching of incompletely updated files. In case all file updates
+; on your site are atomic, you may increase performance by setting it to "0".
+;opcache.file_update_protection=2
+
+; Absolute path used to store shared lockfiles (for *nix only).
+;opcache.lockfile_path=/tmp
+
+[curl]
+; A default value for the CURLOPT_CAINFO option. This is required to be an
+; absolute path.
+;curl.cainfo =
+
+[openssl]
+; The location of a Certificate Authority (CA) file on the local filesystem
+; to use when verifying the identity of SSL/TLS peers. Most users should
+; not specify a value for this directive as PHP will attempt to use the
+; OS-managed cert stores in its absence. If specified, this value may still
+; be overridden on a per-stream basis via the "cafile" SSL stream context
+; option.
+;openssl.cafile=
+
+; If openssl.cafile is not specified or if the CA file is not found, the
+; directory pointed to by openssl.capath is searched for a suitable
+; certificate. This value must be a correctly hashed certificate directory.
+; Most users should not specify a value for this directive as PHP will
+; attempt to use the OS-managed cert stores in its absence. If specified,
+; this value may still be overridden on a per-stream basis via the "capath"
+; SSL stream context option.
+;openssl.capath=
+
+[ffi]
+; FFI API restriction. Possible values:
+; "preload" - enabled in CLI scripts and preloaded files (default)
+; "false"   - always disabled
+; "true"    - always enabled
+;ffi.enable=preload
+
+; List of headers files to preload, wildcard patterns allowed.
+;ffi.preload=
diff --git a/php/7.4/mods-available/calendar.ini b/php/7.4/mods-available/calendar.ini
new file mode 100644 (file)
index 0000000..967ffc8
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=calendar.so
diff --git a/php/7.4/mods-available/ctype.ini b/php/7.4/mods-available/ctype.ini
new file mode 100644 (file)
index 0000000..c8cfe03
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=ctype.so
diff --git a/php/7.4/mods-available/exif.ini b/php/7.4/mods-available/exif.ini
new file mode 100644 (file)
index 0000000..f79604e
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=exif.so
diff --git a/php/7.4/mods-available/ffi.ini b/php/7.4/mods-available/ffi.ini
new file mode 100644 (file)
index 0000000..4d5fd2c
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=ffi.so
diff --git a/php/7.4/mods-available/fileinfo.ini b/php/7.4/mods-available/fileinfo.ini
new file mode 100644 (file)
index 0000000..da434de
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=fileinfo.so
diff --git a/php/7.4/mods-available/ftp.ini b/php/7.4/mods-available/ftp.ini
new file mode 100644 (file)
index 0000000..a478851
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=ftp.so
diff --git a/php/7.4/mods-available/gd.ini b/php/7.4/mods-available/gd.ini
new file mode 100644 (file)
index 0000000..0c36622
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php gd module
+; priority=20
+extension=gd.so
diff --git a/php/7.4/mods-available/gettext.ini b/php/7.4/mods-available/gettext.ini
new file mode 100644 (file)
index 0000000..9782bf7
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=gettext.so
diff --git a/php/7.4/mods-available/iconv.ini b/php/7.4/mods-available/iconv.ini
new file mode 100644 (file)
index 0000000..7c33b35
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=iconv.so
diff --git a/php/7.4/mods-available/json.ini b/php/7.4/mods-available/json.ini
new file mode 100644 (file)
index 0000000..a0475f3
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php json module
+; priority=20
+extension=json.so
diff --git a/php/7.4/mods-available/ldap.ini b/php/7.4/mods-available/ldap.ini
new file mode 100644 (file)
index 0000000..1e45dfb
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php ldap module
+; priority=20
+extension=ldap.so
diff --git a/php/7.4/mods-available/opcache.ini b/php/7.4/mods-available/opcache.ini
new file mode 100644 (file)
index 0000000..34ed69f
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php opcache module
+; priority=10
+zend_extension=opcache.so
diff --git a/php/7.4/mods-available/pdo.ini b/php/7.4/mods-available/pdo.ini
new file mode 100644 (file)
index 0000000..836d9a6
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=10
+extension=pdo.so
diff --git a/php/7.4/mods-available/phar.ini b/php/7.4/mods-available/phar.ini
new file mode 100644 (file)
index 0000000..50a0393
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=phar.so
diff --git a/php/7.4/mods-available/posix.ini b/php/7.4/mods-available/posix.ini
new file mode 100644 (file)
index 0000000..4fa5a62
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=posix.so
diff --git a/php/7.4/mods-available/readline.ini b/php/7.4/mods-available/readline.ini
new file mode 100644 (file)
index 0000000..2a47490
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php readline module
+; priority=20
+extension=readline.so
diff --git a/php/7.4/mods-available/shmop.ini b/php/7.4/mods-available/shmop.ini
new file mode 100644 (file)
index 0000000..8794afb
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=shmop.so
diff --git a/php/7.4/mods-available/sockets.ini b/php/7.4/mods-available/sockets.ini
new file mode 100644 (file)
index 0000000..489a59e
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=sockets.so
diff --git a/php/7.4/mods-available/sysvmsg.ini b/php/7.4/mods-available/sysvmsg.ini
new file mode 100644 (file)
index 0000000..1e61075
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=sysvmsg.so
diff --git a/php/7.4/mods-available/sysvsem.ini b/php/7.4/mods-available/sysvsem.ini
new file mode 100644 (file)
index 0000000..ce515c4
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=sysvsem.so
diff --git a/php/7.4/mods-available/sysvshm.ini b/php/7.4/mods-available/sysvshm.ini
new file mode 100644 (file)
index 0000000..d77d0f5
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=sysvshm.so
diff --git a/php/7.4/mods-available/tokenizer.ini b/php/7.4/mods-available/tokenizer.ini
new file mode 100644 (file)
index 0000000..45b3d54
--- /dev/null
@@ -0,0 +1,3 @@
+; configuration for php common module
+; priority=20
+extension=tokenizer.so
index da15be406da3bd27eca39c750375f542f86963ab..c07755186f77e9190ae99a33a8854c34846aaf99 100755 (executable)
@@ -6,7 +6,7 @@
 # were in the public domain.  I waive all rights.
 # Modified by Vincent Blut <vincent.debian@free.fr>
 
-if [ -e /run/chronyd.pid ]; then
+if [ -e /run/chrony/chronyd.pid ]; then
     chronyc onoffline > /dev/null 2>&1
 fi
 
index 7bc92de52905b354067e4794fc174e09ae91c001..9c8d08933cb677e964828371afd861ad735cef0e 100755 (executable)
@@ -5,7 +5,7 @@
 # were in the public domain.  I waive all rights.
 # Modified by Vincent Blut <vincent.debian@free.fr>
 
-if [ -e /run/chronyd.pid ]; then
+if [ -e /run/chrony/chronyd.pid ]; then
     chronyc onoffline > /dev/null 2>&1
 fi
 
index 902a7f744eb87bd1e0fe03a67b620644e94df715..e1a51b0ab454a06fd49754f386cc0c6d52dc4a4f 100644 (file)
@@ -1,10 +1,11 @@
+# shellcheck shell=sh disable=SC1091,SC2039,SC2166
 # Check for interactive bash and that we haven't already been sourced.
-if [ -n "${BASH_VERSION-}" -a -n "${PS1-}" -a -z "${BASH_COMPLETION_VERSINFO-}" ]; then
+if [ "x${BASH_VERSION-}" != x -a "x${PS1-}" != x -a "x${BASH_COMPLETION_VERSINFO-}" = x ]; then
 
     # Check for recent enough version of bash.
-    if [ ${BASH_VERSINFO[0]} -gt 4 ] || \
-       [ ${BASH_VERSINFO[0]} -eq 4 -a ${BASH_VERSINFO[1]} -ge 1 ]; then
-        [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \
+    if [ "${BASH_VERSINFO[0]}" -gt 4 ] ||
+        [ "${BASH_VERSINFO[0]}" -eq 4 -a "${BASH_VERSINFO[1]}" -ge 2 ]; then
+        [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] &&
             . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
         if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then
             # Source completion code.
diff --git a/rc0.d/K01named b/rc0.d/K01named
new file mode 120000 (symlink)
index 0000000..e346c63
--- /dev/null
@@ -0,0 +1 @@
+../init.d/named
\ No newline at end of file
diff --git a/rc0.d/K02bind9 b/rc0.d/K02bind9
deleted file mode 120000 (symlink)
index 63fcfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/bind9
\ No newline at end of file
diff --git a/rc0.d/K02sendsigs b/rc0.d/K02sendsigs
new file mode 120000 (symlink)
index 0000000..56bed94
--- /dev/null
@@ -0,0 +1 @@
+../init.d/sendsigs
\ No newline at end of file
diff --git a/rc0.d/K03rsyslog b/rc0.d/K03rsyslog
new file mode 120000 (symlink)
index 0000000..7000c51
--- /dev/null
@@ -0,0 +1 @@
+../init.d/rsyslog
\ No newline at end of file
diff --git a/rc0.d/K03sendsigs b/rc0.d/K03sendsigs
deleted file mode 120000 (symlink)
index 56bed94..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/sendsigs
\ No newline at end of file
diff --git a/rc0.d/K04hwclock.sh b/rc0.d/K04hwclock.sh
new file mode 120000 (symlink)
index 0000000..c2b57ec
--- /dev/null
@@ -0,0 +1 @@
+../init.d/hwclock.sh
\ No newline at end of file
diff --git a/rc0.d/K04rsyslog b/rc0.d/K04rsyslog
deleted file mode 120000 (symlink)
index 7000c51..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/rsyslog
\ No newline at end of file
diff --git a/rc0.d/K04umountnfs.sh b/rc0.d/K04umountnfs.sh
new file mode 120000 (symlink)
index 0000000..c4ed87a
--- /dev/null
@@ -0,0 +1 @@
+../init.d/umountnfs.sh
\ No newline at end of file
diff --git a/rc0.d/K05hwclock.sh b/rc0.d/K05hwclock.sh
deleted file mode 120000 (symlink)
index c2b57ec..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/hwclock.sh
\ No newline at end of file
diff --git a/rc0.d/K05networking b/rc0.d/K05networking
new file mode 120000 (symlink)
index 0000000..bd5b2c2
--- /dev/null
@@ -0,0 +1 @@
+../init.d/networking
\ No newline at end of file
diff --git a/rc0.d/K05umountnfs.sh b/rc0.d/K05umountnfs.sh
deleted file mode 120000 (symlink)
index c4ed87a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/umountnfs.sh
\ No newline at end of file
diff --git a/rc0.d/K06networking b/rc0.d/K06networking
deleted file mode 120000 (symlink)
index bd5b2c2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/networking
\ No newline at end of file
diff --git a/rc0.d/K06umountfs b/rc0.d/K06umountfs
new file mode 120000 (symlink)
index 0000000..d29c125
--- /dev/null
@@ -0,0 +1 @@
+../init.d/umountfs
\ No newline at end of file
diff --git a/rc0.d/K07umountfs b/rc0.d/K07umountfs
deleted file mode 120000 (symlink)
index d29c125..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/umountfs
\ No newline at end of file
diff --git a/rc0.d/K07umountroot b/rc0.d/K07umountroot
new file mode 120000 (symlink)
index 0000000..f486c50
--- /dev/null
@@ -0,0 +1 @@
+../init.d/umountroot
\ No newline at end of file
diff --git a/rc0.d/K08halt b/rc0.d/K08halt
new file mode 120000 (symlink)
index 0000000..576e1ef
--- /dev/null
@@ -0,0 +1 @@
+../init.d/halt
\ No newline at end of file
diff --git a/rc0.d/K08umountroot b/rc0.d/K08umountroot
deleted file mode 120000 (symlink)
index f486c50..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/umountroot
\ No newline at end of file
diff --git a/rc0.d/K09halt b/rc0.d/K09halt
deleted file mode 120000 (symlink)
index 576e1ef..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/halt
\ No newline at end of file
diff --git a/rc1.d/K01named b/rc1.d/K01named
new file mode 120000 (symlink)
index 0000000..e346c63
--- /dev/null
@@ -0,0 +1 @@
+../init.d/named
\ No newline at end of file
diff --git a/rc1.d/K02bind9 b/rc1.d/K02bind9
deleted file mode 120000 (symlink)
index 63fcfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/bind9
\ No newline at end of file
diff --git a/rc1.d/K03rsyslog b/rc1.d/K03rsyslog
new file mode 120000 (symlink)
index 0000000..7000c51
--- /dev/null
@@ -0,0 +1 @@
+../init.d/rsyslog
\ No newline at end of file
diff --git a/rc1.d/K04rsyslog b/rc1.d/K04rsyslog
deleted file mode 120000 (symlink)
index 7000c51..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/rsyslog
\ No newline at end of file
diff --git a/rc2.d/S03bind9 b/rc2.d/S03bind9
deleted file mode 120000 (symlink)
index 63fcfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/bind9
\ No newline at end of file
diff --git a/rc2.d/S03named b/rc2.d/S03named
new file mode 120000 (symlink)
index 0000000..e346c63
--- /dev/null
@@ -0,0 +1 @@
+../init.d/named
\ No newline at end of file
diff --git a/rc3.d/S03bind9 b/rc3.d/S03bind9
deleted file mode 120000 (symlink)
index 63fcfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/bind9
\ No newline at end of file
diff --git a/rc3.d/S03named b/rc3.d/S03named
new file mode 120000 (symlink)
index 0000000..e346c63
--- /dev/null
@@ -0,0 +1 @@
+../init.d/named
\ No newline at end of file
diff --git a/rc4.d/S03bind9 b/rc4.d/S03bind9
deleted file mode 120000 (symlink)
index 63fcfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/bind9
\ No newline at end of file
diff --git a/rc4.d/S03named b/rc4.d/S03named
new file mode 120000 (symlink)
index 0000000..e346c63
--- /dev/null
@@ -0,0 +1 @@
+../init.d/named
\ No newline at end of file
diff --git a/rc5.d/S03bind9 b/rc5.d/S03bind9
deleted file mode 120000 (symlink)
index 63fcfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/bind9
\ No newline at end of file
diff --git a/rc5.d/S03named b/rc5.d/S03named
new file mode 120000 (symlink)
index 0000000..e346c63
--- /dev/null
@@ -0,0 +1 @@
+../init.d/named
\ No newline at end of file
diff --git a/rc6.d/K01named b/rc6.d/K01named
new file mode 120000 (symlink)
index 0000000..e346c63
--- /dev/null
@@ -0,0 +1 @@
+../init.d/named
\ No newline at end of file
diff --git a/rc6.d/K02bind9 b/rc6.d/K02bind9
deleted file mode 120000 (symlink)
index 63fcfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/bind9
\ No newline at end of file
diff --git a/rc6.d/K02sendsigs b/rc6.d/K02sendsigs
new file mode 120000 (symlink)
index 0000000..56bed94
--- /dev/null
@@ -0,0 +1 @@
+../init.d/sendsigs
\ No newline at end of file
diff --git a/rc6.d/K03rsyslog b/rc6.d/K03rsyslog
new file mode 120000 (symlink)
index 0000000..7000c51
--- /dev/null
@@ -0,0 +1 @@
+../init.d/rsyslog
\ No newline at end of file
diff --git a/rc6.d/K03sendsigs b/rc6.d/K03sendsigs
deleted file mode 120000 (symlink)
index 56bed94..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/sendsigs
\ No newline at end of file
diff --git a/rc6.d/K04hwclock.sh b/rc6.d/K04hwclock.sh
new file mode 120000 (symlink)
index 0000000..c2b57ec
--- /dev/null
@@ -0,0 +1 @@
+../init.d/hwclock.sh
\ No newline at end of file
diff --git a/rc6.d/K04rsyslog b/rc6.d/K04rsyslog
deleted file mode 120000 (symlink)
index 7000c51..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/rsyslog
\ No newline at end of file
diff --git a/rc6.d/K04umountnfs.sh b/rc6.d/K04umountnfs.sh
new file mode 120000 (symlink)
index 0000000..c4ed87a
--- /dev/null
@@ -0,0 +1 @@
+../init.d/umountnfs.sh
\ No newline at end of file
diff --git a/rc6.d/K05hwclock.sh b/rc6.d/K05hwclock.sh
deleted file mode 120000 (symlink)
index c2b57ec..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/hwclock.sh
\ No newline at end of file
diff --git a/rc6.d/K05networking b/rc6.d/K05networking
new file mode 120000 (symlink)
index 0000000..bd5b2c2
--- /dev/null
@@ -0,0 +1 @@
+../init.d/networking
\ No newline at end of file
diff --git a/rc6.d/K05umountnfs.sh b/rc6.d/K05umountnfs.sh
deleted file mode 120000 (symlink)
index c4ed87a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/umountnfs.sh
\ No newline at end of file
diff --git a/rc6.d/K06networking b/rc6.d/K06networking
deleted file mode 120000 (symlink)
index bd5b2c2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/networking
\ No newline at end of file
diff --git a/rc6.d/K06umountfs b/rc6.d/K06umountfs
new file mode 120000 (symlink)
index 0000000..d29c125
--- /dev/null
@@ -0,0 +1 @@
+../init.d/umountfs
\ No newline at end of file
diff --git a/rc6.d/K07umountfs b/rc6.d/K07umountfs
deleted file mode 120000 (symlink)
index d29c125..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/umountfs
\ No newline at end of file
diff --git a/rc6.d/K07umountroot b/rc6.d/K07umountroot
new file mode 120000 (symlink)
index 0000000..f486c50
--- /dev/null
@@ -0,0 +1 @@
+../init.d/umountroot
\ No newline at end of file
diff --git a/rc6.d/K08reboot b/rc6.d/K08reboot
new file mode 120000 (symlink)
index 0000000..a28e7a4
--- /dev/null
@@ -0,0 +1 @@
+../init.d/reboot
\ No newline at end of file
diff --git a/rc6.d/K08umountroot b/rc6.d/K08umountroot
deleted file mode 120000 (symlink)
index f486c50..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/umountroot
\ No newline at end of file
diff --git a/rc6.d/K09reboot b/rc6.d/K09reboot
deleted file mode 120000 (symlink)
index a28e7a4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/reboot
\ No newline at end of file
index 655d7029ad00ef150c47b5ca99ce3f4949f160e5..86d3bedd029cb34f8bef81ecc9b9cb4fac5fc4c6 100644 (file)
@@ -80,11 +80,11 @@ mail.err                    /var/log/mail.err
 #
 *.=debug;\
        auth,authpriv.none;\
-       news.none;mail.none     -/var/log/debug
+       mail.none               -/var/log/debug
 *.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
-       mail,news.none          -/var/log/messages
+       mail.none               -/var/log/messages
 
 #
 # Emergencies are sent to everybody logged in.
diff --git a/runit/runsvdir/default/acpid b/runit/runsvdir/default/acpid
new file mode 120000 (symlink)
index 0000000..da4d634
--- /dev/null
@@ -0,0 +1 @@
+/etc/sv/acpid
\ No newline at end of file
index f9fd507808ac48cfb87adf5bd63a1e8f2adb253a..0d193147e63a3e1ab6ce9ea6eadcd9133a94ab7d 100644 (file)
--- a/s-nail.rc
+++ b/s-nail.rc
@@ -1,21 +1,23 @@
-#@ s-nail.rc
-#@ Configuration file for S-nail v14.9.11
+#@ /etc/s-nail.rc
+#@ Configuration file for S-nail v14.9.22.
 #@ The syntax of this file is interpreted as follows:
-#@ - Leading and trailing space, tabulator, newline (" \t\n") and all members
-#@   *ifs-ws* are removed.
+#@ - Any leading and trailing whitespace (space, tabulator, newline: " \t\n"),
+#@   and all members of (the internal variable) *ifs-ws* are removed.
 #@ - Empty lines are ignored.
-#@ - Any other line is a command line.  Such lines can be spread over
-#@   multiple lines if the newline character is "escaped" by placing
-#@   a reverse solidus character \ as the last character of the line; any
-#@   leading whitespace of follow lines is ignored, trailing whitespace before
-#@   the escaped newline is not.
+#@ - Any other line is a command line.  Such lines may spread over multiple
+#@   lines if a reverse solidus character \ is placed as the last character of
+#@   all lines except the final one; any leading whitespace of follow lines is
+#@   removed, but trailing whitespace before "escaped newlines" is not.
 #@ - The number sign # is the comment-command and causes the (joined) line
 #@   (content) to be ignored.
-#@ S-nail v14.9.11 / 2018-08-08
+#--MKREL-START--
+#@ S-nail v14.9.22 / 2021-02-24
+#--MKREL-END--
 
 ## Variables
 
-# The standard POSIX 2008/Cor 2-2016 mandates the following initial settings:
+# The standard POSIX 2008/Cor 2-2016 mandates the following initial settings
+# which are established independendly from this file:
 # [a]   noallnet, noappend, asksub, noaskbcc, noaskcc, noautoprint,
 # [b-e] nobang, nocmd, nocrt, nodebug, nodot, escape="~",
 # [f-i] noflipr, nofolder, header, nohold, noignore, noignoreeof,
 # [t-z] toplines="5"
 #
 # Notes:
-# - *hold, *keep*, *keepsave* and *sendwait* are deliberately set below.
-# - no*onehop* doesn't exist in this implementation.
-#   (To pass options through to the MTA, either add them after a "--"
-#   separator on the command line or set the *mta-arguments* variable.)
-# (Keep in SYNC: ./nail.h:okeys, ./nail.rc, ./nail.1:"Initial settings"!)
-#
-# Adjust the standard-imposed default variable settings.
-# Some of the following variables are not portable and may thus have no effect
-# with other Mail(1) / mailx(1) programs.
-# Entries are marked [OPTION] if their availability is compile-time dependent.
-
-# If threaded mode is activated, automatically collapse thread
+# - In this implementation:
+#   + *sendwait* is set by default (and has extended meaning).
+#   + no*onehop* does not exist.
+#     (To pass options through to the MTA, either add them after a "--"
+#     separator on the command line or set the *mta-arguments* variable.)
+# - *hold, *keep*, and *keepsave* are deliberately set below.
+# (Keep in SYNC: mx/nail.h:okeys, ./nail.rc, ./nail.1:"Initial settings"!)
+
+# Adjustments of standard imposed default- as well as other settings follow.
+# - Some of the latter are not portable and may thus have no effect with
+#   other Mail(1) / mailx(1) / mail(1) programs.
+# - "wysh" is one of the "Command modifiers" and is not portable: before v15 it
+#   changes the syntax of some old-style commands to sh(1)ell style quoting,
+#   also see "COMMANDS" -> "Shell-style argument quoting" in the manual.
+# - Availability of entries marked [OPTION] is a compile-time decision.
+
+# If threaded mode is activated, automatically collapse thread.
 set autocollapse
 
-# Enter threaded mode automatically
+# Enter threaded mode automatically.
 #set autosort=thread
 
 # Append rather than prepend when writing to mbox automatically.
-# This has no effect unless *hold* is unset (it is set below), it is
-# a compile-time setting for other cases.
+# Has no effect unless *hold* is unset (it is set below).
 # This is a traditional entry and should usually be set.
 set append
 
-# Ask for a message subject.
-set ask
+# Confirm sending of messages:
+set asksend
 
 # Uncomment this in order to get coloured output in $PAGER (if possible).
 #set colour-pager
@@ -57,12 +63,12 @@ set ask
 #  ? wysh set PAGER=less; environ unset LESS
 #  ? wysh set PAGER=lv; environ unset LV
 
-# Assume a CRT-like terminal and invoke a $PAGER if output doesn't fit on a
+# Assume a CRT-like terminal and invoke $PAGER if output does not fit on
 # the screen.  (Set crt=0 to always page; value treated as number of lines.)
 set crt
 
 # When entering compose mode, directly startup into $EDITOR, as via `~e'.
-# If the value is "v", startup into $VISUAL, as via `~v' instead.
+# If the value is "v", startup into $VISUAL instead, as via `~v'.
 #set editalong=v
 
 # When spawning an editor in compose mode (`~e', `~v', *editalong*), allow
@@ -79,16 +85,19 @@ set fullnames
 # [OPTION] Add more entries to the history as is done by default.
 # The latter will cause the built-in editor to save those entries, too.
 # (The *history-file* variable controls persistency of the history.)
-set history-gabby history-gabby-persist
+set history-gabby=all history-gabby-persist
 
 # Do not move read messages of system mailboxes to MBOX by default since this
 # is likely to be irritating for most users today; also see *keepsave*.
 set hold
 
-# Quote the original message in replies by "> " as usual on the Internet.
+# Quote the original message in replies with "> " as usual on the Internet.
 # POSIX mandates tabulator ("wysh set indentprefix=$'\t'") as default.
 set indentprefix="> "
 
+# Honour Mail-Followup-To: headers when replying etc.
+set followup-to-honour=ask-yes
+
 # Mark messages that have been answered.
 set markanswered
 
@@ -112,6 +121,7 @@ set keep
 set keepsave
 
 # An informational prompt (and see "Gimmicks" below).
+# Of interest may also be \${^ERRQUEUE-EXISTS} and \${^ERRQUEUE-COUNT}.
 # Note the _real_ evaluation occurs once used (see *prompt* manual entry).
 #wysh set prompt='?\$?!\$!/\$^ERRNAME[\${account-name}#\${mailbox-display}]? '
 
@@ -126,6 +136,9 @@ set recipients-in-cc
 # (which is subject to `charsetalias' expansion, though).
 #set reply-in-same-charset
 
+# Honour Reply-To: headers when replying etc.
+set reply-to-honour=ask-yes
+
 # [OPTION] Outgoing messages are sent in UTF-8 if possible, otherwise LATIN1.
 # Note: it is highly advisable to read the section "Character sets" of the
 # manual in order to understand all the possibilities that exist to fine-tune
@@ -134,11 +147,6 @@ set recipients-in-cc
 # $LC_ALL / $LANG environment variables and react upon them).
 set sendcharsets=utf-8,iso-8859-1
 
-# When sending a message wait until the MTA (including the built-in SMTP one)
-# exits before accepting further commands.  Only with this variable set errors
-# reported by the MTA will be recognizable!
-set sendwait
-
 # Display real sender names in header summaries instead of only addresses.
 set showname
 
@@ -147,40 +155,42 @@ set showto
 
 ## Commands
 
-# Most commands are not portable to other Mail(1) / mailx(1) programs, which is
-# why most commands are commented out.  To remain portable, place anything
-# specific in its own file, then "set mailx-extra-rc=~/.my-file" in $MAILRC
-# (usually ~/.mailrc).
+# Most commands are not portable to other Mail(1) / mailx(1) / mail(1)
+# programs, which is why most commands are commented out.  To remain portable,
+# place anything specific in its own file, and then
+#   set mailx-extra-rc=~/.my-file"
+# in $MAILRC (usually ~/.mailrc).
+# The below use the \ command modifier to avoid `commandalias' checks
 
 # Map ISO-8859-1 to LATIN1, and LATIN1 to CP1252.
 # (These mappings are not applied to character sets specified by other
-# variables, e.g., sendcharsets).
-#charsetalias iso-8859-1 latin1  latin1 cp1252
+# variables, e.g., *sendcharsets*).
+#\charsetalias iso-8859-1 latin1  latin1 cp1252
 
 # Only include the selected header fields when printing messages
-# `headerpick' is not portable, so use the standard `retain'
-retain from_ date from to cc subject message-id mail-followup-to reply-to
-#headerpick type retain from_ date from to cc subject \
+# (`headerpick' is not portable, so use the standard `retain')
+retain date sender from to cc subject message-id mail-followup-to reply-to
+#\headerpick type retain from_ date sender from to cc subject \
 #   message-id mail-followup-to reply-to
-# ...when forwarding messages
-#headerpick forward retain subject date from to cc
-# ...and don't include these when saving message, etc.
-#if [ "$features" =@ +regex ]
-#  headerpick save ignore '^Original-.*$' '^X-.*$'
-#end
+# when forwarding messages
+#\headerpick forward retain subject date sender from to cc
+# - and do not include these when saving message, etc.
+#\if "$features" =@ ,+regex,
+#  \headerpick save ignore '^Original-.*$' '^X-.*$'
+#\end
 
 ## Some pipe-TYPE/SUBTYPE entries
 
 # HTML as text, inline display via lynx(1).
-#if [ "$features" !@ +filter-html-tagsoup ]
-#   set pipe-text/html='@* lynx -stdin -dump -force_html'
-#endif
+#\if "$features" !@ ,+filter-html-tagsoup,
+#   \set pipe-text/html='?* lynx -stdin -dump -force_html'
+#\endif
 
 # "External body", URL type supported only.
-#wysh set pipe-message/external-body='@* echo $MAILX_EXTERNAL_BODY_URL'
+#\wysh set pipe-message/external-body='?* echo $MAILX_EXTERNAL_BODY_URL'
 
 # PDF display, asynchronous display: via `mimeview' command only.
-#wysh set pipe-application/pdf='@=&@\
+#\wysh set pipe-application/pdf='?=&@\
 #   trap "rm -f \"${MAILX_FILENAME_TEMPORARY}\"" EXIT;\
 #   trap "trap \"\" INT QUIT TERM; exit 1" INT QUIT TERM;\
 #   mupdf "${MAILX_FILENAME_TEMPORARY}"'
@@ -188,27 +198,30 @@ retain from_ date from to cc subject message-id mail-followup-to reply-to
 ## Gimmicks
 
 # More key bindings for the Mailx-Line-Editor (when in interactive mode).
-#if terminal && [ "$features" =@ +key-bindings ]
+#\if terminal && "$features" =@ +key-bindings
 #   \bind base $'\e',d mle-snarf-word-fwd
 #   \bind base $'\e',$'\c?' mle-snarf-word-bwd
 #   \bind base $'\e',f mle-go-word-fwd
 #   \bind base $'\e',b mle-go-word-bwd
 #   \bind base $'\cL' mle-clear-screen
 #   \bind compose :kf1 ~v
-#endif
+#\endif
 
 # Coloured prompt for the Mailx-Line-Editor (when in interactive mode).
-#if terminal && [ "$features" =@ +mle ] && [ "$features" =@ +colour ]
-#   colour 256 mle-position fg=202
-#   colour 256 mle-prompt fg=red
-#   colour iso mle-position ft=reverse
-#   colour iso mle-prompt fg=red
-#   colour mono mle-position ft=reverse
-#   colour mono mle-prompt ft=bold
-#endif
+#\if terminal && "$features" =@ +mle && "$features" =@ +colour
+#   \colour 256 mle-position fg=202
+#   \colour 256 mle-prompt fg=203
+#   \colour 256 mle-error bg=124
+#   \colour iso mle-position ft=bold
+#   \colour iso mle-prompt fg=brown
+#   \colour iso mle-error bg=red
+#   \colour mono mle-position ft=reverse
+#   \colour mono mle-prompt ft=bold
+#   \colour mono mle-error ft=reverse
+#\endif
 
 # Install file-extension handlers to handle MBOXes in various formats.
-#filetype \
+#\filetype \
 #   bz2 'bzip2 -dc' 'bzip2 -zc' \
 #   gpg 'gpg -d' 'gpg -e' \
 #   gz 'gzip -dc' 'gzip -c' \
@@ -216,4 +229,13 @@ retain from_ date from to cc subject message-id mail-followup-to reply-to
 #   zst 'zstd -dc' 'zstd -19 -zc' \
 #   zst.pgp 'gpg -d | zstd -dc' 'zstd -19 -zc | gpg -e'
 
+# If mail is send from cron scripts and iconv(3) is compiled it, it could be
+# that sending fails because of invalid (according to locale) character input.
+# This undesired event can be prevented as follows, the (possibly) resulting
+# octet-stream message data can be read nonetheless via
+# *mime-counter-evidence*=0b1111:
+#\if ! terminal && "$LOGNAME" == root
+#   \set mime-force-sendout
+#\endif
+
 # s-it-mode
diff --git a/security/faillock.conf b/security/faillock.conf
new file mode 100644 (file)
index 0000000..16d93df
--- /dev/null
@@ -0,0 +1,62 @@
+# Configuration for locking the user after multiple failed
+# authentication attempts.
+#
+# The directory where the user files with the failure records are kept.
+# The default is /var/run/faillock.
+# dir = /var/run/faillock
+#
+# Will log the user name into the system log if the user is not found.
+# Enabled if option is present.
+# audit
+#
+# Don't print informative messages.
+# Enabled if option is present.
+# silent
+#
+# Don't log informative messages via syslog.
+# Enabled if option is present.
+# no_log_info
+#
+# Only track failed user authentications attempts for local users
+# in /etc/passwd and ignore centralized (AD, IdM, LDAP, etc.) users.
+# The `faillock` command will also no longer track user failed
+# authentication attempts. Enabling this option will prevent a
+# double-lockout scenario where a user is locked out locally and
+# in the centralized mechanism.
+# Enabled if option is present.
+# local_users_only
+#
+# Deny access if the number of consecutive authentication failures
+# for this user during the recent interval exceeds n tries.
+# The default is 3.
+# deny = 3
+#
+# The length of the interval during which the consecutive
+# authentication failures must happen for the user account
+# lock out is <replaceable>n</replaceable> seconds.
+# The default is 900 (15 minutes).
+# fail_interval = 900
+#
+# The access will be re-enabled after n seconds after the lock out.
+# The value 0 has the same meaning as value `never` - the access
+# will not be re-enabled without resetting the faillock
+# entries by the `faillock` command.
+# The default is 600 (10 minutes).
+# unlock_time = 600
+#
+# Root account can become locked as well as regular accounts.
+# Enabled if option is present.
+# even_deny_root
+#
+# This option implies the `even_deny_root` option.
+# Allow access after n seconds to root account after the
+# account is locked. In case the option is not specified
+# the value is the same as of the `unlock_time` option.
+# root_unlock_time = 900
+#
+# If a group name is specified with this option, members
+# of the group will be handled by this module the same as
+# the root account (the options `even_deny_root>` and
+# `root_unlock_time` will apply to them.
+# By default, the option is not set.
+# admin_group = <admin_group_name>
index b611a0f218163a7c684421ab05928b358cf3e505..75ec61938080ddcc977b38ef0a9c7c1476bda7ea 100644 (file)
 # is explicitly called with an argument to ignore the mode of the
 # instance parent. System administrators should use this argument with
 # caution, as it will reduce security and isolation achieved by
-# polyinstantiation.
+# polyinstantiation. The parent directories (except $HOME) are created
+# at boot by pam_namespace_helper, but in a live system, system
+# administrators should create the parent directories before enabling
+# them here.
 #
 #/tmp     /tmp-inst/           level      root,adm
 #/var/tmp /var/tmp/tmp-inst/           level      root,adm
index 30e9d00894eb2fb2fe45986af7687a7107e5b5af..2549e430519c8b61d475c53d2e9d210a121b5db7 100644 (file)
@@ -26,7 +26,7 @@
 #
 # Each line starts with the variable name, there are then two possible
 # options for each variable DEFAULT and OVERRIDE.
-# DEFAULT allows and administrator to set the value of the
+# DEFAULT allows an administrator to set the value of the
 # variable  to some default value, if none is supplied then the empty
 # string is assumed. The OVERRIDE option tells pam_env that it should
 # enter in its value (overriding the default value) if there is one
index fa7ae2458f523ba2a0d217904b88c529ad254857..f90e9de67987064565cab0035f0b7d5f8db4e5be 100644 (file)
--- a/services
+++ b/services
@@ -1,9 +1,5 @@
 # Network services, Internet style
 #
-# Note that it is presently the policy of IANA to assign a single well-known
-# port number for both TCP and UDP; hence, officially ports have two entries
-# even if the protocol doesn't support UDP operations.
-#
 # Updated from https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml .
 #
 # New ports will be added on request if they have been officially assigned
@@ -20,8 +16,6 @@ daytime               13/tcp
 daytime                13/udp
 netstat                15/tcp
 qotd           17/tcp          quote
-msp            18/tcp                          # message send protocol
-msp            18/udp
 chargen                19/tcp          ttytst source
 chargen                19/udp          ttytst source
 ftp-data       20/tcp
@@ -32,8 +26,6 @@ telnet                23/tcp
 smtp           25/tcp          mail
 time           37/tcp          timserver
 time           37/udp          timserver
-rlp            39/udp          resource        # resource location
-nameserver     42/tcp          name            # IEN 116
 whois          43/tcp          nicname
 tacacs         49/tcp                          # Login Host Protocol (TACACS)
 tacacs         49/udp
@@ -45,7 +37,6 @@ tftp          69/udp
 gopher         70/tcp                          # Internet Gopher
 finger         79/tcp
 http           80/tcp          www             # WorldWideWeb HTTP
-link           87/tcp          ttylink
 kerberos       88/tcp          kerberos5 krb5 kerberos-sec     # Kerberos v5
 kerberos       88/udp          kerberos5 krb5 kerberos-sec     # Kerberos v5
 iso-tsap       102/tcp         tsap            # part of ISODE
@@ -54,17 +45,12 @@ pop3                110/tcp         pop-3           # POP version 3
 sunrpc         111/tcp         portmapper      # RPC 4.0 portmapper
 sunrpc         111/udp         portmapper
 auth           113/tcp         authentication tap ident
-sftp           115/tcp
 nntp           119/tcp         readnews untp   # USENET News Transfer Protocol
 ntp            123/udp                         # Network Time Protocol
 epmap          135/tcp         loc-srv         # DCE endpoint resolution
-epmap          135/udp         loc-srv
-netbios-ns     137/tcp                         # NETBIOS Name Service
-netbios-ns     137/udp
-netbios-dgm    138/tcp                         # NETBIOS Datagram Service
-netbios-dgm    138/udp
+netbios-ns     137/udp                         # NETBIOS Name Service
+netbios-dgm    138/udp                         # NETBIOS Datagram Service
 netbios-ssn    139/tcp                         # NETBIOS session service
-netbios-ssn    139/udp
 imap2          143/tcp         imap            # Interim Mail Access P 2 and 4
 snmp           161/tcp                         # Simple Net Mgmt Protocol
 snmp           161/udp
@@ -75,79 +61,42 @@ cmip-man    163/udp
 cmip-agent     164/tcp
 cmip-agent     164/udp
 mailq          174/tcp                 # Mailer transport queue for Zmailer
-mailq          174/udp
-xdmcp          177/tcp                         # X Display Mgr. Control Proto
-xdmcp          177/udp
-nextstep       178/tcp         NeXTStep NextStep       # NeXTStep window
-nextstep       178/udp         NeXTStep NextStep       #  server
+xdmcp          177/udp                 # X Display Manager Control Protocol
 bgp            179/tcp                         # Border Gateway Protocol
-irc            194/tcp                         # Internet Relay Chat
-irc            194/udp
 smux           199/tcp                         # SNMP Unix Multiplexer
-smux           199/udp
-at-rtmp                201/tcp                         # AppleTalk routing
-at-rtmp                201/udp
-at-nbp         202/tcp                         # AppleTalk name binding
-at-nbp         202/udp
-at-echo                204/tcp                         # AppleTalk echo
-at-echo                204/udp
-at-zis         206/tcp                         # AppleTalk zone information
-at-zis         206/udp
 qmtp           209/tcp                         # Quick Mail Transfer Protocol
-qmtp           209/udp
 z3950          210/tcp         wais            # NISO Z39.50 database
-z3950          210/udp         wais
-ipx            213/tcp                         # IPX
-ipx            213/udp
+ipx            213/udp                         # IPX [RFC1234]
 ptp-event      319/udp
 ptp-general    320/udp
 pawserv                345/tcp                         # Perf Analysis Workbench
-pawserv                345/udp
 zserv          346/tcp                         # Zebra server
-zserv          346/udp
-fatserv                347/tcp                         # Fatmen Server
-fatserv                347/udp
 rpc2portmap    369/tcp
 rpc2portmap    369/udp                         # Coda portmapper
 codaauth2      370/tcp
 codaauth2      370/udp                         # Coda authentication server
-clearcase      371/tcp         Clearcase
 clearcase      371/udp         Clearcase
-ulistserv      372/tcp                         # UNIX Listserv
-ulistserv      372/udp
 ldap           389/tcp                 # Lightweight Directory Access Protocol
 ldap           389/udp
-imsp           406/tcp                 # Interactive Mail Support Protocol
-imsp           406/udp
 svrloc         427/tcp                         # Server Location
 svrloc         427/udp
 https          443/tcp                         # http protocol over TLS/SSL
+https          443/udp                         # HTTP/3
 snpp           444/tcp                         # Simple Network Paging Protocol
-snpp           444/udp
 microsoft-ds   445/tcp                         # Microsoft Naked CIFS
-microsoft-ds   445/udp
 kpasswd                464/tcp
 kpasswd                464/udp
 submissions    465/tcp         ssmtp smtps urd # Submission over TLS [RFC8314]
 saft           487/tcp                 # Simple Asynchronous File Transfer
-saft           487/udp
-isakmp         500/tcp                 # IPsec - Internet Security Association
-isakmp         500/udp                 #  and Key Management Protocol
+isakmp         500/udp                         # IPSEC key management
 rtsp           554/tcp                 # Real Time Stream Control Protocol
 rtsp           554/udp
 nqs            607/tcp                         # Network Queuing system
-nqs            607/udp
-npmp-local     610/tcp         dqs313_qmaster          # npmp-local / DQS
-npmp-local     610/udp         dqs313_qmaster
-npmp-gui       611/tcp         dqs313_execd            # npmp-gui / DQS
-npmp-gui       611/udp         dqs313_execd
-hmmp-ind       612/tcp         dqs313_intercell        # HMMP Indication / DQS
-hmmp-ind       612/udp         dqs313_intercell
 asf-rmcp       623/udp         # ASF Remote Management and Control Protocol
 qmqp           628/tcp
-qmqp           628/udp
 ipp            631/tcp                         # Internet Printing Protocol
-ipp            631/udp
+ldp            646/tcp                         # Label Distribution Protocol
+ldp            646/udp
 #
 # UNIX specific services
 #
@@ -155,32 +104,20 @@ exec              512/tcp
 biff           512/udp         comsat
 login          513/tcp
 who            513/udp         whod
-shell          514/tcp         cmd             # no passwords used
+shell          514/tcp         cmd syslog      # no passwords used
 syslog         514/udp
 printer                515/tcp         spooler         # line printer spooler
 talk           517/udp
 ntalk          518/udp
 route          520/udp         router routed   # RIP
-timed          525/udp         timeserver
-tempo          526/tcp         newdate
-courier                530/tcp         rpc
-conference     531/tcp         chat
-netnews                532/tcp         readnews
-netwall                533/udp                         # for emergency broadcasts
 gdomap         538/tcp                         # GNUstep distributed objects
 gdomap         538/udp
 uucp           540/tcp         uucpd           # uucp daemon
 klogin         543/tcp                         # Kerberized `rlogin' (v5)
 kshell         544/tcp         krcmd           # Kerberized `rsh' (v5)
-dhcpv6-client  546/tcp
 dhcpv6-client  546/udp
-dhcpv6-server  547/tcp
 dhcpv6-server  547/udp
 afpovertcp     548/tcp                         # AFP over TCP
-afpovertcp     548/udp
-idfp           549/tcp
-idfp           549/udp
-remotefs       556/tcp         rfs_server rfs  # Brunhoff remote filesystem
 nntps          563/tcp         snntp           # NNTP over SSL
 submission     587/tcp                         # Submission [RFC4409]
 ldaps          636/tcp                         # LDAP over SSL
@@ -188,11 +125,8 @@ ldaps              636/udp
 tinc           655/tcp                         # tinc control port
 tinc           655/udp
 silc           706/tcp
-silc           706/udp
 kerberos-adm   749/tcp                         # Kerberos `kadmin' (v5)
 #
-webster                765/tcp                         # Network dictionary
-webster                765/udp
 domain-s       853/tcp                         # DNS over TLS [RFC7858]
 domain-s       853/udp                         # DNS over DTLS [RFC8094]
 rsync          873/tcp
@@ -217,50 +151,27 @@ pop3s             995/tcp                         # POP-3 over SSL
 #> community.
 #
 socks          1080/tcp                        # socks proxy server
-socks          1080/udp
 proofd         1093/tcp
-proofd         1093/udp
 rootd          1094/tcp
-rootd          1094/udp
 openvpn                1194/tcp
 openvpn                1194/udp
 rmiregistry    1099/tcp                        # Java RMI Registry
-rmiregistry    1099/udp
-kazaa          1214/tcp
-kazaa          1214/udp
-nessus         1241/tcp                        # Nessus vulnerability
-nessus         1241/udp                        #  assessment scanner
 lotusnote      1352/tcp        lotusnotes      # Lotus Note
-lotusnote      1352/udp        lotusnotes
 ms-sql-s       1433/tcp                        # Microsoft SQL Server
-ms-sql-s       1433/udp
-ms-sql-m       1434/tcp                        # Microsoft SQL Monitor
-ms-sql-m       1434/udp
+ms-sql-m       1434/udp                        # Microsoft SQL Monitor
 ingreslock     1524/tcp
-ingreslock     1524/udp
 datametrics    1645/tcp        old-radius
 datametrics    1645/udp        old-radius
 sa-msg-port    1646/tcp        old-radacct
 sa-msg-port    1646/udp        old-radacct
 kermit         1649/tcp
-kermit         1649/udp
 groupwise      1677/tcp
-groupwise      1677/udp
-l2f            1701/tcp        l2tp
 l2f            1701/udp        l2tp
 radius         1812/tcp
 radius         1812/udp
 radius-acct    1813/tcp        radacct         # Radius Accounting
 radius-acct    1813/udp        radacct
-msnp           1863/tcp                        # MSN Messenger
-msnp           1863/udp
-unix-status    1957/tcp                        # remstats unix-status server
-log-server     1958/tcp                        # remstats log server
-remoteping     1959/tcp                        # remstats remoteping server
 cisco-sccp     2000/tcp                        # Cisco SCCP
-cisco-sccp     2000/udp
-search         2010/tcp        ndtp
-pipe-server    2010/tcp        pipe_server
 nfs            2049/tcp                        # Network File System
 nfs            2049/udp                        # Network File System
 gnunet         2086/tcp
@@ -268,11 +179,8 @@ gnunet             2086/udp
 rtcm-sc104     2101/tcp                        # RTCM SC-104 IANA 1/29/99
 rtcm-sc104     2101/udp
 gsigatekeeper  2119/tcp
-gsigatekeeper  2119/udp
 gris           2135/tcp                # Grid Resource Information Server
-gris           2135/udp
 cvspserver     2401/tcp                        # CVS client/server operations
-cvspserver     2401/udp
 venus          2430/tcp                        # codacon port
 venus          2430/udp                        # Venus callback/wbc interface
 venus-se       2431/tcp                        # tcp side effects
@@ -284,164 +192,90 @@ codasrv-se       2433/udp                        # udp sftp side effect
 mon            2583/tcp                        # MON traps
 mon            2583/udp
 dict           2628/tcp                        # Dictionary server
-dict           2628/udp
 f5-globalsite  2792/tcp
-f5-globalsite  2792/udp
 gsiftp         2811/tcp
-gsiftp         2811/udp
 gpsd           2947/tcp
-gpsd           2947/udp
 gds-db         3050/tcp        gds_db          # InterBase server
-gds-db         3050/udp        gds_db
-icpv2          3130/tcp        icp             # Internet Cache Protocol
-icpv2          3130/udp        icp
+icpv2          3130/udp        icp             # Internet Cache Protocol
 isns           3205/tcp                        # iSNS Server Port
 isns           3205/udp                        # iSNS Server Port
 iscsi-target   3260/tcp
 mysql          3306/tcp
-mysql          3306/udp
+ms-wbt-server  3389/tcp
 nut            3493/tcp                        # Network UPS Tools
 nut            3493/udp
 distcc         3632/tcp                        # distributed compiler
-distcc         3632/udp
 daap           3689/tcp                        # Digital Audio Access Protocol
-daap           3689/udp
 svn            3690/tcp        subversion      # Subversion protocol
-svn            3690/udp        subversion
 suucp          4031/tcp                        # UUCP over SSL
-suucp          4031/udp
 sysrqd         4094/tcp                        # sysrq daemon
-sysrqd         4094/udp
 sieve          4190/tcp                        # ManageSieve Protocol
 epmd           4369/tcp                        # Erlang Port Mapper Daemon
-epmd           4369/udp
 remctl         4373/tcp                # Remote Authenticated Command Service
-remctl         4373/udp
 f5-iquery      4353/tcp                        # F5 iQuery
-f5-iquery      4353/udp
+ntske          4460/tcp        # Network Time Security Key Establishment
 ipsec-nat-t    4500/udp                        # IPsec NAT-Traversal [RFC3947]
-iax            4569/tcp                        # Inter-Asterisk eXchange
-iax            4569/udp
+iax            4569/udp                        # Inter-Asterisk eXchange
 mtn            4691/tcp                        # monotone Netsync Protocol
-mtn            4691/udp
 radmin-port    4899/tcp                        # RAdmin Port
-radmin-port    4899/udp
-rfe            5002/udp                        # Radio Free Ethernet
-rfe            5002/tcp
-mmcc           5050/tcp        # multimedia conference control tool (Yahoo IM)
-mmcc           5050/udp
 sip            5060/tcp                        # Session Initiation Protocol
 sip            5060/udp
 sip-tls                5061/tcp
 sip-tls                5061/udp
-aol            5190/tcp                        # AIM
-aol            5190/udp
 xmpp-client    5222/tcp        jabber-client   # Jabber Client Connection
-xmpp-client    5222/udp        jabber-client
 xmpp-server    5269/tcp        jabber-server   # Jabber Server Connection
-xmpp-server    5269/udp        jabber-server
 cfengine       5308/tcp
-cfengine       5308/udp
-mdns           5353/tcp                        # Multicast DNS
-mdns           5353/udp
+mdns           5353/udp                        # Multicast DNS
 postgresql     5432/tcp        postgres        # PostgreSQL Database
-postgresql     5432/udp        postgres
 freeciv                5556/tcp        rptp            # Freeciv gameplay
-freeciv                5556/udp
 amqps          5671/tcp                        # AMQP protocol over TLS/SSL
 amqp           5672/tcp
-amqp           5672/udp
 amqp           5672/sctp
-ggz            5688/tcp                        # GGZ Gaming Zone
-ggz            5688/udp
 x11            6000/tcp        x11-0           # X Window System
-x11            6000/udp        x11-0
 x11-1          6001/tcp
-x11-1          6001/udp
 x11-2          6002/tcp
-x11-2          6002/udp
 x11-3          6003/tcp
-x11-3          6003/udp
 x11-4          6004/tcp
-x11-4          6004/udp
 x11-5          6005/tcp
-x11-5          6005/udp
 x11-6          6006/tcp
-x11-6          6006/udp
 x11-7          6007/tcp
-x11-7          6007/udp
 gnutella-svc   6346/tcp                        # gnutella
 gnutella-svc   6346/udp
 gnutella-rtr   6347/tcp                        # gnutella
 gnutella-rtr   6347/udp
+redis          6379/tcp
 sge-qmaster    6444/tcp        sge_qmaster     # Grid Engine Qmaster Service
-sge-qmaster    6444/udp        sge_qmaster
 sge-execd      6445/tcp        sge_execd       # Grid Engine Execution Service
-sge-execd      6445/udp        sge_execd
 mysql-proxy    6446/tcp                        # MySQL Proxy
-mysql-proxy    6446/udp
 babel          6696/udp                        # Babel Routing Protocol
 ircs-u         6697/tcp                # Internet Relay Chat via TLS/SSL
-afs3-fileserver 7000/tcp       bbs             # file server itself
-afs3-fileserver 7000/udp       bbs
-afs3-callback  7001/tcp                        # callbacks to cache managers
-afs3-callback  7001/udp
-afs3-prserver  7002/tcp                        # users & groups database
-afs3-prserver  7002/udp
-afs3-vlserver  7003/tcp                        # volume location database
-afs3-vlserver  7003/udp
-afs3-kaserver  7004/tcp                        # AFS/Kerberos authentication
-afs3-kaserver  7004/udp
-afs3-volser    7005/tcp                        # volume managment server
-afs3-volser    7005/udp
-afs3-errors    7006/tcp                        # error interpretation service
-afs3-errors    7006/udp
-afs3-bos       7007/tcp                        # basic overseer process
-afs3-bos       7007/udp
-afs3-update    7008/tcp                        # server-to-server updater
-afs3-update    7008/udp
-afs3-rmtsys    7009/tcp                        # remote cache manager service
-afs3-rmtsys    7009/udp
+bbs            7000/tcp
+afs3-fileserver 7000/udp
+afs3-callback  7001/udp                        # callbacks to cache managers
+afs3-prserver  7002/udp                        # users & groups database
+afs3-vlserver  7003/udp                        # volume location database
+afs3-kaserver  7004/udp                        # AFS/Kerberos authentication
+afs3-volser    7005/udp                        # volume managment server
+afs3-bos       7007/udp                        # basic overseer process
+afs3-update    7008/udp                        # server-to-server updater
+afs3-rmtsys    7009/udp                        # remote cache manager service
 font-service   7100/tcp        xfs             # X Font Service
-font-service   7100/udp        xfs
 http-alt       8080/tcp        webcache        # WWW caching service
-http-alt       8080/udp
 puppet         8140/tcp                        # The Puppet master service
 bacula-dir     9101/tcp                        # Bacula Director
-bacula-dir     9101/udp
 bacula-fd      9102/tcp                        # Bacula File Daemon
-bacula-fd      9102/udp
 bacula-sd      9103/tcp                        # Bacula Storage Daemon
-bacula-sd      9103/udp
 xmms2          9667/tcp        # Cross-platform Music Multiplexing System
-xmms2          9667/udp
 nbd            10809/tcp                       # Linux Network Block Device
 zabbix-agent   10050/tcp                       # Zabbix Agent
-zabbix-agent   10050/udp
 zabbix-trapper 10051/tcp                       # Zabbix Trapper
-zabbix-trapper 10051/udp
 amanda         10080/tcp                       # amanda backup services
-amanda         10080/udp
 dicom          11112/tcp
 hkp            11371/tcp                       # OpenPGP HTTP Keyserver
-hkp            11371/udp
-bprd           13720/tcp                       # VERITAS NetBackup
-bprd           13720/udp
-bpdbm          13721/tcp                       # VERITAS NetBackup
-bpdbm          13721/udp
-bpjava-msvc    13722/tcp                       # BP Java MSVC Protocol
-bpjava-msvc    13722/udp
-vnetd          13724/tcp                       # Veritas Network Utility
-vnetd          13724/udp
-bpcd           13782/tcp                       # VERITAS NetBackup
-bpcd           13782/udp
-vopied         13783/tcp                       # VERITAS NetBackup
-vopied         13783/udp
 db-lsp         17500/tcp                       # Dropbox LanSync Protocol
 dcap           22125/tcp                       # dCache Access Protocol
 gsidcap                22128/tcp                       # GSI dCache Access Protocol
 wnn6           22273/tcp                       # wnn6
-wnn6           22273/udp
 
 #
 # Datagram Delivery Protocol services
@@ -456,57 +290,32 @@ zip               6/ddp                   # Zone Information Protocol
 #=========================================================================
 
 # Kerberos (Project Athena/MIT) services
-# Note that these are for Kerberos v4, and are unofficial.  Sites running
-# v4 should uncomment these and comment out the v5 entries above.
-#
 kerberos4      750/udp         kerberos-iv kdc # Kerberos (server)
 kerberos4      750/tcp         kerberos-iv kdc
 kerberos-master        751/udp         kerberos_master # Kerberos authentication
 kerberos-master        751/tcp
 passwd-server  752/udp         passwd_server   # Kerberos passwd server
 krb-prop       754/tcp         krb_prop krb5_prop hprop # Kerberos slave propagation
-krbupdate      760/tcp         kreg            # Kerberos registration
-swat           901/tcp                         # swat
-kpop           1109/tcp                        # Pop with Kerberos
-knetd          2053/tcp                        # Kerberos de-multiplexor
 zephyr-srv     2102/udp                        # Zephyr server
 zephyr-clt     2103/udp                        # Zephyr serv-hm connection
 zephyr-hm      2104/udp                        # Zephyr hostmanager
-eklogin                2105/tcp                        # Kerberos encrypted rlogin
-# Hmmm. Are we using Kv4 or Kv5 now? Worrying.
-# The following is probably Kerberos v5  --- ajt@debian.org (11/02/2000)
-kx             2111/tcp                        # X over Kerberos
 iprop          2121/tcp                        # incremental propagation
-#
-# Unofficial but necessary (for NetBSD) services
-#
-supfilesrv     871/tcp                         # SUP server
-supfiledbg     1127/tcp                        # SUP debugging
+supfilesrv     871/tcp                 # Software Upgrade Protocol server
+supfiledbg     1127/tcp                # Software Upgrade Protocol debugging
 
 #
 # Services added for the Debian GNU/Linux distribution
 #
 poppassd       106/tcp                         # Eudora
-poppassd       106/udp
 moira-db       775/tcp         moira_db        # Moira database
 moira-update   777/tcp         moira_update    # Moira update protocol
 moira-ureg     779/udp         moira_ureg      # Moira user registration
 spamd          783/tcp                         # spamassassin daemon
-omirr          808/tcp         omirrd          # online mirror
-omirr          808/udp         omirrd
-customs                1001/tcp                        # pmake customs server
-customs                1001/udp
 skkserv                1178/tcp                        # skk jisho server port
 predict                1210/udp                        # predict -- satellite tracking
 rmtcfg         1236/tcp                        # Gracilis Packeten remote config server
-wipld          1300/tcp                        # Wipl network monitor
 xtel           1313/tcp                        # french minitel
 xtelw          1314/tcp                        # french minitel
-support                1529/tcp                        # GNATS
-cfinger                2003/tcp                        # GNU Finger
-frox           2121/tcp                        # frox: caching ftp proxy
-ninstall       2150/tcp                        # ninstall service
-ninstall       2150/udp
 zebrasrv       2600/tcp                        # zebra service
 zebra          2601/tcp                        # zebra vty
 ripd           2602/tcp                        # ripd vty (zebra)
@@ -516,27 +325,12 @@ bgpd              2605/tcp                        # bgpd vty (zebra)
 ospf6d         2606/tcp                        # ospf6d vty (zebra)
 ospfapi                2607/tcp                        # OSPF-API
 isisd          2608/tcp                        # ISISd vty (zebra)
-afbackup       2988/tcp                        # Afbackup system
-afbackup       2988/udp
-afmbackup      2989/tcp                        # Afmbackup system
-afmbackup      2989/udp
-xtell          4224/tcp                        # xtell server
 fax            4557/tcp                        # FAX transmission service (old)
 hylafax                4559/tcp                        # HylaFAX client-server protocol (new)
-distmp3                4600/tcp                        # distmp3host daemon
 munin          4949/tcp        lrrd            # Munin
-enbd-cstatd    5051/tcp                        # ENBD client statd
-enbd-sstatd    5052/tcp                        # ENBD server statd
-pcrd           5151/tcp                        # PCR-1000 Daemon
-noclog         5354/tcp                        # noclogd with TCP (nocol)
-noclog         5354/udp                        # noclogd with UDP (nocol)
-hostmon                5355/tcp                        # hostmon uses TCP (nocol)
-hostmon                5355/udp                        # hostmon uses UDP (nocol)
 rplay          5555/udp                        # RPlay audio service
 nrpe           5666/tcp                        # Nagios Remote Plugin Executor
 nsca           5667/tcp                        # Nagios Agent - NSCA
-mrtd           5674/tcp                        # MRT Routing Daemon
-bgpsim         5675/tcp                        # MRT Routing Simulator
 canna          5680/tcp                        # cannaserver
 syslog-tls     6514/tcp                        # Syslog over TLS [RFC5425]
 sane-port      6566/tcp        sane saned      # SANE network scanner daemon
@@ -544,29 +338,18 @@ ircd              6667/tcp                        # Internet Relay Chat
 zope-ftp       8021/tcp                        # zope management by ftp
 tproxy         8081/tcp                        # Transparent Proxy
 omniorb                8088/tcp                        # OmniORB
-omniorb                8088/udp
 clc-build-daemon 8990/tcp                      # Common lisp build daemon
 xinetd         9098/tcp
-mandelspawn    9359/udp        mandelbrot      # network mandelbrot
 git            9418/tcp                        # Git Version Control System
 zope           9673/tcp                        # zope server
 webmin         10000/tcp
 kamanda                10081/tcp                       # amanda backup services (Kerberos)
-kamanda                10081/udp
 amandaidx      10082/tcp                       # amanda backup services
 amidxtape      10083/tcp                       # amanda backup services
-smsqp          11201/tcp                       # Alamin SMS gateway
-smsqp          11201/udp
-xpilot         15345/tcp                       # XPilot Contact Port
-xpilot         15345/udp
 sgi-cmsd       17001/udp               # Cluster membership services daemon
 sgi-crsd       17002/udp
 sgi-gcd                17003/udp                       # SGI Group membership daemon
 sgi-cad                17004/tcp                       # Cluster Admin daemon
-isdnlog                20011/tcp                       # isdn logging system
-isdnlog                20011/udp
-vboxd          20012/tcp                       # voice box system
-vboxd          20012/udp
 binkp          24554/tcp                       # binkp fidonet protocol
 asp            27374/tcp                       # Address Search Protocol
 asp            27374/udp
diff --git a/shadow b/shadow
index 3b67a2a25d28879e496a818a1166b240903a71da..29420404856677114d3c6dafb19b564065aa1ccb 100644 (file)
--- a/shadow
+++ b/shadow
@@ -33,3 +33,4 @@ _apt:*:17365:0:99999:7:::
 _chrony:*:17365:0:99999:7:::
 nagios:!:17449:0:99999:7:::
 systemd-coredump:!!:18143::::::
+tcpdump:*:18886:0:99999:7:::
diff --git a/shadow- b/shadow-
index c6abd5ecec515735447a9c96cb46d9e32e5c6133..29420404856677114d3c6dafb19b564065aa1ccb 100644 (file)
--- a/shadow-
+++ b/shadow-
@@ -32,3 +32,5 @@ messagebus:*:17329:0:99999:7:::
 _apt:*:17365:0:99999:7:::
 _chrony:*:17365:0:99999:7:::
 nagios:!:17449:0:99999:7:::
+systemd-coredump:!!:18143::::::
+tcpdump:*:18886:0:99999:7:::
diff --git a/shadow.org b/shadow.org
new file mode 100644 (file)
index 0000000..3b67a2a
--- /dev/null
@@ -0,0 +1,35 @@
+root:$6$vHVlymK2rKEvbfVQ$bh5D78yiliZtUWrosEue7SlY9qgqtlb6fRNEnkc1SMEmxsJF0uIQUOFtHcJjhDt3c6/xt1IePbRMhEjcRSkA51:16625:0:99999:7:::
+daemon:*:16625:0:99999:7:::
+bin:*:16625:0:99999:7:::
+sys:*:16625:0:99999:7:::
+sync:*:16625:0:99999:7:::
+games:*:16625:0:99999:7:::
+man:*:16625:0:99999:7:::
+lp:*:16625:0:99999:7:::
+mail:*:16625:0:99999:7:::
+news:*:16625:0:99999:7:::
+uucp:*:16625:0:99999:7:::
+proxy:*:16625:0:99999:7:::
+www-data:*:16625:0:99999:7:::
+backup:*:16625:0:99999:7:::
+list:*:16625:0:99999:7:::
+irc:*:16625:0:99999:7:::
+gnats:*:16625:0:99999:7:::
+nobody:*:16625:0:99999:7:::
+systemd-timesync:*:16625:0:99999:7:::
+systemd-network:*:16625:0:99999:7:::
+systemd-resolve:*:16625:0:99999:7:::
+sshd:*:16625:0:99999:7:::
+postfix:*:16854:0:99999:7:::
+bind:*:16869:0:99999:7:::
+frank:$6$kxHuk1r2$O5jQlpc73U/ptwjZqKhIRAqEvIwbOD1vzt2nymCYpnaeFwceiPsFT7yD1bunKx2Kt7aKDLOp03et1RxsjzjpQ1:16919:0:99999:7:::
+doris:$6$ytvH/1Wr$TBx1U/JLr62XC5slXfmU3fm1qz8wDqS5Awa23RYk7yxNTYEuRukEOOyq6wGhoB32NJqBtLR/8lPW0Ed6jGnFa0:14756:0:99999:7:::
+patrick:$6$cayHKFTo$y3plIUQem6gONYo/D.VqfmcUJRgJ08lxWKzr.Q2NYw9P6BWOGLFgNi6HyWQ8sCjR9Ky7cWvBULtyxJG4xq2Bq1:14756:0:99999:7:::
+ulog:*:16920:0:99999:7:::
+openldap:!:16922:0:99999:7:::
+gitdeploy:!:16932:0:99999:7:::
+messagebus:*:17329:0:99999:7:::
+_apt:*:17365:0:99999:7:::
+_chrony:*:17365:0:99999:7:::
+nagios:!:17449:0:99999:7:::
+systemd-coredump:!!:18143::::::
diff --git a/ssl/certs/128805a3.0 b/ssl/certs/128805a3.0
deleted file mode 120000 (symlink)
index 8c499f7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-EE_Certification_Centre_Root_CA.pem
\ No newline at end of file
diff --git a/ssl/certs/3fb36b73.0 b/ssl/certs/3fb36b73.0
new file mode 120000 (symlink)
index 0000000..0ec2e82
--- /dev/null
@@ -0,0 +1 @@
+NAVER_Global_Root_Certification_Authority.pem
\ No newline at end of file
diff --git a/ssl/certs/5c44d531.0 b/ssl/certs/5c44d531.0
deleted file mode 120000 (symlink)
index 01fa7e1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Staat_der_Nederlanden_Root_CA_-_G2.pem
\ No newline at end of file
diff --git a/ssl/certs/5f618aec.0 b/ssl/certs/5f618aec.0
new file mode 120000 (symlink)
index 0000000..65e8e80
--- /dev/null
@@ -0,0 +1 @@
+certSIGN_Root_CA_G2.pem
\ No newline at end of file
diff --git a/ssl/certs/6410666e.0 b/ssl/certs/6410666e.0
deleted file mode 120000 (symlink)
index 4946725..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Taiwan_GRCA.pem
\ No newline at end of file
diff --git a/ssl/certs/8867006a.0 b/ssl/certs/8867006a.0
deleted file mode 120000 (symlink)
index 73023f3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-GeoTrust_Universal_CA_2.pem
\ No newline at end of file
diff --git a/ssl/certs/8d89cda1.0 b/ssl/certs/8d89cda1.0
new file mode 120000 (symlink)
index 0000000..7e0403c
--- /dev/null
@@ -0,0 +1 @@
+Microsoft_ECC_Root_Certificate_Authority_2017.pem
\ No newline at end of file
diff --git a/ssl/certs/9b5697b0.0 b/ssl/certs/9b5697b0.0
new file mode 120000 (symlink)
index 0000000..293dad9
--- /dev/null
@@ -0,0 +1 @@
+Trustwave_Global_ECC_P256_Certification_Authority.pem
\ No newline at end of file
diff --git a/ssl/certs/EE_Certification_Centre_Root_CA.pem b/ssl/certs/EE_Certification_Centre_Root_CA.pem
deleted file mode 120000 (symlink)
index 886b391..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ca-certificates/mozilla/EE_Certification_Centre_Root_CA.crt
\ No newline at end of file
diff --git a/ssl/certs/GeoTrust_Universal_CA_2.pem b/ssl/certs/GeoTrust_Universal_CA_2.pem
deleted file mode 120000 (symlink)
index b6eb0e8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ca-certificates/mozilla/GeoTrust_Universal_CA_2.crt
\ No newline at end of file
diff --git a/ssl/certs/LuxTrust_Global_Root_2.pem b/ssl/certs/LuxTrust_Global_Root_2.pem
deleted file mode 120000 (symlink)
index ca0d661..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ca-certificates/mozilla/LuxTrust_Global_Root_2.crt
\ No newline at end of file
diff --git a/ssl/certs/Microsoft_ECC_Root_Certificate_Authority_2017.pem b/ssl/certs/Microsoft_ECC_Root_Certificate_Authority_2017.pem
new file mode 120000 (symlink)
index 0000000..274bed0
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/Microsoft_ECC_Root_Certificate_Authority_2017.crt
\ No newline at end of file
diff --git a/ssl/certs/Microsoft_RSA_Root_Certificate_Authority_2017.pem b/ssl/certs/Microsoft_RSA_Root_Certificate_Authority_2017.pem
new file mode 120000 (symlink)
index 0000000..69c2092
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/Microsoft_RSA_Root_Certificate_Authority_2017.crt
\ No newline at end of file
diff --git a/ssl/certs/NAVER_Global_Root_Certification_Authority.pem b/ssl/certs/NAVER_Global_Root_Certification_Authority.pem
new file mode 120000 (symlink)
index 0000000..e78a5db
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/NAVER_Global_Root_Certification_Authority.crt
\ No newline at end of file
diff --git a/ssl/certs/OISTE_WISeKey_Global_Root_GA_CA.pem b/ssl/certs/OISTE_WISeKey_Global_Root_GA_CA.pem
deleted file mode 120000 (symlink)
index 0397cf6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GA_CA.crt
\ No newline at end of file
diff --git a/ssl/certs/Staat_der_Nederlanden_Root_CA_-_G2.pem b/ssl/certs/Staat_der_Nederlanden_Root_CA_-_G2.pem
deleted file mode 120000 (symlink)
index dcfa966..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ca-certificates/mozilla/Staat_der_Nederlanden_Root_CA_-_G2.crt
\ No newline at end of file
diff --git a/ssl/certs/Taiwan_GRCA.pem b/ssl/certs/Taiwan_GRCA.pem
deleted file mode 120000 (symlink)
index ec18462..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ca-certificates/mozilla/Taiwan_GRCA.crt
\ No newline at end of file
diff --git a/ssl/certs/Trustwave_Global_Certification_Authority.pem b/ssl/certs/Trustwave_Global_Certification_Authority.pem
new file mode 120000 (symlink)
index 0000000..d58727d
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/Trustwave_Global_Certification_Authority.crt
\ No newline at end of file
diff --git a/ssl/certs/Trustwave_Global_ECC_P256_Certification_Authority.pem b/ssl/certs/Trustwave_Global_ECC_P256_Certification_Authority.pem
new file mode 120000 (symlink)
index 0000000..1c7bde1
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/Trustwave_Global_ECC_P256_Certification_Authority.crt
\ No newline at end of file
diff --git a/ssl/certs/Trustwave_Global_ECC_P384_Certification_Authority.pem b/ssl/certs/Trustwave_Global_ECC_P384_Certification_Authority.pem
new file mode 120000 (symlink)
index 0000000..02ef126
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/Trustwave_Global_ECC_P384_Certification_Authority.crt
\ No newline at end of file
diff --git a/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem b/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
deleted file mode 120000 (symlink)
index e2bd124..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/ca-certificates/mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt
\ No newline at end of file
diff --git a/ssl/certs/b1b8a7f3.0 b/ssl/certs/b1b8a7f3.0
deleted file mode 120000 (symlink)
index 037514a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-OISTE_WISeKey_Global_Root_GA_CA.pem
\ No newline at end of file
diff --git a/ssl/certs/bf53fb88.0 b/ssl/certs/bf53fb88.0
new file mode 120000 (symlink)
index 0000000..35301bc
--- /dev/null
@@ -0,0 +1 @@
+Microsoft_RSA_Root_Certificate_Authority_2017.pem
\ No newline at end of file
diff --git a/ssl/certs/c0ff1f52.0 b/ssl/certs/c0ff1f52.0
deleted file mode 120000 (symlink)
index 021fb80..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
\ No newline at end of file
index 79ccc77599ffba6896a0934c57267059a758a6b7..0ef7328517c9ab18148917a267cfd83aa7628d70 100644 (file)
@@ -798,30 +798,6 @@ Agu+TGbrIP65y7WZf+a2E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xl
 nJ2lYJU6Un/10asIbvPuW/mIPX64b24D5EI=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1
-MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1
-czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG
-CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy
-MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl
-ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS
-b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB
-AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy
-euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO
-bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw
-WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d
-MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE
-1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD
-VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/
-zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB
-BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF
-BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV
-v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG
-E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
-uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW
-iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v
-GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0=
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
 MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
 RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
 bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
@@ -943,37 +919,6 @@ y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d
 NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW
-MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy
-c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD
-VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1
-c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
-AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81
-WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG
-FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq
-XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL
-se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb
-KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd
-IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73
-y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt
-hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc
-QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4
-Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV
-HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV
-HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ
-KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
-dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ
-L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr
-Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo
-ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY
-T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz
-GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m
-1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV
-OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
-6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX
-QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
 MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
 VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0
 IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3
@@ -1276,30 +1221,6 @@ wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN
 pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB
-ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly
-aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
-ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w
-NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G
-A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD
-VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX
-SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR
-VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2
-w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF
-mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg
-4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9
-4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw
-DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw
-EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx
-SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2
-ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8
-vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
-hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi
-Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ
-/L7fCg0=
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
 MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL
 BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
 BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00
@@ -1623,39 +1544,6 @@ Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2
 ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO
-TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh
-dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX
-DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl
-ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv
-b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291
-qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp
-uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU
-Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE
-pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp
-5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M
-UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN
-GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy
-5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv
-6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK
-eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6
-B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/
-BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov
-L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
-HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG
-SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS
-CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen
-5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897
-IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK
-gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL
-+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL
-vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm
-bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk
-N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC
-Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z
-ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ==
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
 MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
 MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
 U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
@@ -1793,38 +1681,6 @@ hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy
 tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/
-MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj
-YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow
-PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp
-Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
-AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR
-IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q
-gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy
-yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts
-F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2
-jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx
-ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC
-VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK
-YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH
-EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN
-Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud
-DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE
-MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK
-UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
-TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf
-qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK
-ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE
-JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7
-hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1
-EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm
-nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX
-udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz
-ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe
-LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl
-pYYsfPQS
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
 MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw
 NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv
 b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD
@@ -1974,30 +1830,6 @@ aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ
 YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
-CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
-cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
-LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
-aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
-dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
-VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
-aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
-bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
-IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
-LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b
-N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t
-KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu
-kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm
-CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ
-Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu
-imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te
-2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe
-DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
-/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p
-F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt
-TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
 MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
 gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
 MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
@@ -2635,39 +2467,6 @@ T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe
 MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQEL
-BQAwRjELMAkGA1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNV
-BAMMFkx1eFRydXN0IEdsb2JhbCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUw
-MzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEWMBQGA1UECgwNTHV4VHJ1c3QgUy5B
-LjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCCAiIwDQYJKoZIhvcN
-AQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wmKb3F
-ibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTem
-hfY7RBi2xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1
-EMShduxq3sVs35a0VkBCwGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsn
-Xpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4
-zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkmFRseTJIpgp7VkoGSQXAZ
-96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niFwpN6cj5m
-j5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4g
-DEa/a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+
-8kPREd8vZS9kzl8UubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j
-X5t/Lax5Gw5CMZdjpPuKadUiDTSQMC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmH
-hFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB/zBCBgNVHSAEOzA5MDcGByuB
-KwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5Lmx1eHRydXN0
-Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT
-+Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQEL
-BQADggIBAGoZFO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9
-BzZAcg4atmpZ1gDlaCDdLnINH2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTO
-jFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW7MM3LGVYvlcAGvI1+ut7MV3CwRI9
-loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIuZY+kt9J/Z93I055c
-qqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWAVWe+
-2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/
-JEAdemrRTxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKre
-zrnK+T+Tb/mjuuqlPpmt/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQf
-LSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+
-x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31IiyBMz2TWuJdGsE7RKlY6
-oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
 MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC
 VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T
 U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp
@@ -3254,3 +3053,196 @@ DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI
 YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX
 UB+K+wb1whnw0A==
 -----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV
+BAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g
+Uk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ
+BgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ
+R04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF
+dRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw
+vlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ
+uIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp
+n+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs
+cpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW
+xPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P
+rCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF
+DsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx
+DTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy
+LcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C
+eWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ
+d8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq
+kX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC
+b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl
+qiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0
+OJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c
+NywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk
+ltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO
+pwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj
+03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk
+PuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE
+1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX
+QRBdJ3NghVdJIgc=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV
+BAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk
+LjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv
+b3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ
+BgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg
+THRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v
+IFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv
+xie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H
+Wyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
+A1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB
+eAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo
+jbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ
++efcMQ==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw
+CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD
+VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
+MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV
+UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy
+b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq
+hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR
+ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb
+hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E
+BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3
+FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV
+L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB
+iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl
+MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw
+NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
+IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG
+EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N
+aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi
+MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ
+Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0
+ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1
+HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm
+gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ
+jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc
+aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG
+YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6
+W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K
+UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH
++FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q
+W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC
+NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC
+LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC
+gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6
+tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh
+SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2
+TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3
+pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR
+xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp
+GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9
+dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN
+AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB
+RA+GsCyRxj3qrg+E
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEM
+BQAwaTELMAkGA1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRG
+T1JNIENvcnAuMTIwMAYDVQQDDClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0
+aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4NDJaFw0zNzA4MTgyMzU5NTlaMGkx
+CzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBD
+b3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVA
+iQqrDZBbUGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH
+38dq6SZeWYp34+hInDEW+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lE
+HoSTGEq0n+USZGnQJoViAbbJAh2+g1G7XNr4rRVqmfeSVPc0W+m/6imBEtRTkZaz
+kVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2aacp+yPOiNgSnABIqKYP
+szuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4Yb8Obtoq
+vC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHf
+nZ3zVHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaG
+YQ5fG8Ir4ozVu53BA0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo
+0es+nPxdGoMuK8u180SdOqcXYZaicdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3a
+CJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejyYhbLgGvtPe31HzClrkvJE+2K
+AQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNVHQ4EFgQU0p+I
+36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB
+Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoN
+qo0hV4/GPnrK21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatj
+cu3cvuzHV+YwIHHW1xDBE1UBjCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm
++LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bxhYTeodoS76TiEJd6eN4MUZeoIUCL
+hr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTgE34h5prCy8VCZLQe
+lHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTHD8z7
+p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8
+piKCk5XQA76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLR
+LBT/DShycpWbXgnbiUSYqqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX
+5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oGI/hGoiLtk/bdmuYqh7GYVPEi92tF4+KO
+dh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmgkpzNNIaRkPpkUZ3+/uul
+9XXeifdy
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw
+CQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x
+ITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1
+c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx
+OTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI
+SWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI
+b2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp
+Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
+ALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn
+swuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu
+7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8
+1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW
+80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP
+JqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l
+RtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw
+hI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10
+coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc
+BW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n
+twiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud
+DwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W
+0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe
+uyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q
+lG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB
+aCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE
+sLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT
+MaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe
+qu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh
+VicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8
+h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9
+EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK
+yeC2nOnOcXHebD8WpHk=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD
+VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf
+BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3
+YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x
+NzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G
+A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0
+d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF
+Q0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG
+SM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN
+FWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w
+DwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw
+CgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh
+DDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD
+VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf
+BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3
+YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x
+NzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G
+A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0
+d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF
+Q0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB
+BAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ
+j9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF
+1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G
+A1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3
+AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC
+MGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu
+Sw==
+-----END CERTIFICATE-----
diff --git a/ssl/certs/certSIGN_Root_CA_G2.pem b/ssl/certs/certSIGN_Root_CA_G2.pem
new file mode 120000 (symlink)
index 0000000..cef509c
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/certSIGN_Root_CA_G2.crt
\ No newline at end of file
diff --git a/ssl/certs/d887a5bb.0 b/ssl/certs/d887a5bb.0
new file mode 120000 (symlink)
index 0000000..99d24aa
--- /dev/null
@@ -0,0 +1 @@
+Trustwave_Global_ECC_P384_Certification_Authority.pem
\ No newline at end of file
diff --git a/ssl/certs/def36a68.0 b/ssl/certs/def36a68.0
deleted file mode 120000 (symlink)
index 5287497..0000000
+++ /dev/null
@@ -1 +0,0 @@
-LuxTrust_Global_Root_2.pem
\ No newline at end of file
diff --git a/ssl/certs/e-Szigno_Root_CA_2017.pem b/ssl/certs/e-Szigno_Root_CA_2017.pem
new file mode 120000 (symlink)
index 0000000..36479f3
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/ca-certificates/mozilla/e-Szigno_Root_CA_2017.crt
\ No newline at end of file
diff --git a/ssl/certs/e868b802.0 b/ssl/certs/e868b802.0
new file mode 120000 (symlink)
index 0000000..ca6feba
--- /dev/null
@@ -0,0 +1 @@
+e-Szigno_Root_CA_2017.pem
\ No newline at end of file
diff --git a/ssl/certs/f249de83.0 b/ssl/certs/f249de83.0
new file mode 120000 (symlink)
index 0000000..fc79f36
--- /dev/null
@@ -0,0 +1 @@
+Trustwave_Global_Certification_Authority.pem
\ No newline at end of file
index e8f3126770b1623af309e42faea73c52a4bf5d93..4ab061d07e5035fc7a8354287fa0fee2b1afee32 100644 (file)
@@ -16,6 +16,7 @@
 ###                              HTTP operation.
 ###   http-chunked-requests      Whether to use chunked transfer
 ###                              encoding for HTTP requests body.
+###   http-auth-types            List of HTTP authentication types.
 ###   ssl-authority-files        List of files, each of a trusted CA
 ###   ssl-trust-default-ca       Trust the system 'default' CAs
 ###   ssl-client-cert-file       PKCS#12 format client certificate file
 ###                              to authenticate against a
 ###                              Subversion server may be cached
 ###                              to disk in any way.
-###   store-plaintext-passwords  Specifies whether passwords may
-###                              be cached on disk unencrypted.
 ###   store-ssl-client-cert-pp   Specifies whether passphrase used
 ###                              to authenticate against a client
 ###                              certificate may be cached to disk
 ###                              in any way
-###   store-ssl-client-cert-pp-plaintext
-###                              Specifies whether client cert
-###                              passphrases may be cached on disk
-###                              unencrypted (i.e., as plaintext).
 ###   store-auth-creds           Specifies whether any auth info
 ###                              (passwords, server certs, etc.)
 ###                              may be cached to disk.
 ###   username                   Specifies the default username.
 ###
-### Set store-passwords to 'no' to avoid storing passwords on disk
-### in any way, including in password stores.  It defaults to
+### Set store-passwords to 'no' to avoid storing new passwords on
+### disk in any way, including in password stores.  It defaults to
 ### 'yes', but Subversion will never save your password to disk in
 ### plaintext unless explicitly configured to do so.
-### Note that this option only prevents saving of *new* passwords;
-### it doesn't invalidate existing passwords.  (To do that, remove
-### the cache files by hand as described in the Subversion book.)
 ###
-### Set store-plaintext-passwords to 'no' to avoid storing
-### passwords in unencrypted form in the auth/ area of your config
-### directory. Set it to 'yes' to allow Subversion to store
-### unencrypted passwords in the auth/ area.  The default is
-### 'ask', which means that Subversion will ask you before
-### saving a password to disk in unencrypted form.  Note that
-### this option has no effect if either 'store-passwords' or 
-### 'store-auth-creds' is set to 'no'.
-###
-### Set store-ssl-client-cert-pp to 'no' to avoid storing ssl
+### Set store-ssl-client-cert-pp to 'no' to avoid storing new ssl
 ### client certificate passphrases in the auth/ area of your
 ### config directory.  It defaults to 'yes', but Subversion will
 ### never save your passphrase to disk in plaintext unless
 ### explicitly configured to do so.
 ###
-### Note store-ssl-client-cert-pp only prevents the saving of *new*
-### passphrases; it doesn't invalidate existing passphrases.  To do
-### that, remove the cache files by hand as described in the
-### Subversion book at http://svnbook.red-bean.com/nightly/en/\
-###                    svn.serverconfig.netmodel.html\
-###                    #svn.serverconfig.netmodel.credcache
-###
-### Set store-ssl-client-cert-pp-plaintext to 'no' to avoid storing
-### passphrases in unencrypted form in the auth/ area of your
-### config directory.  Set it to 'yes' to allow Subversion to
-### store unencrypted passphrases in the auth/ area.  The default
-### is 'ask', which means that Subversion will prompt before
-### saving a passphrase to disk in unencrypted form.  Note that
-### this option has no effect if either 'store-auth-creds' or 
-### 'store-ssl-client-cert-pp' is set to 'no'.
-###
-### Set store-auth-creds to 'no' to avoid storing any Subversion
+### Set store-auth-creds to 'no' to avoid storing any new Subversion
 ### credentials in the auth/ area of your config directory.
 ### Note that this includes SSL server certificates.
-### It defaults to 'yes'.  Note that this option only prevents
-### saving of *new* credentials;  it doesn't invalidate existing
-### caches.  (To do that, remove the cache files by hand.)
+### It defaults to 'yes'.
+###
+### Note that setting a 'store-*' option to 'no' only prevents
+### saving of *new* passwords, passphrases or other credentials.
+### It does not remove or invalidate existing stored credentials.
+### To do that, see the 'svn auth --remove' command, or remove the
+### cache files by hand as described in the Subversion book at
+### http://svnbook.red-bean.com/nightly/en/svn.serverconfig.netmodel.html#svn.tour.initial.authn-cache-purge
 ###
 ### HTTP timeouts, if given, are specified in seconds.  A timeout
 ### of 0, i.e. zero, causes a builtin default to be used.
 # http-proxy-username = blah
 # http-proxy-password = doubleblah
 # http-timeout = 60
-# store-plaintext-passwords = no
 # username = harry
 
 ### Information for the second group:
 # Password / passphrase caching parameters:
 # store-passwords = no
 # store-ssl-client-cert-pp = no
-# store-plaintext-passwords = no
-# store-ssl-client-cert-pp-plaintext = no
diff --git a/sudo.conf b/sudo.conf
new file mode 100644 (file)
index 0000000..e54c7dd
--- /dev/null
+++ b/sudo.conf
@@ -0,0 +1,124 @@
+#
+# Default /etc/sudo.conf file
+#
+# Sudo plugins:
+#   Plugin plugin_name plugin_path plugin_options ...
+#
+# The plugin_path is relative to /usr/lib/sudo unless
+#   fully qualified.
+# The plugin_name corresponds to a global symbol in the plugin
+#   that contains the plugin interface structure.
+# The plugin_options are optional.
+#
+# The sudoers plugin is used by default if no Plugin lines are present.
+#Plugin sudoers_policy sudoers.so
+#Plugin sudoers_io sudoers.so
+#Plugin sudoers_audit sudoers.so
+
+#
+# Sudo askpass:
+#   Path askpass /path/to/askpass
+#
+# An askpass helper program may be specified to provide a graphical
+# password prompt for "sudo -A" support.  Sudo does not ship with its
+# own askpass program but can use the OpenSSH askpass.
+#
+# Use the OpenSSH askpass
+#Path askpass /usr/X11R6/bin/ssh-askpass
+#
+# Use the Gnome OpenSSH askpass
+#Path askpass /usr/libexec/openssh/gnome-ssh-askpass
+
+#
+# Sudo device search path:
+#   Path devsearch /dev/path1:/dev/path2:/dev
+#
+# A colon-separated list of paths to check when searching for a user's
+# terminal device.
+#
+#Path devsearch /dev/pts:/dev/vt:/dev/term:/dev/zcons:/dev/pty:/dev
+
+#
+# Sudo noexec:
+#   Path noexec /path/to/sudo_noexec.so
+#
+# Path to a shared library containing replacements for the execv(),
+# execve() and fexecve() library functions that just return an error.
+# This is used to implement the "noexec" functionality on systems that
+# support LD_PRELOAD or its equivalent.
+#
+# The compiled-in value is usually sufficient and should only be changed
+# if you rename or move the sudo_noexec.so file.
+#
+#Path noexec /usr/lib/sudo/sudo_noexec.so
+
+#
+# Sudo plugin directory:
+#   Path plugin_dir /path/to/plugins
+#
+# The default directory to use when searching for plugins that are
+# specified without a fully qualified path name.
+#
+#Path plugin_dir /usr/lib/sudo
+
+#
+# Sudo developer mode:
+#   Set developer_mode true|false
+#
+# Allow loading of plugins that are owned by non-root or are writable
+# by "group" or "other".  Should only be used during plugin development.
+#Set developer_mode true
+
+#
+# Core dumps:
+#   Set disable_coredump true|false
+#
+# By default, sudo disables core dumps while it is executing (they
+# are re-enabled for the command that is run).
+# To aid in debugging sudo problems, you may wish to enable core
+# dumps by setting "disable_coredump" to false.
+#
+#Set disable_coredump false
+
+#
+# User groups:
+#   Set group_source static|dynamic|adaptive
+#
+# Sudo passes the user's group list to the policy plugin.
+# If the user is a member of the maximum number of groups (usually 16),
+# sudo will query the group database directly to be sure to include
+# the full list of groups.
+#
+# On some systems, this can be expensive so the behavior is configurable.
+# The "group_source" setting has three possible values:
+#   static   - use the user's list of groups returned by the kernel.
+#   dynamic  - query the group database to find the list of groups.
+#   adaptive - if user is in less than the maximum number of groups.
+#             use the kernel list, else query the group database.
+#
+#Set group_source static
+
+#
+# Sudo interface probing:
+#   Set probe_interfaces true|false
+#
+# By default, sudo will probe the system's network interfaces and
+# pass the IP address of each enabled interface to the policy plugin.
+# On systems with a large number of virtual interfaces this may take
+# a noticeable amount of time.
+#
+#Set probe_interfaces false
+
+#
+# Sudo debug files:
+#   Debug program /path/to/debug_log subsystem@priority[,subsyste@priority]
+#
+# Sudo and related programs support logging debug information to a file.
+# The program is typically sudo, sudoers.so, sudoreplay or visudo.
+#
+# Subsystems vary based on the program; "all" matches all subsystems.
+# Priority may be crit, err, warn, notice, diag, info, trace or debug.
+# Multiple subsystem@priority may be specified, separated by a comma.
+#
+#Debug sudo /var/log/sudo_debug all@debug
+#Debug sudoers.so /var/log/sudoers_debug all@debug
diff --git a/sudo_logsrvd.conf b/sudo_logsrvd.conf
new file mode 100644 (file)
index 0000000..2bcf442
--- /dev/null
@@ -0,0 +1,159 @@
+#
+# sudo logsrv configuration
+#
+
+[server]
+# The host name or IP address and port to listen on with an optional TLS
+# flag.  If no port is specified, port 30343 will be used for plaintext
+# connections and port 30344 will be used to TLS connections.
+# The following forms are accepted:
+#   listen_address = hostname(tls)
+#   listen_address = hostname:port(tls)
+#   listen_address = IPv4_address(tls)
+#   listen_address = IPv4_address:port(tls)
+#   listen_address = [IPv6_address](tls)
+#   listen_address = [IPv6_address]:port(tls)
+#
+# The (tls) suffix should be omitted for plaintext connections.
+#
+# Multiple listen_address settings may be specified.
+# The default is to listen on all addresses.
+#listen_address = *:30343
+#listen_address = *:30344(tls)
+
+# The file containing the ID of the running sudo_logsrvd process.
+#pid_file = /var/run/sudo/sudo_logsrvd.pid
+
+# If set, enable the SO_KEEPALIVE socket option on the connected socket.
+#tcp_keepalive = true
+
+# The amount of time, in seconds, the server will wait for the client to
+# respond.  A value of 0 will disable the timeout.  The default value is 30.
+#timeout = 30
+
+# If set, server certificate will be verified at server startup and
+# also connecting clients will perform server authentication by
+# verifying the server's certificate and identity.
+#tls_verify = true
+
+# Whether to verify client certificates for TLS connections.
+# By default client certs are not checked.
+#tls_checkpeer = false
+
+# Path to the certificate authority bundle file in PEM format.
+# Required if 'tls_verify' or 'tls_checkpeer' is set.
+#tls_cacert = /etc/ssl/sudo/cacert.pem
+
+# Path to the server's certificate file in PEM format.
+# Required for TLS connections.
+#tls_cert = /etc/ssl/sudo/certs/logsrvd_cert.pem
+
+# Path to the server's private key file in PEM format.
+# Required for TLS connections.
+#tls_key = /etc/ssl/sudo/private/logsrvd_key.pem
+
+# TLS cipher list (see "CIPHER LIST FORMAT" in the openssl-ciphers manual).
+# NOTE that this setting is only effective if the negotiated protocol
+# is TLS version 1.2.
+# The default cipher list is HIGH:!aNULL.
+#tls_ciphers_v12 = HIGH:!aNULL
+
+# TLS cipher list if the negotiated protocol is TLS version 1.3.
+# The default cipher list is TLS_AES_256_GCM_SHA384.
+#tls_ciphers_v13 = TLS_AES_256_GCM_SHA384
+
+# Path to the Diffie-Hellman parameter file in PEM format.
+# If not set, the server will use the OpenSSL defaults.
+#tls_dhparams = /etc/ssl/sudo/logsrvd_dhparams.pem
+
+[iolog]
+# The top-level directory to use when constructing the path name for the
+# I/O log directory.  The session sequence number, if any, is stored here.
+#iolog_dir = /var/log/sudo-io
+
+# The path name, relative to iolog_dir, in which to store I/O logs.
+# Note that iolog_file may contain directory components.
+#iolog_file = %{seq}
+
+# If set, I/O logs will be compressed using zlib.  Enabling compression can
+# make it harder to view the logs in real-time as the program is executing.
+#iolog_compress = false
+
+# If set, I/O log data is flushed to disk after each write instead of
+# buffering it.  This makes it possible to view the logs in real-time
+# as the program is executing but reduces the effectiveness of compression.
+#iolog_flush = true
+
+# The group to use when creating new I/O log files and directories.
+# If iolog_group is not set, the primary group-ID of the user specified
+# by iolog_user is used.  If neither iolog_group nor iolog_user
+# are set, I/O log files and directories are created with group-ID 0.
+#iolog_group = wheel
+
+# The user to use when setting the user-ID and group-ID of new I/O
+# log files and directories.  If iolog_group is set, it will be used
+# instead of the user's primary group-ID.  By default, I/O log files
+# and directories are created with user and group-ID 0.
+#iolog_user = root
+
+# The file mode to use when creating I/O log files.  The file permissions
+# will always include the owner read and write bits, even if they are
+# not present in the specified mode.  When creating I/O log directories,
+# search (execute) bits are added to match the read and write bits
+# specified by iolog_mode.
+#iolog_mode = 0600
+
+# The maximum sequence number that will be substituted for the "%{seq}"
+# escape in the I/O log file.  While the value substituted for "%{seq}"
+# is in base 36, maxseq itself should be expressed in decimal.  Values
+# larger than 2176782336 (which corresponds to the base 36 sequence
+# number "ZZZZZZ") will be silently truncated to 2176782336.
+#maxseq = 2176782336
+
+[eventlog]
+# Where to log accept, reject and alert events.
+# Accepted values are syslog, logfile, or none.
+# Defaults to syslog
+#log_type = syslog
+
+# Event log format.
+# Supported log formats are "sudo" and "json"
+# Defaults to sudo
+#log_format = sudo
+
+[syslog]
+# The maximum length of a syslog payload.
+# On many systems, syslog(3) has a relatively small log buffer.
+# IETF RFC 5424 states that syslog servers must support messages
+# of at least 480 bytes and should support messages up to 2048 bytes.
+# Messages larger than this value will be split into multiple messages.
+#maxlen = 960
+
+# The syslog facility to use for event log messages.
+# The following syslog facilities are supported: authpriv (if your OS
+# supports it), auth, daemon, user, local0, local1, local2, local3,
+# local4, local5, local6, and local7.
+#facility = authpriv
+
+# Syslog priority to use for event log accept messages, when the command
+# is allowed by the security policy.  The following syslog priorities are
+# supported: alert, crit, debug, emerg, err, info, notice, warning, none.
+#accept_priority = notice
+
+# Syslog priority to use for event log reject messages, when the command
+# is not allowed by the security policy.
+#reject_priority = alert
+
+# Syslog priority to use for event log alert messages reported by the
+# client.
+#alert_priority = alert
+
+[logfile]
+# The path to the file-based event log.
+# This path must be fully-qualified and start with a '/' character.
+#path = /var/log/sudo
+
+# The format string used when formatting the date and time for
+# file-based event logs.  Formatting is performed via strftime(3) so
+# any format string supported by that function is allowed.
+#time_format = %h %e %T
diff --git a/sudoers b/sudoers
index 15537235629a61ebc4b0b8ba0789a5d8485e2b9b..259228b1bd43146b14f68a8d197f771ad0b8eac5 100644 (file)
--- a/sudoers
+++ b/sudoers
@@ -23,6 +23,6 @@ root  ALL=(ALL:ALL) ALL
 %sudo  ALL=(ALL:ALL) ALL
 %root  ALL=(ALL:ALL) NOPASSWD: ALL
 
-# See sudoers(5) for more information on "#include" directives:
+# See sudoers(5) for more information on "@include" directives:
 
-#includedir /etc/sudoers.d
+@includedir /etc/sudoers.d
diff --git a/sv/acpid/.meta/installed b/sv/acpid/.meta/installed
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/sv/acpid/log/run b/sv/acpid/log/run
new file mode 100755 (executable)
index 0000000..d586d6c
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+chown -R runit-log:adm '/var/log/runit/acpid'
+chmod 750 '/var/log/runit/acpid'
+chmod u+rw,g+r,o-rwx '/var/log/runit/acpid'/*
+exec chpst -u runit-log svlogd -tt '/var/log/runit/acpid'
diff --git a/sv/acpid/log/supervise b/sv/acpid/log/supervise
new file mode 120000 (symlink)
index 0000000..2550db4
--- /dev/null
@@ -0,0 +1 @@
+/var/lib/runit/log/supervise/acpid
\ No newline at end of file
diff --git a/sv/acpid/run b/sv/acpid/run
new file mode 100755 (executable)
index 0000000..d74e0db
--- /dev/null
@@ -0,0 +1,5 @@
+#!/usr/bin/env /lib/runit/invoke-run
+exec 2>&1
+exec /usr/bin/env -i /usr/sbin/acpid --foreground ${OPTIONS:-}
+
+# vim: ft=sh
diff --git a/sv/acpid/supervise b/sv/acpid/supervise
new file mode 120000 (symlink)
index 0000000..ae538f8
--- /dev/null
@@ -0,0 +1 @@
+/var/lib/runit/supervise/acpid
\ No newline at end of file
index bd112aafe3d979b9dfadbf2a1f213831cb30927d..eb96ed5369fed2225814d60675889f464e169ee4 100644 (file)
@@ -9,7 +9,7 @@
 # Uncomment the following to stop low-level messages on console
 #kernel.printk = 3 4 1 3
 
-##############################################################3
+###################################################################
 # Functions previously found in netbase
 #
 
diff --git a/sysctl.d/protect-links.conf b/sysctl.d/protect-links.conf
deleted file mode 100644 (file)
index 255805e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-###################################################################
-# Protected links
-#
-# Protects against creating or following links under certain conditions
-# Debian kernels have both set to 1 (restricted) 
-# See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
-fs.protected_hardlinks = 1
-fs.protected_symlinks = 1
diff --git a/systemd/system/bind9.service b/systemd/system/bind9.service
new file mode 120000 (symlink)
index 0000000..66d6674
--- /dev/null
@@ -0,0 +1 @@
+/lib/systemd/system/named.service
\ No newline at end of file
diff --git a/systemd/system/multi-user.target.wants/named.service b/systemd/system/multi-user.target.wants/named.service
new file mode 120000 (symlink)
index 0000000..66d6674
--- /dev/null
@@ -0,0 +1 @@
+/lib/systemd/system/named.service
\ No newline at end of file
diff --git a/systemd/system/netfilter-persistent.service.d/iptables.conf b/systemd/system/netfilter-persistent.service.d/iptables.conf
new file mode 100644 (file)
index 0000000..2d38823
--- /dev/null
@@ -0,0 +1,2 @@
+[Unit]
+Conflicts=iptables.service ip6tables.service
diff --git a/systemd/system/timers.target.wants/mlocate.timer b/systemd/system/timers.target.wants/mlocate.timer
new file mode 120000 (symlink)
index 0000000..0a9a6b7
--- /dev/null
@@ -0,0 +1 @@
+/lib/systemd/system/mlocate.timer
\ No newline at end of file
index bee1572ee9e5fafb2b32d929dbc9ee6f5f209c57..1e39c0395bd79437ade66980b01b9bc0a079cc03 100644 (file)
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -5,8 +5,6 @@
 " It is recommended to make changes after sourcing debian.vim since it alters
 " the value of the 'compatible' option.
 
-" This line should not be removed as it ensures that various options are
-" properly set to work with the Vim-related packages available in Debian.
 runtime! debian.vim
 
 " Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
index 9bfec9b4a513194cedafddd65e643b8401770b6e..890037a8525e294c5c0b5bd56593a2d6420b8ce1 100644 (file)
@@ -6,7 +6,7 @@
 " _not_ sourced; /etc/vim/vimrc and/or /etc/vim/gvimrc are.
 
 " Debian system-wide default configuration Vim
-set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim81,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
+set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim82,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
 
 set compatible
 
index 45aebde3179980b3f033abf799122530b7089baf..3fb9748978fc44ab0334818c72f661fa29f58b1f 100644 (file)
--- a/zsh/zshrc
+++ b/zsh/zshrc
@@ -102,3 +102,11 @@ zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \
 
 (( ${+aliases[run-help]} )) && unalias run-help
 autoload -Uz run-help
+
+# If you don't want compinit called here, place the line
+# skip_global_compinit=1
+# in your $ZDOTDIR/.zshenv
+if grep -q '^ID.*=.*ubuntu' /etc/os-release && [[ -z "$skip_global_compinit" ]]; then
+  autoload -U compinit
+  compinit
+fi