Commit ed52cb29 authored by Adam Jackson's avatar Adam Jackson Committed by Mike Gabriel

dix: Pull client-is-local flag up to the ClientRec

Backported from X.org commit ff8e3ad8074cd2c8bed49b39c40c2b4892118270 Author: Adam Jackson <ajax@redhat.com> Date: Thu Sep 20 13:16:59 2012 -0400 dix: Pull client-is-local flag up to the ClientRec Reviewed-by: 's avatarDaniel Stone <daniel@fooishbar.org> Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com> Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
parent 349b6dec
...@@ -366,7 +366,7 @@ ProcXF86BigfontQueryVersion( ...@@ -366,7 +366,7 @@ ProcXF86BigfontQueryVersion(
#endif #endif
reply.capabilities = reply.capabilities =
#ifdef HAS_SHM #ifdef HAS_SHM
(LocalClient(client) && !client->swapped ? XF86Bigfont_CAP_LocalShm : 0) (client->local && !client->swapped ? XF86Bigfont_CAP_LocalShm : 0)
#else #else
0 0
#endif #endif
...@@ -430,7 +430,7 @@ ProcXF86BigfontQueryFont( ...@@ -430,7 +430,7 @@ ProcXF86BigfontQueryFont(
#else #else
switch (client->req_len) { switch (client->req_len) {
case 2: /* client with version 1.0 libX11 */ case 2: /* client with version 1.0 libX11 */
stuff_flags = (LocalClient(client) && !client->swapped ? XF86Bigfont_FLAGS_Shm : 0); stuff_flags = (client->local && !client->swapped ? XF86Bigfont_FLAGS_Shm : 0);
break; break;
case 3: /* client with version 1.1 libX11 */ case 3: /* client with version 1.1 libX11 */
stuff_flags = stuff->flags; stuff_flags = stuff->flags;
......
...@@ -95,6 +95,7 @@ typedef struct _Client { ...@@ -95,6 +95,7 @@ typedef struct _Client {
void *requestBuffer; void *requestBuffer;
void *osPrivate; /* for OS layer, including scheduler */ void *osPrivate; /* for OS layer, including scheduler */
Bool swapped; Bool swapped;
Bool local;
ReplySwapPtr pSwapReplyFunc; ReplySwapPtr pSwapReplyFunc;
XID errorValue; XID errorValue;
int sequence; int sequence;
......
...@@ -317,8 +317,6 @@ typedef struct sockaddr * sockaddrPtr; ...@@ -317,8 +317,6 @@ typedef struct sockaddr * sockaddrPtr;
extern int InvalidHost(sockaddrPtr /*saddr*/, int /*len*/, ClientPtr client); extern int InvalidHost(sockaddrPtr /*saddr*/, int /*len*/, ClientPtr client);
extern int LocalClient(ClientPtr /* client */);
extern int LocalClientCred(ClientPtr, int *, int *); extern int LocalClientCred(ClientPtr, int *, int *);
#define LCC_UID_SET (1 << 0) #define LCC_UID_SET (1 << 0)
......
...@@ -1264,13 +1264,6 @@ ComputeLocalClient(ClientPtr client) ...@@ -1264,13 +1264,6 @@ ComputeLocalClient(ClientPtr client)
return FALSE; return FALSE;
} }
Bool LocalClient(ClientPtr client)
{
if (!client->osPrivate)
return FALSE;
return ((OsCommPtr)client->osPrivate)->local_client;
}
/* /*
* Return the uid and gid of a connected local client * Return the uid and gid of a connected local client
* *
...@@ -1419,7 +1412,7 @@ AuthorizedClient(ClientPtr client) ...@@ -1419,7 +1412,7 @@ AuthorizedClient(ClientPtr client)
{ {
if (!client || defeatAccessControl) if (!client || defeatAccessControl)
return TRUE; return TRUE;
return LocalClient(client); return client->local ? Success : BadAccess;
} }
/* Add a host to the access control list. This is the external interface /* Add a host to the access control list. This is the external interface
......
...@@ -754,7 +754,7 @@ AllocNewConnection (XtransConnInfo trans_conn, int fd, CARD32 conn_time) ...@@ -754,7 +754,7 @@ AllocNewConnection (XtransConnInfo trans_conn, int fd, CARD32 conn_time)
free (oc); free (oc);
return NullClient; return NullClient;
} }
oc->local_client = ComputeLocalClient(client); client->local = ComputeLocalClient(client);
{ {
#if !defined(WIN32) #if !defined(WIN32)
ConnectionTranslation[fd] = client->index; ConnectionTranslation[fd] = client->index;
......
...@@ -176,7 +176,6 @@ typedef struct _osComm { ...@@ -176,7 +176,6 @@ typedef struct _osComm {
XID auth_id; /* authorization id */ XID auth_id; /* authorization id */
CARD32 conn_time; /* timestamp if not established, else 0 */ CARD32 conn_time; /* timestamp if not established, else 0 */
struct _XtransConnInfo *trans_conn; /* transport connection object */ struct _XtransConnInfo *trans_conn; /* transport connection object */
Bool local_client;
} OsCommRec, *OsCommPtr; } OsCommRec, *OsCommPtr;
extern int FlushClient( extern int FlushClient(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment