xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Mar 9 17:22:13 UTC 2024


 include/os.h  |   21 ---------------------
 os/osdep.h    |   15 +++++++++++++++
 xkb/ddxLoad.c |    5 ++++-
 3 files changed, 19 insertions(+), 22 deletions(-)

New commits:
commit 30b403b0f01a06a2daadde809d7a2a615d52e4d3
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Feb 23 20:33:52 2024 +0100

    os: unexport Fopen(), Fclose(), Popen(), Pclose(), System()
    
    These functions are just used for reading auth file or calling xkbcomp while
    dropping privileges, in case the Xserver is started as unprivileged user
    with suid-root. Thus, shouldn't be used (and aren't used) by drivers.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1370>

diff --git a/include/os.h b/include/os.h
index 84770c535..24ab2ba07 100644
--- a/include/os.h
+++ b/include/os.h
@@ -327,27 +327,6 @@ extern _X_EXPORT void
 OsAbort(void)
     _X_NORETURN;
 
-#if !defined(WIN32)
-extern _X_EXPORT void *
-Popen(const char *, const char *);
-extern _X_EXPORT int
-Pclose(void *);
-extern _X_EXPORT void *
-Fopen(const char *, const char *);
-extern _X_EXPORT int
-Fclose(void *);
-#else
-
-extern const char *
-Win32TempDir(void);
-
-extern int
-System(const char *cmdline);
-
-#define Fopen(a,b) fopen(a,b)
-#define Fclose(a) fclose(a)
-#endif
-
 extern _X_EXPORT Bool
 PrivsElevated(void);
 
diff --git a/os/osdep.h b/os/osdep.h
index 59e6c5e95..705416de3 100644
--- a/os/osdep.h
+++ b/os/osdep.h
@@ -144,6 +144,21 @@ struct utsname {
 static inline void uname(struct utsname *uts) {
     gethostname(uts->nodename, sizeof(uts->nodename));
 }
+
+const char *Win32TempDir(void);
+
+int System(const char *cmdline);
+static inline void Fclose(void *f) { fclose(f); }
+static inline void *Fopen(const char *a, const char *b) { return fopen(a,b); }
+
+#else /* WIN32 */
+
+int System(const char *);
+void *Popen(const char *, const char *);
+void *Fopen(const char *, const char *);
+int Fclose(void *f);
+int Pclose(void *f);
+
 #endif /* WIN32 */
 
 void AutoResetServer(int sig);
diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c
index 3f9de20c1..18e0ec3be 100644
--- a/xkb/ddxLoad.c
+++ b/xkb/ddxLoad.c
@@ -37,12 +37,15 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #include <X11/Xos.h>
 #include <X11/Xproto.h>
 #include <X11/keysym.h>
+#include <X11/extensions/XI.h>
 #include <X11/extensions/XKM.h>
+
+#include "os/osdep.h"
+
 #include "inputstr.h"
 #include "scrnintstr.h"
 #include "windowstr.h"
 #include <xkbsrv.h>
-#include <X11/extensions/XI.h>
 
 #define	PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\""
 #define	ERROR_PREFIX	"\"> \""


More information about the xorg-commit mailing list