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:
parent
88e807d4fa
commit
f44e0af4da
|
@ -714,6 +714,4 @@ SELinuxExtensionInit(void)
|
||||||
SELinuxNumberEvents, SELinuxNumberErrors,
|
SELinuxNumberEvents, SELinuxNumberErrors,
|
||||||
ProcSELinuxDispatch, SProcSELinuxDispatch,
|
ProcSELinuxDispatch, SProcSELinuxDispatch,
|
||||||
SELinuxResetProc, StandardMinorOpcode);
|
SELinuxResetProc, StandardMinorOpcode);
|
||||||
|
|
||||||
AddExtensionAlias("Flask", extEntry);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,8 +95,6 @@ AddExtension(const char *name, int NumEvents, int NumErrors,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
ext->name = strdup(name);
|
ext->name = strdup(name);
|
||||||
ext->num_aliases = 0;
|
|
||||||
ext->aliases = (const char **) NULL;
|
|
||||||
if (!ext->name) {
|
if (!ext->name) {
|
||||||
dixFreePrivates(ext->devPrivates, PRIVATE_EXTENSION);
|
dixFreePrivates(ext->devPrivates, PRIVATE_EXTENSION);
|
||||||
free(ext);
|
free(ext);
|
||||||
|
@ -144,42 +142,15 @@ AddExtension(const char *name, int NumEvents, int NumErrors,
|
||||||
return ext;
|
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
|
static int
|
||||||
FindExtension(const char *extname, int len)
|
FindExtension(const char *extname, int len)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < NumExtensions; i++) {
|
for (i = 0; i < NumExtensions; i++) {
|
||||||
if ((strlen(extensions[i]->name) == len) &&
|
if ((strlen(extensions[i]->name) == len) &&
|
||||||
!strncmp(extname, extensions[i]->name, len))
|
!strncmp(extname, extensions[i]->name, len))
|
||||||
break;
|
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);
|
return ((i == NumExtensions) ? -1 : i);
|
||||||
}
|
}
|
||||||
|
@ -223,16 +194,13 @@ StandardMinorOpcode(ClientPtr client)
|
||||||
void
|
void
|
||||||
CloseDownExtensions(void)
|
CloseDownExtensions(void)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i;
|
||||||
|
|
||||||
for (i = NumExtensions - 1; i >= 0; i--) {
|
for (i = NumExtensions - 1; i >= 0; i--) {
|
||||||
if (extensions[i]->CloseDown)
|
if (extensions[i]->CloseDown)
|
||||||
extensions[i]->CloseDown(extensions[i]);
|
extensions[i]->CloseDown(extensions[i]);
|
||||||
NumExtensions = i;
|
NumExtensions = i;
|
||||||
free((void *) extensions[i]->name);
|
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);
|
dixFreePrivates(extensions[i]->devPrivates, PRIVATE_EXTENSION);
|
||||||
free(extensions[i]);
|
free(extensions[i]);
|
||||||
}
|
}
|
||||||
|
@ -294,7 +262,7 @@ ProcListExtensions(ClientPtr client)
|
||||||
buffer = NULL;
|
buffer = NULL;
|
||||||
|
|
||||||
if (NumExtensions) {
|
if (NumExtensions) {
|
||||||
int i, j;
|
int i;
|
||||||
|
|
||||||
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 */
|
||||||
|
@ -302,9 +270,7 @@ ProcListExtensions(ClientPtr client)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
total_length += strlen(extensions[i]->name) + 1;
|
total_length += strlen(extensions[i]->name) + 1;
|
||||||
reply.nExtensions += 1 + extensions[i]->num_aliases;
|
reply.nExtensions += 1;
|
||||||
for (j = extensions[i]->num_aliases; --j >= 0;)
|
|
||||||
total_length += strlen(extensions[i]->aliases[j]) + 1;
|
|
||||||
}
|
}
|
||||||
reply.length = bytes_to_int32(total_length);
|
reply.length = bytes_to_int32(total_length);
|
||||||
buffer = bufptr = malloc(total_length);
|
buffer = bufptr = malloc(total_length);
|
||||||
|
@ -319,11 +285,6 @@ ProcListExtensions(ClientPtr client)
|
||||||
*bufptr++ = len = strlen(extensions[i]->name);
|
*bufptr++ = len = strlen(extensions[i]->name);
|
||||||
memmove(bufptr, extensions[i]->name, len);
|
memmove(bufptr, extensions[i]->name, len);
|
||||||
bufptr += 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);
|
WriteReplyToClient(client, sizeof(xListExtensionsReply), &reply);
|
||||||
|
|
|
@ -424,10 +424,6 @@ GlxExtensionInit(void)
|
||||||
FatalError("__glXExtensionInit: AddExtensions failed\n");
|
FatalError("__glXExtensionInit: AddExtensions failed\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) {
|
|
||||||
ErrorF("__glXExtensionInit: AddExtensionAlias failed\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
__glXErrorBase = extEntry->errorBase;
|
__glXErrorBase = extEntry->errorBase;
|
||||||
__glXEventBase = extEntry->eventBase;
|
__glXEventBase = extEntry->eventBase;
|
||||||
|
|
|
@ -323,12 +323,6 @@ GlxExtensionInit(void)
|
||||||
FatalError("__glXExtensionInit: AddExtensions failed\n");
|
FatalError("__glXExtensionInit: AddExtensions failed\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if (!AddExtensionAlias(GLX_EXTENSION_ALIAS, extEntry)) {
|
|
||||||
ErrorF("__glXExtensionInit: AddExtensionAlias failed\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
__glXerrorBase = extEntry->errorBase;
|
__glXerrorBase = extEntry->errorBase;
|
||||||
__glXBadContext = extEntry->errorBase + GLXBadContext;
|
__glXBadContext = extEntry->errorBase + GLXBadContext;
|
||||||
|
|
|
@ -64,8 +64,6 @@ typedef struct _ExtensionEntry {
|
||||||
int eventLast;
|
int eventLast;
|
||||||
int errorBase;
|
int errorBase;
|
||||||
int errorLast;
|
int errorLast;
|
||||||
int num_aliases;
|
|
||||||
const char **aliases;
|
|
||||||
void *extPrivate;
|
void *extPrivate;
|
||||||
unsigned short (*MinorOpcode) ( /* called for errors */
|
unsigned short (*MinorOpcode) ( /* called for errors */
|
||||||
ClientPtr /* client */ );
|
ClientPtr /* client */ );
|
||||||
|
@ -95,10 +93,6 @@ AddExtension(const char * /*name */ ,
|
||||||
unsigned short (* /*MinorOpcodeProc */ )(ClientPtr /*client */ )
|
unsigned short (* /*MinorOpcodeProc */ )(ClientPtr /*client */ )
|
||||||
);
|
);
|
||||||
|
|
||||||
extern _X_EXPORT Bool
|
|
||||||
AddExtensionAlias(const char * /*alias */ ,
|
|
||||||
ExtensionEntry * /*extension */ );
|
|
||||||
|
|
||||||
extern _X_EXPORT ExtensionEntry *
|
extern _X_EXPORT ExtensionEntry *
|
||||||
CheckExtension(const char *extname);
|
CheckExtension(const char *extname);
|
||||||
extern _X_EXPORT ExtensionEntry *
|
extern _X_EXPORT ExtensionEntry *
|
||||||
|
|
Loading…
Reference in New Issue