Compare commits

...
Sign in to create a new pull request.

31 commits

Author SHA1 Message Date
Mamoru TASAKA
814fbc858f 6.13 2025-12-06 16:26:02 +09:00
Dominik 'Rathann' Mierzejewski
e22ca19c36 Rebuilt for FFmpeg 8 2025-11-06 13:13:46 +01:00
Mamoru TASAKA
3cf3d0a6c6 use git am style 2025-10-25 17:29:40 +09:00
Mamoru TASAKA
04745ac61d rename patch 2025-10-25 17:27:23 +09:00
Dominik 'Rathann' Mierzejewski
52f33dad66 Rebuilt for FFmpeg 8 2025-10-17 11:49:30 +02:00
Fedora Release Engineering
4a17292aca Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 21:05:08 +00:00
Mamoru TASAKA
0cebd29267 Fix heap buffer overflow on xscreensaver-settings when reading previous hack 2025-07-12 00:09:00 +09:00
Mamoru TASAKA
4d2b7f22ee 6.12 2025-07-11 20:19:16 +09:00
Mamoru TASAKA
ccb6f81ac8 Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708) 2025-05-26 16:30:17 +09:00
Mamoru TASAKA
949dd9237c Update to 6.10.1 2025-04-29 17:25:45 +09:00
Björn Esser
0007c18129
Add explicit BR: libxcrypt-devel
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2025-02-01 19:58:22 +01:00
Fedora Release Engineering
8597577c41 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 16:19:03 +00:00
Fabio Valentini
7bcdc92a6c
Rebuild for ffmpeg 7 2024-09-23 17:03:17 +02:00
Fedora Release Engineering
c80b323b6d Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 10:28:55 +00:00
Mamoru TASAKA
72bf9c8faa Update to 6.09 2024-06-11 16:47:53 +09:00
Fedora Release Engineering
16ff1169f9 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 10:12:07 +00:00
Mamoru TASAKA
888a18ebbe Update to 6.08 2023-10-17 22:48:54 +09:00
Mamoru TASAKA
2074248c6b Fix compilation to make --with-record-animation really work 2023-09-08 00:02:52 +09:00
Mamoru TASAKA
371478a9dd Fix patch again 2023-09-03 16:29:59 +09:00
Mamoru TASAKA
3db785d2ab fix patch 2023-09-01 20:10:09 +09:00
Mamoru TASAKA
6f9d841725 more shift overflow fix 2023-09-01 19:16:30 +09:00
Mamoru TASAKA
2eaef5299a upload source 2023-09-01 17:19:41 +09:00
Mamoru TASAKA
2588b3ac00 6.07 entry 2023-09-01 17:17:13 +09:00
Mamoru TASAKA
b4586eeb6d Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild 2023-07-22 23:48:18 +09:00
Mamoru TASAKA
29429d8293 distort_reset: restrict radius by xgwa correctly (bug 2174626) 2023-03-02 21:50:21 +09:00
Mamoru TASAKA
692ca7daf7 rename patch 2023-03-02 21:46:27 +09:00
Mamoru TASAKA
460f696abf really apply patch 2023-02-15 17:37:31 +09:00
Mamoru TASAKA
05ef70e2d8 merge 2023-02-15 17:30:23 +09:00
Mamoru TASAKA
730e096eae Make -base subpackage require -gl-base (debian bug 1030659)
switch_page_cb: backport debian fix for DPMS settings issue
2023-02-15 17:29:10 +09:00
Fedora Release Engineering
b6bddd6d26 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 07:52:51 +00:00
Mamoru TASAKA
315c454651 Update to 6.06 2022-12-12 16:10:02 +09:00
14 changed files with 282 additions and 413 deletions

View file

@ -0,0 +1,10 @@
boobies
boobs
cock
flatulence
hemorrhoid
heroin
pussy
rectum
viagra
vibrator

View file

@ -1 +1 @@
SHA512 (xscreensaver-6.05.1.tar.gz) = c659a769ff71020b9f96b7e707bd1bcc667eb304179305d56b1be45eed095d650a8aa019890a0c5d444672f9dd68516c99c53b0df94cd96196d7f30a24b987e3
SHA512 (xscreensaver-6.13.tar.gz) = 1ab42c0d0bf31b6d25e543d44c2ff41f48ef229ffce3a02f82495c1ef9c9452eddec4abe1cd7705220c6491562361f8cd0cca8bce9875ff80a765816574bf8ac

View file

