xserver: Branch 'master' - 10 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 15 22:13:10 UTC 2024


 Xext/security.c        |    1 
 Xext/shm.c             |    1 
 dix/dispatch.c         |    1 
 dix/dixfonts.c         |    3 
 dix/grabs.c            |    1 
 dix/main.c             |    1 
 dix/window.c           |    2 
 hw/xwayland/xwayland.c |    2 
 hw/xwin/winauth.c      |    2 
 include/os.h           |  149 -------------------------------------------------
 os/access.c            |   22 ++++---
 os/auth.c              |    2 
 os/auth.h              |   85 +++++++++++++++++++++++++++
 os/client.c            |    2 
 os/connection.c        |    1 
 os/rpcauth.c           |    3 
 os/utils.c             |    1 
 os/xdmauth.c           |    3 
 os/xdmcp.c             |    3 
 19 files changed, 127 insertions(+), 158 deletions(-)

New commits:
commit cf5fab0bbe0fa592473afa719443c40b329cc09f
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 20:47:53 2024 +0100

    os: unexport AccessUsingXdmcp()
    
    This function is only used internally for xdmcp auth handling, not used
    in modules/drivers, so no need to export it.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/include/os.h b/include/os.h
index f5beb6a94..709f3e02c 100644
--- a/include/os.h
+++ b/include/os.h
@@ -326,9 +326,6 @@ GetClientFd(ClientPtr);
 extern _X_EXPORT Bool
 ClientIsLocal(ClientPtr client);
 
-extern _X_EXPORT void
-AccessUsingXdmcp(void);
-
 extern _X_EXPORT int
 ddxProcessArgument(int /*argc */ , char * /*argv */ [], int /*i */ );
 
diff --git a/os/auth.h b/os/auth.h
index a05198f05..e03144f11 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -109,4 +109,6 @@ void AugmentSelf(void *from, int len);
 
 int ChangeAccessControl(ClientPtr client, int fEnabled);
 
+void AccessUsingXdmcp(void);
+
 #endif /* _XSERVER_OS_AUTH_H */
commit dd21a80219b6288cf3cc238b0d4a236d8818e901
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 20:35:17 2024 +0100

    os: unexport ChangeAccessControl()
    
    this function isn't used by modules/drivers, so no need to export it.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/include/os.h b/include/os.h
index 4b4a896ab..f5beb6a94 100644
--- a/include/os.h
+++ b/include/os.h
@@ -320,9 +320,6 @@ OsAbort(void)
 extern _X_EXPORT Bool
 PrivsElevated(void);
 
-extern _X_EXPORT int
-ChangeAccessControl(ClientPtr /*client */ , int /*fEnabled */ );
-
 extern _X_EXPORT int
 GetClientFd(ClientPtr);
 
diff --git a/os/auth.h b/os/auth.h
index a4f096887..a05198f05 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -107,4 +107,6 @@ void DefineSelf(int fd);
 /* check whether given addr belongs to ourself */
 void AugmentSelf(void *from, int len);
 
+int ChangeAccessControl(ClientPtr client, int fEnabled);
+
 #endif /* _XSERVER_OS_AUTH_H */
commit 3f00c1b6cfde161a4ef17812d8d7b3081c445224
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 20:26:54 2024 +0100

    os: unexport host control functions
    
    these aren't used by modules/drivers, so no need to export them.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/dix/dispatch.c b/dix/dispatch.c
index 41dffd631..71c3aea4d 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -103,6 +103,7 @@ Equipment Corporation.
 
 #include "dix/dix_priv.h"
 #include "dix/registry_priv.h"
+#include "os/auth.h"
 
 #include "windowstr.h"
 #include <X11/fonts/fontstruct.h>
diff --git a/include/os.h b/include/os.h
index c4e27a4cb..4b4a896ab 100644
--- a/include/os.h
+++ b/include/os.h
@@ -320,37 +320,6 @@ OsAbort(void)
 extern _X_EXPORT Bool
 PrivsElevated(void);
 
