Mon Mar 6 02:21:57 UTC 2023

patches/packages/xscreensaver-6.06-x86_64-1_slack15.0.txz:  Upgraded.
  Here's an upgrade to the latest xscreensaver.
This commit is contained in:
Patrick J Volkerding 2023-03-06 02:21:57 +00:00 committed by Eric Hameleers
parent 61e0126fa3
commit 78c0119973
15 changed files with 1417 additions and 86 deletions

View file

@ -11,9 +11,21 @@
<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>Tue, 28 Feb 2023 21:33:32 GMT</pubDate>
<lastBuildDate>Wed, 1 Mar 2023 12:30:26 GMT</lastBuildDate>
<pubDate>Mon, 6 Mar 2023 02:21:57 GMT</pubDate>
<lastBuildDate>Mon, 6 Mar 2023 12:30:22 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.17</generator>
<item>
<title>Mon, 6 Mar 2023 02:21:57 GMT</title>
<pubDate>Mon, 6 Mar 2023 02:21:57 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20230306022157</link>
<guid isPermaLink="false">20230306022157</guid>
<description>
<![CDATA[<pre>
patches/packages/xscreensaver-6.06-x86_64-1_slack15.0.txz: Upgraded.
Here's an upgrade to the latest xscreensaver.
</pre>]]>
</description>
</item>
<item>
<title>Tue, 28 Feb 2023 21:33:32 GMT</title>
<pubDate>Tue, 28 Feb 2023 21:33:32 GMT</pubDate>

View file

@ -1,3 +1,7 @@
Mon Mar 6 02:21:57 UTC 2023
patches/packages/xscreensaver-6.06-x86_64-1_slack15.0.txz: Upgraded.
Here's an upgrade to the latest xscreensaver.
+--------------------------+
Tue Feb 28 21:33:32 UTC 2023
patches/packages/whois-5.5.16-x86_64-1_slack15.0.txz: Upgraded.
Add bash completion support, courtesy of Ville Skytta.

View file

