Xext: security: inline SProc*()'s

No need to have a hole bunch of extra functions, if we can just easily
inline the few relevant lines.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult
2025-09-02 13:29:39 +02:00
committed by Enrico Weigelt
parent 025227a113
commit b97378b3b5

View File

@@ -347,14 +347,19 @@ SecurityStartAuthorizationTimer(SecurityAuthorizationPtr pAuth)
static int
ProcSecurityQueryVersion(ClientPtr client)
{
/* REQUEST(xSecurityQueryVersionReq); */
xSecurityQueryVersionReply reply = {
.majorVersion = SERVER_SECURITY_MAJOR_VERSION,
.minorVersion = SERVER_SECURITY_MINOR_VERSION
};
REQUEST(xSecurityQueryVersionReq);
REQUEST_SIZE_MATCH(xSecurityQueryVersionReq);
if (client->swapped) {
swaps(&stuff->majorVersion);
swaps(&stuff->minorVersion);
}
if (client->swapped) {
swaps(&reply.majorVersion);
swaps(&reply.minorVersion);
@@ -416,6 +421,13 @@ ProcSecurityGenerateAuthorization(ClientPtr client)
/* check request length */
REQUEST_AT_LEAST_SIZE(xSecurityGenerateAuthorizationReq);
if (client->swapped) {
swaps(&stuff->nbytesAuthProto);
swaps(&stuff->nbytesAuthData);
swapl(&stuff->valueMask);
}
len = bytes_to_int32(SIZEOF(xSecurityGenerateAuthorizationReq));
len += bytes_to_int32(stuff->nbytesAuthProto);
len += bytes_to_int32(stuff->nbytesAuthData);
@@ -424,6 +436,11 @@ ProcSecurityGenerateAuthorization(ClientPtr client)
if (client->req_len != len)
return BadLength;
if (client->swapped) {
unsigned long nvalues = (((CARD32 *) stuff) + client->req_len) - values;
SwapLongs(values, nvalues);
}
/* check valuemask */
if (stuff->valueMask & ~XSecurityAllAuthorizationAttributes) {
client->errorValue = stuff->valueMask;
@@ -570,6 +587,9 @@ ProcSecurityRevokeAuthorization(ClientPtr client)
int rc;
REQUEST_SIZE_MATCH(xSecurityRevokeAuthorizationReq);
if (client->swapped) {
swapl(&stuff->authId);
}
rc = dixLookupResourceByType((void **) &pAuth, stuff->authId,
SecurityAuthorizationResType, client,
@@ -598,64 +618,6 @@ ProcSecurityDispatch(ClientPtr client)
}
} /* ProcSecurityDispatch */
static int _X_COLD
SProcSecurityQueryVersion(ClientPtr client)
{
REQUEST(xSecurityQueryVersionReq);
REQUEST_SIZE_MATCH(xSecurityQueryVersionReq);
swaps(&stuff->majorVersion);
swaps(&stuff->minorVersion);
return ProcSecurityQueryVersion(client);
} /* SProcSecurityQueryVersion */
static int _X_COLD
SProcSecurityGenerateAuthorization(ClientPtr client)
{
REQUEST(xSecurityGenerateAuthorizationReq);
CARD32 *values;
unsigned long nvalues;
int values_offset;
REQUEST_AT_LEAST_SIZE(xSecurityGenerateAuthorizationReq);
swaps(&stuff->nbytesAuthProto);
swaps(&stuff->nbytesAuthData);
swapl(&stuff->valueMask);
values_offset = bytes_to_int32(stuff->nbytesAuthProto) +
bytes_to_int32(stuff->nbytesAuthData);
if (values_offset >
client->req_len - bytes_to_int32(sz_xSecurityGenerateAuthorizationReq))
return BadLength;
values = (CARD32 *) (&stuff[1]) + values_offset;
nvalues = (((CARD32 *) stuff) + client->req_len) - values;
SwapLongs(values, nvalues);
return ProcSecurityGenerateAuthorization(client);
} /* SProcSecurityGenerateAuthorization */
static int _X_COLD
SProcSecurityRevokeAuthorization(ClientPtr client)
{
REQUEST(xSecurityRevokeAuthorizationReq);
REQUEST_SIZE_MATCH(xSecurityRevokeAuthorizationReq);
swapl(&stuff->authId);
return ProcSecurityRevokeAuthorization(client);
} /* SProcSecurityRevokeAuthorization */
static int _X_COLD
SProcSecurityDispatch(ClientPtr client)
{
REQUEST(xReq);
switch (stuff->data) {
case X_SecurityQueryVersion:
return SProcSecurityQueryVersion(client);
case X_SecurityGenerateAuthorization:
return SProcSecurityGenerateAuthorization(client);
case X_SecurityRevokeAuthorization:
return SProcSecurityRevokeAuthorization(client);
default:
return BadRequest;
}
} /* SProcSecurityDispatch */
static void _X_COLD
SwapSecurityAuthorizationRevokedEvent(xSecurityAuthorizationRevokedEvent * from,
xSecurityAuthorizationRevokedEvent * to)
@@ -1067,7 +1029,7 @@ SecurityExtensionInit(void)
/* Add extension to server */
extEntry = AddExtension(SECURITY_EXTENSION_NAME,
XSecurityNumberEvents, XSecurityNumberErrors,
ProcSecurityDispatch, SProcSecurityDispatch,
ProcSecurityDispatch, ProcSecurityDispatch,
SecurityResetProc, StandardMinorOpcode);
SecurityErrorBase = extEntry->errorBase;