-extern _X_EXPORT int
-AddHost(ClientPtr /*client */ ,
-        int /*family */ ,
-        unsigned /*length */ ,
-        const void * /*pAddr */ );
-
-extern _X_EXPORT Bool
-ForEachHostInFamily(int family,
-                    Bool (*func)(
-                                           unsigned char *addr,
-                                           short len,
-                                           void *closure),
-                    void *closure);
-
-extern _X_EXPORT int
-RemoveHost(ClientPtr client,
-           int family,
-           unsigned length,
-           void *pAddr);
-
-extern _X_EXPORT int
-GetHosts(void ** /*data */ ,
-         int * /*pnHosts */ ,
-         int * /*pLen */ ,
-         BOOL * /*pEnabled */ );
-
-typedef struct sockaddr *sockaddrPtr;
-
-extern _X_EXPORT int
-InvalidHost(sockaddrPtr /*saddr */ , int /*len */ , ClientPtr client);
-
 extern _X_EXPORT int
 ChangeAccessControl(ClientPtr /*client */ , int /*fEnabled */ );
 
@@ -360,23 +329,9 @@ GetClientFd(ClientPtr);
 extern _X_EXPORT Bool
 ClientIsLocal(ClientPtr client);
 
-extern _X_EXPORT void
-AddLocalHosts(void);
-
-extern _X_EXPORT void
-ResetHosts(const char *display);
-
 extern _X_EXPORT void
 AccessUsingXdmcp(void);
 
-extern _X_EXPORT void
-DefineSelf(int /*fd */ );
-
-#ifdef XDMCP
-extern _X_EXPORT void
-AugmentSelf(void *from, int len);
-#endif
-
 extern _X_EXPORT int
 ddxProcessArgument(int /*argc */ , char * /*argv */ [], int /*i */ );
 
diff --git a/os/auth.h b/os/auth.h
index baad9fda9..a4f096887 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -89,4 +89,22 @@ void RegisterAuthorizations(void);
 
 void CheckUserAuthorization(void);
 
+typedef struct sockaddr *sockaddrPtr;
+
+int AddHost(ClientPtr client, int family, unsigned length, const void *pAddr);
+Bool ForEachHostInFamily(int family,
+                         Bool (*func)(unsigned char *addr, short len, void *closure),
+                         void *closure);
+int RemoveHost(ClientPtr client, int family, unsigned length, void *pAddr);
+int GetHosts(void **data, int *pnHosts, int *pLen, BOOL *pEnabled);
+int InvalidHost(sockaddrPtr saddr, int len, ClientPtr client);
+void AddLocalHosts(void);
+void ResetHosts(const char *display);
+
+/* register local hosts entries for outself, based on listening fd */
+void DefineSelf(int fd);
+
+/* check whether given addr belongs to ourself */
+void AugmentSelf(void *from, int len);
+
 #endif /* _XSERVER_OS_AUTH_H */
commit 5a9b885118ae4f45a3a60f7141123a5f37d10edd
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 19:28:33 2024 +0100

    os: unexport authorization management functions
    
    Those aren't used by modules, thus no need to export them.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/Xext/security.c b/Xext/security.c
index d1f0df9e4..6a9c3d509 100644
--- a/Xext/security.c
+++ b/Xext/security.c
@@ -31,6 +31,7 @@ in this Software without prior written authorization from The Open Group.
 #include "dix/dix_priv.h"
 #include "dix/registry_priv.h"
 #include "os/audit.h"
+#include "os/auth.h"
 
 #include "scrnintstr.h"
 #include "inputstr.h"
diff --git a/dix/main.c b/dix/main.c
index ef322eaff..36771a280 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -87,6 +87,7 @@ Equipment Corporation.
 #include "dix/dix_priv.h"
 #include "dix/registry_priv.h"
 #include "os/audit.h"
+#include "os/auth.h"
 #include "os/cmdline.h"
 
 #include "scrnintstr.h"
diff --git a/hw/xwin/winauth.c b/hw/xwin/winauth.c
index 8d151c36a..5bc5a7316 100644
--- a/hw/xwin/winauth.c
+++ b/hw/xwin/winauth.c
@@ -62,7 +62,7 @@ static xcb_auth_info_t auth_info;
  */
 
 #ifndef XCSECURITY