@ -1,20 +1,20 @@
Tue Feb 28 21:39:27 UTC 2023
Mon Mar 6 02:24:58 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 2023-02-28 21:33 .
drwxr-xr-x 12 root root 4096 2023-03-06 02:21 .
-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 1172757 2023-02-20 19:46 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-02-20 19:46 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 1172757 2023-02-28 21:39 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-02-28 21:39 ./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 1994570 2023-02-28 21:33 ./ChangeLog.txt
-rw-r--r-- 1 root root 1994746 2023-03-06 02:21 ./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 1529385 2023-02-20 19:46 ./FILELIST.TXT
-rw-r--r-- 1 root root 1529385 2023-02-28 21:39 ./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 2023-02-28 21:39 ./patches
-rw-r--r-- 1 root root 66680 2023-02-28 21:39 ./patches/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-02-28 21:39 ./patches/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 90442 2023-02-28 21:39 ./patches/FILE_LIST
-rw-r--r-- 1 root root 11954842 2023-02-28 21:39 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 47976 2023-02-28 21:39 ./patches/PACKAGES.TXT
drwxr-xr-x 3 root root 20480 2023-02-28 21:39 ./patches/packages
drwxr-xr-x 4 root root 4096 2023-03-06 02:24 ./patches
-rw-r--r-- 1 root root 67823 2023-03-06 02:24 ./patches/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-03-06 02:24 ./patches/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 91896 2023-03-06 02:24 ./patches/FILE_LIST
-rw-r--r-- 1 root root 11980129 2023-03-06 02:24 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 48600 2023-03-06 02:24 ./patches/PACKAGES.TXT
drwxr-xr-x 3 root root 20480 2023-03-06 02:24 ./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
@ -968,13 +968,16 @@ drwxr-xr-x 2 root root 4096 2023-02-18 02:05 ./patches/packages/linux-5.15
-rw-r--r-- 1 root root 816 2023-02-07 20:26 ./patches/packages/xorg-server-xwayland-21.1.4-x86_64-6_slack15.0.txt
-rw-r--r-- 1 root root 816632 2023-02-07 20:26 ./patches/packages/xorg-server-xwayland-21.1.4-x86_64-6_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-02-07 20:26 ./patches/packages/xorg-server-xwayland-21.1.4-x86_64-6_slack15.0.txz.asc
-rw-r--r-- 1 root root 463 2023-03-05 20:29 ./patches/packages/xscreensaver-6.06-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 9161204 2023-03-05 20:29 ./patches/packages/xscreensaver-6.06-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-03-05 20:29 ./patches/packages/xscreensaver-6.06-x86_64-1_slack15.0.txz.asc
-rw-r--r-- 1 root root 489 2022-04-14 21:04 ./patches/packages/xz-5.2.5-x86_64-4_slack15.0.txt
-rw-r--r-- 1 root root 322660 2022-04-14 21:04 ./patches/packages/xz-5.2.5-x86_64-4_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-04-14 21:04 ./patches/packages/xz-5.2.5-x86_64-4_slack15.0.txz.asc
-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 68 root root 4096 2023-02-28 19:38 ./patches/source
drwxr-xr-x 69 root root 4096 2023-03-05 22:13 ./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
@ -1704,6 +1707,18 @@ drwxr-xr-x 2 root root 4096 2022-07-12 20:20 ./patches/source/xorg-server/
-rw-r--r-- 1 root root 5178288 2021-12-15 19:04 ./patches/source/xorg-server/src/xserver/xorg-server-1.20.14.tar.xz
-rwxr-xr-x 1 root root 15219 2020-02-19 20:37 ./patches/source/xorg-server/x11.SlackBuild
-rwxr-xr-x 1 root root 85 2014-12-18 04:56 ./patches/source/xorg-server/xorg-server.SlackBuild
drwxr-xr-x 2 root root 4096 2023-03-05 20:20 ./patches/source/xscreensaver
-rw-r--r-- 1 root root 280 2020-02-07 00:37 ./patches/source/xscreensaver/doinst.sh.gz
-rwxr-xr-x 1 root root 616 2017-12-24 07:25 ./patches/source/xscreensaver/dump.android.osx.sources.sh
-rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./patches/source/xscreensaver/setuid.c.gz
-rw-r--r-- 1 root root 923 2018-02-27 06:13 ./patches/source/xscreensaver/slack-desc
-rw-r--r-- 1 root root 9959144 2022-12-11 23:12 ./patches/source/xscreensaver/xscreensaver-6.06.tar.xz
-rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./patches/source/xscreensaver/xscreensaver-getimage-file-5.14
-rwxr-xr-x 1 root root 6012 2023-03-05 20:29 ./patches/source/xscreensaver/xscreensaver.SlackBuild
-rw-r--r-- 1 root root 285 2022-12-12 19:21 ./patches/source/xscreensaver/xscreensaver.electricsheep.diff.gz
-rw-r--r-- 1 root root 638 2023-03-05 20:03 ./patches/source/xscreensaver/xscreensaver.no.expiration.date.diff.gz
-rw-r--r-- 1 root root 50 2014-07-26 21:13 ./patches/source/xscreensaver/xscreensaver.pam
-rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./patches/source/xscreensaver/xscreensaver.setuid.diff.gz
drwxr-xr-x 2 root root 4096 2022-04-14 20:33 ./patches/source/xz
-rw-r--r-- 1 root root 939 2020-03-18 18:04 ./patches/source/xz/slack-desc
-rw-r--r-- 1 root root 1148824 2020-03-17 18:46 ./patches/source/xz/xz-5.2.5.tar.xz
@ -2733,20 +2748,20 @@ drwxr-xr-x 2 root root 69632 2022-02-01 08:29 ./slackware64/kde
-rw-r--r-- 1 root root 163 2022-01-31 20:06 ./slackware64/kde/falkon-3.2.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 371 2022-01-06 22:16 ./slackware64/kde/ffmpegthumbs-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 31748 2022-01-06 22:16 ./slackware64/kde/ffmpegthumbs-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 22:16 ./slackware64/kde/ffmpegthumbs-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 335 2022-01-06 22:02 ./slackware64/kde/filelight-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 769724 2022-01-06 22:02 ./slackware64/kde/filelight-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 22:02 ./slackware64/kde/filelight-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 434 2022-01-08 22:45 ./slackware64/kde/frameworkintegration-5.90.0-x86_64-1.txt
-rw-r--r-- 1 root root 1624288 2022-01-08 22:45 ./slackware64/kde/frameworkintegration-5.90.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-08 22:45 ./slackware64/kde/frameworkintegration-5.90.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 255 2022-01-06 22:29 ./slackware64/kde/granatier-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 2207680 2022-01-06 22:29 ./slackware64/kde/granatier-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 22:29 ./slackware64/kde/granatier-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 260 2022-01-06 21:51 ./slackware64/kde/grantlee-editor-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 239580 2022-01-06 21:51 ./slackware64/kde/grantlee-editor-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 21:51 ./slackware64/kde/grantlee-editor-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 263 2022-01-06 21:38 ./slackware64/kde/grantleetheme-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 163 2022-01-06 22:16 ./slackware64/kde/ffmpegthumbs-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 335 2022-01-06 22:02 ./slackware64/kde/filelight-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 769724 2022-01-06 22:02 ./slackware64/kde/filelight-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 22:02 ./slackware64/kde/filelight-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 434 2022-01-08 22:45 ./slackware64/kde/frameworkintegration-5.90.0-x86_64-1.txt
-rw-r--r-- 1 root root 1624288 2022-01-08 22:45 ./slackware64/kde/frameworkintegration-5.90.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-08 22:45 ./slackware64/kde/frameworkintegration-5.90.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 255 2022-01-06 22:29 ./slackware64/kde/granatier-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 2207680 2022-01-06 22:29 ./slackware64/kde/granatier-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 22:29 ./slackware64/kde/granatier-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 260 2022-01-06 21:51 ./slackware64/kde/grantlee-editor-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 239580 2022-01-06 21:51 ./slackware64/kde/grantlee-editor-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 21:51 ./slackware64/kde/grantlee-editor-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 263 2022-01-06 21:38 ./slackware64/kde/grantleetheme-21.12.1-x86_64-1.txt
-rw-r--r-- 1 root root 65892 2022-01-06 21:38 ./slackware64/kde/grantleetheme-21.12.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-06 21:38 ./slackware64/kde/grantleetheme-21.12.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 292 2022-01-06 21:57 ./slackware64/kde/gwenview-21.12.1-x86_64-1.txt
@ -5466,20 +5481,20 @@ drwxr-xr-x 2 root root 65536 2022-02-01 04:47 ./slackware64/x
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-75dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 618 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 858892 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 605 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 749596 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 360 2021-02-13 13:19 ./slackware64/x/font-bh-ttf-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 282976 2021-02-13 13:19 ./slackware64/x/font-bh-ttf-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-ttf-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 386 2021-02-13 13:19 ./slackware64/x/font-bh-type1-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 543364 2021-02-13 13:19 ./slackware64/x/font-bh-type1-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-type1-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 488 2021-02-13 13:19 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 169444 2021-02-13 13:19 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 475 2021-02-13 13:19 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 605 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 749596 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 360 2021-02-13 13:19 ./slackware64/x/font-bh-ttf-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 282976 2021-02-13 13:19 ./slackware64/x/font-bh-ttf-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-ttf-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 386 2021-02-13 13:19 ./slackware64/x/font-bh-type1-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 543364 2021-02-13 13:19 ./slackware64/x/font-bh-type1-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bh-type1-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 488 2021-02-13 13:19 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 169444 2021-02-13 13:19 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bitstream-100dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 475 2021-02-13 13:19 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-5.txt
-rw-r--r-- 1 root root 149232 2021-02-13 13:19 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-5.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:19 ./slackware64/x/font-bitstream-75dpi-1.0.3-noarch-5.txz.asc
-rw-r--r-- 1 root root 490 2021-02-13 13:19 ./slackware64/x/font-bitstream-speedo-1.0.2-noarch-5.txt
@ -8624,26 +8639,26 @@ drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/d/python2
-rw-r--r-- 1 root root 833 2020-04-19 21:50 ./source/d/python2/Python-2.7.18.tar.xz.asc
-rw-r--r-- 1 root root 1631043 2020-04-19 21:53 ./source/d/python2/python-2.7.18-docs-text.tar.bz2
-rw-r--r-- 1 root root 798 2012-05-09 18:38 ./source/d/python2/python.no-static-library.diff.gz
-rw-r--r-- 1 root root 325 2009-06-09 19:23 ./source/d/python2/python.readline.set_pre_input_hook.diff.gz
-rw-r--r-- 1 root root 34 2019-03-03 19:49 ./source/d/python2/python.url
-rw-r--r-- 1 root root 1867 2016-12-28 19:19 ./source/d/python2/python.x86_64.diff.gz
-rwxr-xr-x 1 root root 5723 2021-02-13 05:31 ./source/d/python2/python2.SlackBuild
-rw-r--r-- 1 root root 939 2020-04-20 19:09 ./source/d/python2/slack-desc
drwxr-xr-x 2 root root 4096 2022-01-16 02:41 ./source/d/python3
-rw-r--r-- 1 root root 19154136 2022-01-13 23:44 ./source/d/python3/Python-3.9.10.tar.xz
-rw-r--r-- 1 root root 833 2022-01-13 23:44 ./source/d/python3/Python-3.9.10.tar.xz.asc
-rw-r--r-- 1 root root 890 2017-01-12 20:00 ./source/d/python3/README
-rw-r--r-- 1 root root 2523091 2022-01-13 23:42 ./source/d/python3/python-3.9.10-docs-text.tar.bz2
-rw-r--r-- 1 root root 372 2021-11-20 19:27 ./source/d/python3/python.sysconfig.py.x86_64.diff.gz
-rwxr-xr-x 1 root root 6370 2022-01-16 02:40 ./source/d/python3/python3.SlackBuild
-rw-r--r-- 1 root root 495 2020-10-24 22:31 ./source/d/python3/python3.distutils.x86_64.diff.gz
-rw-r--r-- 1 root root 1389 2020-10-24 17:53 ./source/d/python3/python3.no-static-library.diff.gz
-rw-r--r-- 1 root root 369 2014-05-25 17:49 ./source/d/python3/python3.readline.set_pre_input_hook.diff.gz
-rw-r--r-- 1 root root 340 2020-10-24 22:35 ./source/d/python3/python3.setup.py.x86_64.diff.gz
-rw-r--r-- 1 root root 34 2019-03-03 19:49 ./source/d/python3/python3.url
-rw-r--r-- 1 root root 1150 2018-02-27 06:13 ./source/d/python3/slack-desc
drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/d/rcs
-rw-r--r-- 1 root root 890872 2020-10-20 04:27 ./source/d/rcs/rcs-5.10.0.tar.xz
-rw-r--r-- 1 root root 325 2009-06-09 19:23 ./source/d/python2/python.readline.set_pre_input_hook.diff.gz
-rw-r--r-- 1 root root 34 2019-03-03 19:49 ./source/d/python2/python.url
-rw-r--r-- 1 root root 1867 2016-12-28 19:19 ./source/d/python2/python.x86_64.diff.gz
-rwxr-xr-x 1 root root 5723 2021-02-13 05:31 ./source/d/python2/python2.SlackBuild
-rw-r--r-- 1 root root 939 2020-04-20 19:09 ./source/d/python2/slack-desc
drwxr-xr-x 2 root root 4096 2022-01-16 02:41 ./source/d/python3
-rw-r--r-- 1 root root 19154136 2022-01-13 23:44 ./source/d/python3/Python-3.9.10.tar.xz
-rw-r--r-- 1 root root 833 2022-01-13 23:44 ./source/d/python3/Python-3.9.10.tar.xz.asc
-rw-r--r-- 1 root root 890 2017-01-12 20:00 ./source/d/python3/README
-rw-r--r-- 1 root root 2523091 2022-01-13 23:42 ./source/d/python3/python-3.9.10-docs-text.tar.bz2
-rw-r--r-- 1 root root 372 2021-11-20 19:27 ./source/d/python3/python.sysconfig.py.x86_64.diff.gz
-rwxr-xr-x 1 root root 6370 2022-01-16 02:40 ./source/d/python3/python3.SlackBuild
-rw-r--r-- 1 root root 495 2020-10-24 22:31 ./source/d/python3/python3.distutils.x86_64.diff.gz
-rw-r--r-- 1 root root 1389 2020-10-24 17:53 ./source/d/python3/python3.no-static-library.diff.gz
-rw-r--r-- 1 root root 369 2014-05-25 17:49 ./source/d/python3/python3.readline.set_pre_input_hook.diff.gz
-rw-r--r-- 1 root root 340 2020-10-24 22:35 ./source/d/python3/python3.setup.py.x86_64.diff.gz
-rw-r--r-- 1 root root 34 2019-03-03 19:49 ./source/d/python3/python3.url
-rw-r--r-- 1 root root 1150 2018-02-27 06:13 ./source/d/python3/slack-desc
drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/d/rcs
-rw-r--r-- 1 root root 890872 2020-10-20 04:27 ./source/d/rcs/rcs-5.10.0.tar.xz
-rw-r--r-- 1 root root 95 2020-10-20 04:27 ./source/d/rcs/rcs-5.10.0.tar.xz.sig
-rwxr-xr-x 1 root root 4825 2021-02-13 05:31 ./source/d/rcs/rcs.SlackBuild
-rw-r--r-- 1 root root 772 2018-02-27 06:13 ./source/d/rcs/slack-desc
@ -15051,28 +15066,28 @@ drwxr-xr-x 2 root root 12288 2020-05-18 17:50 ./source/x/x11/slack-desc
-rw-r--r-- 1 root root 760 2012-04-08 03:40 ./source/x/x11/slack-desc/rendercheck
-rw-r--r-- 1 root root 838 2012-04-08 03:40 ./source/x/x11/slack-desc/renderproto
-rw-r--r-- 1 root root 865 2012-04-08 03:40 ./source/x/x11/slack-desc/resourceproto
-rw-r--r-- 1 root root 709 2012-04-08 03:40 ./source/x/x11/slack-desc/rgb
-rw-r--r-- 1 root root 889 2012-04-08 03:41 ./source/x/x11/slack-desc/scrnsaverproto
-rw-r--r-- 1 root root 750 2012-04-08 03:41 ./source/x/x11/slack-desc/sessreg
-rw-r--r-- 1 root root 798 2012-04-08 03:42 ./source/x/x11/slack-desc/setxkbmap
-rw-r--r-- 1 root root 737 2012-04-08 03:42 ./source/x/x11/slack-desc/showfont
-rw-r--r-- 1 root root 707 2012-04-08 03:42 ./source/x/x11/slack-desc/smproxy
-rw-r--r-- 1 root root 884 2012-06-13 15:39 ./source/x/x11/slack-desc/transset
-rw-r--r-- 1 root root 730 2012-04-08 03:43 ./source/x/x11/slack-desc/twm
-rw-r--r-- 1 root root 823 2012-04-08 03:43 ./source/x/x11/slack-desc/util-macros
-rw-r--r-- 1 root root 820 2012-04-08 03:43 ./source/x/x11/slack-desc/videoproto
-rw-r--r-- 1 root root 796 2012-04-08 03:43 ./source/x/x11/slack-desc/viewres
-rw-r--r-- 1 root root 779 2012-04-08 03:44 ./source/x/x11/slack-desc/x11perf
-rw-r--r-- 1 root root 679 2012-04-08 03:44 ./source/x/x11/slack-desc/xauth
-rw-r--r-- 1 root root 796 2012-04-08 03:44 ./source/x/x11/slack-desc/xbacklight
-rw-r--r-- 1 root root 725 2018-02-26 22:58 ./source/x/x11/slack-desc/xbiff
-rw-r--r-- 1 root root 786 2012-04-08 03:45 ./source/x/x11/slack-desc/xbitmaps
-rw-r--r-- 1 root root 639 2012-04-08 03:45 ./source/x/x11/slack-desc/xcalc
-rw-r--r-- 1 root root 922 2012-04-08 01:17 ./source/x/x11/slack-desc/xcb-proto
-rw-r--r-- 1 root root 809 2012-04-08 03:45 ./source/x/x11/slack-desc/xcb-util
-rw-r--r-- 1 root root 808 2013-09-07 20:11 ./source/x/x11/slack-desc/xcb-util-cursor
-rw-r--r-- 1 root root 1011 2015-04-27 03:32 ./source/x/x11/slack-desc/xcb-util-errors
-rw-r--r-- 1 root root 778 2012-04-08 01:14 ./source/x/x11/slack-desc/xcb-util-image
-rw-r--r-- 1 root root 709 2012-04-08 03:40 ./source/x/x11/slack-desc/rgb
-rw-r--r-- 1 root root 889 2012-04-08 03:41 ./source/x/x11/slack-desc/scrnsaverproto
-rw-r--r-- 1 root root 750 2012-04-08 03:41 ./source/x/x11/slack-desc/sessreg
-rw-r--r-- 1 root root 798 2012-04-08 03:42 ./source/x/x11/slack-desc/setxkbmap
-rw-r--r-- 1 root root 737 2012-04-08 03:42 ./source/x/x11/slack-desc/showfont
-rw-r--r-- 1 root root 707 2012-04-08 03:42 ./source/x/x11/slack-desc/smproxy
-rw-r--r-- 1 root root 884 2012-06-13 15:39 ./source/x/x11/slack-desc/transset
-rw-r--r-- 1 root root 730 2012-04-08 03:43 ./source/x/x11/slack-desc/twm
-rw-r--r-- 1 root root 823 2012-04-08 03:43 ./source/x/x11/slack-desc/util-macros
-rw-r--r-- 1 root root 820 2012-04-08 03:43 ./source/x/x11/slack-desc/videoproto
-rw-r--r-- 1 root root 796 2012-04-08 03:43 ./source/x/x11/slack-desc/viewres
-rw-r--r-- 1 root root 779 2012-04-08 03:44 ./source/x/x11/slack-desc/x11perf
-rw-r--r-- 1 root root 679 2012-04-08 03:44 ./source/x/x11/slack-desc/xauth
-rw-r--r-- 1 root root 796 2012-04-08 03:44 ./source/x/x11/slack-desc/xbacklight
-rw-r--r-- 1 root root 725 2018-02-26 22:58 ./source/x/x11/slack-desc/xbiff
-rw-r--r-- 1 root root 786 2012-04-08 03:45 ./source/x/x11/slack-desc/xbitmaps
-rw-r--r-- 1 root root 639 2012-04-08 03:45 ./source/x/x11/slack-desc/xcalc
-rw-r--r-- 1 root root 922 2012-04-08 01:17 ./source/x/x11/slack-desc/xcb-proto
-rw-r--r-- 1 root root 809 2012-04-08 03:45 ./source/x/x11/slack-desc/xcb-util
-rw-r--r-- 1 root root 808 2013-09-07 20:11 ./source/x/x11/slack-desc/xcb-util-cursor
-rw-r--r-- 1 root root 1011 2015-04-27 03:32 ./source/x/x11/slack-desc/xcb-util-errors
-rw-r--r-- 1 root root 778 2012-04-08 01:14 ./source/x/x11/slack-desc/xcb-util-image
-rw-r--r-- 1 root root 827 2012-04-08 01:18 ./source/x/x11/slack-desc/xcb-util-keysyms
-rw-r--r-- 1 root root 871 2012-04-08 03:49 ./source/x/x11/slack-desc/xcb-util-renderutil
-rw-r--r-- 1 root root 774 2012-04-08 03:51 ./source/x/x11/slack-desc/xcb-util-wm

