summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2023-01-04 02:18:08 +0000
committer Eric Hameleers <alien@slackware.com>2023-01-04 13:30:28 +0100
commite054e8d54f8b4a065c842d44956d26c368af3b03 (patch)
treec7195c6b4aefd52758f4a1489c19e0df2898e170
parentd404417adc9bf3045ef8e5b44b10bc8dfdf1e9b8 (diff)
downloadcurrent-e054e8d54f8b4a065c842d44956d26c368af3b03.tar.gz
current-e054e8d54f8b4a065c842d44956d26c368af3b03.tar.xz
Wed Jan 4 02:18:08 UTC 202320230104021808_15.0
patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txz: Upgraded. Patched various security bugs. For more information, see: https://www.cve.org/CVERecord?id=CVE-2022-2056 https://www.cve.org/CVERecord?id=CVE-2022-2057 https://www.cve.org/CVERecord?id=CVE-2022-2058 https://www.cve.org/CVERecord?id=CVE-2022-3970 https://www.cve.org/CVERecord?id=CVE-2022-34526 (* Security fix *) patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txz: Rebuilt. When the "background" extension was loaded, an attacker able to control the data written to the terminal would be able to execute arbitrary code as the terminal's user. Thanks to David Leadbeater and Ben Collver. For more information, see: https://www.openwall.com/lists/oss-security/2022/12/05/1 https://www.cve.org/CVERecord?id=CVE-2022-4170 (* Security fix *) patches/packages/whois-5.5.15-x86_64-1_slack15.0.txz: Upgraded. Updated the .bd, .nz and .tv TLD servers. Added the .llyw.cymru, .gov.scot and .gov.wales SLD servers. Updated the .ac.uk and .gov.uk SLD servers. Recursion has been enabled for whois.nic.tv. Updated the list of new gTLDs with four generic TLDs assigned in October 2013 which were missing due to a bug. Removed 4 new gTLDs which are no longer active. Added the Georgian translation, contributed by Temuri Doghonadze. Updated the Finnish translation, contributed by Lauri Nurmi.
-rw-r--r--ChangeLog.rss41
-rw-r--r--ChangeLog.txt29
-rw-r--r--FILELIST.TXT245
-rw-r--r--patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txt11
-rw-r--r--patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txt11
-rw-r--r--patches/packages/whois-5.5.15-x86_64-1_slack15.0.txt (renamed from patches/packages/whois-5.5.14-x86_64-1_slack15.0.txt)0
-rwxr-xr-xpatches/source/libtiff/libtiff.SlackBuild137
-rw-r--r--patches/source/libtiff/libtiff.repo1
-rw-r--r--patches/source/libtiff/libtiff.url1
-rw-r--r--patches/source/libtiff/patches/CVE-2022-2056_2057_2058.patch180
-rw-r--r--patches/source/libtiff/patches/CVE-2022-34526.patch28
-rw-r--r--patches/source/libtiff/patches/CVE-2022-3970.patch38
-rw-r--r--patches/source/libtiff/slack-desc19
-rw-r--r--patches/source/rxvt-unicode/CVE-2022-4170.diff12
-rw-r--r--patches/source/rxvt-unicode/rxvt-unicode-256color.desktop9
-rwxr-xr-xpatches/source/rxvt-unicode/rxvt-unicode.SlackBuild191
-rw-r--r--patches/source/rxvt-unicode/rxvt-unicode.desktop9
-rw-r--r--patches/source/rxvt-unicode/rxvt-unicode.utempter.diff1183
-rw-r--r--patches/source/rxvt-unicode/slack-desc19
-rwxr-xr-xrecompress.sh5
20 files changed, 2057 insertions, 112 deletions
diff --git a/ChangeLog.rss b/ChangeLog.rss
index 7181bf4fd..8c4a0ac74 100644
--- a/ChangeLog.rss
+++ b/ChangeLog.rss
@@ -11,10 +11,47 @@
<description>Tracking Slackware development in git.</description>
<language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
- <pubDate>Fri, 23 Dec 2022 02:37:47 GMT</pubDate>
- <lastBuildDate>Fri, 23 Dec 2022 12:30:16 GMT</lastBuildDate>
+ <pubDate>Wed, 4 Jan 2023 02:18:08 GMT</pubDate>
+ <lastBuildDate>Wed, 4 Jan 2023 12:30:15 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.17</generator>
<item>
+ <title>Wed, 4 Jan 2023 02:18:08 GMT</title>
+ <pubDate>Wed, 4 Jan 2023 02:18:08 GMT</pubDate>
+ <link>https://git.slackware.nl/current/tag/?h=20230104021808</link>
+ <guid isPermaLink="false">20230104021808</guid>
+ <description>
+ <![CDATA[<pre>
+patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txz: Upgraded.
+ Patched various security bugs.
+ For more information, see:
+ https://www.cve.org/CVERecord?id=CVE-2022-2056
+ https://www.cve.org/CVERecord?id=CVE-2022-2057
+ https://www.cve.org/CVERecord?id=CVE-2022-2058
+ https://www.cve.org/CVERecord?id=CVE-2022-3970
+ https://www.cve.org/CVERecord?id=CVE-2022-34526
+ (* Security fix *)
+patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txz: Rebuilt.
+ When the "background" extension was loaded, an attacker able to control the
+ data written to the terminal would be able to execute arbitrary code as the
+ terminal's user. Thanks to David Leadbeater and Ben Collver.
+ For more information, see:
+ https://www.openwall.com/lists/oss-security/2022/12/05/1
+ https://www.cve.org/CVERecord?id=CVE-2022-4170
+ (* Security fix *)
+patches/packages/whois-5.5.15-x86_64-1_slack15.0.txz: Upgraded.
+ Updated the .bd, .nz and .tv TLD servers.
+ Added the .llyw.cymru, .gov.scot and .gov.wales SLD servers.
+ Updated the .ac.uk and .gov.uk SLD servers.
+ Recursion has been enabled for whois.nic.tv.
+ Updated the list of new gTLDs with four generic TLDs assigned in October 2013
+ which were missing due to a bug.
+ Removed 4 new gTLDs which are no longer active.
+ Added the Georgian translation, contributed by Temuri Doghonadze.
+ Updated the Finnish translation, contributed by Lauri Nurmi.
+ </pre>]]>
+ </description>
+ </item>
+ <item>
<title>Fri, 23 Dec 2022 02:37:47 GMT</title>
<pubDate>Fri, 23 Dec 2022 02:37:47 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20221223023747</link>
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 065f035cd..530ee1e29 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,32 @@
+Wed Jan 4 02:18:08 UTC 2023
+patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txz: Upgraded.
+ Patched various security bugs.
+ For more information, see:
+ https://www.cve.org/CVERecord?id=CVE-2022-2056
+ https://www.cve.org/CVERecord?id=CVE-2022-2057
+ https://www.cve.org/CVERecord?id=CVE-2022-2058
+ https://www.cve.org/CVERecord?id=CVE-2022-3970
+ https://www.cve.org/CVERecord?id=CVE-2022-34526
+ (* Security fix *)
+patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txz: Rebuilt.
+ When the "background" extension was loaded, an attacker able to control the
+ data written to the terminal would be able to execute arbitrary code as the
+ terminal's user. Thanks to David Leadbeater and Ben Collver.
+ For more information, see:
+ https://www.openwall.com/lists/oss-security/2022/12/05/1
+ https://www.cve.org/CVERecord?id=CVE-2022-4170
+ (* Security fix *)
+patches/packages/whois-5.5.15-x86_64-1_slack15.0.txz: Upgraded.
+ Updated the .bd, .nz and .tv TLD servers.
+ Added the .llyw.cymru, .gov.scot and .gov.wales SLD servers.
+ Updated the .ac.uk and .gov.uk SLD servers.
+ Recursion has been enabled for whois.nic.tv.
+ Updated the list of new gTLDs with four generic TLDs assigned in October 2013
+ which were missing due to a bug.
+ Removed 4 new gTLDs which are no longer active.
+ Added the Georgian translation, contributed by Temuri Doghonadze.
+ Updated the Finnish translation, contributed by Lauri Nurmi.
++--------------------------+
Fri Dec 23 02:37:47 UTC 2022
testing/packages/bind-9.18.10-x86_64-1_slack15.0.txz: Upgraded.
+--------------------------+
diff --git a/FILELIST.TXT b/FILELIST.TXT
index 2e42f7c5f..aa2f69744 100644
--- a/FILELIST.TXT
+++ b/FILELIST.TXT
@@ -1,20 +1,20 @@
-Fri Dec 23 02:42:01 UTC 2022
+Wed Jan 4 02:23:33 UTC 2023
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
-drwxr-xr-x 12 root root 4096 2022-12-23 02:39 .
+drwxr-xr-x 12 root root 4096 2023-01-04 02:18 .
-rw-r--r-- 1 root root 5767 2022-02-02 22:44 ./ANNOUNCE.15.0
-rw-r--r-- 1 root root 16609 2022-03-30 19:03 ./CHANGES_AND_HINTS.TXT
--rw-r--r-- 1 root root 1165359 2022-12-23 02:39 ./CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2022-12-23 02:39 ./CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 1165541 2022-12-23 02:42 ./CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2022-12-23 02:42 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root root 1970597 2022-12-23 02:37 ./ChangeLog.txt
+-rw-r--r-- 1 root root 1972071 2023-01-04 02:18 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT
-rw-r--r-- 1 root root 1187840 2021-06-15 19:16 ./EFI/BOOT/bootx64.efi
@@ -25,7 +25,7 @@ drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
--rw-r--r-- 1 root root 1522135 2022-12-23 02:39 ./FILELIST.TXT
+-rw-r--r-- 1 root root 1522351 2022-12-23 02:42 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 864745 2022-02-02 08:25 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT
@@ -738,13 +738,13 @@ drwxr-xr-x 2 root root 4096 2008-05-07 05:21 ./pasture/source/php/pear
-rwxr-xr-x 1 root root 9448 2018-05-16 22:38 ./pasture/source/php/php.SlackBuild
-rw-r--r-- 1 root root 775 2017-07-07 19:25 ./pasture/source/php/php.ini-development.diff.gz
-rw-r--r-- 1 root root 830 2005-12-09 05:18 ./pasture/source/php/slack-desc
-drwxr-xr-x 4 root root 4096 2022-12-22 03:46 ./patches
--rw-r--r-- 1 root root 60168 2022-12-22 03:46 ./patches/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2022-12-22 03:46 ./patches/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 81062 2022-12-22 03:46 ./patches/FILE_LIST
--rw-r--r-- 1 root root 11915999 2022-12-22 03:46 ./patches/MANIFEST.bz2
--rw-r--r-- 1 root root 43081 2022-12-22 03:46 ./patches/PACKAGES.TXT
-drwxr-xr-x 3 root root 20480 2022-12-22 03:46 ./patches/packages
+drwxr-xr-x 4 root root 4096 2023-01-04 02:23 ./patches
+-rw-r--r-- 1 root root 61893 2023-01-04 02:23 ./patches/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2023-01-04 02:23 ./patches/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 83378 2023-01-04 02:23 ./patches/FILE_LIST
+-rw-r--r-- 1 root root 11937223 2023-01-04 02:23 ./patches/MANIFEST.bz2
+-rw-r--r-- 1 root root 44325 2023-01-04 02:23 ./patches/PACKAGES.TXT
+drwxr-xr-x 3 root root 20480 2023-01-04 02:23 ./patches/packages
-rw-r--r-- 1 root root 327 2022-02-15 05:07 ./patches/packages/aaa_base-15.0-x86_64-4_slack15.0.txt
-rw-r--r-- 1 root root 10716 2022-02-15 05:07 ./patches/packages/aaa_base-15.0-x86_64-4_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-02-15 05:07 ./patches/packages/aaa_base-15.0-x86_64-4_slack15.0.txz.asc
@@ -826,6 +826,9 @@ drwxr-xr-x 3 root root 20480 2022-12-22 03:46 ./patches/packages
-rw-r--r-- 1 root root 332 2022-12-20 19:28 ./patches/packages/libksba-1.6.3-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 169200 2022-12-20 19:28 ./patches/packages/libksba-1.6.3-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-12-20 19:28 ./patches/packages/libksba-1.6.3-x86_64-1_slack15.0.txz.asc
+-rw-r--r-- 1 root root 440 2023-01-03 22:02 ./patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txt
+-rw-r--r-- 1 root root 467968 2023-01-03 22:02 ./patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txz
+-rw-r--r-- 1 root root 163 2023-01-03 22:02 ./patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txz.asc
-rw-r--r-- 1 root root 518 2022-05-02 18:01 ./patches/packages/libxml2-2.9.14-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 1374356 2022-05-02 18:01 ./patches/packages/libxml2-2.9.14-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-05-02 18:01 ./patches/packages/libxml2-2.9.14-x86_64-1_slack15.0.txz.asc
@@ -896,6 +899,9 @@ drwxr-xr-x 2 root root 4096 2022-11-29 21:00 ./patches/packages/linux-5.15
-rw-r--r-- 1 root root 385 2022-11-24 20:10 ./patches/packages/ruby-3.0.5-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 7740336 2022-11-24 20:10 ./patches/packages/ruby-3.0.5-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-11-24 20:10 ./patches/packages/ruby-3.0.5-x86_64-1_slack15.0.txz.asc
+-rw-r--r-- 1 root root 480 2023-01-03 20:05 ./patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txt
+-rw-r--r-- 1 root root 901912 2023-01-03 20:05 ./patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txz
+-rw-r--r-- 1 root root 163 2023-01-03 20:05 ./patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txz.asc
-rw-r--r-- 1 root root 507 2022-12-17 19:58 ./patches/packages/samba-4.15.13-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 13030204 2022-12-17 19:58 ./patches/packages/samba-4.15.13-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-12-17 19:58 ./patches/packages/samba-4.15.13-x86_64-1_slack15.0.txz.asc
@@ -923,9 +929,9 @@ drwxr-xr-x 2 root root 4096 2022-11-29 21:00 ./patches/packages/linux-5.15
-rw-r--r-- 1 root root 507 2022-07-10 18:40 ./patches/packages/wavpack-5.5.0-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 185936 2022-07-10 18:40 ./patches/packages/wavpack-5.5.0-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-07-10 18:40 ./patches/packages/wavpack-5.5.0-x86_64-1_slack15.0.txz.asc
--rw-r--r-- 1 root root 367 2022-10-20 18:34 ./patches/packages/whois-5.5.14-x86_64-1_slack15.0.txt
--rw-r--r-- 1 root root 61840 2022-10-20 18:34 ./patches/packages/whois-5.5.14-x86_64-1_slack15.0.txz
--rw-r--r-- 1 root root 163 2022-10-20 18:34 ./patches/packages/whois-5.5.14-x86_64-1_slack15.0.txz.asc
+-rw-r--r-- 1 root root 367 2023-01-03 19:41 ./patches/packages/whois-5.5.15-x86_64-1_slack15.0.txt
+-rw-r--r-- 1 root root 64020 2023-01-03 19:41 ./patches/packages/whois-5.5.15-x86_64-1_slack15.0.txz
+-rw-r--r-- 1 root root 163 2023-01-03 19:41 ./patches/packages/whois-5.5.15-x86_64-1_slack15.0.txz.asc
-rw-r--r-- 1 root root 377 2022-11-17 01:47 ./patches/packages/xfce4-settings-4.16.5-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 801956 2022-11-17 01:47 ./patches/packages/xfce4-settings-4.16.5-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-11-17 01:47 ./patches/packages/xfce4-settings-4.16.5-x86_64-1_slack15.0.txz.asc
@@ -950,7 +956,7 @@ drwxr-xr-x 2 root root 4096 2022-11-29 21:00 ./patches/packages/linux-5.15
-rw-r--r-- 1 root root 388 2022-10-15 04:05 ./patches/packages/zlib-1.2.13-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 105356 2022-10-15 04:05 ./patches/packages/zlib-1.2.13-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-10-15 04:05 ./patches/packages/zlib-1.2.13-x86_64-1_slack15.0.txz.asc
-drwxr-xr-x 60 root root 4096 2022-12-22 03:39 ./patches/source
+drwxr-xr-x 62 root root 4096 2023-01-03 22:20 ./patches/source
drwxr-xr-x 2 root root 4096 2022-01-16 05:07 ./patches/source/aaa_base
-rw-r--r-- 1 root root 11041 2022-02-15 04:49 ./patches/source/aaa_base/_aaa_base.tar.gz
-rwxr-xr-x 1 root root 3894 2022-02-15 05:07 ./patches/source/aaa_base/aaa_base.SlackBuild
@@ -1192,6 +1198,17 @@ drwxr-xr-x 2 root root 4096 2022-12-20 19:28 ./patches/source/libksba
-rwxr-xr-x 1 root root 3977 2022-10-08 18:40 ./patches/source/libksba/libksba.SlackBuild
-rw-r--r-- 1 root root 36 2020-05-24 18:04 ./patches/source/libksba/libksba.url
-rw-r--r-- 1 root root 787 2018-02-27 06:13 ./patches/source/libksba/slack-desc
+drwxr-xr-x 3 root root 4096 2023-01-03 20:12 ./patches/source/libtiff
+-rwxr-xr-x 1 root root 4389 2023-01-03 21:14 ./patches/source/libtiff/libtiff.SlackBuild
+-rw-r--r-- 1 root root 35 2018-11-12 18:29 ./patches/source/libtiff/libtiff.repo
+-rw-r--r-- 1 root root 36 2018-11-12 18:26 ./patches/source/libtiff/libtiff.url
+drwxr-xr-x 2 root root 4096 2023-01-03 20:11 ./patches/source/libtiff/patches
+-rw-r--r-- 1 root root 1901 2022-12-10 18:23 ./patches/source/libtiff/patches/CVE-2022-2056_2057_2058.patch.gz
+-rw-r--r-- 1 root root 574 2022-12-10 18:23 ./patches/source/libtiff/patches/CVE-2022-34526.patch.gz
+-rw-r--r-- 1 root root 661 2022-12-10 18:28 ./patches/source/libtiff/patches/CVE-2022-3970.patch.gz
+-rw-r--r-- 1 root root 895 2018-02-27 06:12 ./patches/source/libtiff/slack-desc
+-rw-r--r-- 1 root root 1929292 2022-05-27 14:53 ./patches/source/libtiff/tiff-4.4.0.tar.xz
+-rw-r--r-- 1 root root 310 2022-05-27 14:53 ./patches/source/libtiff/tiff-4.4.0.tar.xz.sig
drwxr-xr-x 2 root root 4096 2022-05-02 17:57 ./patches/source/libxml2
-rw-r--r-- 1 root root 3022896 2022-05-02 17:59 ./patches/source/libxml2/libxml2-2.9.14.tar.xz
-rwxr-xr-x 1 root root 4926 2022-03-01 01:04 ./patches/source/libxml2/libxml2.SlackBuild
@@ -1420,6 +1437,14 @@ drwxr-xr-x 2 root root 4096 2022-11-24 20:07 ./patches/source/ruby
-rw-r--r-- 1 root root 15531585 2022-11-24 13:05 ./patches/source/ruby/ruby-3.0.5.tar.lz
-rwxr-xr-x 1 root root 4817 2022-04-13 18:14 ./patches/source/ruby/ruby.SlackBuild
-rw-r--r-- 1 root root 837 2019-03-13 16:43 ./patches/source/ruby/slack-desc
+drwxr-xr-x 2 root root 4096 2023-01-03 19:55 ./patches/source/rxvt-unicode
+-rw-r--r-- 1 root root 303 2023-01-03 19:54 ./patches/source/rxvt-unicode/CVE-2022-4170.diff.gz
+-rw-r--r-- 1 root root 222 2018-03-31 17:18 ./patches/source/rxvt-unicode/rxvt-unicode-256color.desktop
+-rw-r--r-- 1 root root 743838 2021-05-14 17:15 ./patches/source/rxvt-unicode/rxvt-unicode-9.26.tar.lz
+-rwxr-xr-x 1 root root 5744 2023-01-03 20:05 ./patches/source/rxvt-unicode/rxvt-unicode.SlackBuild
+-rw-r--r-- 1 root root 207 2018-03-31 17:17 ./patches/source/rxvt-unicode/rxvt-unicode.desktop
+-rw-r--r-- 1 root root 7758 2018-03-31 16:26 ./patches/source/rxvt-unicode/rxvt-unicode.utempter.diff.gz
+-rw-r--r-- 1 root root 940 2018-03-31 16:58 ./patches/source/rxvt-unicode/slack-desc
drwxr-xr-x 2 root root 4096 2022-12-17 19:52 ./patches/source/samba
-rw-r--r-- 1 root root 703 2016-06-13 04:19 ./patches/source/samba/doinst.sh.gz
-rw-r--r-- 1 root root 940 2016-06-04 17:50 ./patches/source/samba/rc.samba
@@ -1520,9 +1545,9 @@ drwxr-xr-x 2 root root 4096 2022-07-10 18:34 ./patches/source/wavpack
-rw-r--r-- 1 root root 797996 2022-07-09 01:55 ./patches/source/wavpack/wavpack-5.5.0.tar.xz
-rwxr-xr-x 1 root root 4283 2022-07-10 18:40 ./patches/source/wavpack/wavpack.SlackBuild
-rw-r--r-- 1 root root 32 2019-12-19 18:55 ./patches/source/wavpack/wavpack.url
-drwxr-xr-x 2 root root 4096 2022-10-20 18:15 ./patches/source/whois
+drwxr-xr-x 2 root root 4096 2023-01-03 19:41 ./patches/source/whois
-rw-r--r-- 1 root root 820 2019-03-28 19:25 ./patches/source/whois/slack-desc
--rw-r--r-- 1 root root 87372 2022-10-16 20:16 ./patches/source/whois/whois-5.5.14.tar.xz
+-rw-r--r-- 1 root root 89912 2022-12-28 19:46 ./patches/source/whois/whois-5.5.15.tar.xz
-rwxr-xr-x 1 root root 2917 2022-03-28 19:06 ./patches/source/whois/whois.SlackBuild
-rw-r--r-- 1 root root 33 2019-07-24 18:55 ./patches/source/whois/whois.url
drwxr-xr-x 2 root root 4096 2022-11-16 19:13 ./patches/source/xfce4-settings
@@ -2712,32 +2737,32 @@ drwxr-xr-x 2 root root 69632 2022-02-01 08:29 ./slackware64/kde
-rw-r--r-- 1 root root 163 2022-01-06 22:35 ./slackware64/kde/katomic-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 303 2022-01-08 22:33 ./slackware64/kde/kauth-5.90.0-x86_64-1.txt
-rw-r--r-- 1 root root 127260 2022-01-08 22:33 ./slackware64/kde/kauth-5.90.0-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-08 22:33 ./slackware64/kde/kauth-5.90.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 457 2022-01-06 22:04 ./slackware64/kde/kbackup-21.12.1-x86_64-1.txt
--rw-r--r-- 1 root root 497484 2022-01-06 22:04 ./slackware64/kde/kbackup-21.12.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-06 22:04 ./slackware64/kde/kbackup-21.12.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 266 2022-01-06 22:34 ./slackware64/kde/kblackbox-21.12.1-x86_64-1.txt
--rw-r--r-- 1 root root 603400 2022-01-06 22:34 ./slackware64/kde/kblackbox-21.12.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-06 22:34 ./slackware64/kde/kblackbox-21.12.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 200 2022-01-06 22:28 ./slackware64/kde/kblocks-21.12.1-x86_64-1.txt
--rw-r--r-- 1 root root 2213608 2022-01-06 22:28 ./slackware64/kde/kblocks-21.12.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-06 22:28 ./slackware64/kde/kblocks-21.12.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 497 2022-01-08 22:38 ./slackware64/kde/kbookmarks-5.90.0-x86_64-1.txt
--rw-r--r-- 1 root root 151540 2022-01-08 22:38 ./slackware64/kde/kbookmarks-5.90.0-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-08 22:38 ./slackware64/kde/kbookmarks-5.90.0-x86_64-1.txz.asc
--rw-r--r-- 1 root root 388 2022-01-06 22:30 ./slackware64/kde/kbounce-21.12.1-x86_64-1.txt
--rw-r--r-- 1 root root 3023468 2022-01-06 22:30 ./slackware64/kde/kbounce-21.12.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-06 22:30 ./slackware64/kde/kbounce-21.12.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 214 2022-01-06 22:32 ./slackware64/kde/kbreakout-21.12.1-x86_64-1.txt
--rw-r--r-- 1 root root 2644332 2022-01-06 22:32 ./slackware64/kde/kbreakout-21.12.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-06 22:32 ./slackware64/kde/kbreakout-21.12.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 183 2022-01-06 22:42 ./slackware64/kde/kbruch-21.12.1-x86_64-1.txt
--rw-r--r-- 1 root root 4521928 2022-01-06 22:42 ./slackware64/kde/kbruch-21.12.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-06 22:42 ./slackware64/kde/kbruch-21.12.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 281 2022-01-06 22:07 ./slackware64/kde/kcachegrind-21.12.1-x86_64-1.txt
--rw-r--r-- 1 root root 856336 2022-01-06 22:07 ./slackware64/kde/kcachegrind-21.12.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-06 22:07 ./slackware64/kde/kcachegrind-21.12.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 251 2022-01-06 22:03 ./slackware64/kde/kcalc-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 163 2022-01-08 22:33 ./slackware64/kde/kauth-5.90.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 457 2022-01-06 22:04 ./slackware64/kde/kbackup-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 497484 2022-01-06 22:04 ./slackware64/kde/kbackup-21.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-06 22:04 ./slackware64/kde/kbackup-21.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 266 2022-01-06 22:34 ./slackware64/kde/kblackbox-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 603400 2022-01-06 22:34 ./slackware64/kde/kblackbox-21.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-06 22:34 ./slackware64/kde/kblackbox-21.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 200 2022-01-06 22:28 ./slackware64/kde/kblocks-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 2213608 2022-01-06 22:28 ./slackware64/kde/kblocks-21.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-06 22:28 ./slackware64/kde/kblocks-21.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 497 2022-01-08 22:38 ./slackware64/kde/kbookmarks-5.90.0-x86_64-1.txt
+-rw-r--r-- 1 root root 151540 2022-01-08 22:38 ./slackware64/kde/kbookmarks-5.90.0-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-08 22:38 ./slackware64/kde/kbookmarks-5.90.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 388 2022-01-06 22:30 ./slackware64/kde/kbounce-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 3023468 2022-01-06 22:30 ./slackware64/kde/kbounce-21.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-06 22:30 ./slackware64/kde/kbounce-21.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 214 2022-01-06 22:32 ./slackware64/kde/kbreakout-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 2644332 2022-01-06 22:32 ./slackware64/kde/kbreakout-21.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-06 22:32 ./slackware64/kde/kbreakout-21.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 183 2022-01-06 22:42 ./slackware64/kde/kbruch-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 4521928 2022-01-06 22:42 ./slackware64/kde/kbruch-21.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-06 22:42 ./slackware64/kde/kbruch-21.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 281 2022-01-06 22:07 ./slackware64/kde/kcachegrind-21.12.1-x86_64-1.txt
+-rw-r--r-- 1 root root 856336 2022-01-06 22:07 ./slackware64/kde/kcachegrind-21.12.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-06 22:07 ./slackware64/kde/kcachegrind-21.12.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 251 2022-01-06 22:03 ./slackware64/kde/kcalc-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 557248 2022-01-06 22:03 ./slackware64/kde/kcalc-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 22:03 ./slackware64/kde/kcalc-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 369 2022-01-08 22:28 ./slackware64/kde/kcalendarcore-5.90.0-x86_64-1.txt
@@ -5439,34 +5464,34 @@ drwxr-xr-x 2 root root 65536 2022-02-01 04:47 ./slackware64/x
-rw-r--r-- 1 root root 13308 2021-02-13 13:20 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:20 ./slackware64/x/font-winitzki-cyrillic-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 451 2021-02-13 13:20 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-5.txt
--rw-r--r-- 1 root root 36448 2021-02-13 13:20 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-5.txz
--rw-r--r-- 1 root root 163 2021-02-13 13:20 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-5.txz.asc
--rw-r--r-- 1 root root 385 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txt
--rw-r--r-- 1 root root 318208 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz
--rw-r--r-- 1 root root 163 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz.asc
--rw-r--r-- 1 root root 372 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txt
--rw-r--r-- 1 root root 34144 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txz
--rw-r--r-- 1 root root 163 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 474 2021-02-13 12:47 ./slackware64/x/freeglut-3.2.1-x86_64-3.txt
--rw-r--r-- 1 root root 135108 2021-02-13 12:47 ./slackware64/x/freeglut-3.2.1-x86_64-3.txz
--rw-r--r-- 1 root root 163 2021-02-13 12:47 ./slackware64/x/freeglut-3.2.1-x86_64-3.txz.asc
--rw-r--r-- 1 root root 363 2021-02-13 13:10 ./slackware64/x/fslsfonts-1.0.5-x86_64-5.txt
--rw-r--r-- 1 root root 19696 2021-02-13 13:10 ./slackware64/x/fslsfonts-1.0.5-x86_64-5.txz
--rw-r--r-- 1 root root 163 2021-02-13 13:10 ./slackware64/x/fslsfonts-1.0.5-x86_64-5.txz.asc
--rw-r--r-- 1 root root 371 2021-02-13 13:10 ./slackware64/x/fstobdf-1.0.6-x86_64-5.txt
--rw-r--r-- 1 root root 19440 2021-02-13 13:10 ./slackware64/x/fstobdf-1.0.6-x86_64-5.txz
--rw-r--r-- 1 root root 163 2021-02-13 13:10 ./slackware64/x/fstobdf-1.0.6-x86_64-5.txz.asc
--rw-r--r-- 1 root root 357 2021-02-13 13:05 ./slackware64/x/gccmakedep-1.0.3-noarch-4.txt
--rw-r--r-- 1 root root 5700 2021-02-13 13:05 ./slackware64/x/gccmakedep-1.0.3-noarch-4.txz
--rw-r--r-- 1 root root 163 2021-02-13 13:05 ./slackware64/x/gccmakedep-1.0.3-noarch-4.txz.asc
--rw-r--r-- 1 root root 385 2021-02-13 12:47 ./slackware64/x/glew-2.2.0-x86_64-3.txt
--rw-r--r-- 1 root root 417612 2021-02-13 12:47 ./slackware64/x/glew-2.2.0-x86_64-3.txz
--rw-r--r-- 1 root root 163 2021-02-13 12:47 ./slackware64/x/glew-2.2.0-x86_64-3.txz.asc
--rw-r--r-- 1 root root 138 2021-06-27 18:06 ./slackware64/x/glu-9.0.2-x86_64-1.txt
--rw-r--r-- 1 root root 170184 2021-06-27 18:06 ./slackware64/x/glu-9.0.2-x86_64-1.txz
--rw-r--r-- 1 root root 163 2021-06-27 18:06 ./slackware64/x/glu-9.0.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 508 2021-02-13 12:47 ./slackware64/x/hack-fonts-ttf-3.003-noarch-3.txt
--rw-r--r-- 1 root root 375048 2021-02-13 12:47 ./slackware64/x/hack-fonts-ttf-3.003-noarch-3.txz
+-rw-r--r-- 1 root root 36448 2021-02-13 13:20 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-5.txz
+-rw-r--r-- 1 root root 163 2021-02-13 13:20 ./slackware64/x/font-xfree86-type1-1.0.4-noarch-5.txz.asc
+-rw-r--r-- 1 root root 385 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txt
+-rw-r--r-- 1 root root 318208 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 372 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txt
+-rw-r--r-- 1 root root 34144 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 474 2021-02-13 12:47 ./slackware64/x/freeglut-3.2.1-x86_64-3.txt
+-rw-r--r-- 1 root root 135108 2021-02-13 12:47 ./slackware64/x/freeglut-3.2.1-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2021-02-13 12:47 ./slackware64/x/freeglut-3.2.1-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 363 2021-02-13 13:10 ./slackware64/x/fslsfonts-1.0.5-x86_64-5.txt
+-rw-r--r-- 1 root root 19696 2021-02-13 13:10 ./slackware64/x/fslsfonts-1.0.5-x86_64-5.txz
+-rw-r--r-- 1 root root 163 2021-02-13 13:10 ./slackware64/x/fslsfonts-1.0.5-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 371 2021-02-13 13:10 ./slackware64/x/fstobdf-1.0.6-x86_64-5.txt
+-rw-r--r-- 1 root root 19440 2021-02-13 13:10 ./slackware64/x/fstobdf-1.0.6-x86_64-5.txz
+-rw-r--r-- 1 root root 163 2021-02-13 13:10 ./slackware64/x/fstobdf-1.0.6-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 357 2021-02-13 13:05 ./slackware64/x/gccmakedep-1.0.3-noarch-4.txt
+-rw-r--r-- 1 root root 5700 2021-02-13 13:05 ./slackware64/x/gccmakedep-1.0.3-noarch-4.txz
+-rw-r--r-- 1 root root 163 2021-02-13 13:05 ./slackware64/x/gccmakedep-1.0.3-noarch-4.txz.asc
+-rw-r--r-- 1 root root 385 2021-02-13 12:47 ./slackware64/x/glew-2.2.0-x86_64-3.txt
+-rw-r--r-- 1 root root 417612 2021-02-13 12:47 ./slackware64/x/glew-2.2.0-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2021-02-13 12:47 ./slackware64/x/glew-2.2.0-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 138 2021-06-27 18:06 ./slackware64/x/glu-9.0.2-x86_64-1.txt
+-rw-r--r-- 1 root root 170184 2021-06-27 18:06 ./slackware64/x/glu-9.0.2-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-06-27 18:06 ./slackware64/x/glu-9.0.2-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 508 2021-02-13 12:47 ./slackware64/x/hack-fonts-ttf-3.003-noarch-3.txt
+-rw-r--r-- 1 root root 375048 2021-02-13 12:47 ./slackware64/x/hack-fonts-ttf-3.003-noarch-3.txz
-rw-r--r-- 1 root root 163 2021-02-13 12:47 ./slackware64/x/hack-fonts-ttf-3.003-noarch-3.txz.asc
-rw-r--r-- 1 root root 287 2021-11-18 18:00 ./slackware64/x/ibus-1.5.25-x86_64-5.txt
-rw-r--r-- 1 root root 7728816 2021-11-18 18:00 ./slackware64/x/ibus-1.5.25-x86_64-5.txz
@@ -15053,43 +15078,43 @@ drwxr-xr-x 2 root root 12288 2020-05-18 17:50 ./source/x/x11/slack-desc
-rw-r--r-- 1 root root 633 2012-04-08 04:33 ./source/x/x11/slack-desc/xgc
-rw-r--r-- 1 root root 673 2012-04-08 04:33 ./source/x/x11/slack-desc/xhost
-rw-r--r-- 1 root root 867 2012-04-08 04:34 ./source/x/x11/slack-desc/xineramaproto
--rw-r--r-- 1 root root 769 2018-02-26 23:01 ./source/x/x11/slack-desc/xinit
--rw-r--r-- 1 root root 952 2012-04-08 04:34 ./source/x/x11/slack-desc/xinput
--rw-r--r-- 1 root root 875 2020-05-18 17:52 ./source/x/x11/slack-desc/xisxwayland
--rw-r--r-- 1 root root 764 2012-04-08 04:35 ./source/x/x11/slack-desc/xkbcomp
--rw-r--r-- 1 root root 755 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbevd
--rw-r--r-- 1 root root 703 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbprint
--rw-r--r-- 1 root root 708 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbutils
--rw-r--r-- 1 root root 1122 2012-04-08 04:37 ./source/x/x11/slack-desc/xkeyboard-config
--rw-r--r-- 1 root root 756 2018-02-26 23:02 ./source/x/x11/slack-desc/xkill
--rw-r--r-- 1 root root 763 2012-04-08 04:37 ./source/x/x11/slack-desc/xload
--rw-r--r-- 1 root root 749 2012-04-08 04:38 ./source/x/x11/slack-desc/xlogo
--rw-r--r-- 1 root root 807 2012-04-08 04:38 ./source/x/x11/slack-desc/xlsatoms
--rw-r--r-- 1 root root 747 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsclients
--rw-r--r-- 1 root root 696 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsfonts
--rw-r--r-- 1 root root 620 2012-04-08 04:39 ./source/x/x11/slack-desc/xmag
--rw-r--r-- 1 root root 753 2012-04-08 04:40 ./source/x/x11/slack-desc/xman
--rw-r--r-- 1 root root 779 2018-02-26 23:02 ./source/x/x11/slack-desc/xmessage
--rw-r--r-- 1 root root 691 2018-02-26 23:02 ./source/x/x11/slack-desc/xmh
--rw-r--r-- 1 root root 867 2018-02-26 23:02 ./source/x/x11/slack-desc/xmodmap
--rw-r--r-- 1 root root 766 2012-04-08 04:42 ./source/x/x11/slack-desc/xmore
--rw-r--r-- 1 root root 954 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-cf-files
--rw-r--r-- 1 root root 805 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-docs
--rw-r--r-- 1 root root 1133 2020-02-19 20:30 ./source/x/x11/slack-desc/xorg-server
--rw-r--r-- 1 root root 839 2009-05-30 01:47 ./source/x/x11/slack-desc/xorg-server-xephyr
--rw-r--r-- 1 root root 1060 2018-02-26 23:03 ./source/x/x11/slack-desc/xorg-server-xnest
--rw-r--r-- 1 root root 1156 2018-02-26 23:03 ./source/x/x11/slack-desc/xorg-server-xvfb
--rw-r--r-- 1 root root 1287 2020-02-19 20:33 ./source/x/x11/slack-desc/xorg-server-xwayland
--rw-r--r-- 1 root root 1138 2018-02-26 23:03 ./source/x/x11/slack-desc/xorg-sgml-doctools
--rw-r--r-- 1 root root 792 2018-03-12 18:07 ./source/x/x11/slack-desc/xorgproto
--rw-r--r-- 1 root root 664 2018-02-26 23:03 ./source/x/x11/slack-desc/xpr
--rw-r--r-- 1 root root 766 2012-04-08 04:45 ./source/x/x11/slack-desc/xprop
--rw-r--r-- 1 root root 776 2012-04-08 04:45 ./source/x/x11/slack-desc/xproto
--rw-r--r-- 1 root root 1009 2013-08-20 22:30 ./source/x/x11/slack-desc/xproxymanagementprotocol
--rw-r--r-- 1 root root 625 2018-02-26 23:03 ./source/x/x11/slack-desc/xpyb
--rw-r--r-- 1 root root 664 2018-02-26 23:04 ./source/x/x11/slack-desc/xrandr
--rw-r--r-- 1 root root 736 2012-04-08 04:46 ./source/x/x11/slack-desc/xrdb
--rw-r--r-- 1 root root 792 2012-04-08 04:46 ./source/x/x11/slack-desc/xrefresh
+-rw-r--r-- 1 root root 769 2018-02-26 23:01 ./source/x/x11/slack-desc/xinit
+-rw-r--r-- 1 root root 952 2012-04-08 04:34 ./source/x/x11/slack-desc/xinput
+-rw-r--r-- 1 root root 875 2020-05-18 17:52 ./source/x/x11/slack-desc/xisxwayland
+-rw-r--r-- 1 root root 764 2012-04-08 04:35 ./source/x/x11/slack-desc/xkbcomp
+-rw-r--r-- 1 root root 755 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbevd
+-rw-r--r-- 1 root root 703 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbprint
+-rw-r--r-- 1 root root 708 2012-04-08 04:36 ./source/x/x11/slack-desc/xkbutils
+-rw-r--r-- 1 root root 1122 2012-04-08 04:37 ./source/x/x11/slack-desc/xkeyboard-config
+-rw-r--r-- 1 root root 756 2018-02-26 23:02 ./source/x/x11/slack-desc/xkill
+-rw-r--r-- 1 root root 763 2012-04-08 04:37 ./source/x/x11/slack-desc/xload
+-rw-r--r-- 1 root root 749 2012-04-08 04:38 ./source/x/x11/slack-desc/xlogo
+-rw-r--r-- 1 root root 807 2012-04-08 04:38 ./source/x/x11/slack-desc/xlsatoms
+-rw-r--r-- 1 root root 747 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsclients
+-rw-r--r-- 1 root root 696 2012-04-08 04:39 ./source/x/x11/slack-desc/xlsfonts
+-rw-r--r-- 1 root root 620 2012-04-08 04:39 ./source/x/x11/slack-desc/xmag
+-rw-r--r-- 1 root root 753 2012-04-08 04:40 ./source/x/x11/slack-desc/xman
+-rw-r--r-- 1 root root 779 2018-02-26 23:02 ./source/x/x11/slack-desc/xmessage
+-rw-r--r-- 1 root root 691 2018-02-26 23:02 ./source/x/x11/slack-desc/xmh
+-rw-r--r-- 1 root root 867 2018-02-26 23:02 ./source/x/x11/slack-desc/xmodmap
+-rw-r--r-- 1 root root 766 2012-04-08 04:42 ./source/x/x11/slack-desc/xmore
+-rw-r--r-- 1 root root 954 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-cf-files
+-rw-r--r-- 1 root root 805 2012-04-08 04:43 ./source/x/x11/slack-desc/xorg-docs
+-rw-r--r-- 1 root root 1133 2020-02-19 20:30 ./source/x/x11/slack-desc/xorg-server
+-rw-r--r-- 1 root root 839 2009-05-30 01:47 ./source/x/x11/slack-desc/xorg-server-xephyr
+-rw-r--r-- 1 root root 1060 2018-02-26 23:03 ./source/x/x11/slack-desc/xorg-server-xnest
+-rw-r--r-- 1 root root 1156 2018-02-26 23:03 ./source/x/x11/slack-desc/xorg-server-xvfb
+-rw-r--r-- 1 root root 1287 2020-02-19 20:33 ./source/x/x11/slack-desc/xorg-server-xwayland
+-rw-r--r-- 1 root root 1138 2018-02-26 23:03 ./source/x/x11/slack-desc/xorg-sgml-doctools
+-rw-r--r-- 1 root root 792 2018-03-12 18:07 ./source/x/x11/slack-desc/xorgproto
+-rw-r--r-- 1 root root 664 2018-02-26 23:03 ./source/x/x11/slack-desc/xpr
+-rw-r--r-- 1 root root 766 2012-04-08 04:45 ./source/x/x11/slack-desc/xprop
+-rw-r--r-- 1 root root 776 2012-04-08 04:45 ./source/x/x11/slack-desc/xproto
+-rw-r--r-- 1 root root 1009 2013-08-20 22:30 ./source/x/x11/slack-desc/xproxymanagementprotocol
+-rw-r--r-- 1 root root 625 2018-02-26 23:03 ./source/x/x11/slack-desc/xpyb
+-rw-r--r-- 1 root root 664 2018-02-26 23:04 ./source/x/x11/slack-desc/xrandr
+-rw-r--r-- 1 root root 736 2012-04-08 04:46 ./source/x/x11/slack-desc/xrdb
+-rw-r--r-- 1 root root 792 2012-04-08 04:46 ./source/x/x11/slack-desc/xrefresh
-rw-r--r-- 1 root root 773 2012-04-08 04:46 ./source/x/x11/slack-desc/xscope
-rw-r--r-- 1 root root 681 2012-04-08 01:01 ./source/x/x11/slack-desc/xset
-rw-r--r-- 1 root root 801 2012-04-08 04:47 ./source/x/x11/slack-desc/xsetroot
diff --git a/patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txt b/patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txt
new file mode 100644
index 000000000..fb381117d
--- /dev/null
+++ b/patches/packages/libtiff-4.4.0-x86_64-1_slack15.0.txt
@@ -0,0 +1,11 @@
+libtiff: libtiff (a library for reading and writing TIFF files)
+libtiff:
+libtiff: This package provides support for the Tag Image File Format (TIFF),
+libtiff: a widely used format for storing image data. Included is the libtiff
+libtiff: library (for reading and writing TIFF files), and a collection of
+libtiff: tools for working with TIFF images.
+libtiff:
+libtiff: Homepage: http://www.simplesystems.org/libtiff
+libtiff:
+libtiff:
+libtiff:
diff --git a/patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txt b/patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txt
new file mode 100644
index 000000000..21bdf6dd1
--- /dev/null
+++ b/patches/packages/rxvt-unicode-9.26-x86_64-3_slack15.0.txt
@@ -0,0 +1,11 @@
+rxvt-unicode: rxvt-unicode (terminal emulator)
+rxvt-unicode:
+rxvt-unicode: rxvt-unicode is a color vt102 terminal emulator based on rxvt.
+rxvt-unicode: Features of rxvt-unicode include international language support
+rxvt-unicode: through Unicode, transparency, the ability to display multiple font
+rxvt-unicode: types and support for Perl extensions.
+rxvt-unicode:
+rxvt-unicode: Homepage: http://software.schmorp.de/pkg/rxvt-unicode.html
+rxvt-unicode:
+rxvt-unicode:
+rxvt-unicode:
diff --git a/patches/packages/whois-5.5.14-x86_64-1_slack15.0.txt b/patches/packages/whois-5.5.15-x86_64-1_slack15.0.txt
index d86108703..d86108703 100644
--- a/patches/packages/whois-5.5.14-x86_64-1_slack15.0.txt
+++ b/patches/packages/whois-5.5.15-x86_64-1_slack15.0.txt
diff --git a/patches/source/libtiff/libtiff.SlackBuild b/patches/source/libtiff/libtiff.SlackBuild
new file mode 100755
index 000000000..221a330cb
--- /dev/null
+++ b/patches/source/libtiff/libtiff.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/bash
+
+# Copyright 2004, 2005, 2006, 2009, 2010, 2011, 2012, 2013, 2015, 2018, 2022, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libtiff
+VERSION=${VERSION:-$(echo tiff-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack15.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-libtiff
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf tiff-$VERSION
+tar xvf $CWD/tiff-$VERSION.tar.?z || exit 1
+cd tiff-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Apply upstream patches (if any):
+for patch in $CWD/patches/*.patch.gz ; do
+ zcat $patch | patch -p1 --verbose || exit 1
+done
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --disable-static \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+( cd man ; make install-man DESTDIR=$PKG || exit 1 ) || exit 1
+rm -r $PKG/usr/share
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libtiff*.so.*
+mkdir -p $PKG/usr/doc/libtiff-$VERSION
+cp -a \
+ COPYRIGHT README RELEASE-DATE TODO VERSION \
+ $PKG/usr/doc/libtiff-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mv $PKG/usr/local/man $PKG/usr
+rmdir $PKG/usr/local
+
+# I'd use that shiny new manpage script here but all the
+# .3 manpages end with '.3tiff'.
+gzip -9 $PKG/usr/man/man?/*
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/libtiff-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/libtiff/libtiff.repo b/patches/source/libtiff/libtiff.repo
new file mode 100644
index 000000000..703868f03
--- /dev/null
+++ b/patches/source/libtiff/libtiff.repo
@@ -0,0 +1 @@
+https://gitlab.com/libtiff/libtiff
diff --git a/patches/source/libtiff/libtiff.url b/patches/source/libtiff/libtiff.url
new file mode 100644
index 000000000..9d3f75bfd
--- /dev/null
+++ b/patches/source/libtiff/libtiff.url
@@ -0,0 +1 @@
+https://download.osgeo.org/libtiff/
diff --git a/patches/source/libtiff/patches/CVE-2022-2056_2057_2058.patch b/patches/source/libtiff/patches/CVE-2022-2056_2057_2058.patch
new file mode 100644
index 000000000..f62a41ad7
--- /dev/null
+++ b/patches/source/libtiff/patches/CVE-2022-2056_2057_2058.patch
@@ -0,0 +1,180 @@
+From dd1bcc7abb26094e93636e85520f0d8f81ab0fab Mon Sep 17 00:00:00 2001
+From: 4ugustus <wangdw.augustus@qq.com>
+Date: Sat, 11 Jun 2022 09:31:43 +0000
+Subject: [PATCH] fix the FPE in tiffcrop (#415, #427, and #428)
+
+---
+ libtiff/tif_aux.c | 9 +++++++
+ libtiff/tiffiop.h | 1 +
+ tools/tiffcrop.c | 62 ++++++++++++++++++++++++++---------------------
+ 3 files changed, 44 insertions(+), 28 deletions(-)
+
+diff --git a/libtiff/tif_aux.c b/libtiff/tif_aux.c
+index 140f26c7..5b88c8d0 100644
+--- a/libtiff/tif_aux.c
++++ b/libtiff/tif_aux.c
+@@ -402,6 +402,15 @@ float _TIFFClampDoubleToFloat( double val )
+ return (float)val;
+ }
+
++uint32_t _TIFFClampDoubleToUInt32(double val)
++{
++ if( val < 0 )
++ return 0;
++ if( val > 0xFFFFFFFFU || val != val )
++ return 0xFFFFFFFFU;
++ return (uint32_t)val;
++}
++
+ int _TIFFSeekOK(TIFF* tif, toff_t off)
+ {
+ /* Huge offsets, especially -1 / UINT64_MAX, can cause issues */
+diff --git a/libtiff/tiffiop.h b/libtiff/tiffiop.h
+index e3af461d..4e8bdac2 100644
+--- a/libtiff/tiffiop.h
++++ b/libtiff/tiffiop.h
+@@ -365,6 +365,7 @@ extern double _TIFFUInt64ToDouble(uint64_t);
+ extern float _TIFFUInt64ToFloat(uint64_t);
+
+ extern float _TIFFClampDoubleToFloat(double);
++extern uint32_t _TIFFClampDoubleToUInt32(double);
+
+ extern tmsize_t
+ _TIFFReadEncodedStripAndAllocBuffer(TIFF* tif, uint32_t strip,
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index 1f827b2b..90286a5e 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -5268,17 +5268,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
+ {
+ if ((crop->res_unit == RESUNIT_INCH) || (crop->res_unit == RESUNIT_CENTIMETER))
+ {
+- x1 = (uint32_t) (crop->corners[i].X1 * scale * xres);
+- x2 = (uint32_t) (crop->corners[i].X2 * scale * xres);
+- y1 = (uint32_t) (crop->corners[i].Y1 * scale * yres);
+- y2 = (uint32_t) (crop->corners[i].Y2 * scale * yres);
++ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1 * scale * xres);
++ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2 * scale * xres);
++ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1 * scale * yres);
++ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2 * scale * yres);
+ }
+ else
+ {
+- x1 = (uint32_t) (crop->corners[i].X1);
+- x2 = (uint32_t) (crop->corners[i].X2);
+- y1 = (uint32_t) (crop->corners[i].Y1);
+- y2 = (uint32_t) (crop->corners[i].Y2);
++ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1);
++ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2);
++ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1);
++ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2);
+ }
+ /* a) Region needs to be within image sizes 0.. width-1; 0..length-1
+ * b) Corners are expected to be submitted as top-left to bottom-right.
+@@ -5357,17 +5357,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
+ {
+ if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER)
+ { /* User has specified pixels as reference unit */
+- tmargin = (uint32_t)(crop->margins[0]);
+- lmargin = (uint32_t)(crop->margins[1]);
+- bmargin = (uint32_t)(crop->margins[2]);
+- rmargin = (uint32_t)(crop->margins[3]);
++ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0]);
++ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1]);
++ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2]);
++ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3]);
+ }
+ else
+ { /* inches or centimeters specified */
+- tmargin = (uint32_t)(crop->margins[0] * scale * yres);
+- lmargin = (uint32_t)(crop->margins[1] * scale * xres);
+- bmargin = (uint32_t)(crop->margins[2] * scale * yres);
+- rmargin = (uint32_t)(crop->margins[3] * scale * xres);
++ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0] * scale * yres);
++ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1] * scale * xres);
++ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2] * scale * yres);
++ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3] * scale * xres);
+ }
+
+ if ((lmargin + rmargin) > image->width)
+@@ -5397,24 +5397,24 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
+ if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER)
+ {
+ if (crop->crop_mode & CROP_WIDTH)
+- width = (uint32_t)crop->width;
++ width = _TIFFClampDoubleToUInt32(crop->width);
+ else
+ width = image->width - lmargin - rmargin;
+
+ if (crop->crop_mode & CROP_LENGTH)
+- length = (uint32_t)crop->length;
++ length = _TIFFClampDoubleToUInt32(crop->length);
+ else
+ length = image->length - tmargin - bmargin;
+ }
+ else
+ {
+ if (crop->crop_mode & CROP_WIDTH)
+- width = (uint32_t)(crop->width * scale * image->xres);
++ width = _TIFFClampDoubleToUInt32(crop->width * scale * image->xres);
+ else
+ width = image->width - lmargin - rmargin;
+
+ if (crop->crop_mode & CROP_LENGTH)
+- length = (uint32_t)(crop->length * scale * image->yres);
++ length = _TIFFClampDoubleToUInt32(crop->length * scale * image->yres);
+ else
+ length = image->length - tmargin - bmargin;
+ }
+@@ -5868,13 +5868,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
+ {
+ if (page->res_unit == RESUNIT_INCH || page->res_unit == RESUNIT_CENTIMETER)
+ { /* inches or centimeters specified */
+- hmargin = (uint32_t)(page->hmargin * scale * page->hres * ((image->bps + 7) / 8));
+- vmargin = (uint32_t)(page->vmargin * scale * page->vres * ((image->bps + 7) / 8));
++ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * page->hres * ((image->bps + 7) / 8));
++ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * page->vres * ((image->bps + 7) / 8));
+ }
+ else
+ { /* Otherwise user has specified pixels as reference unit */
+- hmargin = (uint32_t)(page->hmargin * scale * ((image->bps + 7) / 8));
+- vmargin = (uint32_t)(page->vmargin * scale * ((image->bps + 7) / 8));
++ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * ((image->bps + 7) / 8));
++ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * ((image->bps + 7) / 8));
+ }
+
+ if ((hmargin * 2.0) > (pwidth * page->hres))
+@@ -5912,13 +5912,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
+ {
+ if (page->mode & PAGE_MODE_PAPERSIZE )
+ {
+- owidth = (uint32_t)((pwidth * page->hres) - (hmargin * 2));
+- olength = (uint32_t)((plength * page->vres) - (vmargin * 2));
++ owidth = _TIFFClampDoubleToUInt32((pwidth * page->hres) - (hmargin * 2));
++ olength = _TIFFClampDoubleToUInt32((plength * page->vres) - (vmargin * 2));
+ }
+ else
+ {
+- owidth = (uint32_t)(iwidth - (hmargin * 2 * page->hres));
+- olength = (uint32_t)(ilength - (vmargin * 2 * page->vres));
++ owidth = _TIFFClampDoubleToUInt32(iwidth - (hmargin * 2 * page->hres));
++ olength = _TIFFClampDoubleToUInt32(ilength - (vmargin * 2 * page->vres));
+ }
+ }
+
+@@ -5927,6 +5927,12 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
+ if (olength > ilength)
+ olength = ilength;
+
++ if (owidth == 0 || olength == 0)
++ {
++ TIFFError("computeOutputPixelOffsets", "Integer overflow when calculating the number of pages");
++ exit(EXIT_FAILURE);
++ }
++
+ /* Compute the number of pages required for Portrait or Landscape */
+ switch (page->orient)
+ {
+--
+GitLab
+
diff --git a/patches/source/libtiff/patches/CVE-2022-34526.patch b/patches/source/libtiff/patches/CVE-2022-34526.patch
new file mode 100644
index 000000000..cb3a4d3c7
--- /dev/null
+++ b/patches/source/libtiff/patches/CVE-2022-34526.patch
@@ -0,0 +1,28 @@
+From 275735d0354e39c0ac1dc3c0db2120d6f31d1990 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Mon, 27 Jun 2022 16:09:43 +0200
+Subject: [PATCH] _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a
+ codec-specific tag and the codec is not configured (fixes #433)
+
+This avoids crashes when querying such tags
+---
+ libtiff/tif_dirinfo.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
+index c30f569b..3371cb5c 100644
+--- a/libtiff/tif_dirinfo.c
++++ b/libtiff/tif_dirinfo.c
+@@ -1191,6 +1191,9 @@ _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag)
+ default:
+ return 1;
+ }
++ if( !TIFFIsCODECConfigured(tif->tif_dir.td_compression) ) {
++ return 0;
++ }
+ /* Check if codec specific tags are allowed for the current
+ * compression scheme (codec) */
+ switch (tif->tif_dir.td_compression) {
+--
+GitLab
+
diff --git a/patches/source/libtiff/patches/CVE-2022-3970.patch b/patches/source/libtiff/patches/CVE-2022-3970.patch
new file mode 100644
index 000000000..e58a2624c
--- /dev/null
+++ b/patches/source/libtiff/patches/CVE-2022-3970.patch
@@ -0,0 +1,38 @@
+From 227500897dfb07fb7d27f7aa570050e62617e3be Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Tue, 8 Nov 2022 15:16:58 +0100
+Subject: [PATCH] TIFFReadRGBATileExt(): fix (unsigned) integer overflow on
+ strips/tiles > 2 GB
+
+Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53137
+---
+ libtiff/tif_getimage.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libtiff/tif_getimage.c b/libtiff/tif_getimage.c
+index a4d0c1d6..60b94d8e 100644
+--- a/libtiff/tif_getimage.c
++++ b/libtiff/tif_getimage.c
+@@ -3016,15 +3016,15 @@ TIFFReadRGBATileExt(TIFF* tif, uint32_t col, uint32_t row, uint32_t * raster, in
+ return( ok );
+
+ for( i_row = 0; i_row < read_ysize; i_row++ ) {
+- memmove( raster + (tile_ysize - i_row - 1) * tile_xsize,
+- raster + (read_ysize - i_row - 1) * read_xsize,
++ memmove( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize,
++ raster + (size_t)(read_ysize - i_row - 1) * read_xsize,
+ read_xsize * sizeof(uint32_t) );
+- _TIFFmemset( raster + (tile_ysize - i_row - 1) * tile_xsize+read_xsize,
++ _TIFFmemset( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize+read_xsize,
+ 0, sizeof(uint32_t) * (tile_xsize - read_xsize) );
+ }
+
+ for( i_row = read_ysize; i_row < tile_ysize; i_row++ ) {
+- _TIFFmemset( raster + (tile_ysize - i_row - 1) * tile_xsize,
++ _TIFFmemset( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize,
+ 0, sizeof(uint32_t) * tile_xsize );
+ }
+
+--
+GitLab
+
diff --git a/patches/source/libtiff/slack-desc b/patches/source/libtiff/slack-desc
new file mode 100644
index 000000000..523cb11a5
--- /dev/null
+++ b/patches/source/libtiff/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libtiff: libtiff (a library for reading and writing TIFF files)
+libtiff:
+libtiff: This package provides support for the Tag Image File Format (TIFF),
+libtiff: a widely used format for storing image data. Included is the libtiff
+libtiff: library (for reading and writing TIFF files), and a collection of
+libtiff: tools for working with TIFF images.
+libtiff:
+libtiff: Homepage: http://www.simplesystems.org/libtiff
+libtiff:
+libtiff:
+libtiff:
diff --git a/patches/source/rxvt-unicode/CVE-2022-4170.diff b/patches/source/rxvt-unicode/CVE-2022-4170.diff
new file mode 100644
index 000000000..95edd1221
--- /dev/null
+++ b/patches/source/rxvt-unicode/CVE-2022-4170.diff
@@ -0,0 +1,12 @@
+--- ./src/perl/background.orig 2021-05-09 10:04:44.000000000 -0500
++++ ./src/perl/background 2023-01-03 13:53:59.865031717 -0600
+@@ -1451,8 +1451,7 @@
+ # any code execution or other shenanigans. does not
+ # support binary NULs in string.
+ sub q0 {
+- (my $str = shift) =~ s/\x00//g; # make sure there really aren't any embedded NULs
+- "q\x00$str\x00"
++ "qq\x00\Q$_[0]\E\x00"
+ }
+
+ sub old_bg_expr {
diff --git a/patches/source/rxvt-unicode/rxvt-unicode-256color.desktop b/patches/source/rxvt-unicode/rxvt-unicode-256color.desktop
new file mode 100644
index 000000000..2dcc832de
--- /dev/null
+++ b/patches/source/rxvt-unicode/rxvt-unicode-256color.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=rxvt-unicode (256color)
+Comment=A VT102 emulator for the X window system
+Exec=urxvt256c
+Terminal=false
+Type=Application
+Icon=utilities-terminal
+Categories=System;TerminalEmulator;
+StartupWMClass=URxvt
diff --git a/patches/source/rxvt-unicode/rxvt-unicode.SlackBuild b/patches/source/rxvt-unicode/rxvt-unicode.SlackBuild
new file mode 100755
index 000000000..679bc1e9a
--- /dev/null
+++ b/patches/source/rxvt-unicode/rxvt-unicode.SlackBuild
@@ -0,0 +1,191 @@
+#!/bin/bash
+
+# Copyright 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=rxvt-unicode
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3_slack15.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Add support for utempter:
+zcat $CWD/rxvt-unicode.utempter.diff.gz | patch -p1 --verbose || exit 1
+
+# Security fix:
+zcat $CWD/CVE-2022-4170.diff.gz | patch -p1 --verbose || exit 1
+
+# Regenerate configure from configure.ac after patching in utempter support:
+autoreconf -vif
+
+# Obsolete options (due to utempter patch):
+# --enable-utmp \
+# --enable-wtmp \
+# --enable-lastlog \
+#
+
+run_configure() {
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --enable-keepscrolling \
+ --enable-selectionscrolling \
+ --enable-pointer-blank \
+ --enable-unicode3 \
+ --enable-combining \
+ --enable-xft \
+ --enable-font-styles \
+ --enable-pixbuf \
+ --enable-transparency \
+ --enable-fading \
+ --enable-rxvt-scroll \
+ --enable-next-scroll \
+ --enable-xterm-scroll \
+ --enable-perl \
+ --enable-xim \
+ --enable-iso14755 \
+ --with-codesets=all \
+ --enable-frills \
+ --enable-mousewheel \
+ --enable-slipwheeling \
+ --enable-smart-resize \
+ $COLOR_OPTS \
+ --build=$ARCH-slackware-linux || exit 1
+}
+
+# Make sure the terminfo definitions go to the correct location:
+mkdir -p $PKG/usr/share/terminfo
+export TERMINFO=$PKG/usr/share/terminfo
+
+# Build and install standard version:
+export COLOR_OPTS="--with-term=rxvt-unicode"
+run_configure
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Build and install 256color version:
+export COLOR_OPTS="--with-term=rxvt-unicode-256color --with-name=urxvt256c --enable-256-color"
+run_configure
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/share/applications
+cp -a $CWD/*.desktop $PKG/usr/share/applications
+chown root:root $PKG/usr/share/applications/*
+chmod 644 $PKG/usr/share/applications/*
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ Changes COPYING* NEWS* README* THANKS* TODO* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a Changes file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r Changes ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat Changes | head -n 1000 > $DOCSDIR/Changes
+ touch -r Changes $DOCSDIR/Changes
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/rxvt-unicode/rxvt-unicode.desktop b/patches/source/rxvt-unicode/rxvt-unicode.desktop
new file mode 100644
index 000000000..0bc798927
--- /dev/null
+++ b/patches/source/rxvt-unicode/rxvt-unicode.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=rxvt-unicode
+Comment=A VT102 emulator for the X window system
+Exec=urxvt
+Terminal=false
+Type=Application
+Icon=utilities-terminal
+Categories=System;TerminalEmulator;
+StartupWMClass=URxvt
diff --git a/patches/source/rxvt-unicode/rxvt-unicode.utempter.diff b/patches/source/rxvt-unicode/rxvt-unicode.utempter.diff
new file mode 100644
index 000000000..d56c13522
--- /dev/null
+++ b/patches/source/rxvt-unicode/rxvt-unicode.utempter.diff
@@ -0,0 +1,1183 @@
+--- ./configure.ac.orig 2015-06-17 06:57:42.000000000 -0500
++++ ./configure.ac 2018-03-31 11:21:43.971399093 -0500
+@@ -113,7 +113,6 @@
+ support_fading=no
+ support_keepscrolling=no
+ support_selectionscrolling=no
+- support_lastlog=no
+ support_mousewheel=no
+ support_mouseslipwheel=no
+ support_text_blink=no
+@@ -121,8 +120,6 @@
+ support_scroll_rxvt=no
+ support_scroll_next=no
+ support_scroll_xterm=no
+- support_utmp=no
+- support_wtmp=no
+ support_xim=no
+ support_pixbuf=no
+ support_startup_notification=no
+@@ -141,7 +138,6 @@
+ support_fading=yes
+ support_keepscrolling=yes
+ support_selectionscrolling=yes
+- support_lastlog=yes
+ support_mousewheel=yes
+ support_mouseslipwheel=yes
+ support_text_blink=yes
+@@ -149,8 +145,6 @@
+ support_scroll_rxvt=yes
+ support_scroll_next=yes
+ support_scroll_xterm=yes
+- support_utmp=yes
+- support_wtmp=yes
+ support_xim=yes
+ support_pixbuf=yes
+ support_startup_notification=yes
+@@ -513,8 +507,6 @@
+ dnl# --------------------------------------------------------------------------
+ AC_CHECK_FUNCS(unsetenv)
+
+-UTMP_CHECK
+-
+ dnl# --------------------------------------------------------------------------
+
+ dnl# --------------------------------------------------------------------------
+--- ./config.h.in.orig 2015-06-17 06:57:42.000000000 -0500
++++ ./config.h.in 2018-03-31 11:21:43.970399093 -0500
+@@ -75,9 +75,6 @@
+ /* Define to 1 if you have the `kqueue' function. */
+ #undef HAVE_KQUEUE
+
+-/* Define to 1 if you have the <lastlog.h> header file. */
+-#undef HAVE_LASTLOG_H
+-
+ /* Define to 1 if you have the `rt' library (-lrt). */
+ #undef HAVE_LIBRT
+
+@@ -156,18 +153,6 @@
+ /* Define to 1 if you have the <stropts.h> header file. */
+ #undef HAVE_STROPTS_H
+
+-/* Define to 1 if the system has the type `struct lastlog'. */
+-#undef HAVE_STRUCT_LASTLOG
+-
+-/* Define to 1 if the system has the type `struct lastlogx'. */
+-#undef HAVE_STRUCT_LASTLOGX
+-
+-/* Define to 1 if the system has the type `struct utmp'. */
+-#undef HAVE_STRUCT_UTMP
+-
+-/* Define to 1 if the system has the type `struct utmpx'. */
+-#undef HAVE_STRUCT_UTMPX
+-
+ /* Define to 1 if you have the <sys/byteorder.h> header file. */
+ #undef HAVE_SYS_BYTEORDER_H
+
+@@ -214,33 +199,9 @@
+ /* Define to 1 if you have the `unsetenv' function. */
+ #undef HAVE_UNSETENV
+
+-/* Define to 1 if you have the `updlastlogx' function. */
+-#undef HAVE_UPDLASTLOGX
+-
+-/* Define to 1 if you have the `updwtmp' function. */
+-#undef HAVE_UPDWTMP
+-
+-/* Define to 1 if you have the `updwtmpx' function. */
+-#undef HAVE_UPDWTMPX
+-
+ /* Define to 1 if you have the <util.h> header file. */
+ #undef HAVE_UTIL_H
+
+-/* Define to 1 if you have the <utmpx.h> header file. */
+-#undef HAVE_UTMPX_H
+-
+-/* Define if struct utmpx contains ut_host */
+-#undef HAVE_UTMPX_HOST
+-
+-/* Define to 1 if you have the <utmp.h> header file. */
+-#undef HAVE_UTMP_H
+-
+-/* Define if struct utmp contains ut_host */
+-#undef HAVE_UTMP_HOST
+-
+-/* Define if struct utmp contains ut_pid */
+-#undef HAVE_UTMP_PID
+-
+ /* Define to 1 if you have the <wchar.h> header file. */
+ #undef HAVE_WCHAR_H
+
+@@ -262,9 +223,6 @@
+ /* Define if you want ISO 14755 extended support */
+ #undef ISO_14755
+
+-/* Define if you want to have lastlog support when utmp/utmpx is enabled */
+-#undef LASTLOG_SUPPORT
+-
+ /* Define to have CTRL cause wheel events to accelerate scrolling. Release
+ CTRL to halt scrolling */
+ #undef MOUSE_SLIP_WHEELING
+@@ -322,21 +280,6 @@
+ /* Define if you want to hide the pointer while typing */
+ #undef POINTER_BLANK
+
+-/* Define to a fallback location of lastlogx */
+-#undef PT_LASTLOGX_FILE
+-
+-/* Define to a fallback location of lastlog */
+-#undef PT_LASTLOG_FILE
+-
+-/* Define to a fallback location of utmp */
+-#undef PT_UTMP_FILE
+-
+-/* Define to a fallback location of wtmpx */
+-#undef PT_WTMPX_FILE
+-
+-/* Define to a fallback location of wtmp */
+-#undef PT_WTMP_FILE
+-
+ /* Resource class */
+ #undef RESCLASS
+
+@@ -409,12 +352,6 @@
+ for multibyte characters input */
+ #undef USE_XIM
+
+-/* Define if you want to have utmp/utmpx support */
+-#undef UTMP_SUPPORT
+-
+-/* Define if you want to have wtmp support when utmp/utmpx is enabled */
+-#undef WTMP_SUPPORT
+-
+ /* Define to enable xft support */
+ #undef XFT
+
+@@ -451,10 +388,6 @@
+ /* Enable declarations of msg_control and msg_controllen on Solaris */
+ #undef _XOPEN_SOURCE
+
+-/* Enable declarations in utmp.h on Solaris when the XPG4v2 namespace is
+- active */
+-#undef __EXTENSIONS__
+-
+ /* Define to `int' if <sys/types.h> doesn't define. */
+ #undef gid_t
+
+--- ./libptytty/ptytty.m4.orig 2015-05-11 17:24:03.000000000 -0500
++++ ./libptytty/ptytty.m4 2018-03-31 11:24:41.669415706 -0500
+@@ -51,143 +51,6 @@
+ fi
+ ])
+
+-AC_DEFUN([UTMP_CHECK],
+-[
+-support_utmp=yes
+-support_wtmp=yes
+-support_lastlog=yes
+-
+-AC_ARG_ENABLE(utmp,
+- [AS_HELP_STRING([--enable-utmp],[enable utmp (utmpx) support])],
+- [if test x$enableval = xyes -o x$enableval = xno; then
+- support_utmp=$enableval
+- fi])
+-
+-AC_ARG_ENABLE(wtmp,
+- [AS_HELP_STRING([--enable-wtmp],[enable wtmp (wtmpx) support (requires --enable-utmp)])],
+- [if test x$enableval = xyes -o x$enableval = xno; then
+- support_wtmp=$enableval
+- fi])
+-
+-AC_ARG_ENABLE(lastlog,
+- [AS_HELP_STRING([--enable-lastlog],[enable lastlog support (requires --enable-utmp)])],
+- [if test x$enableval = xyes -o x$enableval = xno; then
+- support_lastlog=$enableval
+- fi])
+-
+-if test x$support_utmp = xyes; then
+- AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support)
+-fi
+-if test x$support_wtmp = xyes; then
+- AC_DEFINE(WTMP_SUPPORT, 1, Define if you want to have wtmp support when utmp/utmpx is enabled)
+-fi
+-if test x$support_lastlog = xyes; then
+- AC_DEFINE(LASTLOG_SUPPORT, 1, Define if you want to have lastlog support when utmp/utmpx is enabled)
+-fi
+-
+-AC_CHECK_FUNCS( \
+- updwtmp \
+- updwtmpx \
+- updlastlogx \
+-)
+-
+-AC_CHECK_HEADERS(lastlog.h)
+-
+-case $host in
+- *-*-solaris*)
+- AC_DEFINE(__EXTENSIONS__, 1, Enable declarations in utmp.h on Solaris when the XPG4v2 namespace is active)
+- ;;
+-esac
+-
+-dnl# --------------------------------------------------------------------------
+-dnl# DO ALL UTMP AND WTMP CHECKING
+-dnl# --------------------------------------------------------------------------
+-dnl# check for host field in utmp structure
+-
+-dnl# --------------------------------------------
+-AC_CHECK_HEADERS(utmp.h, [
+-AC_CHECK_TYPES([struct utmp], [], [], [
+-#include <sys/types.h>
+-#include <utmp.h>
+-])
+-
+-AC_CHECK_MEMBER([struct utmp.ut_host],
+-[AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host)], [], [
+-#include <sys/types.h>
+-#include <utmp.h>
+-])
+-
+-AC_CHECK_MEMBER([struct utmp.ut_pid],
+-[AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid)], [], [
+-#include <sys/types.h>
+-#include <utmp.h>
+-])
+-]) dnl# AC_CHECK_HEADERS(utmp.h
+-
+-dnl# --------------------------------------------
+-
+-AC_CHECK_HEADERS(utmpx.h, [
+-AC_CHECK_TYPES([struct utmpx], [], [], [
+-#include <sys/types.h>
+-#include <utmpx.h>
+-])
+-
+-AC_CHECK_MEMBER([struct utmpx.ut_host],
+-[AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host)], [], [
+-#include <sys/types.h>
+-#include <utmpx.h>
+-])
+-]) dnl# AC_CHECK_HEADERS(utmpx.h
+-
+-dnl# --------------------------------------------------------------------------
+-dnl# check for struct lastlog
+-AC_CHECK_TYPES([struct lastlog], [], [], [
+-#include <sys/types.h>
+-#include <utmp.h>
+-#ifdef HAVE_LASTLOG_H
+-#include <lastlog.h>
+-#endif
+-])
+-
+-dnl# check for struct lastlogx
+-AC_CHECK_TYPES([struct lastlogx], [], [], [
+-#include <sys/types.h>
+-#include <utmpx.h>
+-#ifdef HAVE_LASTLOG_H
+-#include <lastlog.h>
+-#endif
+-])
+-
+-dnl# --------------------------------------------------------------------------
+-dnl# FIND FILES
+-dnl# --------------------------------------------------------------------------
+-
+-dnl# find utmp
+-PT_FIND_FILE([utmp], [PT_UTMP_FILE],
+-["/var/run/utmp" "/var/adm/utmp" "/etc/utmp" "/usr/etc/utmp" "/usr/adm/utmp"])
+-
+-dnl# --------------------------------------------------------------------------
+-
+-dnl# find wtmp
+-PT_FIND_FILE([wtmp], [PT_WTMP_FILE],
+-["/var/log/wtmp" "/var/adm/wtmp" "/etc/wtmp" "/usr/etc/wtmp" "/usr/adm/wtmp"])
+-dnl# --------------------------------------------------------------------------
+-
+-dnl# find wtmpx
+-PT_FIND_FILE([wtmpx], [PT_WTMPX_FILE],
+-["/var/log/wtmpx" "/var/adm/wtmpx"])
+-dnl# --------------------------------------------------------------------------
+-
+-dnl# find lastlog
+-PT_FIND_FILE([lastlog], [PT_LASTLOG_FILE],
+-["/var/log/lastlog" "/var/adm/lastlog"])
+-dnl# --------------------------------------------------------------------------
+-
+-dnl# find lastlogx
+-PT_FIND_FILE([lastlogx], [PT_LASTLOGX_FILE],
+-["/var/log/lastlogx" "/var/adm/lastlogx"])
+-])
+-
+ AC_DEFUN([SCM_RIGHTS_CHECK],
+ [
+ AH_TEMPLATE([_XOPEN_SOURCE], [Enable declarations of msg_control and msg_controllen on Solaris])
+--- ./libptytty/src/proxy.C.orig 2015-04-11 13:27:01.000000000 -0500
++++ ./libptytty/src/proxy.C 2018-03-31 11:25:17.787419082 -0500
+@@ -1,351 +0,0 @@
+-/*----------------------------------------------------------------------*
+- * File: proxy.C
+- *----------------------------------------------------------------------*
+- *
+- * All portions of code are copyright by their respective author/s.
+- * Copyright (c) 2006 Marc Lehmann <schmorp@schmorp.de>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+- *---------------------------------------------------------------------*/
+-
+-#include "config.h"
+-
+-#include "ptytty.h"
+-
+-#include "estl.h"
+-
+-#include <stdio.h>
+-#include <string.h>
+-#include <signal.h>
+-
+-#include <sys/types.h>
+-#include <sys/socket.h>
+-#include <unistd.h>
+-#include <fcntl.h>
+-#include <errno.h>
+-
+-// helper/proxy support
+-
+-#if PTYTTY_HELPER
+-
+-static int sock_fd = -1, lock_fd = -1;
+-static int helper_pid;
+-
+-struct command
+-{
+- enum { get, login, destroy } type;
+-
+- ptytty *id;
+-
+- bool login_shell;
+- int cmd_pid;
+- char hostname[512]; // arbitrary, but should be plenty
+-};
+-
+-struct ptytty_proxy : ptytty
+-{
+- ptytty *id;
+-
+- ptytty_proxy ()
+- : id(0)
+- {
+- }
+-
+- ~ptytty_proxy ();
+-
+- bool get ();
+- void login (int cmd_pid, bool login_shell, const char *hostname);
+-};
+-
+-#if PTYTTY_REENTRANT
+-# define NEED_TOKEN do { char ch; read (lock_fd, &ch , 1); } while (0)
+-# define GIVE_TOKEN write (lock_fd, &lock_fd, 1)
+-#else
+-# define NEED_TOKEN (void)0
+-# define GIVE_TOKEN (void)0
+-#endif
+-
+-bool
+-ptytty_proxy::get ()
+-{
+- NEED_TOKEN;
+-
+- command cmd;
+-
+- cmd.type = command::get;
+-
+- write (sock_fd, &cmd, sizeof (cmd));
+-
+- if (read (sock_fd, &id, sizeof (id)) != sizeof (id))
+- PTYTTY_FATAL ("protocol error while creating pty using helper process, aborting.\n");
+-
+- if (!id)
+- {
+- GIVE_TOKEN;
+- return false;
+- }
+-
+- if ((pty = recv_fd (sock_fd)) < 0
+- || (tty = recv_fd (sock_fd)) < 0)
+- PTYTTY_FATAL ("protocol error while reading pty/tty fds from helper process, aborting.\n");
+-
+- GIVE_TOKEN;
+- return true;
+-}
+-
+-void
+-ptytty_proxy::login (int cmd_pid, bool login_shell, const char *hostname)
+-{
+- NEED_TOKEN;
+-
+- command cmd;
+-
+- cmd.type = command::login;
+- cmd.id = id;
+- cmd.cmd_pid = cmd_pid;
+- cmd.login_shell = login_shell;
+- strncpy (cmd.hostname, hostname, sizeof (cmd.hostname));
+-
+- write (sock_fd, &cmd, sizeof (cmd));
+-
+- GIVE_TOKEN;
+-}
+-
+-ptytty_proxy::~ptytty_proxy ()
+-{
+- if (id)
+- {
+- close_tty ();
+-
+- if (pty >= 0)
+- close (pty);
+-
+- NEED_TOKEN;
+-
+- command cmd;
+-
+- cmd.type = command::destroy;
+- cmd.id = id;
+-
+- write (sock_fd, &cmd, sizeof (cmd));
+-
+- GIVE_TOKEN;
+- }
+-}
+-
+-static
+-void serve ()
+-{
+- command cmd;
+- vector<ptytty *> ptys;
+-
+- for (;;)
+- {
+- GIVE_TOKEN;
+-
+- if (read (sock_fd, &cmd, sizeof (command)) != sizeof (command))
+- break;
+-
+- if (cmd.type == command::get)
+- {
+- // -> id ptyfd ttyfd
+- cmd.id = new ptytty_unix;
+-
+- if (cmd.id->get ())
+- {
+- write (sock_fd, &cmd.id, sizeof (cmd.id));
+- ptys.push_back (cmd.id);
+-
+- ptytty::send_fd (sock_fd, cmd.id->pty);
+- ptytty::send_fd (sock_fd, cmd.id->tty);
+-
+- cmd.id->close_tty ();
+- }
+- else
+- {
+- delete cmd.id;
+- cmd.id = 0;
+- write (sock_fd, &cmd.id, sizeof (cmd.id));
+- }
+- }
+- else if (cmd.type == command::login)
+- {
+-#if UTMP_SUPPORT
+- if (find (ptys.begin (), ptys.end (), cmd.id) != ptys.end ())
+- {
+- cmd.hostname[sizeof (cmd.hostname) - 1] = 0;
+- cmd.id->login (cmd.cmd_pid, cmd.login_shell, cmd.hostname);
+- }
+-#endif
+- }
+- else if (cmd.type == command::destroy)
+- {
+- vector<ptytty *>::iterator pty = find (ptys.begin (), ptys.end (), cmd.id);
+-
+- if (pty != ptys.end ())
+- {
+- delete *pty;
+- ptys.erase (pty);
+- }
+- }
+- else
+- break;
+-
+- NEED_TOKEN;
+- }
+-
+- // destroy all ptys
+- for (vector<ptytty *>::iterator i = ptys.end (); i-- > ptys.begin (); )
+- delete *i;
+-}
+-
+-void
+-ptytty::use_helper ()
+-{
+- if (sock_fd >= 0)
+- return;
+-
+- int sv[2];
+-
+- if (socketpair (AF_UNIX, SOCK_STREAM, 0, sv))
+- PTYTTY_FATAL ("could not create socket to communicate with pty/sessiondb helper, aborting.\n");
+-
+-#if PTYTTY_REENTRANT
+- int lv[2];
+-
+- if (socketpair (AF_UNIX, SOCK_STREAM, 0, lv))
+- PTYTTY_FATAL ("could not create socket to communicate with pty/sessiondb helper, aborting.\n");
+-#endif
+-
+- helper_pid = fork ();
+-
+- if (helper_pid < 0)
+- PTYTTY_FATAL ("could not create pty/sessiondb helper process, aborting.\n");
+-
+- if (helper_pid)
+- {
+- // client, process
+- sock_fd = sv[0];
+- close (sv[1]);
+- fcntl (sock_fd, F_SETFD, FD_CLOEXEC);
+-#if PTYTTY_REENTRANT
+- lock_fd = lv[0];
+- close (lv[1]);
+- fcntl (lock_fd, F_SETFD, FD_CLOEXEC);
+-#endif
+- }
+- else
+- {
+- // server, pty-helper
+- sock_fd = sv[1];
+-#if PTYTTY_REENTRANT
+- lock_fd = lv[1];
+-#endif
+-
+- chdir ("/");
+-
+- signal (SIGHUP, SIG_IGN);
+- signal (SIGTERM, SIG_IGN);
+- signal (SIGINT, SIG_IGN);
+- signal (SIGPIPE, SIG_IGN);
+-
+- for (int fd = 0; fd < 1023; fd++)
+- if (fd != sock_fd && fd != lock_fd)
+- close (fd);
+-
+- serve ();
+- _exit (EXIT_SUCCESS);
+- }
+-}
+-
+-#endif
+-
+-ptytty *
+-ptytty::create ()
+-{
+-#if PTYTTY_HELPER
+- if (helper_pid)
+- // use helper process
+- return new ptytty_proxy;
+- else
+-#endif
+- return new ptytty_unix;
+-}
+-
+-void
+-ptytty::sanitise_stdfd ()
+-{
+- // sanitise stdin/stdout/stderr to point to *something*.
+- for (int fd = 0; fd <= 2; ++fd)
+- if (fcntl (fd, F_GETFL) < 0 && errno == EBADF)
+- {
+- int fd2 = open ("/dev/tty", fd ? O_WRONLY : O_RDONLY);
+-
+- if (fd2 < 0)
+- fd2 = open ("/dev/null", fd ? O_WRONLY : O_RDONLY);
+-
+- if (fd2 != fd)
+- PTYTTY_FATAL ("unable to sanitise fds, aborting.\n");
+- }
+-}
+-
+-void
+-ptytty::init ()
+-{
+- sanitise_stdfd ();
+-
+- uid_t uid = getuid ();
+- gid_t gid = getgid ();
+-
+- // before doing anything else, check for setuid/setgid operation,
+- // start the helper process and drop privileges
+- if (uid != geteuid ()
+- || gid != getegid ())
+- {
+-#if PTYTTY_HELPER
+- use_helper ();
+-#else
+- PTYTTY_WARN ("running setuid/setgid without pty helper compiled in, continuing unprivileged.\n");
+-#endif
+-
+- drop_privileges ();
+- }
+-}
+-
+-void
+-ptytty::drop_privileges ()
+-{
+- uid_t uid = getuid ();
+- gid_t gid = getgid ();
+-
+- // drop privileges
+-#if HAVE_SETRESUID
+- setresgid (gid, gid, gid);
+- setresuid (uid, uid, uid);
+-#elif HAVE_SETREUID
+- setregid (gid, gid);
+- setreuid (uid, uid);
+-#elif HAVE_SETUID
+- setgid (gid);
+- setuid (uid);
+-#else
+-# error no way to drop privileges, configure failed?
+-#endif
+-
+- if (uid != geteuid ()
+- || gid != getegid ())
+- PTYTTY_FATAL ("unable to drop privileges, aborting.\n");
+-}
+-
+--- ./libptytty/src/ptytty.h.orig 2014-11-16 06:22:34.000000000 -0600
++++ ./libptytty/src/ptytty.h 2018-03-31 11:21:57.530400360 -0500
+@@ -8,23 +8,10 @@
+ # define NO_SETOWNER_TTYDEV 1
+ #endif
+
+-#if UTMP_SUPPORT
+-# if defined(__GLIBC__)
+-# undef HAVE_STRUCT_UTMPX
+-# endif
+-
+-# if ! defined(HAVE_STRUCT_UTMPX) && ! defined(HAVE_STRUCT_UTMP)
+-# error cannot build with utmp support - no utmp or utmpx struct found
+-# endif
+-
+-#endif
+-
+ struct ptytty_unix : ptytty
+ {
+ char *name;
+
+- void log_session (bool login, const char *hostname);
+-
+ public:
+
+ ptytty_unix ();
+@@ -35,13 +22,10 @@
+
+ void login (int cmd_pid, bool login_shell, const char *hostname);
+
+-#if UTMP_SUPPORT
+- int utmp_pos;
+ int cmd_pid;
+ bool login_shell;
+
+ void logout ();
+-#endif
+ };
+
+ #endif
+--- ./libptytty/src/ptytty.C.orig 2015-05-11 17:24:03.000000000 -0500
++++ ./libptytty/src/ptytty.C 2018-03-31 11:21:57.529400360 -0500
+@@ -217,6 +217,29 @@
+ return 0;
+ }
+
++ptytty *
++ptytty::create ()
++{
++ return new ptytty_unix;
++}
++
++void
++ptytty::sanitise_stdfd ()
++{
++ // sanitise stdin/stdout/stderr to point to *something*.
++ for (int fd = 0; fd <= 2; ++fd)
++ if (fcntl (fd, F_GETFL) < 0 && errno == EBADF)
++ {
++ int fd2 = open ("/dev/tty", fd ? O_WRONLY : O_RDONLY);
++
++ if (fd2 < 0)
++ fd2 = open ("/dev/null", fd ? O_WRONLY : O_RDONLY);
++
++ if (fd2 != fd)
++ abort ();
++ }
++}
++
+ void
+ ptytty::close_tty ()
+ {
+@@ -287,16 +310,12 @@
+ ptytty_unix::ptytty_unix ()
+ {
+ name = 0;
+-#if UTMP_SUPPORT
+ cmd_pid = 0;
+-#endif
+ }
+
+ ptytty_unix::~ptytty_unix ()
+ {
+-#if UTMP_SUPPORT
+ logout ();
+-#endif
+ put ();
+ }
+
+@@ -390,18 +409,6 @@
+ }
+ #endif
+
+-#if UTMP_SUPPORT
+-# if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID)
+- int fd_stdin = dup (STDIN_FILENO);
+- dup2 (tty, STDIN_FILENO);
+-
+- utmp_pos = ttyslot ();
+-
+- dup2 (fd_stdin, STDIN_FILENO);
+- close (fd_stdin);
+-# endif
+-#endif
+-
+ return true;
+ }
+
+--- ./libptytty/src/logging.C.orig 2014-11-16 06:22:34.000000000 -0600
++++ ./libptytty/src/logging.C 2018-03-31 11:21:57.527400360 -0500
+@@ -36,251 +36,8 @@
+
+ #include "ptytty.h"
+
+-#include <sys/types.h>
++#include "utempter.h"
+
+-#if UTMP_SUPPORT
+-
+-#ifdef HAVE_UTMPX_H
+-# include <utmpx.h>
+-#endif
+-#ifdef HAVE_UTMP_H
+-# include <utmp.h>
+-#endif
+-#ifdef HAVE_LASTLOG_H
+-# include <lastlog.h>
+-#endif
+-
+-#if !defined(UTMP_FILE)
+-# if defined(_PATH_UTMP)
+-# define UTMP_FILE _PATH_UTMP
+-# elif defined(PT_UTMP_FILE)
+-# define UTMP_FILE PT_UTMP_FILE
+-# endif
+-#endif
+-#if !defined(WTMP_FILE)
+-# if defined(_PATH_WTMP)
+-# define WTMP_FILE _PATH_WTMP
+-# elif defined(PT_WTMP_FILE)
+-# define WTMP_FILE PT_WTMP_FILE
+-# endif
+-#endif
+-#if !defined(WTMPX_FILE)
+-# if defined(_PATH_WTMPX)
+-# define WTMPX_FILE _PATH_WTMPX
+-# elif defined(PT_WTMPX_FILE)
+-# define WTMPX_FILE PT_WTMPX_FILE
+-# endif
+-#endif
+-#if !defined(LASTLOG_FILE)
+-# if defined(_PATH_LASTLOG)
+-# define LASTLOG_FILE _PATH_LASTLOG
+-# elif defined(PT_LASTLOG_FILE)
+-# define LASTLOG_FILE PT_LASTLOG_FILE
+-# endif
+-#endif
+-#if !defined(LASTLOGX_FILE)
+-# if defined(_PATH_LASTLOGX)
+-# define LASTLOGX_FILE _PATH_LASTLOGX
+-# elif defined(PT_LASTLOGX_FILE)
+-# define LASTLOGX_FILE PT_LASTLOGX_FILE
+-# endif
+-#endif
+-
+-#include <pwd.h>
+-
+-#include <stdio.h>
+-#include <string.h>
+-
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <time.h>
+-#include <errno.h>
+-
+-/*
+- * BSD style utmp entry
+- * ut_line, ut_name, ut_host, ut_time
+- * SYSV style utmp (and utmpx) entry
+- * ut_user, ut_id, ut_line, ut_pid, ut_type, ut_exit, ut_time
+- */
+-
+-/* ------------------------------------------------------------------------- */
+-/*
+- * Write a BSD style utmp entry
+- */
+-#if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID)
+-static void
+-write_bsd_utmp (int utmp_pos, struct utmp *ut)
+-{
+- int fd;
+-
+- if (utmp_pos <= 0 || (fd = open (UTMP_FILE, O_WRONLY)) == -1)
+- return;
+-
+- if (lseek (fd, (off_t) (utmp_pos * sizeof (struct utmp)), SEEK_SET) != -1)
+- write (fd, ut, sizeof (struct utmp));
+- close (fd);
+-}
+-#endif
+-
+-/* ------------------------------------------------------------------------- */
+-/*
+- * Update a BSD style wtmp entry
+- */
+-#if defined(WTMP_SUPPORT) && !defined(HAVE_UPDWTMP) && defined(HAVE_STRUCT_UTMP)
+-static void
+-update_wtmp (const char *fname, const struct utmp *ut)
+-{
+- int fd, gotlock, retry;
+- struct flock lck; /* fcntl locking scheme */
+- struct stat sbuf;
+-
+- if ((fd = open (fname, O_WRONLY | O_APPEND, 0)) < 0)
+- return;
+-
+- lck.l_whence = SEEK_END; /* start lock at current eof */
+- lck.l_len = 0; /* end at ``largest possible eof'' */
+- lck.l_start = 0;
+- lck.l_type = F_WRLCK; /* we want a write lock */
+-
+- /* attempt lock with F_SETLK; F_SETLKW would cause a deadlock! */
+- for (retry = 10, gotlock = 0; retry--;)
+- if (fcntl (fd, F_SETLK, &lck) != -1)
+- {
+- gotlock = 1;
+- break;
+- }
+- else if (errno != EAGAIN && errno != EACCES)
+- break;
+-
+- if (gotlock)
+- {
+- if (fstat (fd, &sbuf) == 0)
+- if (write (fd, ut, sizeof (struct utmp)) != sizeof (struct utmp))
+- ftruncate (fd, sbuf.st_size); /* remove bad writes */
+-
+- lck.l_type = F_UNLCK; /* unlocking the file */
+- fcntl (fd, F_SETLK, &lck);
+- }
+-
+- close (fd);
+-}
+-#endif
+-
+-/* ------------------------------------------------------------------------- */
+-#ifdef LASTLOG_SUPPORT
+-static void
+-update_lastlog (const char *pty, const char *host)
+-{
+-# if defined(HAVE_STRUCT_LASTLOGX) && defined(HAVE_UPDLASTLOGX)
+- struct lastlogx llx;
+-# endif
+-# ifdef HAVE_STRUCT_LASTLOG
+- int fd;
+- struct lastlog ll;
+-# endif
+-
+-# if defined(HAVE_STRUCT_LASTLOGX) && defined(HAVE_UPDLASTLOGX)
+- memset (&llx, 0, sizeof (llx));
+- llx.ll_tv.tv_sec = time (NULL);
+- llx.ll_tv.tv_usec = 0;
+- strncpy (llx.ll_line, pty, sizeof (llx.ll_line));
+- strncpy (llx.ll_host, host, sizeof (llx.ll_host));
+- updlastlogx (LASTLOGX_FILE, getuid (), &llx);
+-# endif
+-
+-# ifdef HAVE_STRUCT_LASTLOG
+- memset (&ll, 0, sizeof (ll));
+- ll.ll_time = time (NULL);
+- strncpy (ll.ll_line, pty, sizeof (ll.ll_line));
+- strncpy (ll.ll_host, host, sizeof (ll.ll_host));
+- if ((fd = open (LASTLOG_FILE, O_RDWR)) != -1)
+- {
+- if (lseek (fd, (off_t) (getuid () * sizeof (ll)),
+- SEEK_SET) != -1)
+- write (fd, &ll, sizeof (ll));
+- close (fd);
+- }
+-# endif /* HAVE_STRUCT_LASTLOG */
+-}
+-#endif /* LASTLOG_SUPPORT */
+-
+-#if defined(HAVE_UTMP_PID) || defined(HAVE_STRUCT_UTMPX)
+-static void
+-fill_id (char *id, const char *line, size_t id_size)
+-{
+- size_t len = strlen (line);
+-
+- if (len > id_size)
+- line += len - id_size;
+- strncpy (id, line, id_size);
+-}
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMP
+-static void
+-fill_utmp (struct utmp *ut, bool login, int pid, const char *line, const char *user, const char *host)
+-{
+- memset (ut, 0, sizeof (struct utmp));
+-
+- strncpy (ut->ut_line, line, sizeof (ut->ut_line));
+-# ifdef HAVE_UTMP_PID
+- fill_id (ut->ut_id, line, sizeof (ut->ut_id));
+- ut->ut_pid = pid;
+- ut->ut_type = login ? USER_PROCESS : DEAD_PROCESS;
+-# endif
+- ut->ut_time = time (NULL);
+-
+- if (login)
+- {
+-# ifdef HAVE_UTMP_PID
+- strncpy (ut->ut_user, user, sizeof (ut->ut_user));
+-# else
+- strncpy (ut->ut_name, user, sizeof (ut->ut_name));
+-# endif
+-# ifdef HAVE_UTMP_HOST
+- strncpy (ut->ut_host, host, sizeof (ut->ut_host));
+-# endif
+- }
+-}
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+-static void
+-fill_utmpx (struct utmpx *utx, bool login, int pid, const char *line, const char *user, const char *host)
+-{
+- memset (utx, 0, sizeof (struct utmpx));
+-
+- // posix says that ut_line is not meaningful for DEAD_PROCESS
+- // records, but most implementations of last use ut_line to
+- // associate records in wtmp file
+- strncpy (utx->ut_line, line, sizeof (utx->ut_line));
+- fill_id (utx->ut_id, line, sizeof (utx->ut_id));
+- utx->ut_pid = pid;
+- utx->ut_type = login ? USER_PROCESS : DEAD_PROCESS;
+- utx->ut_tv.tv_sec = time (NULL);
+- utx->ut_tv.tv_usec = 0;
+-
+- // posix says that ut_user is not meaningful for DEAD_PROCESS
+- // records, but solaris utmp_update helper requires that the ut_user
+- // field of a DEAD_PROCESS entry matches the one of an existing
+- // USER_PROCESS entry for the same line, if any
+- strncpy (utx->ut_user, user, sizeof (utx->ut_user));
+-
+- if (login)
+- {
+-# ifdef HAVE_UTMPX_HOST
+- strncpy (utx->ut_host, host, sizeof (utx->ut_host));
+-# endif
+- }
+-}
+-#endif
+-
+-/* ------------------------------------------------------------------------- */
+-
+-/*
+- * make and write utmp and wtmp entries
+- */
+ void
+ ptytty_unix::login (int cmd_pid, bool login_shell, const char *hostname)
+ {
+@@ -290,97 +47,17 @@
+ this->cmd_pid = cmd_pid;
+ this->login_shell = login_shell;
+
+- log_session (true, hostname);
+-}
+-
+-void
+-ptytty_unix::log_session (bool login, const char *hostname)
+-{
+- struct passwd *pwent = getpwuid (getuid ());
+- const char *user = (pwent && pwent->pw_name) ? pwent->pw_name : "?";
+-
+- const char *pty = name;
+-
+- if (!strncmp (pty, "/dev/", 5))
+- pty += 5; /* skip /dev/ prefix */
+-
+-#ifdef HAVE_STRUCT_UTMP
+- struct utmp *tmput;
+- struct utmp ut;
+- fill_utmp (&ut, login, cmd_pid, pty, user, hostname);
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- struct utmpx *tmputx;
+- struct utmpx utx;
+- fill_utmpx (&utx, login, cmd_pid, pty, user, hostname);
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UTMP_PID
+- setutent ();
+- if (login || ((tmput = getutid (&ut)) && tmput->ut_pid == cmd_pid))
+- pututline (&ut);
+- endutent ();
+-# else
+- write_bsd_utmp (utmp_pos, &ut);
+-# endif
+-#endif
+-
+-#ifdef HAVE_STRUCT_UTMPX
+- setutxent ();
+- if (login || ((tmputx = getutxid (&utx)) && tmputx->ut_pid == cmd_pid))
+- pututxline (&utx);
+- endutxent ();
+-#endif
+-
+-#ifdef WTMP_SUPPORT
+- if (login_shell)
+- {
+-# ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UPDWTMP
+- updwtmp (WTMP_FILE, &ut);
+-# else
+- update_wtmp (WTMP_FILE, &ut);
+-# endif
+-# endif
+-# if defined(HAVE_STRUCT_UTMPX) && defined(HAVE_UPDWTMPX)
+- updwtmpx (WTMPX_FILE, &utx);
+-# endif
+- }
+-#endif
+-
+-#ifdef LASTLOG_SUPPORT
+- if (login_shell)
+- if (login)
+- {
+- if (pwent)
+- update_lastlog (pty, hostname);
+- else
+- PTYTTY_WARN ("no entry in password file, not updating lastlog.\n");
+- }
+-#endif
++ utempter_add_record(pty, hostname);
+ }
+
+-/* ------------------------------------------------------------------------- */
+-/*
+- * remove utmp and wtmp entries
+- */
+ void
+ ptytty_unix::logout ()
+ {
+ if (!cmd_pid)
+ return;
+
+- log_session (false, 0);
++ utempter_remove_record(pty);
+
+ cmd_pid = 0;
+ }
+
+-#else
+-void
+-ptytty_unix::login (int cmd_pid, bool login_shell, const char *hostname)
+-{
+-}
+-#endif
+-
+--- ./src/Makefile.in.orig 2016-01-23 14:09:22.000000000 -0600
++++ ./src/Makefile.in 2018-03-31 11:21:43.963399092 -0500
+@@ -64,10 +64,10 @@
+ all: allbin
+
+ rxvt: rxvt.o $(COMMON)
+- $(LINK) -o $@ rxvt.o $(COMMON) $(LIBS) $(XLIB) $(PERLLIB)
++ $(LINK) -o $@ rxvt.o $(COMMON) $(LIBS) $(XLIB) $(PERLLIB) -lutempter
+
+ rxvtd: rxvtd.o $(COMMON) $(COMMON_DAEMON)
+- $(LINK) -o $@ rxvtd.o $(COMMON) $(COMMON_DAEMON) $(LIBS) $(XLIB) $(PERLLIB)
++ $(LINK) -o $@ rxvtd.o $(COMMON) $(COMMON_DAEMON) $(LIBS) $(XLIB) $(PERLLIB) -lutempter
+
+ rxvtc: rxvtc.o $(COMMON_DAEMON) fdpass_wrapper.o
+ $(LINK) -o $@ rxvtc.o $(COMMON_DAEMON) fdpass_wrapper.o $(LIBS)
+@@ -205,7 +205,7 @@
+ ptytty_wrapper.o: ../libptytty/src/libptytty.h rxvtperl.h hookinc.h rsinc.h
+ ptytty_wrapper.o: optinc.h ../libptytty/src/logging.C
+ ptytty_wrapper.o: ../libptytty/src/ptytty.h ../libptytty/src/ptytty_conf.h
+-ptytty_wrapper.o: ../libptytty/src/proxy.C ../libptytty/src/ptytty.C
++ptytty_wrapper.o: ../libptytty/src/ptytty.C
+ rxvt.o: ../config.h rxvt.h feature.h ../libptytty/src/ecb.h encoding.h
+ rxvt.o: rxvtutil.h ../libptytty/src/estl.h emman.h rxvtfont.h rxvttoolkit.h
+ rxvt.o: ev_cpp.h ../config.h ../libev/ev++.h ../libev/ev.h callback.h
+--- ./src/rxvt.C.orig 2014-12-12 19:00:23.000000000 -0600
++++ ./src/rxvt.C 2018-03-31 11:21:43.965399092 -0500
+@@ -30,7 +30,7 @@
+ main (int argc, char *argv[])
+ try
+ {
+- ptytty::init ();
++ ptytty::sanitise_stdfd ();
+ rxvt_init ();
+
+ rxvt_term *t = new rxvt_term;
+--- ./src/ptytty_wrapper.C.orig 2014-12-12 19:00:23.000000000 -0600
++++ ./src/ptytty_wrapper.C 2018-03-31 11:21:43.961399092 -0500
+@@ -7,5 +7,4 @@
+ #define PTYTTY_WARN rxvt_warn
+
+ #include "logging.C"
+-#include "proxy.C"
+ #include "ptytty.C"
+--- ./src/rxvtd.C.orig 2014-12-26 16:34:13.000000000 -0600
++++ ./src/rxvtd.C 2018-03-31 11:21:43.960399092 -0500
+@@ -227,7 +227,7 @@
+ int
+ main (int argc, char *argv[])
+ {
+- ptytty::init ();
++ ptytty::sanitise_stdfd ();
+
+ static char opt_fork, opt_opendisplay, opt_quiet;
+ #if ENABLE_PERL
diff --git a/patches/source/rxvt-unicode/slack-desc b/patches/source/rxvt-unicode/slack-desc
new file mode 100644
index 000000000..d6388cadf
--- /dev/null
+++ b/patches/source/rxvt-unicode/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+rxvt-unicode: rxvt-unicode (terminal emulator)
+rxvt-unicode:
+rxvt-unicode: rxvt-unicode is a color vt102 terminal emulator based on rxvt.
+rxvt-unicode: Features of rxvt-unicode include international language support
+rxvt-unicode: through Unicode, transparency, the ability to display multiple font
+rxvt-unicode: types and support for Perl extensions.
+rxvt-unicode:
+rxvt-unicode: Homepage: http://software.schmorp.de/pkg/rxvt-unicode.html
+rxvt-unicode:
+rxvt-unicode:
+rxvt-unicode:
diff --git a/recompress.sh b/recompress.sh
index 1587ed90b..7a56fef65 100755
--- a/recompress.sh
+++ b/recompress.sh
@@ -1215,6 +1215,8 @@ gzip ./patches/source/openssl/certwatch
gzip ./patches/source/glibc-zoneinfo/doinst.sh
gzip ./patches/source/glibc-zoneinfo/zic.default.fat.diff
gzip ./patches/source/sudo/doinst.sh
+gzip ./patches/source/rxvt-unicode/rxvt-unicode.utempter.diff
+gzip ./patches/source/rxvt-unicode/CVE-2022-4170.diff
gzip ./patches/source/ca-certificates/fixup_update-ca-certificates.diff
gzip ./patches/source/ca-certificates/doinst.sh
gzip ./patches/source/ca-certificates/update-ca-certificates.c_rehash.diff
@@ -1257,6 +1259,9 @@ gzip ./patches/source/util-linux/doinst.sh
gzip ./patches/source/util-linux/ziptool-fix_build.patch
gzip ./patches/source/flac/flac.man.diff
gzip ./patches/source/mozilla-nss/CVE-2022-3479.patch
+gzip ./patches/source/libtiff/patches/CVE-2022-2056_2057_2058.patch
+gzip ./patches/source/libtiff/patches/CVE-2022-34526.patch
+gzip ./patches/source/libtiff/patches/CVE-2022-3970.patch
gzip ./patches/source/php/php-fpm.conf.diff
gzip ./patches/source/php/php.enchant-2.patch
gzip ./patches/source/php/doinst.sh