summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2014-05-22 23:05:42 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2014-05-22 23:05:42 -0700
commit03bf9d280c88b15161defd305ab06920bacb26a9 (patch)
treecc92137ae6114e003fd759bf83be900b15d8493c
parentca9663adce2a6e477fd92429e6e64bf8665998ef (diff)
Delete unused extension code
No extensions were defined, but the code was ready for them, just in case someone came up with one. If someone ever does, they can restore from git history or an old tarball - until then, less code for us to maintain & worry about checking for proper encoding/decoding of protocol. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--difs/dispatch.c2
-rw-r--r--difs/extensions.c216
-rw-r--r--difs/main.c2
-rw-r--r--include/extentst.h35
4 files changed, 11 insertions, 244 deletions
diff --git a/difs/dispatch.c b/difs/dispatch.c
index a85d306..36c82ef 100644
--- a/difs/dispatch.c
+++ b/difs/dispatch.c
@@ -398,7 +398,7 @@ DoSendErrToClient(
.sequenceNumber = client->sequence,
.timestamp = GetTimeInMillis(),
.major_opcode = ((fsReq *) client->requestBuffer)->reqType,
- .minor_opcode = MinorOpcodeOfRequest(client)
+ .minor_opcode = 0
};
int extralen = 0;
diff --git a/difs/extensions.c b/difs/extensions.c
index 2bb2405..5a3d6d9 100644
--- a/difs/extensions.c
+++ b/difs/extensions.c
@@ -55,146 +55,12 @@ in this Software without prior written authorization from The Open Group.
#include "difs.h"
#include "dispatch.h"
-#define EXTENSION_BASE 128
-#define EXTENSION_EVENT_BASE 64
-#define LAST_EVENT 128
-#define LAST_ERROR 255
-
-static ExtensionEntry **extensions = (ExtensionEntry **) NULL;
-
-static int lastEvent = EXTENSION_EVENT_BASE;
-static int lastError = FirstExtensionError;
-static int NumExtensions = 0;
-
-
-ExtensionEntry *
-AddExtension(
- char *name,
- int num_events,
- int num_errors,
- int (*main_proc) (ClientPtr),
- int (*smain_proc) (ClientPtr),
- void (*closedown_proc) (struct _ExtensionEntry *),
- unsigned short (*minorop_proc) (ClientPtr))
-{
- int i;
- ExtensionEntry *ext,
- **newexts;
-
- if (!main_proc || !smain_proc || !closedown_proc || !minorop_proc)
- return ((ExtensionEntry *) 0);
- if ((lastEvent + num_events > LAST_EVENT) ||
- (unsigned) (lastError + num_errors > LAST_ERROR))
- return ((ExtensionEntry *) 0);
- ext = (ExtensionEntry *) fsalloc(sizeof(ExtensionEntry));
- if (!ext)
- return ((ExtensionEntry *) 0);
- ext->num_aliases = 0;
- ext->aliases = (char **) NULL;
- ext->name = strdup(name);
- if (!ext->name) {
- fsfree(ext);
- return ((ExtensionEntry *) 0);
- }
- i = NumExtensions;
- newexts = (ExtensionEntry **) fsrealloc(extensions,
- (i + 1) * sizeof(ExtensionEntry *));
- if (!newexts) {
- fsfree(ext->name);
- fsfree(ext);
- return ((ExtensionEntry *) 0);
- }
- NumExtensions++;
- extensions = newexts;
- extensions[i] = ext;
- ext->index = i;
- ext->base = i + EXTENSION_BASE;
- ext->CloseDown = closedown_proc;
- ext->MinorOpcode = minorop_proc;
- ProcVector[i + EXTENSION_BASE] = main_proc;
- SwappedProcVector[i + EXTENSION_BASE] = smain_proc;
- if (num_events) {
- ext->eventBase = lastEvent;
- ext->eventLast = lastEvent + num_events;
- lastEvent += num_events;
- } else {
- ext->eventBase = 0;
- ext->eventLast = 0;
- }
- if (num_errors) {
- ext->errorBase = lastError;
- ext->errorLast = lastError + num_errors;
- lastError += num_errors;
- } else {
- ext->errorBase = 0;
- ext->errorLast = 0;
- }
- return ext;
-}
-
-Bool
-AddExtensionAlias(char *alias, ExtensionEntry *ext)
-{
- char *name;
- char **aliases;
-
- aliases = (char **) fsrealloc(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;
- return TRUE;
-}
-
-unsigned short
-StandardMinorOpcode(ClientPtr client)
-{
- return ((fsReq *) client->requestBuffer)->data;
-}
-
-unsigned short
-MinorOpcodeOfRequest(ClientPtr client)
-{
- unsigned char major;
-
- major = ((fsReq *) client->requestBuffer)->reqType;
- if (major < EXTENSION_BASE)
- return 0;
- major -= EXTENSION_BASE;
- if (major >= NumExtensions)
- return 0;
- return (*extensions[major]->MinorOpcode) (client);
-}
-
-void
-CloseDownExtensions(void)
-{
- int i,
- j;
-
- for (i = NumExtensions - 1; i >= 0; i--) {
- (*extensions[i]->CloseDown) (extensions[i]);
- NumExtensions = i;
- fsfree(extensions[i]->name);
- for (j = extensions[i]->num_aliases; --j >= 0;)
- fsfree(extensions[i]->aliases[j]);
- fsfree(extensions[i]->aliases);
- fsfree(extensions[i]);
- }
- fsfree(extensions);
- extensions = (ExtensionEntry **) NULL;
- lastEvent = EXTENSION_EVENT_BASE;
- lastError = FirstExtensionError;
-}
-
-void
-InitExtensions(void)
-{
-}
+/*
+ * Provides the protocol handlers for the Query & List Extensions
+ * requests, which are effectively no-ops, as no extensions are
+ * implemented, and the extension framework has been removed.
+ * (See the git history in the unlikely event you need to create one.)
+ */
int
ProcQueryExtension(ClientPtr client)
@@ -203,42 +69,15 @@ ProcQueryExtension(ClientPtr client)
.type = FS_Reply,
.sequenceNumber = client->sequence,
.length = SIZEOF(fsQueryExtensionReply) >> 2,
+ .present = fsFalse,
.major_opcode = 0
};
- int i,
- j;
REQUEST(fsQueryExtensionReq);
REQUEST_AT_LEAST_SIZE(fsQueryExtensionReq);
- if (!NumExtensions) {
- reply.present = fsFalse;
- } else {
- for (i = 0; i < NumExtensions; i++) {
- if ((strlen(extensions[i]->name) == stuff->nbytes) &&
- !strncmp((char *) &stuff[1], extensions[i]->name,
- (int) stuff->nbytes))
- break;
- for (j = extensions[i]->num_aliases; --j >= 0;) {
- if ((strlen(extensions[i]->aliases[j]) == stuff->nbytes) &&
- !strncmp((char *) &stuff[1], extensions[i]->aliases[j],
- (int) stuff->nbytes))
- break;
- }
- if (j >= 0)
- break;
- }
- if (i == NumExtensions) {
- reply.present = fsFalse;
- } else {
- reply.present = fsTrue;
- reply.major_opcode = extensions[i]->base;
- reply.first_event = extensions[i]->eventBase;
- reply.first_error = extensions[i]->errorBase;
- }
-
- }
+ /* No defined extensions to query for, so always just return False */
WriteReplyToClient(client, SIZEOF(fsQueryExtensionReply), &reply);
return client->noClientException;
}
@@ -248,50 +87,15 @@ ProcListExtensions(ClientPtr client)
{
fsListExtensionsReply reply = {
.type = FS_Reply,
- .nExtensions = NumExtensions,
+ .nExtensions = 0,
.sequenceNumber = client->sequence,
.length = SIZEOF(fsListExtensionsReply) >> 2
};
- char *bufptr,
- *buffer = NULL;
- int total_length = 0;
REQUEST(fsListExtensionsReq);
REQUEST_SIZE_MATCH(fsListExtensionsReq);
- if (NumExtensions) {
- int i,
- j;
-
- for (i = 0; i < NumExtensions; i++) {
- total_length += strlen(extensions[i]->name) + 1;
- reply.nExtensions += extensions[i]->num_aliases;
- for (j = extensions[i]->num_aliases; --j >= 0;)
- total_length += strlen(extensions[i]->aliases[j]) + 1;
- }
- reply.length += (total_length + 3) >> 2;
- buffer = bufptr = (char *) ALLOCATE_LOCAL(total_length);
- if (!buffer) {
- SendErrToClient(client, FSBadAlloc, NULL);
- return FSBadAlloc;
- }
- for (i = 0; i < NumExtensions; i++) {
- int len;
-
- *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;
- }
- }
- }
+ /* No defined extensions, so always just return empty list */
WriteReplyToClient(client, SIZEOF(fsListExtensionsReply), &reply);
- if (total_length) {
- WriteToClient(client, total_length, buffer);
- DEALLOCATE_LOCAL(buffer);
- }
return client->noClientException;
}
diff --git a/difs/main.c b/difs/main.c
index a202a53..4177fcb 100644
--- a/difs/main.c
+++ b/difs/main.c
@@ -128,7 +128,6 @@ main(int argc, char *argv[])
if (!InitClientResources(serverClient))
FatalError("couldn't init server resources\n");
- InitExtensions();
InitAtoms();
InitFonts();
SetConfigValues();
@@ -146,7 +145,6 @@ main(int argc, char *argv[])
#endif
/* clean up per-cycle stuff */
- CloseDownExtensions();
if ((dispatchException & DE_TERMINATE) || drone_server)
break;
fsfree(ConnectionInfo);
diff --git a/include/extentst.h b/include/extentst.h
index 9010d87..e21f8cb 100644
--- a/include/extentst.h
+++ b/include/extentst.h
@@ -48,44 +48,9 @@ in this Software without prior written authorization from The Open Group.
#ifndef _EXTENTST_H_
#define _EXTENTST_H_
-typedef struct _ExtensionEntry {
- int index;
- void (*CloseDown) (struct _ExtensionEntry*);
- char *name;
- int base;
- int eventBase;
- int eventLast;
- int errorBase;
- int errorLast;
- int num_aliases;
- char **aliases;
- pointer extPrivate;
- unsigned short (*MinorOpcode) (ClientPtr);
-} ExtensionEntry;
-
extern void (*EventSwapVector[]) (fsError *, fsError *);
-#if 0
-typedef void (*ExtensionLookupProc) (char *name, GCPtr pGC);
-
-typedef struct _ProcEntry {
- char *name;
- ExtensionLookupProc proc;
-} ProcEntryRec, *ProcEntryPtr;
-
-extern ExtensionEntry *AddExtension();
-extern ExtensionLookupProc LookupProc(char *name, GCPtr pGC);
-extern Bool RegisterProc();
-#endif
-
-extern ExtensionEntry * AddExtension ( char *name, int num_events, int num_errors, int (*main_proc) (ClientPtr), int (*smain_proc) (ClientPtr), void (*closedown_proc) (struct _ExtensionEntry *), unsigned short (*minorop_proc) (ClientPtr) );
-
-extern Bool AddExtensionAlias(char *alias, ExtensionEntry *ext);
extern int ProcListExtensions(ClientPtr client);
extern int ProcQueryExtension(ClientPtr client);
-extern unsigned short MinorOpcodeOfRequest(ClientPtr client);
-extern unsigned short StandardMinorOpcode(ClientPtr client);
-extern void CloseDownExtensions(void);
-extern void InitExtensions(void);
#endif /* _EXTENTST_H_ */