commit:     f79c16fa1db59b802ee4d1dd5281ad7d8a96163f
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 13 04:48:32 2025 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Sun Apr 13 04:48:32 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f79c16fa

net-misc/tigervnc: Add missing patch

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 .../tigervnc/files/tigervnc-1.15.0-fix-inetd.patch | 47 ++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/net-misc/tigervnc/files/tigervnc-1.15.0-fix-inetd.patch 
b/net-misc/tigervnc/files/tigervnc-1.15.0-fix-inetd.patch
new file mode 100644
index 000000000000..5d7ec9f8070a
--- /dev/null
+++ b/net-misc/tigervnc/files/tigervnc-1.15.0-fix-inetd.patch
@@ -0,0 +1,47 @@
+From 1f1aaca09a1f9919f5169caea9c396b14c2af765 Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <[email protected]>
+Date: Tue, 8 Apr 2025 14:41:04 +0200
+Subject: [PATCH] Don't print Xvnc banner before parsing args
+
+If we'll be running in inetd mode, then stdout and stderr will be a
+client socket and not an appropriate place for logging.
+
+Mimic what Xorg does instead.
+---
+ unix/xserver/hw/vnc/xvnc.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c
+index ddb249937..a13168c47 100644
+--- a/unix/xserver/hw/vnc/xvnc.c
++++ b/unix/xserver/hw/vnc/xvnc.c
+@@ -446,7 +446,7 @@ ddxProcessArgument(int argc, char *argv[], int i)
+     }
+ 
+     if (!strcmp(argv[i], "-showconfig") || !strcmp(argv[i], "-version")) {
+-        /* Already shown at start */
++        vncPrintBanner();
+         exit(0);
+     }
+ 
+@@ -1171,8 +1171,11 @@ InitOutput(ScreenInfo * scrInfo, int argc, char **argv)
+     int i;
+     int NumFormats = 0;
+ 
+-    if (serverGeneration == 1)
++    if (serverGeneration == 1) {
++        vncPrintBanner();
++
+         LoadExtensionList(vncExtensions, ARRAY_SIZE(vncExtensions), TRUE);
++    }
+ 
+ #if XORG_AT_LEAST(1, 20, 0)
+     xorgGlxCreateVendor();
+@@ -1266,7 +1269,5 @@ vncClientGone(int fd)
+ int
+ main(int argc, char *argv[], char *envp[])
+ {
+-    vncPrintBanner();
+-
+     return dix_main(argc, argv, envp);
+ }

Reply via email to