View file

@ -0,0 +1,11 @@
xscreensaver: xscreensaver (a screen saver and locker for X)
xscreensaver:
xscreensaver: A modular screen saver and locker for the X Window System. Highly
xscreensaver: customizable: allows the use of any program that can draw on the
xscreensaver: root window as a display mode. More than 100 display modes are
xscreensaver: included in this package.
xscreensaver:
xscreensaver: Homepage: http://www.jwz.org/xscreensaver
xscreensaver:
xscreensaver:
xscreensaver:

View file

@ -0,0 +1,16 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
if [ -r etc/pam.d/xscreensaver.new ]; then
config etc/pam.d/xscreensaver.new
fi

View file

@ -0,0 +1,14 @@
#!/bin/sh
# Repacks the xscreensaver tarball to remove the unneeded OSX sources.
VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
tar xf xscreensaver-${VERSION}.tar.?z || exit 1
mv xscreensaver-${VERSION}.tar.?z xscreensaver-${VERSION}.tarball.orig
rm -r xscreensaver-${VERSION}/OSX/*
rm -r xscreensaver-${VERSION}/android/*
tar cf xscreensaver-${VERSION}.tar xscreensaver-${VERSION}
rm -r xscreensaver-${VERSION}
plzip -9 xscreensaver-${VERSION}.tar
touch -r xscreensaver-${VERSION}.tarball.orig xscreensaver-${VERSION}.tar.lz
rm xscreensaver-${VERSION}.tarball.orig

View file

@ -0,0 +1,274 @@
/* setuid.c --- management of runtime privileges.
* xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation. No representations are made about the suitability of this
* software for any purpose. It is provided "as is" without express or
* implied warranty.
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <X11/Xlib.h> /* not used for much... */
/* This file doesn't need the Xt headers, so stub these types out... */
#undef XtPointer
#define XtAppContext void*
#define XrmDatabase void*
#define XtIntervalId void*
#define XtPointer void*
#define Widget void*
#include "xscreensaver.h"
#ifndef EPERM
#include <errno.h>
#endif
#include <pwd.h> /* for getpwnam() and struct passwd */
#include <grp.h> /* for getgrgid() and struct group */
static const char *
uid_gid_string (uid_t uid, gid_t gid)
{
static char buf[255];
struct passwd *p = 0;
struct group *g = 0;
p = getpwuid (uid);
g = getgrgid (gid);
sprintf (buf, "%s/%s (%ld/%ld)",
(p && p->pw_name ? p->pw_name : "???"),
(g && g->gr_name ? g->gr_name : "???"),
(long) uid, (long) gid);
return buf;
}
void
describe_uids (saver_info *si, FILE *out)
{
uid_t uid = getuid();
gid_t gid = getgid();
uid_t euid = geteuid();
gid_t egid = getegid();
char *s1 = strdup (uid_gid_string (uid, gid));
char *s2 = strdup (uid_gid_string (euid, egid));
if (si->orig_uid && *si->orig_uid &&
(!!strcmp (si->orig_uid, s1) ||
!!strcmp (si->orig_uid, s2)))
fprintf (out, "%s: initial effective uid/gid was %s\n", blurb(),
si->orig_uid);
fprintf (out, "%s: running as %s", blurb(), s1);
if (uid != euid || gid != egid)
fprintf (out, "; effectively %s", s2);
fprintf(out, "\n");
free(s1);
free(s2);
}
static int
set_ids_by_number (uid_t uid, gid_t gid, char **message_ret)
{
int uid_errno = 0;
int gid_errno = 0;
struct passwd *p = getpwuid (uid);
struct group *g = getgrgid (gid);
if (message_ret)
*message_ret = 0;
/* Rumor has it that some implementations of of setuid() do nothing
when called with -1; therefore, if the "nobody" user has a uid of
-1, then that would be Really Bad. Rumor further has it that such
systems really ought to be using -2 for "nobody", since that works.
So, if we get a uid (or gid, for good measure) of -1, switch to -2
instead. Note that this must be done after we've looked up the
user/group names with getpwuid(-1) and/or getgrgid(-1).
*/
if (gid == (gid_t) -1) gid = (gid_t) -2;
if (uid == (uid_t) -1) uid = (uid_t) -2;
errno = 0;
if (setgid (gid) != 0)
gid_errno = errno ? errno : -1;
errno = 0;
if (setuid (uid) != 0)
uid_errno = errno ? errno : -1;
if (uid_errno == 0 && gid_errno == 0)
{
static char buf [1024];
sprintf (buf, "changed uid/gid to %s/%s (%ld/%ld).",
(p && p->pw_name ? p->pw_name : "???"),
(g && g->gr_name ? g->gr_name : "???"),
(long) uid, (long) gid);
if (message_ret)
*message_ret = buf;
return 0;
}
else
{
char buf [1024];
if (gid_errno)
{
sprintf (buf, "%s: couldn't set gid to %s (%ld)",
blurb(),
(g && g->gr_name ? g->gr_name : "???"),
(long) gid);
if (gid_errno == -1)
fprintf(stderr, "%s: unknown error\n", buf);
else
perror(buf);
}
if (uid_errno)
{
sprintf (buf, "%s: couldn't set uid to %s (%ld)",
blurb(),
(p && p->pw_name ? p->pw_name : "???"),
(long) uid);
if (uid_errno == -1)
fprintf(stderr, "%s: unknown error\n", buf);
else
perror(buf);
}
return -1;
}
}
/* If we've been run as setuid or setgid to someone else (most likely root)
turn off the extra permissions so that random user-specified programs
don't get special privileges. (On some systems it is necessary to install
this program as setuid root in order to read the passwd file to implement
lock-mode.)
*** WARNING: DO NOT DISABLE ANY OF THE FOLLOWING CODE!
If you do so, you will open a security hole. See the sections
of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
and "USING XDM".
*/
void
hack_uid (saver_info *si)
{
/* Discard privileges, and set the effective user/group ids to the
real user/group ids. That is, give up our "chmod +s" rights.
*/
{
uid_t euid = geteuid();
gid_t egid = getegid();
uid_t uid = getuid();
gid_t gid = getgid();
si->orig_uid = strdup (uid_gid_string (euid, egid));
if (uid != euid || gid != egid)
if (set_ids_by_number (uid, gid, &si->uid_message) != 0)
saver_exit (si, 1, 0);
}
/* Locking can't work when running as root, because we have no way of
knowing what the user id of the logged in user is (so we don't know
whose password to prompt for.)
*** WARNING: DO NOT DISABLE THIS CODE!
If you do so, you will open a security hole. See the sections
of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
and "USING XDM".
*/
if (getuid() == (uid_t) 0)
{
si->locking_disabled_p = True;
si->nolock_reason = "running as root";
}
/* If we're running as root, switch to a safer user. This is above and
beyond the fact that we've disabling locking, above -- the theory is
that running graphics demos as root is just always a stupid thing
to do, since they have probably never been security reviewed and are
more likely to be buggy than just about any other kind of program.
(And that assumes non-malicious code. There are also attacks here.)
*** WARNING: DO NOT DISABLE THIS CODE!
If you do so, you will open a security hole. See the sections
of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
and "USING XDM".
*/
if (getuid() == (uid_t) 0)
{
struct passwd *p;
p = getpwnam ("nobody");
if (! p) p = getpwnam ("noaccess");
if (! p) p = getpwnam ("daemon");
if (! p)
{
fprintf (stderr,
"%s: running as root, and couldn't find a safer uid.\n",
blurb());
saver_exit(si, 1, 0);
}
if (set_ids_by_number (p->pw_uid, p->pw_gid, &si->uid_message) != 0)
saver_exit (si, -1, 0);
}
/* If there's anything even remotely funny looking about the passwd struct,
or if we're running as some other user from the list below (a
non-comprehensive selection of users known to be privileged in some way,
and not normal end-users) then disable locking. If it was possible,
switching to "nobody" would be the thing to do, but only root itself has
the privs to do that.
*** WARNING: DO NOT DISABLE THIS CODE!
If you do so, you will open a security hole. See the sections
of the xscreensaver manual titled "LOCKING AND ROOT LOGINS",
and "USING XDM".
*/
{
uid_t uid = getuid (); /* get it again */
struct passwd *p = getpwuid (uid); /* get it again */
if (!p ||
uid == (uid_t) 0 ||
uid == (uid_t) -1 ||
uid == (uid_t) -2 ||
p->pw_uid == (uid_t) 0 ||
p->pw_uid == (uid_t) -1 ||
p->pw_uid == (uid_t) -2 ||
!p->pw_name ||
!*p->pw_name ||
!strcmp (p->pw_name, "root") ||
!strcmp (p->pw_name, "nobody") ||
!strcmp (p->pw_name, "noaccess") ||
!strcmp (p->pw_name, "operator") ||
!strcmp (p->pw_name, "daemon") ||
!strcmp (p->pw_name, "bin") ||
!strcmp (p->pw_name, "adm") ||
!strcmp (p->pw_name, "sys") ||
!strcmp (p->pw_name, "games"))
{
static char buf [1024];
sprintf (buf, "running as %s",
(p && p->pw_name && *p->pw_name
? p->pw_name : "<unknown>"));
si->nolock_reason = buf;
si->locking_disabled_p = True;
si->dangerous_uid_p = True;
}
}
}