@ -1,96 +0,0 @@
From 0d26e4514d7d6c90d2c5e35749c0b83121a66b77 Mon Sep 17 00:00:00 2001
From: "mtasaka@fedoraproject.org" <mtasaka@fedoraproject.org>
Date: Tue, 7 Feb 2017 16:40:52 +0900
Subject: [PATCH] misc: kill gcc warn_unused_result warnings
Remove misc warnings generated gcc -Wall with
"warning: ignoring return value of 'foo',
declared with attribute warn_unused_result".
For setuid() and fgets(), really check the returned value.
For system(), for now just use empty body to avoid this
warning. Note that casting the result to (void) does not
remove these warnings.
---
driver/demo-Gtk.c | 9 +++++++--
hacks/glx/sonar-icmp.c | 2 +-
hacks/glx/sonar.c | 5 +++--
hacks/recanim.c | 6 +++++-
4 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
index f5c4839..7c34846 100644
--- a/driver/demo-Gtk.c
+++ b/driver/demo-Gtk.c
@@ -4423,7 +4423,8 @@ kde_screensaver_active_p (void)
FILE *p = popen ("dcop kdesktop KScreensaverIface isEnabled 2>/dev/null",
"r");
char buf[255];
- fgets (buf, sizeof(buf)-1, p);
+ if (!p) return False;
+ if (!fgets (buf, sizeof(buf)-1, p)) return False;
pclose (p);
if (!strcmp (buf, "true\n"))
return True;
@@ -4434,7 +4435,11 @@ kde_screensaver_active_p (void)
static void
kill_kde_screensaver (void)
{
- system ("dcop kdesktop KScreensaverIface enable false");
+ /* Use empty body to kill warning from gcc -Wall with
+ "warning: ignoring return value of 'system',
+ declared with attribute warn_unused_result"
+ */
+ if (system ("dcop kdesktop KScreensaverIface enable false")) {}
}
diff --git a/hacks/glx/sonar-icmp.c b/hacks/glx/sonar-icmp.c
index 8256270..26eb90d 100644
--- a/hacks/glx/sonar-icmp.c
+++ b/hacks/glx/sonar-icmp.c
@@ -1634,7 +1634,7 @@ sonar_init_ping (Display *dpy, char **error_ret, char **desc_ret,
fprintf (stderr, "%s: unable to open icmp socket\n", progname);
/* Disavow privs */
- setuid(getuid());
+ if (setuid(getuid()) == -1) abort();
pd->pid = getpid() & 0xFFFF;
pd->seq = 0;
diff --git a/hacks/glx/sonar.c b/hacks/glx/sonar.c
index f3a4d9d..2c6ca5b 100644
--- a/hacks/glx/sonar.c
+++ b/hacks/glx/sonar.c
@@ -930,8 +930,9 @@ init_sensor (ModeInfo *mi)
sp->ssd = sonar_init_ping (MI_DISPLAY (mi), &sp->error, &sp->desc,
ping_arg, ping_timeout, resolve_p, times_p,
debug_p);
- else
- setuid(getuid()); /* Disavow privs if not pinging. */
+ else {
+ if (setuid(getuid()) == -1) abort(); /* Disavow privs if not pinging. */
+ }
sp->start_time = double_time (); /* for error message timing */
diff --git a/hacks/recanim.c b/hacks/recanim.c
index 51379ed..a526c25 100644
--- a/hacks/recanim.c
+++ b/hacks/recanim.c
@@ -324,7 +324,11 @@ screenhack_record_anim_free (record_anim_state *st)
" 2>&-",
fn);
fprintf (stderr, "%s: exec: %s\n", progname, cmd);
- system (cmd);
+ /* Use empty body to kill warning from gcc -Wall with
+ "warning: ignoring return value of 'system',
+ declared with attribute warn_unused_result"
+ */
+ if (system (cmd)) {}
if (stat (fn, &s))
{
--
2.9.3

View file

@ -1,77 +1,12 @@
From d8ba605b7779ce5d2fc893c44fc2986ecf176e47 Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Wed, 9 Dec 2020 22:12:09 +0900
Subject: [PATCH] barcode / glsnake: sanitize the names of modes
Subject: [PATCH] glsnake: sanitize the names of modes
---
hacks/barcode.c | 10 ----------
hacks/glx/glsnake.c | 12 ++++++------
2 files changed, 6 insertions(+), 16 deletions(-)
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/hacks/barcode.c b/hacks/barcode.c
index 20c2f38..ba3e2b2 100644
--- a/hacks/barcode.c
+++ b/hacks/barcode.c
@@ -122,8 +122,6 @@ static const char *words[] =
"bird flu",
"bliss",
"bogosity",
- "boobies",
- "boobs",
"booty",
"bread",
"brogrammers",
@@ -139,7 +137,6 @@ static const char *words[] =
"chocolate",
"chupacabra",
"CLONE",
- "cock",
"congress",
"constriction",
"contrition",
@@ -184,7 +181,6 @@ static const char *words[] =
"fear",
"fever",
"filth",
- "flatulence",
"fluff",
"fnord",
"followers",
@@ -202,9 +198,7 @@ static const char *words[] =
"happiness",
"hate",
"helplessness",
- "hemorrhoid",
"hermaphrodite",
- "heroin",
"heroine",
"hope",
"hysteria",
@@ -286,7 +280,6 @@ static const char *words[] =
"punishment",
"punk rock",
"punk",
- "pussy",
"quagmire",
"quarantine",
"quartz",
@@ -295,7 +288,6 @@ static const char *words[] =
"rage",
"readout",
"reality",
- "rectum",
"reject",
"rejection",
"respect",
@@ -365,8 +357,6 @@ static const char *words[] =
"venom",
"verifiability",
"very fine people",
- "viagra",
- "vibrator",
"victim",
"vignette",
"villainy",
diff --git a/hacks/glx/glsnake.c b/hacks/glx/glsnake.c
index 8efc681..125df90 100644
--- a/hacks/glx/glsnake.c

View file

@ -1,31 +0,0 @@
From 8e78268b11e76648a2d7924bb5ed402e9f926a85 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sun, 23 Oct 2022 01:03:21 +0900
Subject: [PATCH] demo-Gtk.c/main: enable localization again
Even if demo-Gtk.c switched to use g_application_run(), for localization
gettext stuff must be called.
---
driver/demo-Gtk.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
index 442dac1..404fc88 100644
--- a/driver/demo-Gtk.c
+++ b/driver/demo-Gtk.c
@@ -5094,6 +5094,12 @@ main (int argc, char *argv[])
if (s) progname = s+1;
g_log_set_default_handler (g_logger, NULL);
g_log_set_writer_func (g_other_logger, NULL, NULL);
+# ifdef ENABLE_NLS
+ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+ textdomain (GETTEXT_PACKAGE);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+# endif /* ENABLE_NLS */
+
return g_application_run (G_APPLICATION (xscreensaver_app_new()),
argc, argv);
}
--
2.38.1