-static XID
+XID
 GenerateAuthorization(unsigned name_length,
                       const char *name,
                       unsigned data_length,
diff --git a/include/os.h b/include/os.h
index 47dbe175e..c4e27a4cb 100644
--- a/include/os.h
+++ b/include/os.h
@@ -320,9 +320,6 @@ OsAbort(void)
 extern _X_EXPORT Bool
 PrivsElevated(void);
 
-extern _X_EXPORT void
-CheckUserAuthorization(void);
-
 extern _X_EXPORT int
 AddHost(ClientPtr /*client */ ,
         int /*family */ ,
@@ -378,53 +375,6 @@ DefineSelf(int /*fd */ );
 #ifdef XDMCP
 extern _X_EXPORT void
 AugmentSelf(void *from, int len);
-
-extern _X_EXPORT void
-RegisterAuthorizations(void);
-#endif
-
-extern _X_EXPORT void
-InitAuthorization(const char * /*filename */ );
-
-/* extern int LoadAuthorization(void); */
-
-extern _X_EXPORT int
-AuthorizationFromID(XID id,
-                    unsigned short *name_lenp,
-                    const char **namep,
-                    unsigned short *data_lenp, char **datap);
-
-extern _X_EXPORT XID
-CheckAuthorization(unsigned int /*namelength */ ,
-                   const char * /*name */ ,
-                   unsigned int /*datalength */ ,
-                   const char * /*data */ ,
-                   ClientPtr /*client */ ,
-                   const char **        /*reason */
-    );
-
-extern _X_EXPORT void
-ResetAuthorization(void);
-
-extern _X_EXPORT int
-RemoveAuthorization(unsigned short name_length,
-                    const char *name,
-                    unsigned short data_length, const char *data);
-
-extern _X_EXPORT int
-AddAuthorization(unsigned int /*name_length */ ,
-                 const char * /*name */ ,
-                 unsigned int /*data_length */ ,
-                 char * /*data */ );
-
-#ifdef XCSECURITY
-extern _X_EXPORT XID
-GenerateAuthorization(unsigned int /* name_length */ ,
-                      const char * /* name */ ,
-                      unsigned int /* data_length */ ,
-                      const char * /* data */ ,
-                      unsigned int * /* data_length_return */ ,
-                      char ** /* data_return */ );
 #endif
 
 extern _X_EXPORT int
diff --git a/os/auth.h b/os/auth.h
index 177282be5..baad9fda9 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -53,4 +53,40 @@ void DisableLocalAccess(void);
 
 void LocalAccessScopeUser(void);
 
+void InitAuthorization(const char *filename);
+
+int AuthorizationFromID(XID id,
+                        unsigned short *name_lenp,
+                        const char **namep,
+                        unsigned short *data_lenp, char **datap);
+
+XID CheckAuthorization(unsigned int namelength,
+                       const char *name,
+                       unsigned int datalength,
+                       const char *data,
+                       ClientPtr client,
+                       const char **reason);
+
+void ResetAuthorization(void);
+
+int RemoveAuthorization(unsigned short name_length,
+                        const char *name,
+                        unsigned short data_length, const char *data);
+
+int AddAuthorization(unsigned int name_length,
+                     const char *name,
+                     unsigned int data_length,
+                     char *data);
+
+XID GenerateAuthorization(unsigned int name_length,
+                          const char *name,
+                          unsigned int data_length,
+                          const char *data,
+                          unsigned int *data_length_return,
+                          char **data_return);
+
+void RegisterAuthorizations(void);
+
+void CheckUserAuthorization(void);
+
 #endif /* _XSERVER_OS_AUTH_H */
diff --git a/os/rpcauth.c b/os/rpcauth.c
index c531a54e8..d3d4e4bd8 100644
--- a/os/rpcauth.c
+++ b/os/rpcauth.c
@@ -39,6 +39,9 @@ from The Open Group.
 
 #include <X11/X.h>
 #include <X11/Xauth.h>
+
+#include "os/auth.h"
+
 #include "misc.h"
 #include "os.h"
 #include "osdep.h"
diff --git a/os/xdmauth.c b/os/xdmauth.c
index cffd70ad0..21b79e943 100644
--- a/os/xdmauth.c
+++ b/os/xdmauth.c
@@ -43,6 +43,9 @@ from The Open Group.
 #define TRANS_SERVER
 #define TRANS_REOPEN
 #include <X11/Xtrans/Xtrans.h>
+
+#include "os/auth.h"
+
 #include "os.h"
 #include "osdep.h"
 #include "xdmcp.h"
diff --git a/os/xdmcp.c b/os/xdmcp.c
index 2a62e9a28..edf69590b 100644
--- a/os/xdmcp.c
+++ b/os/xdmcp.c
@@ -39,6 +39,9 @@
 #include <stdlib.h>
 #include <X11/X.h>
 #include <X11/Xmd.h>
+
+#include "os/auth.h"
+
 #include "misc.h"
 #include "osdep.h"
 #include "xdmcp.h"
commit bed778ee60635ba56d4e383c45f038f88d59d1bd
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 19:06:00 2024 +0100

    os: unexport LocalAccessScopeUser()
    
    this function is only used by wayland ddx, so no need to export it.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index 6637c7cc3..5cc88b245 100644
--- a/hw/xwayland/xwayland.c
+++ b/hw/xwayland/xwayland.c
@@ -50,6 +50,8 @@
 #include <propertyst.h>
 #include <version-config.h>
 
+#include "os/auth.h"
+
 #include "xwayland-screen.h"
 #include "xwayland-vidmode.h"
 
diff --git a/include/os.h b/include/os.h
index af838359d..47dbe175e 100644
--- a/include/os.h
+++ b/include/os.h
@@ -369,11 +369,6 @@ AddLocalHosts(void);
 extern _X_EXPORT void
 ResetHosts(const char *display);
 
-#ifndef NO_LOCAL_CLIENT_CRED
-extern _X_EXPORT void
-LocalAccessScopeUser(void);
-#endif
-
 extern _X_EXPORT void
 AccessUsingXdmcp(void);
 
diff --git a/os/auth.h b/os/auth.h
index 15c5af62a..177282be5 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -51,4 +51,6 @@ void FreeLocalClientCreds(LocalClientCredRec *);
 void EnableLocalAccess(void);
 void DisableLocalAccess(void);
 
+void LocalAccessScopeUser(void);
+
 #endif /* _XSERVER_OS_AUTH_H */
commit e621081fa32d6243ecdab37fa6a02ca4b02d2cde
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 18:51:58 2024 +0100

    os: unexport EnableLocalUser() and DisableLocalUser()
    
    these aren't used by module, so no need to export them.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/include/os.h b/include/os.h
index 41b638bbb..af838359d 100644
--- a/include/os.h
+++ b/include/os.h
@@ -370,12 +370,6 @@ extern _X_EXPORT void
 ResetHosts(const char *display);
 
 #ifndef NO_LOCAL_CLIENT_CRED
-extern _X_EXPORT void
-EnableLocalUser(void);
-
-extern _X_EXPORT void
-DisableLocalUser(void);
-
 extern _X_EXPORT void
 LocalAccessScopeUser(void);
 #endif
diff --git a/os/access.c b/os/access.c
index 3ba1a8cbf..352506bec 100644
--- a/os/access.c
+++ b/os/access.c
@@ -260,6 +260,11 @@ static void siTypesInitialize(void);
 static void EnableLocalHost(void);
 static void DisableLocalHost(void);
 
+#ifndef NO_LOCAL_CLIENT_CRED
+static void EnableLocalUser(void);
+static void DisableLocalUser(void);
+#endif
+
 /*
  * called when authorization is not enabled to add the
  * local host to the access list
@@ -348,8 +353,7 @@ out:
     return length;
 }
 
-void
-EnableLocalUser(void)
+static void EnableLocalUser(void)
 {
     char *addr = NULL;
     int length = -1;
@@ -364,8 +368,7 @@ EnableLocalUser(void)
     free(addr);
 }
 
-void
-DisableLocalUser(void)
+static void DisableLocalUser(void)
 {
     char *addr = NULL;
     int length = -1;
commit 54441ff98a2a94fefac687904655113a410e7679
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 18:47:10 2024 +0100

    os: unexport EnableLocalAccess() and DisableLocalAccess()
    
    these aren't used by modules, so no need to export them.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/include/os.h b/include/os.h
index b0204593a..41b638bbb 100644
--- a/include/os.h
+++ b/include/os.h
@@ -369,12 +369,6 @@ AddLocalHosts(void);
 extern _X_EXPORT void
 ResetHosts(const char *display);
 
-extern _X_EXPORT void
-EnableLocalAccess(void);
-
-extern _X_EXPORT void
-DisableLocalAccess(void);
-
 #ifndef NO_LOCAL_CLIENT_CRED
 extern _X_EXPORT void
 EnableLocalUser(void);
diff --git a/os/auth.h b/os/auth.h
index 3b9f07fef..15c5af62a 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -48,4 +48,7 @@ typedef struct {
 int GetLocalClientCreds(ClientPtr, LocalClientCredRec **);
 void FreeLocalClientCreds(LocalClientCredRec *);
 
+void EnableLocalAccess(void);
+void DisableLocalAccess(void);
+
 #endif /* _XSERVER_OS_AUTH_H */
commit b00fdd482c852529f6cef3a6c629724d4e5667c8
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 18:43:14 2024 +0100

    os: unexport EnableLocalHost() and DisableLocalHost()
    
    These aren't used by modules, so no need to export them.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/include/os.h b/include/os.h
index 94ddb6ba4..b0204593a 100644
--- a/include/os.h
+++ b/include/os.h
@@ -375,12 +375,6 @@ EnableLocalAccess(void);
 extern _X_EXPORT void
 DisableLocalAccess(void);
 
-extern _X_EXPORT void
-EnableLocalHost(void);
-
-extern _X_EXPORT void
-DisableLocalHost(void);
-
 #ifndef NO_LOCAL_CLIENT_CRED
 extern _X_EXPORT void
 EnableLocalUser(void);
diff --git a/os/access.c b/os/access.c
index 3a2c38256..3ba1a8cbf 100644
--- a/os/access.c
+++ b/os/access.c
@@ -257,6 +257,9 @@ static Bool siAddrMatch(int family, void *addr, int len, HOST * host,
 static int siCheckAddr(const char *addrString, int length);
 static void siTypesInitialize(void);
 
+static void EnableLocalHost(void);
+static void DisableLocalHost(void);
+
 /*
  * called when authorization is not enabled to add the
  * local host to the access list
@@ -277,8 +280,7 @@ EnableLocalAccess(void)
     }
 }
 
-void
-EnableLocalHost(void)
+static void EnableLocalHost(void)
 {
     if (!UsingXdmcp) {
         LocalHostEnabled = TRUE;
@@ -304,8 +306,7 @@ DisableLocalAccess(void)
     }
 }
 
-void
-DisableLocalHost(void)
+static void DisableLocalHost(void)
 {
     HOST *self;
 
commit 5f19eab1ee7178a43b241ca8e246463dd1f0b291
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 18:33:44 2024 +0100

    os: unexport local client creds handling
    
    these functions aren't used by modules, so no need to export them.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/Xext/shm.c b/Xext/shm.c
index 00cf12a0b..295866480 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -44,6 +44,7 @@ in this Software without prior written authorization from The Open Group.
 #include <X11/X.h>
 #include <X11/Xproto.h>
 
+#include "os/auth.h"
 #include "os/busfault.h"
 
 #include "misc.h"
diff --git a/dix/grabs.c b/dix/grabs.c
index 42ff04a8b..96231a12c 100644
--- a/dix/grabs.c
+++ b/dix/grabs.c
@@ -55,6 +55,7 @@ SOFTWARE.
 #include <X11/extensions/XI2.h>
 
 #include "dix/dix_priv.h"
+#include "os/auth.h"
 
 #include "windowstr.h"
 #include "inputstr.h"
diff --git a/dix/window.c b/dix/window.c
index 284aa6dd7..8a5144eae 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -100,6 +100,8 @@ Equipment Corporation.
 #include <dix-config.h>
 #endif
 
+#include "os/auth.h"
+
 #include "misc.h"
 #include "scrnintstr.h"
 #include "os.h"
diff --git a/include/os.h b/include/os.h
index fffe8eb40..94ddb6ba4 100644
--- a/include/os.h
+++ b/include/os.h
@@ -354,27 +354,6 @@ typedef struct sockaddr *sockaddrPtr;
 extern _X_EXPORT int
 InvalidHost(sockaddrPtr /*saddr */ , int /*len */ , ClientPtr client);
 
-#define LCC_UID_SET	(1 << 0)
-#define LCC_GID_SET	(1 << 1)
-#define LCC_PID_SET	(1 << 2)
-#define LCC_ZID_SET	(1 << 3)
-
-typedef struct {
-    int fieldsSet;              /* Bit mask of fields set */
-    int euid;                   /* Effective uid */
-    int egid;                   /* Primary effective group id */
-    int nSuppGids;              /* Number of supplementary group ids */
-    int *pSuppGids;             /* Array of supplementary group ids */
-    int pid;                    /* Process id */
-    int zoneid;                 /* Only set on Solaris 10 & later */
-} LocalClientCredRec;
-
-extern _X_EXPORT int
-GetLocalClientCreds(ClientPtr, LocalClientCredRec **);
-
-extern _X_EXPORT void
-FreeLocalClientCreds(LocalClientCredRec *);
-
 extern _X_EXPORT int
 ChangeAccessControl(ClientPtr /*client */ , int /*fEnabled */ );
 
diff --git a/os/access.c b/os/access.c
index cf784248d..3a2c38256 100644
--- a/os/access.c
+++ b/os/access.c
@@ -187,6 +187,8 @@ SOFTWARE.
 #define X_INCLUDE_NETDB_H
 #include <X11/Xos_r.h>
 
+#include "os/auth.h"
+
 #include "dixstruct.h"
 #include "osdep.h"
 
diff --git a/os/auth.c b/os/auth.c
index 6e3f53152..20752eeb5 100644
--- a/os/auth.c
+++ b/os/auth.c
@@ -48,6 +48,8 @@ from The Open Group.
 #endif
 #include   <stdlib.h>       /* for arc4random_buf() */
 
+#include "os/auth.h"
+
 #include "rpcauth.h"
 #include "xdmcp.h"
 #include "xdmauth.h"
diff --git a/os/auth.h b/os/auth.h
index 576fba269..3b9f07fef 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -30,4 +30,22 @@ int set_font_authorizations(char **authorizations,
                             int *authlen,
                             void *client);
 
+#define LCC_UID_SET     (1 << 0)
+#define LCC_GID_SET     (1 << 1)
+#define LCC_PID_SET     (1 << 2)
+#define LCC_ZID_SET     (1 << 3)
+
+typedef struct {
+    int fieldsSet;              /* Bit mask of fields set */
+    int euid;                   /* Effective uid */
+    int egid;                   /* Primary effective group id */
+    int nSuppGids;              /* Number of supplementary group ids */
+    int *pSuppGids;             /* Array of supplementary group ids */
+    int pid;                    /* Process id */
+    int zoneid;                 /* Only set on Solaris 10 & later */
+} LocalClientCredRec;
+
+int GetLocalClientCreds(ClientPtr, LocalClientCredRec **);
+void FreeLocalClientCreds(LocalClientCredRec *);
+
 #endif /* _XSERVER_OS_AUTH_H */
diff --git a/os/client.c b/os/client.c
index 3295949a4..6a119afc1 100644
--- a/os/client.c
+++ b/os/client.c
@@ -84,6 +84,8 @@
 #include <sys/sysctl.h>
 #endif
 
+#include "os/auth.h"
+
 /**
  * Try to determine a PID for a client from its connection
  * information. This should be called only once when new client has
diff --git a/os/connection.c b/os/connection.c
index aad3e74fb..9a4a16847 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -100,6 +100,7 @@ SOFTWARE.
 
 #include "dix/dix_priv.h"
 #include "os/audit.h"
+#include "os/auth.h"
 
 #include "misc.h"               /* for typedef of pointer */
 #include "osdep.h"
commit cbc9f557e57dcbb3dce042ace74b70272bfddfc4
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Wed Feb 28 17:57:09 2024 +0100

    os: unexport set_font_authorizations()
    
    This function is only used by DIX, so no need to export it.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1344>

diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index 9608e4b1f..3bad522ac 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -55,6 +55,9 @@ Equipment Corporation.
 #include <X11/X.h>
 #include <X11/Xmd.h>
 #include <X11/Xproto.h>
+
+#include "os/auth.h"
+
 #include "scrnintstr.h"
 #include "resource.h"
 #include "dixstruct.h"
diff --git a/include/os.h b/include/os.h
index 0261d74b8..fffe8eb40 100644
--- a/include/os.h
+++ b/include/os.h
@@ -200,10 +200,6 @@ extern _X_EXPORT void FreeScreenSaverTimer(void);
 
 extern _X_EXPORT void GiveUp(int /*sig */ );
 
-extern _X_EXPORT int set_font_authorizations(char **authorizations,
-                                             int *authlen,
-                                             void *client);
-
 /*
  * This function malloc(3)s buffer, terminating the server if there is not
  * enough memory.
diff --git a/os/auth.h b/os/auth.h
index f632490d6..576fba269 100644
--- a/os/auth.h
+++ b/os/auth.h
@@ -26,4 +26,8 @@ typedef int (*AuthRemCFunc) (AuthRemCArgs);
 #define AuthRstCArgs void
 typedef int (*AuthRstCFunc) (AuthRstCArgs);
 
+int set_font_authorizations(char **authorizations,
+                            int *authlen,
+                            void *client);
+
 #endif /* _XSERVER_OS_AUTH_H */
diff --git a/os/utils.c b/os/utils.c
index 52f64d777..9ba84be28 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -107,6 +107,7 @@ __stdcall unsigned long GetTickCount(void);
 #endif
 
 #include "dix/dix_priv.h"
+#include "os/auth.h"
 #include "os/cmdline.h"
 
 #include "dixstruct.h"


More information about the xorg-commit mailing list