dix: Factor out extension availability check
Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
9d5af632fd
commit
73a1cb9c92
|
@ -210,6 +210,14 @@ CloseDownExtensions(void)
|
||||||
lastError = FirstExtensionError;
|
lastError = FirstExtensionError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
ExtensionAvailable(ClientPtr client, ExtensionEntry *ext)
|
||||||
|
{
|
||||||
|
if (XaceHook(XACE_EXT_ACCESS, client, ext) != Success)
|
||||||
|
return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcQueryExtension(ClientPtr client)
|
ProcQueryExtension(ClientPtr client)
|
||||||
{
|
{
|
||||||
|
@ -231,7 +239,7 @@ ProcQueryExtension(ClientPtr client)
|
||||||
reply.present = xFalse;
|
reply.present = xFalse;
|
||||||
else {
|
else {
|
||||||
i = FindExtension((char *) &stuff[1], stuff->nbytes);
|
i = FindExtension((char *) &stuff[1], stuff->nbytes);
|
||||||
if (i < 0 || XaceHook(XACE_EXT_ACCESS, client, extensions[i]))
|
if (i < 0 || !ExtensionAvailable(client, extensions[i]))
|
||||||
reply.present = xFalse;
|
reply.present = xFalse;
|
||||||
else {
|
else {
|
||||||
reply.present = xTrue;
|
reply.present = xTrue;
|
||||||
|
@ -266,7 +274,7 @@ ProcListExtensions(ClientPtr client)
|
||||||
|
|
||||||
for (i = 0; i < NumExtensions; i++) {
|
for (i = 0; i < NumExtensions; i++) {
|
||||||
/* call callbacks to find out whether to show extension */
|
/* call callbacks to find out whether to show extension */
|
||||||
if (XaceHook(XACE_EXT_ACCESS, client, extensions[i]) != Success)
|
if (!ExtensionAvailable(client, extensions[i]))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
total_length += strlen(extensions[i]->name) + 1;
|
total_length += strlen(extensions[i]->name) + 1;
|
||||||
|
@ -279,7 +287,7 @@ ProcListExtensions(ClientPtr client)
|
||||||
for (i = 0; i < NumExtensions; i++) {
|
for (i = 0; i < NumExtensions; i++) {
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (XaceHook(XACE_EXT_ACCESS, client, extensions[i]) != Success)
|
if (!ExtensionAvailable(client, extensions[i]))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
*bufptr++ = len = strlen(extensions[i]->name);
|
*bufptr++ = len = strlen(extensions[i]->name);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user