View file

@ -1,33 +0,0 @@
From ae526a4276abeccdd0b0c738dea903c5575a52b6 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sun, 23 Oct 2022 02:41:03 +0900
Subject: [PATCH] demo-Gtk.c/populate_prefs_page: use correct pointer for
pref_changed_cb
With xscreensaver 6.05. xscreensaver-settings causes segfault when
trying to choose another theme for auth window. This is because
in populate_prefs_page() wrong pointer is passed to pref_changed_cb(),
then XSCREENSAVER_WINDOW cast complains.
The first line in populate_prefs_page() actually writes what pointer
should be used - use the same pointer here.
---
driver/demo-Gtk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
index 404fc88..aa85923 100644
--- a/driver/demo-Gtk.c
+++ b/driver/demo-Gtk.c
@@ -2518,7 +2518,7 @@ populate_prefs_page (state *s)
if (! signal_connected_p)
{
g_signal_connect (G_OBJECT (cbox), "changed",
- G_CALLBACK (pref_changed_cb), (gpointer) s);
+ G_CALLBACK (pref_changed_cb), (gpointer) s->window);
signal_connected_p = TRUE;
}
}
--
2.38.1

View file

@ -1,37 +0,0 @@
From daa5f3b4c1fe953527e3d58e8e511378e3411ef2 Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Fri, 4 Nov 2022 15:48:01 +0900
Subject: [PATCH] hacks/fonts: fix installation on out-of-source build
Fix the following error when doing out-of-source build:
```
make[1]: Entering directory '/builddir/xscreensaver-6.05/x86_64-pc-linux-gnu/hacks/fonts'
install -c -p -d /installroot/usr/share/fonts/xscreensaver
install -c -p -m 644 clacon.ttf /installroot/usr/share/fonts/xscreensaver/clacon.ttf
install: cannot stat 'clacon.ttf': No such file or directory
install -c -p -m 644 gallant12x22.ttf /installroot/usr/share/fonts/xscreensaver/gallant12x22.ttf
install: cannot stat 'gallant12x22.ttf': No such file or directory
....
```
---
hacks/fonts/Makefile.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hacks/fonts/Makefile.in b/hacks/fonts/Makefile.in
index 193ecec..c5c637f 100644
--- a/hacks/fonts/Makefile.in
+++ b/hacks/fonts/Makefile.in
@@ -69,8 +69,8 @@ install-fonts:
$(INSTALL_DIRS) "$$dest" ; \
fi ; \
for f in $(FONTS) ; do \
- echo $(INSTALL_DATA) $$f $$dest/$$f ; \
- $(INSTALL_DATA) $$f $$dest/$$f ; \
+ echo $(INSTALL_DATA) $(srcdir)/$$f $$dest/$$f ; \
+ $(INSTALL_DATA) $(srcdir)/$$f $$dest/$$f ; \
done ; \
fi
--
2.38.1

View file