View file

@ -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------------------------------------------------------|
xscreensaver: xscreensaver (a screen saver and locker for X)
xscreensaver:
xscreensaver: A modular screen saver and locker for the X Window System. Highly
xscreensaver: customizable: allows the use of any program that can draw on the
xscreensaver: root window as a display mode. More than 100 display modes are
xscreensaver: included in this package.
xscreensaver:
xscreensaver: Homepage: http://www.jwz.org/xscreensaver
xscreensaver:
xscreensaver:
xscreensaver:

View file

@ -0,0 +1,555 @@
#!/usr/bin/perl -w
# Copyright © 2001-2011 Jamie Zawinski <jwz@jwz.org>.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation. No representations are made about the suitability of this
# software for any purpose. It is provided "as is" without express or
# implied warranty.
#
# This program chooses a random file from under the given directory, and
# prints its name. The file will be an image file whose dimensions are
# larger than a certain minimum size.
#
# The various xscreensaver hacks that manipulate images ("jigsaw", etc.) get
# the image to manipulate by running the "xscreensaver-getimage" program.
#
# Under X11, the "xscreensaver-getimage" program invokes this script,
# depending on the value of the "chooseRandomImages" and "imageDirectory"
# settings in the ~/.xscreensaver file (or .../app-defaults/XScreenSaver).
# The screen savers invoke "xscreensaver-getimage" via utils/grabclient.c,
# which then invokes this script.
#
# Under Cocoa, this script lives inside the .saver bundle, and is invoked
# directly from utils/grabclient.c.
#
# Created: 12-Apr-01.
require 5;
#use diagnostics; # Fails on some MacOS 10.5 systems
use strict;
use POSIX;
use Fcntl;
use Fcntl ':flock'; # import LOCK_* constants
use POSIX ':fcntl_h'; # S_ISDIR was here in Perl 5.6
import Fcntl ':mode' unless defined &S_ISUID; # but it is here in Perl 5.8
# but in Perl 5.10, both of these load, and cause errors!
# So we have to check for S_ISUID instead of S_ISDIR? WTF?
use bytes; # Larry can take Unicode and shove it up his ass sideways.
# Perl 5.8.0 causes us to start getting incomprehensible
# errors about UTF-8 all over the place without this.
my $progname = $0; $progname =~ s@.*/@@g;
my $version = q{ $Revision: 1.29 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
my $verbose = 0;
# Whether to use MacOS X's Spotlight to generate the list of files.
# When set to -1, uses Spotlight if "mdfind" exists.
#
# (In my experience, this isn't actually any faster, and might not find
# everything if your Spotlight index is out of date, which happens often.)
#
my $use_spotlight_p = 0;
# Whether to cache the results of the last run.
#
my $cache_p = 1;
# Regenerate the cache if it is older than this many seconds.
#
my $cache_max_age = 60 * 60 * 3; # 3 hours
# This matches files that we are allowed to use as images (case-insensitive.)
# Anything not matching this is ignored. This is so you can point your
# imageDirectory at directory trees that have things other than images in
# them, but it assumes that you gave your images sensible file extensions.
#
my @good_extensions = ('jpg', 'jpeg', 'pjpeg', 'pjpg', 'png', 'gif',
'tif', 'tiff', 'xbm', 'xpm');
my $good_file_re = '\.(' . join("|", @good_extensions) . ')$';
# This matches file extensions that might occur in an image directory,
# and that are never used in the name of a subdirectory. This is an
# optimization that prevents us from having to stat() those files to
# tell whether they are directories or not. (It speeds things up a
# lot. Don't give your directories stupid names.)
#
my @nondir_extensions = ('ai', 'bmp', 'bz2', 'cr2', 'crw', 'db',
'dmg', 'eps', 'gz', 'hqx', 'htm', 'html', 'icns', 'ilbm', 'mov',
'nef', 'pbm', 'pdf', 'pl', 'ppm', 'ps', 'psd', 'sea', 'sh', 'shtml',
'tar', 'tgz', 'thb', 'txt', 'xcf', 'xmp', 'Z', 'zip' );
my $nondir_re = '\.(' . join("|", @nondir_extensions) . ')$';
# JPEG, GIF, and PNG files that are are smaller than this are rejected:
# this is so that you can use an image directory that contains both big
# images and thumbnails, and have it only select the big versions.
#
my $min_image_width = 255;
my $min_image_height = 255;
my @all_files = (); # list of "good" files we've collected
my %seen_inodes; # for breaking recursive symlink loops
# For diagnostic messages:
#
my $dir_count = 1; # number of directories seen
my $stat_count = 0; # number of files/dirs stat'ed
my $skip_count_unstat = 0; # number of files skipped without stat'ing
my $skip_count_stat = 0; # number of files skipped after stat
sub find_all_files($);
sub find_all_files($) {
my ($dir) = @_;
print STDERR "$progname: + reading dir $dir/...\n" if ($verbose > 1);
my $dd;
if (! opendir ($dd, $dir)) {
print STDERR "$progname: couldn't open $dir: $!\n" if ($verbose);
return;
}
my @files = readdir ($dd);
closedir ($dd);
my @dirs = ();
foreach my $file (@files) {
next if ($file =~ m/^\./); # silently ignore dot files/dirs
if ($file =~ m/[~%\#]$/) { # ignore backup files (and dirs...)
$skip_count_unstat++;
print STDERR "$progname: - skip file $file\n" if ($verbose > 1);
}
$file = "$dir/$file";
if ($file =~ m/$good_file_re/io) {
#
# Assume that files ending in .jpg exist and are not directories.
#
push @all_files, $file;
print STDERR "$progname: - found file $file\n" if ($verbose > 1);
} elsif ($file =~ m/$nondir_re/io) {
#
# Assume that files ending in .html are not directories.
#
$skip_count_unstat++;
print STDERR "$progname: -- skip file $file\n" if ($verbose > 1);
} else {
#
# Now we need to stat the file to see if it's a subdirectory.
#
# Note: we could use the trick of checking "nlinks" on the parent
# directory to see if this directory contains any subdirectories,
# but that would exclude any symlinks to directories.
#
my @st = stat($file);
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks) = @st;
$stat_count++;
if ($#st == -1) {
if ($verbose) {
my $ll = readlink $file;
if (defined ($ll)) {
print STDERR "$progname: + dangling symlink: $file -> $ll\n";
} else {
print STDERR "$progname: + unreadable: $file\n";
}
}
next;
}
next if ($seen_inodes{"$dev:$ino"}); # break symlink loops
$seen_inodes{"$dev:$ino"} = 1;
if (S_ISDIR($mode)) {
push @dirs, $file;
$dir_count++;
print STDERR "$progname: + found dir $file\n" if ($verbose > 1);
} else {
$skip_count_stat++;
print STDERR "$progname: + skip file $file\n" if ($verbose > 1);
}
}
}
foreach (@dirs) {
find_all_files ($_);
}
}
sub spotlight_all_files($) {
my ($dir) = @_;
my @terms = ();
# "public.image" matches all (indexed) images, including Photoshop, etc.
# push @terms, "kMDItemContentTypeTree == 'public.image'";
foreach (@good_extensions) {
# kMDItemFSName hits the file system every time: much worse than "find".
# push @terms, "kMDItemFSName == '*.$_'";
# kMDItemDisplayName matches against the name in the Spotlight index,
# but won't find files that (for whatever reason) didn't get indexed.
push @terms, "kMDItemDisplayName == '*.$_'";
}
$dir =~ s@([^-_/a-z\d.,])@\\$1@gsi; # quote for sh
my $cmd = "mdfind -onlyin $dir \"" . join (' || ', @terms) . "\"";
print STDERR "$progname: executing: $cmd\n" if ($verbose > 1);
@all_files = split (/[\r\n]+/, `$cmd`);
}
# If we're using cacheing, read the cache file and return its contents,
# if any. This also holds an exclusive lock on the cache file, which
# has the additional benefit that if two copies of this program are
# running at once, one will wait for the other, instead of both of
# them spanking the same file system at the same time.
#
my $cache_fd = undef;
my $cache_file_name = undef;
my $read_cache_p = 0;
sub read_cache($) {
my ($dir) = @_;
return () unless ($cache_p);
my $dd = "$ENV{HOME}/Library/Caches"; # MacOS location
if (-d $dd) {
$cache_file_name = "$dd/org.jwz.xscreensaver.getimage.cache";
} elsif (-d "$ENV{HOME}/tmp") {
$cache_file_name = "$ENV{HOME}/tmp/.xscreensaver-getimage.cache";
} else {
$cache_file_name = "$ENV{HOME}/.xscreensaver-getimage.cache";
}
print STDERR "$progname: awaiting lock: $cache_file_name\n"
if ($verbose > 1);
my $file = $cache_file_name;
open ($cache_fd, '+>>', $file) || error ("unable to write $file: $!");
flock ($cache_fd, LOCK_EX) || error ("unable to lock $file: $!");
seek ($cache_fd, 0, 0) || error ("unable to rewind $file: $!");
my $mtime = (stat($cache_fd))[9];
if ($mtime + $cache_max_age < time) {
print STDERR "$progname: cache is too old\n" if ($verbose);
return ();
}
my $odir = <$cache_fd>;
$odir =~ s/[\r\n]+$//s if defined ($odir);
if (!defined ($odir) || ($dir ne $odir)) {
print STDERR "$progname: cache is for $odir, not $dir\n"
if ($verbose && $odir);
return ();
}
my @files = ();
while (<$cache_fd>) {
s/[\r\n]+$//s;
push @files, "$odir/$_";
}
print STDERR "$progname: " . ($#files+1) . " files in cache\n"
if ($verbose);
$read_cache_p = 1;
return @files;
}
sub write_cache($) {
my ($dir) = @_;
return unless ($cache_p);
# If we read the cache, just close it without rewriting it.
# If we didn't read it, then write it now.
if (! $read_cache_p) {
truncate ($cache_fd, 0) ||
error ("unable to truncate $cache_file_name: $!");
seek ($cache_fd, 0, 0) ||
error ("unable to rewind $cache_file_name: $!");
if ($#all_files >= 0) {
print $cache_fd "$dir\n";
foreach (@all_files) {
my $f = $_; # stupid Perl. do this to avoid modifying @all_files!
$f =~ s@^\Q$dir\L/@@so || die; # remove $dir from front
print $cache_fd "$f\n";
}
}
print STDERR "$progname: cached " . ($#all_files+1) . " files\n"
if ($verbose);
}
flock ($cache_fd, LOCK_UN) ||
error ("unable to unlock $cache_file_name: $!");
close ($cache_fd);
$cache_fd = undef;
}
sub find_random_file($) {
my ($dir) = @_;
if ($use_spotlight_p == -1) {
$use_spotlight_p = 0;
if (-x '/usr/bin/mdfind') {
$use_spotlight_p = 1;
}
}
@all_files = read_cache ($dir);
if ($#all_files >= 0) {
# got it from the cache...
} elsif ($use_spotlight_p) {
print STDERR "$progname: spotlighting $dir...\n" if ($verbose);
spotlight_all_files ($dir);
print STDERR "$progname: found " . ($#all_files+1) .
" file" . ($#all_files == 0 ? "" : "s") .
" via Spotlight\n"
if ($verbose);
} else {
print STDERR "$progname: recursively reading $dir...\n" if ($verbose);
find_all_files ($dir);
print STDERR "$progname: " .
"f=" . ($#all_files+1) . "; " .
"d=$dir_count; " .
"s=$stat_count; " .
"skip=${skip_count_unstat}+$skip_count_stat=" .
($skip_count_unstat + $skip_count_stat) .
".\n"
if ($verbose);
}
write_cache ($dir);
# @all_files = sort(@all_files);
if ($#all_files < 0) {
print STDERR "$progname: no files in $dir\n";
exit 1;
}
my $max_tries = 50;
for (my $i = 0; $i < $max_tries; $i++) {
my $n = int (rand ($#all_files + 1));
my $file = $all_files[$n];
if (large_enough_p ($file)) {
$file =~ s@^\Q$dir\L/@@so || die; # remove $dir from front
return $file;
}
}
print STDERR "$progname: no suitable images in $dir " .
"(after $max_tries tries)\n";
exit 1;
}
sub large_enough_p($) {
my ($file) = @_;
my ($w, $h) = image_file_size ($file);
if (!defined ($h)) {
print STDERR "$progname: $file: unable to determine image size\n"
if ($verbose);
# Assume that unknown files are of good sizes: this will happen if
# they matched $good_file_re, but we don't have code to parse them.
# (This will also happen if the file is junk...)
return 1;
}
if ($w < $min_image_width || $h < $min_image_height) {
print STDERR "$progname: $file: too small ($w x $h)\n" if ($verbose);
return 0;
}
print STDERR "$progname: $file: $w x $h\n" if ($verbose);
return 1;
}
# Given the raw body of a GIF document, returns the dimensions of the image.
#
sub gif_size($) {
my ($body) = @_;
my $type = substr($body, 0, 6);
my $s;
return () unless ($type =~ /GIF8[7,9]a/);
$s = substr ($body, 6, 10);
my ($a,$b,$c,$d) = unpack ("C"x4, $s);
return (($b<<8|$a), ($d<<8|$c));
}
# Given the raw body of a JPEG document, returns the dimensions of the image.
#
sub jpeg_size($) {
my ($body) = @_;
my $i = 0;
my $L = length($body);
my $c1 = substr($body, $i, 1); $i++;
my $c2 = substr($body, $i, 1); $i++;
return () unless (ord($c1) == 0xFF && ord($c2) == 0xD8);
my $ch = "0";
while (ord($ch) != 0xDA && $i < $L) {
# Find next marker, beginning with 0xFF.
while (ord($ch) != 0xFF) {
return () if (length($body) <= $i);
$ch = substr($body, $i, 1); $i++;
}
# markers can be padded with any number of 0xFF.
while (ord($ch) == 0xFF) {
return () if (length($body) <= $i);
$ch = substr($body, $i, 1); $i++;
}
# $ch contains the value of the marker.
my $marker = ord($ch);
if (($marker >= 0xC0) &&
($marker <= 0xCF) &&
($marker != 0xC4) &&
($marker != 0xCC)) { # it's a SOFn marker
$i += 3;
return () if (length($body) <= $i);
my $s = substr($body, $i, 4); $i += 4;
my ($a,$b,$c,$d) = unpack("C"x4, $s);
return (($c<<8|$d), ($a<<8|$b));
} else {
# We must skip variables, since FFs in variable names aren't
# valid JPEG markers.
return () if (length($body) <= $i);
my $s = substr($body, $i, 2); $i += 2;
my ($c1, $c2) = unpack ("C"x2, $s);
my $length = ($c1 << 8) | $c2;
return () if ($length < 2);
$i += $length-2;
}
}
return ();
}
# Given the raw body of a PNG document, returns the dimensions of the image.
#
sub png_size($) {
my ($body) = @_;
return () unless ($body =~ m/^\211PNG\r/s);
my ($bits) = ($body =~ m/^.{12}(.{12})/s);
return () unless defined ($bits);
return () unless ($bits =~ /^IHDR/);
my ($ign, $w, $h) = unpack("a4N2", $bits);
return ($w, $h);
}
# Given the raw body of a GIF, JPEG, or PNG document, returns the dimensions
# of the image.
#
sub image_size($) {
my ($body) = @_;
return () if (length($body) < 10);
my ($w, $h) = gif_size ($body);
if ($w && $h) { return ($w, $h); }
($w, $h) = jpeg_size ($body);
if ($w && $h) { return ($w, $h); }
# #### TODO: need image parsers for TIFF, XPM, XBM.
return png_size ($body);
}
# Returns the dimensions of the image file.
#
sub image_file_size($) {
my ($file) = @_;
my $in;
if (! open ($in, '<', $file)) {
print STDERR "$progname: $file: $!\n" if ($verbose);
return undef;
}
binmode ($in); # Larry can take Unicode and shove it up his ass sideways.
my $body = '';
sysread ($in, $body, 1024 * 50); # The first 50k should be enough.
close $in; # (It's not for certain huge jpegs...
return image_size ($body); # but we know they're huge!)
}
sub error($) {
my ($err) = @_;
print STDERR "$progname: $err\n";
exit 1;
}
sub usage() {
print STDERR "usage: $progname [--verbose] directory\n" .
" Prints the name of a randomly-selected image file. The directory\n" .
" is searched recursively. Images smaller than " .
"${min_image_width}x${min_image_height} are excluded.\n";
exit 1;
}
sub main() {
my $dir = undef;
while ($_ = $ARGV[0]) {
shift @ARGV;
if ($_ eq "--verbose") { $verbose++; }
elsif (m/^-v+$/) { $verbose += length($_)-1; }
elsif ($_ eq "--name") { } # ignored, for compatibility
elsif ($_ eq "--spotlight") { $use_spotlight_p = 1; }
elsif ($_ eq "--no-spotlight") { $use_spotlight_p = 0; }
elsif ($_ eq "--cache") { $cache_p = 1; }
elsif ($_ eq "--no-cache") { $cache_p = 0; }
elsif (m/^-./) { usage; }
elsif (!defined($dir)) { $dir = $_; }
else { usage; }
}
usage unless (defined($dir));
$dir =~ s@^~/@$ENV{HOME}/@s; # allow literal "~/"
$dir =~ s@/+$@@s; # omit trailing /
if (! -d $dir) {
print STDERR "$progname: $dir: not a directory\n";
usage;
}
my $file = find_random_file ($dir);
print STDOUT "$file\n";
}
main;
exit 0;

View file

@ -0,0 +1,174 @@
#!/bin/bash
# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2016, 2018, 2019, 2020, 2021, 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=xscreensaver
VERSION=${VERSION:-$(echo xscreensaver-*.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" = "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-xscreensaver
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf xscreensaver-$VERSION
tar xvf $CWD/xscreensaver-$VERSION.tar.?z || exit 1
cd xscreensaver-$VERSION
if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
USE_PAM="--with-pam"
unset USE_SHADOW
else
## NOTE: The patch below (and support for setgid shadow) is broken and
## unmaintained. But the broken bits will be left as hints for anyone
## down the line who might care.
# Allow xscreensaver to work setgid shadow. I'd rather avoid requiring
# setuid root on this if at all possible...
#zcat $CWD/xscreensaver.setuid.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
unset USE_PAM
USE_SHADOW="--with-shadow"
fi
# Add support for the electricsheep distributed screensaver:
zcat $CWD/xscreensaver.electricsheep.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
# Remove a feature that pops up a nag screen claiming the version is old
# after one year. Just don't send in bug reports on an old version, OK folks?
# I hate to swim against upstream, but with all respect this feature is not
# helpful to distributions.
zcat $CWD/xscreensaver.no.expiration.date.diff.gz | patch -p1 --verbose --backup --suffix=.orig || 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 {} \+
xml_config=/usr/bin/xml-config xml2_config=/usr/bin/xml2-config \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--with-app-defaults=/etc/X11/app-defaults \
--with-text-file=/usr/doc/netdate/COPYRIGHT \
$USE_SHADOW \
$USE_PAM \
--without-kerberos \
--with-jpeg \
--with-gl \
--build=$ARCH-slackware-linux || exit 1
# Build:
make $NUMJOBS || make || exit 1
make install_prefix=$PKG install-strip || exit 1
if [ -z $USE_PAM ]; then
# Needed for password unlock:
chown root:shadow $PKG/usr/bin/xscreensaver
chmod 2751 $PKG/usr/bin/xscreensaver
else
## Commenting out the chmod below, since as of v6.00 this binary is no longer
## made setuid at installation. But if that changes, we'll go along with it
## since jwz says it may be required to prevent OOM killer abuse from
## unlocking the screen.
# No special perms needed with PAM:
#chmod 755 $PKG/usr/bin/xscreensaver
mkdir -p $PKG/etc/pam.d
cat $CWD/xscreensaver.pam > $PKG/etc/pam.d/xscreensaver.new
mkdir -p $PKG/install
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
fi
# This is needed for the menus:
mkdir -p $PKG/usr/share/pixmaps
mkdir -p $PKG/etc
mkdir -p $PKG/usr/doc/xscreensaver-$VERSION
cp -a \
README* \
$PKG/usr/doc/xscreensaver-$VERSION
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
for manpagedir in $(find . -type d -name "man*") ; do
( cd $manpagedir
for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do
ln -s $( readlink $eachpage ).gz $eachpage.gz
rm $eachpage
done
gzip -9 *.?
)
done
)
fi
# Insert an older version of xscreensaver-getimage-file to avoid depending
# on libwww-perl. Maybe we'll eventually add this, but bundling 14 perl
# modules is a lot of maintainance just to get slidescreen working again.
# This restores the functionality that we had before without all that.
cat $CWD/xscreensaver-getimage-file-5.14 > $PKG/usr/bin/xscreensaver-getimage-file
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/xscreensaver-$VERSION-$ARCH-$BUILD.txz

View file

@ -0,0 +1,20 @@
--- ./driver/XScreenSaver.ad.in.orig 2022-12-11 14:32:55.000000000 -0600
+++ ./driver/XScreenSaver.ad.in 2022-12-12 13:21:20.761072115 -0600
@@ -411,6 +411,7 @@
spotlight --root \n\
squiral --root \n\
wander --root \n\
+ electricsheep --root 1 \n\
xflame --root \n\
xmatrix --root \n\
@GL_KLUDGE@ GL: gflux --root \n\
--- ./driver/XScreenSaver_ad.h.orig 2022-12-11 15:08:39.000000000 -0600
+++ ./driver/XScreenSaver_ad.h 2022-12-12 13:21:24.404072196 -0600
@@ -266,6 +266,7 @@
spotlight --root \\n\
squiral --root \\n\
wander --root \\n\
+ electricsheep --root 1 \\n\
xflame --root \\n\
xmatrix --root \\n\
GL: gflux --root \\n\

View file

@ -0,0 +1,30 @@
--- ./driver/dialog.c.orig 2021-10-04 17:18:28.000000000 -0500
+++ ./driver/dialog.c 2023-03-05 14:03:13.158084489 -0600
@@ -1333,6 +1333,15 @@
lines[i].align = CENTER;
i++;
+/*
+ NOTE: This feature is disabled by Slackware... we do not ship multi-year
+ old versions, nor do we think it is a good idea to include nag screens
+ that activate when an expiration date is reached. In this case, the
+ nag screen was activated after only one year, which practically insures
+ that this will be seen before the next stable Slackware release.
+ If there's a problem that needs fixing, we'll issue a fix.
+ No nag screens please. Thanks for possibly reconsidering this!
+
if (time ((time_t *) 0) - XSCREENSAVER_RELEASED > 60*60*24*30*17)
{
lines[i].text = _("Update available!\nThis version is very old.\n");
@@ -1343,7 +1352,10 @@
lines[i].align = CENTER;
i++;
}
- else if (strstr (ws->version, "a") ||
+ else
+*/
+
+ if (strstr (ws->version, "a") ||
strstr (ws->version, "b"))
{
lines[i].text = _("PRE-RELEASE VERSION");

View file

@ -0,0 +1,3 @@
#%PAM-1.0
auth include system-auth

View file

@ -0,0 +1,179 @@
--- ./driver/setuid.c.orig 2006-02-08 20:28:38.000000000 -0600
+++ ./driver/setuid.c 2006-04-04 16:48:08.000000000 -0500
@@ -1,5 +1,5 @@
/* setuid.c --- management of runtime privileges.
- * xscreensaver, Copyright (c) 1993-1998, 2005 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -41,7 +41,7 @@
struct group *g = 0;
p = getpwuid (uid);
g = getgrgid (gid);
- sprintf (buf, "%.100s/%.100s (%ld/%ld)",
+ sprintf (buf, "%s/%s (%ld/%ld)",
(p && p->pw_name ? p->pw_name : "???"),
(g && g->gr_name ? g->gr_name : "???"),
(long) uid, (long) gid);
@@ -74,50 +74,11 @@
}
-/* Returns true if we need to call setgroups().
-
- Without calling setgroups(), the process will retain any supplementary
- gids associated with the uid, e.g.:
-
- % groups root
- root : root bin daemon sys adm disk wheel
-
- However, setgroups() can only be called by root, and returns EPERM
- for other users even if the call would be a no-op (e.g., setting the
- group list to the current list.) So, to avoid that spurious error,
- before calling setgroups() we first check whether the current list
- of groups contains only one element, our target group. If so, we
- don't need to call setgroups().
- */
-static int
-setgroups_needed_p (uid_t target_group)
-{
- gid_t groups[1024];
- int n, size;
- size = sizeof(groups) / sizeof(gid_t);
- n = getgroups (size - 1, groups);
- if (n < 0)
- {
- char buf [1024];
- sprintf (buf, "%s: getgroups(%ld, ...)", blurb(), (long int)(size - 1));
- perror (buf);
- return 1;
- }
- else if (n == 0) /* an empty list means only egid is in effect. */
- return 0;
- else if (n == 1 && groups[0] == target_group) /* one element, the target */
- return 0;
- else /* more than one, or the wrong one. */
- return 1;
-}
-
-
static int
set_ids_by_number (uid_t uid, gid_t gid, char **message_ret)
{
int uid_errno = 0;
int gid_errno = 0;
- int sgs_errno = 0;
struct passwd *p = getpwuid (uid);
struct group *g = getgrgid (gid);
@@ -136,11 +97,6 @@
if (uid == (uid_t) -1) uid = (uid_t) -2;
errno = 0;
- if (setgroups_needed_p (gid) &&
- setgroups (1, &gid) < 0)
- sgs_errno = errno ? errno : -1;
-
- errno = 0;
if (setgid (gid) != 0)
gid_errno = errno ? errno : -1;
@@ -148,10 +104,10 @@
if (setuid (uid) != 0)
uid_errno = errno ? errno : -1;
- if (uid_errno == 0 && gid_errno == 0 && sgs_errno == 0)
+ if (uid_errno == 0 && gid_errno == 0)
{
static char buf [1024];
- sprintf (buf, "changed uid/gid to %.100s/%.100s (%ld/%ld).",
+ sprintf (buf, "changed uid/gid to %s/%s (%ld/%ld).",
(p && p->pw_name ? p->pw_name : "???"),
(g && g->gr_name ? g->gr_name : "???"),
(long) uid, (long) gid);
@@ -162,71 +118,28 @@
else
{
char buf [1024];
- gid_t groups[1024];
- int n, size;
-
- if (sgs_errno)
- {
- sprintf (buf, "%s: couldn't setgroups to %.100s (%ld)",
- blurb(),
- (g && g->gr_name ? g->gr_name : "???"),
- (long) gid);
- if (sgs_errno == -1)
- fprintf(stderr, "%s: unknown error\n", buf);
- else
- {
- errno = sgs_errno;
- perror(buf);
- }
-
- fprintf (stderr, "%s: effective group list: ", blurb());
- size = sizeof(groups) / sizeof(gid_t);
- n = getgroups (size - 1, groups);
- if (n < 0)
- fprintf (stderr, "unknown!\n");
- else
- {
- int i;
- fprintf (stderr, "[");
- for (i = 0; i < n; i++)
- {
- g = getgrgid (groups[i]);
- if (i > 0) fprintf (stderr, ", ");
- if (g && g->gr_name) fprintf (stderr, "%s", g->gr_name);
- else fprintf (stderr, "%ld", (long) groups[i]);
- }
- fprintf (stderr, "]\n");
- }
- }
-
if (gid_errno)
{
- sprintf (buf, "%s: couldn't set gid to %.100s (%ld)",
+ sprintf (buf, "%s: couldn't set gid to %s (%ld)",
blurb(),
(g && g->gr_name ? g->gr_name : "???"),
(long) gid);
if (gid_errno == -1)
fprintf(stderr, "%s: unknown error\n", buf);
else
- {
- errno = gid_errno;
- perror(buf);
- }
+ perror(buf);
}
if (uid_errno)
{
- sprintf (buf, "%s: couldn't set uid to %.100s (%ld)",
+ sprintf (buf, "%s: couldn't set uid to %s (%ld)",
blurb(),
(p && p->pw_name ? p->pw_name : "???"),
(long) uid);
if (uid_errno == -1)
fprintf(stderr, "%s: unknown error\n", buf);
else
- {
- errno = uid_errno;
- perror(buf);
- }
+ perror(buf);
}
return -1;
@@ -350,7 +263,7 @@
!strcmp (p->pw_name, "games"))
{
static char buf [1024];
- sprintf (buf, "running as %.100s",
+ sprintf (buf, "running as %s",
(p && p->pw_name && *p->pw_name
? p->pw_name : "<unknown>"));
si->nolock_reason = buf;

View file

@ -1253,6 +1253,11 @@ gzip ./patches/source/xorg-server/patch/xorg-server/CVE-2022-3550.patch
gzip ./patches/source/xorg-server/patch/xorg-server/06_use-intel-only-on-pre-gen4.diff
gzip ./patches/source/xorg-server/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch
gzip ./patches/source/xorg-server/patch/xorg-server/0001-f1070c01d616c5f21f939d5ebc533738779451ac.patch
gzip ./patches/source/xscreensaver/setuid.c
gzip ./patches/source/xscreensaver/xscreensaver.electricsheep.diff
gzip ./patches/source/xscreensaver/doinst.sh
gzip ./patches/source/xscreensaver/xscreensaver.setuid.diff
gzip ./patches/source/xscreensaver/xscreensaver.no.expiration.date.diff
gzip ./patches/source/util-linux/setserial-undef_TIOCGHAYESESP.diff
gzip ./patches/source/util-linux/setserial-rc.serial.diff
gzip ./patches/source/util-linux/util-linux.do.not.list.ram.devices.diff