dix: Remove extension aliases

This appears to be essentially unused. The only known client-side
library for the SELinux extension is xcb, which does not look for the
name "Flask". The "SGI-GLX" alias for GLX appears to be a bit of
superstition at this point, NVIDIA's driver does not expose it and Mesa
does not check for it.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Acked-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Adam Jackson 2017-06-16 15:44:42 -04:00
parent 88e807d4fa
commit f44e0af4da
5 changed files with 4 additions and 61 deletions

View File

@ -714,6 +714,4 @@ SELinuxExtensionInit(void)
SELinuxNumberEvents, SELinuxNumberErrors,
ProcSELinuxDispatch, SProcSELinuxDispatch,
SELinuxResetProc, StandardMinorOpcode);
AddExtensionAlias("Flask", extEntry);
}

View File

@ -95,8 +95,6 @@ AddExtension(const char *name, int NumEvents, int NumErrors,
return NULL;
}
ext->name = strdup(name);
ext->num_aliases = 0;
ext->aliases = (const char **) NULL;
if (!ext->name) {
dixFreePrivates(ext->devPrivates, PRIVATE_EXTENSION);
free(ext);
@ -144,42 +142,15 @@ AddExtension(const char *name, int NumEvents, int NumErrors,
return ext;
}
Bool
AddExtensionAlias(const char *alias, ExtensionEntry * ext)
{
char *name;
const char **aliases;
if (!ext)
return FALSE;
aliases = reallocarray(ext->aliases, ext->num_aliases + 1, sizeof(char *));
if (!aliases)
return FALSE;
ext->aliases = aliases;
name = strdup(alias);
if (!name)
return FALSE;
ext->aliases[ext->num_aliases] = name;
ext->num_aliases++;
return TRUE;
}
static int
FindExtension(const char *extname, int len)
{
int i, j;
int i;
for (i = 0; i < NumExtensions; i++) {
if ((strlen(extensions[i]->name) == len) &&
!strncmp(extname, extensions[i]->name, len))
break;
for (j = extensions[i]->num_aliases; --j >= 0;) {
if ((strlen(extensions[i]->aliases[j]) == len) &&
!strncmp(extname, extensions[i]->aliases[j], len))
break;
}
if (j >= 0)
break;
}
return ((i == NumExtensions) ? -1 : i);
}
@ -223,16 +194,13 @@ StandardMinorOpcode(ClientPtr client)
void
CloseDownExtensions(void)
{
int i, j;
int i;
for (i = NumExtensions - 1; i >= 0; i--) {
if (extensions[i]->CloseDown)
extensions[i]->CloseDown(extensions[i]);
NumExtensions = i;
free((void *) extensions[i]->name);
for (j = extensions[i]->num_aliases; --j >= 0;)
free((void *) extensions[i]->aliases[j]);
free(extensions[i]->aliases);
dixFreePrivates(extensions[i]->devPrivates, PRIVATE_EXTENSION);
free(extensions[i]);
}
@ -294,7 +262,7 @@ ProcListExtensions(ClientPtr client)
buffer = NULL;
if (NumExtensions) {
int i, j;
int i;
for (i = 0; i < NumExtensions; i++) {
/* call callbacks to find out whether to show extension */
@ -302,9 +270,7 @@ ProcListExtensions(ClientPtr client)
continue;
total_length += strlen(extensions[i]->name) + 1;
reply.nExtensions += 1 + extensions[i]->num_aliases;
for (j = extensions[i]->num_aliases; --j >= 0;)
total_length += strlen(extensions[i]->aliases[j]) + 1;
reply.nExtensions += 1;
}
reply.length = bytes_to_int32(total_length);
buffer = bufptr = malloc(total_length);
@ -319,11 +285,6 @@ ProcListExtensions(ClientPtr client)
*bufptr++ = len = strlen(extensions[i]->name);
memmove(bufptr, extensions[i]->name, len);
bufptr += len;
for (j = extensions[i]->num_aliases; --j >= 0;) {
*bufptr++ = len = strlen(extensions[i]->aliases[j]);
memmove(bufptr, extensions[i]->aliases[j], len);
bufptr += len;
}
}
}
WriteReplyToClient(client, sizeof(xListExtensionsReply), &reply);

View File

@ -424,10 +424,6 @@ GlxExtensionInit(void)
FatalError("__glXExtensionInit: AddExtensions failed\n");
return;
}
if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) {
ErrorF("__glXExtensionInit: AddExtensionAlias failed\n");
return;
}
__glXErrorBase = extEntry->errorBase;
__glXEventBase = extEntry->eventBase;

View File

@ -323,12 +323,6 @@ GlxExtensionInit(void)
FatalError("__glXExtensionInit: AddExtensions failed\n");
return;
}
/*
if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) {
ErrorF("__glXExtensionInit: AddExtensionAlias failed\n");
return;
}
*/
__glXerrorBase = extEntry->errorBase;
__glXBadContext = extEntry->errorBase + GLXBadContext;

View File

@ -64,8 +64,6 @@ typedef struct _ExtensionEntry {
int eventLast;
int errorBase;
int errorLast;
int num_aliases;
const char **aliases;
void *extPrivate;
unsigned short (*MinorOpcode) ( /* called for errors */
ClientPtr /* client */ );
@ -95,10 +93,6 @@ AddExtension(const char * /*name */ ,
unsigned short (* /*MinorOpcodeProc */ )(ClientPtr /*client */ )
);
extern _X_EXPORT Bool
AddExtensionAlias(const char * /*alias */ ,
ExtensionEntry * /*extension */ );
extern _X_EXPORT ExtensionEntry *
CheckExtension(const char *extname);
extern _X_EXPORT ExtensionEntry *