@ -1,43 +0,0 @@
From e80109ca1ff408af1938508570d9168a6904cd33 Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Fri, 4 Nov 2022 16:28:51 +0900
Subject: [PATCH] driver/Makefile.in: fix GLIB_COMPILE_RESOURCES source
reference
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix the following error:
```
$ make
make[1]: Entering directory '/builddir/xscreensaver-6.05/x86_64-pc-linux-gnu/driver'
/usr/bin/glib-compile-resources gresource.xml --target=demo-Gtk-resources.c --sourcedir=../../driver --sourcedir=../../driver/../utils/images --generate-source
Failed to open file “gresource.xml”: No such file or directory
make[1]: *** [Makefile:864: demo-Gtk-resources.c] Error 1
make[1]: Leaving directory '/builddir/xscreensaver-6.05/x86_64-pc-linux-gnu/driver'
```
`--sourcedir=DIR` option maybe a bit confusing. "man glib-compile-resources" says
the files referenced *in* FILE are loaded from this directory, i.e. the contents in
FILE is written so that the additional file should be loaded from this directory,
so it seems to be saying that the FILE itself is not searched from the directory.
---
driver/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/driver/Makefile.in b/driver/Makefile.in
index c25494a..f46db37 100644
--- a/driver/Makefile.in
+++ b/driver/Makefile.in
@@ -861,7 +861,7 @@ demo-Gtk-conf.o: demo-Gtk-conf.c
GCRARGS = --sourcedir=$(srcdir) --sourcedir=$(ICON_SRC) --generate-source
demo-Gtk-resources.c: gresource.xml demo.ui prefs.ui
- $(GLIB_COMPILE_RESOURCES) gresource.xml --target=$@ $(GCRARGS)
+ $(GLIB_COMPILE_RESOURCES) $(srcdir)/gresource.xml --target=$@ $(GCRARGS)
GTK_WARNINGS = -Wno-long-long -Wno-c99-extensions -Wno-pedantic
demo-Gtk-resources.o: demo-Gtk-resources.c
--
2.38.1

View file

