Module Name:    xsrc
Committed By:   mrg
Date:           Wed Mar  8 06:54:39 UTC 2017

Modified Files:
        xsrc/external/mit/xorg-server/dist/os: auth.c mitauth.c osdep.h
            rpcauth.c xdmauth.c

Log Message:
apply
https://cgit.freedesktop.org/xorg/xserver/commit/?id=2855f759b1e7bf7f5e57cac36c1f0d0e5ac1a683

auth: remove AuthToIDFunc and associated functions. Not used anymore.
And the current code for MitToId has a use-after-free() issue.

[Also remove the actual implementations - ajax]

Signed-off-by: Matthieu Herrb <[email protected]>
Reviewed-by: Alan Coopersmith <[email protected]>


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4 -r1.2 xsrc/external/mit/xorg-server/dist/os/auth.c \
    xsrc/external/mit/xorg-server/dist/os/xdmauth.c
cvs rdiff -u -r1.1.1.3 -r1.2 xsrc/external/mit/xorg-server/dist/os/mitauth.c
cvs rdiff -u -r1.1.1.5 -r1.2 xsrc/external/mit/xorg-server/dist/os/osdep.h
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xorg-server/dist/os/rpcauth.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xorg-server/dist/os/auth.c
diff -u xsrc/external/mit/xorg-server/dist/os/auth.c:1.1.1.4 xsrc/external/mit/xorg-server/dist/os/auth.c:1.2
--- xsrc/external/mit/xorg-server/dist/os/auth.c:1.1.1.4	Wed Aug 10 07:44:32 2016
+++ xsrc/external/mit/xorg-server/dist/os/auth.c	Wed Mar  8 06:54:39 2017
@@ -52,7 +52,6 @@ struct protocol {
     AuthAddCFunc Add;           /* new authorization data */
     AuthCheckFunc Check;        /* verify client authorization data */
     AuthRstCFunc Reset;         /* delete all authorization data entries */
-    AuthToIDFunc ToID;          /* convert cookie to ID */
     AuthFromIDFunc FromID;      /* convert ID to cookie */
     AuthRemCFunc Remove;        /* remove a specific cookie */
 #ifdef XCSECURITY
@@ -63,7 +62,7 @@ struct protocol {
 static struct protocol protocols[] = {
     {(unsigned short) 18, "MIT-MAGIC-COOKIE-1",
      MitAddCookie, MitCheckCookie, MitResetCookie,
-     MitToID, MitFromID, MitRemoveCookie,
+     MitFromID, MitRemoveCookie,
 #ifdef XCSECURITY
      MitGenerateCookie
 #endif
@@ -71,7 +70,7 @@ static struct protocol protocols[] = {
 #ifdef HASXDMAUTH
     {(unsigned short) 19, "XDM-AUTHORIZATION-1",
      XdmAddCookie, XdmCheckCookie, XdmResetCookie,
-     XdmToID, XdmFromID, XdmRemoveCookie,
+     XdmFromID, XdmRemoveCookie,
 #ifdef XCSECURITY
      NULL
 #endif
@@ -80,7 +79,7 @@ static struct protocol protocols[] = {
 #ifdef SECURE_RPC
     {(unsigned short) 9, "SUN-DES-1",
      SecureRPCAdd, SecureRPCCheck, SecureRPCReset,
-     SecureRPCToID, SecureRPCFromID, SecureRPCRemove,
+     SecureRPCFromID, SecureRPCRemove,
 #ifdef XCSECURITY
      NULL
 #endif
Index: xsrc/external/mit/xorg-server/dist/os/xdmauth.c
diff -u xsrc/external/mit/xorg-server/dist/os/xdmauth.c:1.1.1.4 xsrc/external/mit/xorg-server/dist/os/xdmauth.c:1.2
--- xsrc/external/mit/xorg-server/dist/os/xdmauth.c:1.1.1.4	Wed Aug 10 07:44:32 2016
+++ xsrc/external/mit/xorg-server/dist/os/xdmauth.c	Wed Mar  8 06:54:39 2017
@@ -411,33 +411,6 @@ XdmResetCookie(void)
     return 1;
 }
 
-XID
-XdmToID(unsigned short cookie_length, char *cookie)
-{
-    XdmAuthorizationPtr auth;
-    XdmClientAuthPtr client;
-    unsigned char *plain;
-
-    plain = malloc(cookie_length);
-    if (!plain)
-        return (XID) -1;
-    for (auth = xdmAuth; auth; auth = auth->next) {
-        XdmcpUnwrap((unsigned char *) cookie, (unsigned char *) &auth->key,
-                    plain, cookie_length);
-        if ((client =
-             XdmAuthorizationValidate(plain, cookie_length, &auth->rho, NULL,
-                                      NULL)) != NULL) {
-            free(client);
-            free(cookie);
-            free(plain);
-            return auth->id;
-        }
-    }
-    free(cookie);
-    free(plain);
-    return (XID) -1;
-}
-
 int
 XdmFromID(XID id, unsigned short *data_lenp, char **datap)
 {

Index: xsrc/external/mit/xorg-server/dist/os/mitauth.c
diff -u xsrc/external/mit/xorg-server/dist/os/mitauth.c:1.1.1.3 xsrc/external/mit/xorg-server/dist/os/mitauth.c:1.2
--- xsrc/external/mit/xorg-server/dist/os/mitauth.c:1.1.1.3	Wed Aug 10 07:44:32 2016
+++ xsrc/external/mit/xorg-server/dist/os/mitauth.c	Wed Mar  8 06:54:39 2017
@@ -97,19 +97,6 @@ MitResetCookie(void)
     return 0;
 }
 
-XID
-MitToID(unsigned short data_length, char *data)
-{
-    struct auth *auth;
-
-    for (auth = mit_auth; auth; auth = auth->next) {
-        if (data_length == auth->len &&
-            memcmp(data, auth->data, data_length) == 0)
-            return auth->id;
-    }
-    return (XID) -1;
-}
-
 int
 MitFromID(XID id, unsigned short *data_lenp, char **datap)
 {

Index: xsrc/external/mit/xorg-server/dist/os/osdep.h
diff -u xsrc/external/mit/xorg-server/dist/os/osdep.h:1.1.1.5 xsrc/external/mit/xorg-server/dist/os/osdep.h:1.2
--- xsrc/external/mit/xorg-server/dist/os/osdep.h:1.1.1.5	Wed Aug 10 07:44:32 2016
+++ xsrc/external/mit/xorg-server/dist/os/osdep.h	Wed Mar  8 06:54:39 2017
@@ -133,9 +133,6 @@ typedef int (*AuthRemCFunc) (AuthRemCArg
 #define AuthRstCArgs void
 typedef int (*AuthRstCFunc) (AuthRstCArgs);
 
-#define AuthToIDArgs unsigned short data_length, char *data
-typedef XID (*AuthToIDFunc) (AuthToIDArgs);
-
 typedef void (*OsCloseFunc) (ClientPtr);
 
 typedef int (*OsFlushFunc) (ClientPtr who, struct _osComm * oc, char *extraBuf,
@@ -200,7 +197,6 @@ extern void GenerateRandomData(int len, 
 /* in mitauth.c */
 extern XID MitCheckCookie(AuthCheckArgs);
 extern XID MitGenerateCookie(AuthGenCArgs);
-extern XID MitToID(AuthToIDArgs);
 extern int MitAddCookie(AuthAddCArgs);
 extern int MitFromID(AuthFromIDArgs);
 extern int MitRemoveCookie(AuthRemCArgs);
@@ -209,7 +205,6 @@ extern int MitResetCookie(AuthRstCArgs);
 /* in xdmauth.c */
 #ifdef HASXDMAUTH
 extern XID XdmCheckCookie(AuthCheckArgs);
-extern XID XdmToID(AuthToIDArgs);
 extern int XdmAddCookie(AuthAddCArgs);
 extern int XdmFromID(AuthFromIDArgs);
 extern int XdmRemoveCookie(AuthRemCArgs);
@@ -220,7 +215,6 @@ extern int XdmResetCookie(AuthRstCArgs);
 #ifdef SECURE_RPC
 extern void SecureRPCInit(AuthInitArgs);
 extern XID SecureRPCCheck(AuthCheckArgs);
-extern XID SecureRPCToID(AuthToIDArgs);
 extern int SecureRPCAdd(AuthAddCArgs);
 extern int SecureRPCFromID(AuthFromIDArgs);
 extern int SecureRPCRemove(AuthRemCArgs);

Index: xsrc/external/mit/xorg-server/dist/os/rpcauth.c
diff -u xsrc/external/mit/xorg-server/dist/os/rpcauth.c:1.3 xsrc/external/mit/xorg-server/dist/os/rpcauth.c:1.4
--- xsrc/external/mit/xorg-server/dist/os/rpcauth.c:1.3	Thu Aug 11 00:04:35 2016
+++ xsrc/external/mit/xorg-server/dist/os/rpcauth.c	Wed Mar  8 06:54:39 2017
@@ -175,12 +175,6 @@ SecureRPCReset(void)
     return 1;
 }
 
-_X_HIDDEN XID
-SecureRPCToID(unsigned short data_length, char *data)
-{
-    return rpc_id;
-}
-
 _X_HIDDEN int
 SecureRPCFromID(XID id, unsigned short *data_lenp, char **datap)
 {

Reply via email to