@ -1,67 +0,0 @@
From 9dace12f068c2cf8d64bea15ae48308015d5a427 Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Sat, 5 Nov 2022 22:38:41 +0900
Subject: [PATCH] hacks/Makefile.in: fix driver/prefs.o output location
Sometimes `make' process produces the following error:
```
$ make
make[1]: Entering directory '/builddir/xscreensaver-6.05/x86_64-pc-linux-gnu/driver'
gcc -fsanitize=address -fsanitize=undefined -std=gnu89 -pedantic -Wall -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement -Wno-overlength-strings -Wno-language-extension-token -Wno-variadic-macros -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -pthread -L/usr/lib64 -o xscreensaver xscreensaver.o blurb.o atoms.o clientmsg.o xinput.o prefs.o ../utils/xmu.o -lSM -lICE -lXi -lX11
/bin/ld: cannot find prefs.o: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:830: xscreensaver] Error 1
make[1]: Leaving directory '/builddir/xscreensaver-6.05/x86_64-pc-linux-gnu/driver'
make: *** [Makefile:30: default] Error 5
```
Actually prefs.o is found under /builddir/xscreensaver-6.05/driver , not under /builddir/xscreensaver-6.05/x86_64-pc-linux-gnu/driver .
This error happens when prefs.o is created first by hacks/Makefile, later trying to make on driver/Makefile.
`$ make -d' (debug mode) shows make process finds xscreensaver-6.05/driver/prefs.o , tring to "reuse" it,
but at last final linkage fails because x86_64-pc-linux-gnu/driver/prefs.o is not built yet.
This commit fixes prefs.o output location.
---
hacks/Makefile.in | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/hacks/Makefile.in b/hacks/Makefile.in
index 874b139..1c11685 100644
--- a/hacks/Makefile.in
+++ b/hacks/Makefile.in
@@ -65,6 +65,9 @@ UTILS_SRC = $(srcdir)/../utils
UTILS_BIN = ../utils
HACK_BIN = .
+DRIVER_SRC = $(srcdir)/../driver
+DRIVER_BIN = ../driver
+
INCLUDES_1 = -I. -I$(srcdir) -I$(UTILS_SRC) -I..
INCLUDES = $(INCLUDES_1) @INCLUDES@
@@ -492,9 +495,9 @@ $(UTIL_OBJS):
$(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
# For xscreensaver-getimage
-$(srcdir)/../driver/prefs.o: $(srcdir)/../driver/prefs.c
-$(srcdir)/../driver/prefs.o:
- cd $(srcdir)/../driver ; \
+$(DRIVER_BIN)/prefs.o: $(DRIVER_SRC)/prefs.c
+$(DRIVER_BIN)/prefs.o:
+ cd $(DRIVER_BIN) ; \
$(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
@@ -544,7 +547,7 @@ GETIMG_OBJS = xscreensaver-getimage.o \
$(UTILS_BIN)/colors.o $(UTILS_BIN)/grabscreen.o \
$(UTILS_BIN)/logo.o $(UTILS_BIN)/minixpm.o \
$(UTILS_BIN)/xmu.o \
- $(srcdir)/../driver/prefs.o
+ $(DRIVER_BIN)/prefs.o
GETIMG_LIBS = $(LIBS) $(X_LIBS) $(PNG_LIBS) $(JPEG_LIBS) \
$(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
--
2.38.1

View file

@ -31,7 +31,7 @@ index a2acab7..1db7aa5 100644
+and uses image files on your local disk. If you want webcollage to
+search for image files on net, use webcollage.original .
+
Written by Jamie Zawinski; 1999.
Written by Jamie Zawinski; 1998.
</_description>
</screensaver>
diff --git a/hacks/webcollage.man b/hacks/webcollage.man

View file

@ -0,0 +1,49 @@
From 1e20010cd70edd4c26bbc6ce48c57bf36b064aeb Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Fri, 1 Sep 2023 17:30:50 +0900
Subject: [PATCH 1/2] make_ximage: avoid integer overflow on left shift
gcc -fsanitize=undefined shows the following undefined behavior:
../../hacks/ximage-loader.c:176:29: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
../../hacks/ximage-loader.c:169:29: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
This is because of integral promotion from guchar to int, not to unsigned int.
To avoid this error, cast to unsigned long type.
---
hacks/ximage-loader.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hacks/ximage-loader.c b/hacks/ximage-loader.c
index a3f6eb0..152ad9f 100644
--- a/hacks/ximage-loader.c
+++ b/hacks/ximage-loader.c
@@ -159,21 +159,21 @@ make_ximage (Display *dpy, Visual *visual, const char *filename,
unsigned long rgba = 0;
switch (chan) {
case 1:
- rgba = ((0xFF << 24) |
+ rgba = ((0xFFUL << 24) |
(*i << 16) |
(*i << 8) |
*i);
i++;
break;
case 3:
- rgba = ((0xFF << 24) |
+ rgba = ((0xFFUL << 24) |
(i[2] << 16) |
(i[1] << 8) |
i[0]);
i += 3;
break;
case 4:
- rgba = ((i[3] << 24) |
+ rgba = ((((unsigned long)i[3]) << 24) |
(i[2] << 16) |
(i[1] << 8) |
i[0]);
--
2.41.0

View file

@ -0,0 +1,37 @@
From b6aacc5eb73ef0d41bdff9cd62672d4dc7a62e0d Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Fri, 1 Sep 2023 17:32:57 +0900
Subject: [PATCH 2/2] convert_ximage_to_rgba32: avoid integer overflow on left
shift
gcc -fsanitize=undefined shows the following undefined behavior:
../../../hacks/glx/grab-ximage.c:213:21: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
This is because of integral promotion from unsigned char to int, not to unsigned int.
To avoid this error, cast to unsigned long type.
---
hacks/glx/grab-ximage.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hacks/glx/grab-ximage.c b/hacks/glx/grab-ximage.c
index defefda..9d3a2d6 100644
--- a/hacks/glx/grab-ximage.c
+++ b/hacks/glx/grab-ximage.c
@@ -207,10 +207,10 @@ convert_ximage_to_rgba32 (Screen *screen, XImage *image)
sb = spread_map[2][sb];
}
- cp = ((sr << crpos) |
+ cp = ((((unsigned long)sr) << crpos) |
(sg << cgpos) |
(sb << cbpos) |
- (0xFF << capos));
+ (0xFFUL << capos));
XPutPixel (to, x, y, cp);
}
--
2.41.0

View file

@ -0,0 +1,26 @@
From 7071bfa1503191aaf5ab550fe2cd41350b15d15f Mon Sep 17 00:00:00 2001
From: Jamie Zawinski <jwz@jwz.org>
Date: Sat, 6 Dec 2025 11:19:50 +0900
Subject: [PATCH] driver/demo-Gtk.c: Initialize locking_supported_p for X11
session
---
driver/demo-Gtk.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
index 9ab785d..692b84d 100644
--- a/driver/demo-Gtk.c
+++ b/driver/demo-Gtk.c
@@ -2585,6 +2585,8 @@ populate_prefs_page (state *s)
# ifdef NO_LOCKING
s->locking_supported_p = FALSE;
lock_why = _("Not compiled with support for locking");
+#else
+ s->locking_supported_p = TRUE;
# endif
if (s->backend == WAYLAND_BACKEND ||
--
2.52.0

View file

@ -1,9 +1,8 @@
%define name xscreensaver
%define mainversion 6.05
%define extratarver 1
#%%define beta_ver b2
%undefine beta_ver
%define mainversion 6.13
%dnl %define extratarver 1
%dnl %define beta_ver b2
%define modular_conf 1
@ -12,7 +11,7 @@
%define split_getimage 1
%endif
%define fedora_rel 3
%define baserelease 1
%global use_clang_as_cc 0
%global use_clang_analyze 0
@ -73,8 +72,8 @@
Summary: X screen saver and locker
Name: %{name}
Version: %{mainversion}
Release: %{?beta_ver:0.}%{fedora_rel}%{?beta_ver:.%beta_ver}%{?dist}%{flagrel}%{?extrarel}
Version: %{mainversion}%{?extratarver:.%extratarver}
Release: %{?beta_ver:0.}%{baserelease}%{?beta_ver:.%beta_ver}%{?dist}%{flagrel}%{?extrarel}
Epoch: 1
License: MIT
URL: http://www.jwz.org/xscreensaver/
@ -88,6 +87,9 @@ Source12: xscreensaver-autostart.desktop
%endif
# wrapper script for switching user (bug 1878730)
Source13: xscreensaver-newlogin-wrapper
# bug 129335
# Remove unwilling words from barcode hack
Source20: barcode-words-blacklist.txt
Source100: ja.po
##
## Patches
@ -97,24 +99,18 @@ Patch1: xscreensaver-5.45-0001-barcode-glsnake-sanitize-the-names-of-mo
## Patches already sent to the upsteam
## Patches which must be discussed with upstream
# See bug 472061
Patch21: xscreensaver-6.05-webcollage-default-nonet.patch
# demo-Gtk.c/main: enable localization again
Patch501: xscreensaver-6.05-0001-demo-Gtk.c-main-enable-localization-again.patch
# demo-Gtk.c/populate_prefs_page: use correct pointer for pref_changed_cb
Patch502: xscreensaver-6.05-0002-demo-Gtk.c-populate_prefs_page-use-correct-pointer-f.patch
# hacks/fonts: fix installation on out-of-source build
Patch503: xscreensaver-6.05-0003-hacks-fonts-fix-installation-on-out-of-source-build.patch
# driver/Makefile.in: fix GLIB_COMPILE_RESOURCES source
Patch504: xscreensaver-6.05-0004-driver-Makefile.in-fix-GLIB_COMPILE_RESOURCES-source.patch
# hacks/Makefile.in: fix driver/prefs.o output location
Patch505: xscreensaver-6.05-0005-hacks-Makefile.in-fix-driver-prefs.o-output-location.patch
# misc: kill gcc warn_unused_result warnings
Patch3607: xscreensaver-5.36-0007-misc-kill-gcc-warn_unused_result-warnings.patch
Patch21: xscreensaver-6.06-webcollage-default-nonet.patch
# make_ximage: avoid integer overflow on left shift
Patch4701: xscreensaver-6.07-0001-make_ximage-avoid-integer-overflow-on-left-shift.patch
# convert_ximage_to_rgba32: avoid integer overflow on left shift
Patch4702: xscreensaver-6.07-0002-convert_ximage_to_rgba32-avoid-integer-overflow-on-l.patch
# driver/demo-Gtk.c: Initialize locking_supported_p for X11 session
Patch5301: xscreensaver-6.13-0001-driver-demo-Gtk.c-Initialize-locking_supported_p-for.patch
# Fedora specific
# window_init: search parenthesis first for searching year
Patch10001: xscreensaver-6.00-0001-screensaver_id-search-parenthesis-first-for-searchin.patch
Patch10001: xscreensaver-6.00-0001-screensaver_id-search-parenthesis-first-for-searchin.patch
# dialog.c: window_init: show more version string
Patch10003: xscreensaver-6.00-0003-dialog.c-window_init-show-more-version-string.patch
Patch10003: xscreensaver-6.00-0003-dialog.c-window_init-show-more-version-string.patch
#
# gcc warning cleanup
# Some cppcheck cleanup
@ -155,9 +151,11 @@ BuildRequires: bc
BuildRequires: desktop-file-utils
BuildRequires: gawk
BuildRequires: gettext
BuildRequires: gettext-devel
BuildRequires: libtool
BuildRequires: pam-devel > %{pam_ver}
BuildRequires: sed
BuildRequires: libxcrypt-devel
# Use pseudo symlink
# BuildRequires: xdg-utils
BuildRequires: xorg-x11-proto-devel
@ -186,7 +184,7 @@ BuildRequires: libXt-devel
#BuildRequires: libXxf86misc-devel
BuildRequires: libXxf86vm-devel
# XScreenSaver 5.31
BuildRequires: libXft-devel
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(gtk+-3.0) >= 2.22.0
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(libxml-2.0)
@ -203,6 +201,17 @@ BuildRequires: pkgconfig(libcap)
%if 0%{?support_systemd} >= 1
BuildRequires: pkgconfig(libsystemd)
%endif
# From xscreensaver 6.07
%if 0%{?enable_animation}
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libswresample)
%endif
# From xscreensaver 6.12
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-client)
%if 0%{?fedora}
BuildRequires: %{default_text}
%endif
@ -210,6 +219,9 @@ BuildRequires: %{default_text}
# https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl
BuildRequires: perl-interpreter
BuildRequires: perl-generators
# xscreensaver 6.07 calls check-configs.pl
BuildRequires: perl(strict)
BuildRequires: perl(diagnostics)
# For --with-login-manager option
%if 0%{?fedora} >= 14
# Use pseudo symlink, not writing BR: gdm
@ -224,10 +236,16 @@ Requires: appres
%endif
# For switch user wrapper
Requires: %{_bindir}/pidof
# XScreenSaver 6.07: For manual
# Actually the following is not needed, yelp is still used
#Recommends: xterm
%if 0%{?build_tests} < 1
# Obsoletes but not Provides
Obsoletes: xscreeensaver-tests < %{epoch}:%{version}-%{release}
%endif
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030659
# XScreenSaver 6.06 xscreensaver-settings now needs xscreensaver-gl-visual
Requires: %{name}-gl-base = %{epoch}:%{version}-%{release}
%package extras-base
Summary: A base package for screensavers
@ -251,7 +269,6 @@ Requires: %{name}-extras-base = %{epoch}:%{version}-%{release}
%package gl-base
Summary: A base package for screensavers that require OpenGL
Requires: %{name}-base = %{epoch}:%{version}-%{release}
%package gl-extras
Summary: An enhanced set of screensavers that require OpenGL
@ -382,20 +399,22 @@ rm -f driver/XScreenSaver_ad.h
find . -name \*.c -exec chmod ugo-x {} \;
%__git init
%__git config user.email "xscreensaver-owner@fedoraproject.org"
%__git config user.name "XScreenSaver owners"
%__git config user.email "xscreensaver-maintainer@fedoraproject.org"
%__git config user.name "XScreenSaver maintainer"
%__git add .
%__git commit -m "base" -q
%__cat %PATCH1 | %__git am
%__cat %SOURCE20 | while read f
do
sed -i hacks/barcode.c -e "\@\"$f\"@s@^.*\$@/**/@"
done
%__git commit -m "barcode: sanitize the names of modes" -a
%__cat %PATCH21 | %__git am
%__cat %PATCH501 | %__git am
%__cat %PATCH502 | %__git am
%__cat %PATCH503 | %__git am
%__cat %PATCH504 | %__git am
%__cat %PATCH505 | %__git am
#%%__cat %PATCH3607 | %__git am
%__cat %PATCH4701 | %__git am
%__cat %PATCH4702 | %__git am
%__cat %PATCH5301 | %__git am
%__cat %PATCH10001 | %__git am
%__cat %PATCH10003 | %__git am
@ -444,6 +463,7 @@ for f in \
driver/XScreenSaver.ad.in \
%endif
hacks/glx/sproingies.man \
hacks/glx/cubocteversion.man \
; do
iconv -f ISO-8859-1 -t UTF-8 $f > $f.tmp || cp -p $f $f.tmp
touch -r $f $f.tmp
@ -473,9 +493,13 @@ change_option driver/XScreenSaver.ad.in \
# Disable the following hacks by default \
# (disable, not remove)
silence_hack driver/XScreenSaver.ad.in \
bsod flag \
peepers \
bsod \
covid19 \
flag \
headroom \
peepers \
skulloop \
skytentacles \
%{nil}
%__git commit -m "%PATCH_desc" -a
@ -515,6 +539,12 @@ sed -i.manentry -e 's@man %%s@man 6x %%s 2>/dev/null || man 1 %%s @' \
driver/XScreenSaver.ad.in
%__git commit -m "%PATCH_desc" -a
# XScreenSaver 6.07: use xterm
sed -i.term \
driver/XScreenSaver.ad.in \
-e 's|lxterminal|xterm|'
%__git commit -m "Manual: change terminal to xterm" -a
# Suppress rpmlint warnings.
# suppress about pam config (although this is
# not the fault of xscreensaver.pam ......).
@ -523,6 +553,15 @@ sed -i.manentry -e 's@man %%s@man 6x %%s 2>/dev/null || man 1 %%s @' \
%if 0
sed -i.rpmlint -n -e '1,5p' driver/xscreensaver.pam
%endif
# xscreensaver 6.12
sed -i.auth driver/xscreensaver.pam.in \
-e '\@auth.*include.*system-auth@s|^#||'
%__git commit -m "Use system-auth for auth again" -a
# xscreensaver 6.13
# and don't override xscreensaver.pam by system-wide /etc/pam.d/login or so
sed -i.nooverride driver/Makefile.in \
-e '\@src2.*PAM_DIR@s|src2=.*$|src2= ;\\|'
%__git commit -m "Don't override xscreensaver.pam by system-wide /etc/pam.d/login or so" -a
if [ -x %{_datadir}/libtool/config.guess ]; then
# use system-wide copy
@ -557,12 +596,18 @@ sed -i Makefile.in.in \
popd
%__git commit -m "Manually fix po files entry" -a
# xscreensaver 6.13: test-wayland-lock: no rule for wayland-lock.o
sed -i driver/Makefile.in -e 's|test-wayland-lock$||'
%__git commit -m "Skip test-wayland-lock for now" -a
# %%configure adds --disable-dependency-tracking, don't fail with that for now
sed -i configure.ac \
-e "$(($(sed -n '\@ac_unrecognized_opts@=' configure.ac | head -n 1) + 2))s|exit 2|true exit 2|"
%__git commit -m "Don't make configure fail with unrecognized option" -a
touch config.rpath
# Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708)
export ACLOCAL_PATH=%{_datadir}/gettext/m4/
aclocal
autoconf
autoheader
@ -631,6 +676,8 @@ CONFIG_OPTS="$CONFIG_OPTS --with-text-file=%{default_text}"
CONFIG_OPTS="$CONFIG_OPTS --with-x-app-defaults=%{_datadir}/X11/app-defaults"
CONFIG_OPTS="$CONFIG_OPTS --disable-root-passwd"
CONFIG_OPTS="$CONFIG_OPTS --with-browser=xdg-open"
# 6.12
CONFIG_OPTS="$CONFIG_OPTS --with-wayland"
# From xscreensaver 5.12, login-manager option is on by default
# For now, let's enable it on F-14 and above
@ -793,7 +840,7 @@ rm -rf ${RPM_BUILD_ROOT}
#
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
make install_prefix=$RPM_BUILD_ROOT INSTALL="install -c -p" install
make DESTDIR=$RPM_BUILD_ROOT INSTALL="install -c -p" install
# Kill OnlyShowIn=GNOME; on F-11+ (bug 483495)
desktop-file-install --vendor "" --delete-original \
@ -816,7 +863,7 @@ desktop-file-install --vendor "" --delete-original \
# It does this by parsing the output of a dummy run of "make install".
list_files() {
echo "%%defattr(-,root,root,-)"
make -s install_prefix=${RPM_BUILD_ROOT} INSTALL=true "$@" \
make -s DESTDIR=${RPM_BUILD_ROOT} INSTALL=true "$@" \
| sed -e '\@gtk-update-icon-cache@d' \
| sed -n -e 's@.* \(/[^ ]*\)$@\1@p' \
| sed -e "s@^${RPM_BUILD_ROOT}@@" \
@ -869,7 +916,7 @@ done
echo "%%defattr(-,root,root,-)" >> $dd/gl-base.files
grep xscreensaver-gl-visual $dd/gl-extras.files >> $dd/gl-base.files
sed -i -e '/xscreensaver-gl-helper/d' $dd/gl-extras.files
sed -i -e '/xscreensaver-gl-visual/d' $dd/gl-extras.files
sed -i -e 's|^\(%{_mandir}.*\)$|\1*|' $dd/gl-base.files
%endif
@ -1172,6 +1219,78 @@ exit 0
%endif
%changelog
* Sat Dec 06 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.13-1
- Update to 6.13
* Thu Nov 06 2025 Dominik Mierzejewski <dominik@greysector.net> - 1:6.12-5
- Rebuilt for FFmpeg 8
* Wed Oct 15 2025 Dominik Mierzejewski <dominik@greysector.net> - 1:6.12-4
- Fixed build with FFmpeg 8
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jul 11 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.12-2
- Fix heap buffer overflow on xscreensaver-settings when reading previous hack
* Fri Jul 11 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.12-1
- Update to 6.12
* Mon May 26 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.10.1-2
- Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708)
* Tue Apr 29 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.10.1-1
- Update to 6.10.1
* Sat Feb 01 2025 Björn Esser <besser82@fedoraproject.org> - 1:6.09-5
- Add explicit BR: libxcrypt-devel
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.09-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Sep 23 2024 Fabio Valentini <decathorpe@gmail.com> - 1:6.09-3
- Rebuild for ffmpeg 7
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.09-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jun 11 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.09-1
- Update to 6.09
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.08-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Oct 17 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.08-1
- Update to 6.08
* Thu Sep 7 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.07-4
- Fix compilation to make --with-record-animation really work
* Sun Sep 3 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.07-3
- Fix patch again
* Fri Sep 1 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.07-2
- Update to 6.07
- make_ximage: avoid integer overflow on left shift
- convert_ximage_to_rgba32: likewise
* Sat Jul 22 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Mar 2 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-3
- distort_reset: restrict radius by xgwa correctly (bug 2174626)
* Wed Feb 15 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-2
- Make -base subpackage require -gl-base (debian bug 1030659)
- switch_page_cb: backport debian fix for DPMS settings issue
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.06-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Dec 12 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-1
- Update to 6.06
* Sun Nov 6 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.05-3
- Kill no longer needed workaround stuff
- hacks/fonts: fix installation on out-of-source build