aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/ICE/iceauth.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/ICE/iceauth.c')
-rw-r--r--nx-X11/lib/ICE/iceauth.c278
1 files changed, 0 insertions, 278 deletions
diff --git a/nx-X11/lib/ICE/iceauth.c b/nx-X11/lib/ICE/iceauth.c
deleted file mode 100644
index 01c73ced3..000000000
--- a/nx-X11/lib/ICE/iceauth.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/* $Xorg: iceauth.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */
-/******************************************************************************
-
-
-Copyright 1993, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-Author: Ralph Mor, X Consortium
-******************************************************************************/
-/* $XFree86: xc/lib/ICE/iceauth.c,v 3.5 2001/12/14 19:53:36 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/ICE/ICElib.h>
-#include "ICElibint.h"
-#include <X11/ICE/ICEutil.h>
-
-#include <time.h>
-#define Time_t time_t
-
-static int binaryEqual ();
-
-static int was_called_state;
-
-/*
- * MIT-MAGIC-COOKIE-1 is a sample authentication method implemented by
- * the SI. It is not part of standard ICElib.
- */
-
-
-char *
-IceGenerateMagicCookie (len)
-
-int len;
-
-{
- char *auth;
- long ldata[2];
- int seed;
- int value;
- int i;
-
- if ((auth = (char *) malloc (len + 1)) == NULL)
- return (NULL);
-
-#ifdef ITIMER_REAL
- {
- struct timeval now;
- X_GETTIMEOFDAY (&now);
- ldata[0] = now.tv_sec;
- ldata[1] = now.tv_usec;
- }
-#else
- {
-#ifndef __UNIXOS2__
- long time ();
-#endif
- ldata[0] = time ((long *) 0);
- ldata[1] = getpid ();
- }
-#endif
- seed = (ldata[0]) + (ldata[1] << 16);
- srand (seed);
- for (i = 0; i < len; i++)
- {
- value = rand ();
- auth[i] = value & 0xff;
- }
- auth[len] = '\0';
-
- return (auth);
-}
-
-
-
-IcePoAuthStatus
-_IcePoMagicCookie1Proc (iceConn, authStatePtr, cleanUp, swap,
- authDataLen, authData, replyDataLenRet, replyDataRet, errorStringRet)
-
-IceConn iceConn;
-IcePointer *authStatePtr;
-Bool cleanUp;
-Bool swap;
-int authDataLen;
-IcePointer authData;
-int *replyDataLenRet;
-IcePointer *replyDataRet;
-char **errorStringRet;
-
-{
- if (cleanUp)
- {
- /*
- * We didn't allocate any state. We're done.
- */
-
- return (IcePoAuthDoneCleanup);
- }
-
- *errorStringRet = NULL;
-
- if (*authStatePtr == NULL)
- {
- /*
- * This is the first time we're being called. Search the
- * authentication data for the first occurence of
- * MIT-MAGIC-COOKIE-1 that matches iceConn->connection_string.
- */
-
- unsigned short length;
- char *data;
-
- _IceGetPoAuthData ("ICE", iceConn->connection_string,
- "MIT-MAGIC-COOKIE-1", &length, &data);
-
- if (!data)
- {
- char *tempstr =
- "Could not find correct MIT-MAGIC-COOKIE-1 authentication";
-
- *errorStringRet = (char *) malloc (strlen (tempstr) + 1);
- if (*errorStringRet)
- strcpy (*errorStringRet, tempstr);
-
- return (IcePoAuthFailed);
- }
- else
- {
- *authStatePtr = (IcePointer) &was_called_state;
-
- *replyDataLenRet = length;
- *replyDataRet = data;
-
- return (IcePoAuthHaveReply);
- }
- }
- else
- {
- /*
- * We should never get here for MIT-MAGIC-COOKIE-1 since it is
- * a single pass authentication method.
- */
-
- char *tempstr = "MIT-MAGIC-COOKIE-1 authentication internal error";
-
- *errorStringRet = (char *) malloc (strlen (tempstr) + 1);
- if (*errorStringRet)
- strcpy (*errorStringRet, tempstr);
-
- return (IcePoAuthFailed);
- }
-}
-
-
-
-IcePaAuthStatus
-_IcePaMagicCookie1Proc (iceConn, authStatePtr, swap,
- authDataLen, authData, replyDataLenRet, replyDataRet, errorStringRet)
-
-IceConn iceConn;
-IcePointer *authStatePtr;
-Bool swap;
-int authDataLen;
-IcePointer authData;
-int *replyDataLenRet;
-IcePointer *replyDataRet;
-char **errorStringRet;
-
-{
- *errorStringRet = NULL;
- *replyDataLenRet = 0;
- *replyDataRet = NULL;
-
- if (*authStatePtr == NULL)
- {
- /*
- * This is the first time we're being called. We don't have
- * any data to pass to the other client.
- */
-
- *authStatePtr = (IcePointer) &was_called_state;
-
- return (IcePaAuthContinue);
- }
- else
- {
- /*
- * Search the authentication data for the first occurence of
- * MIT-MAGIC-COOKIE-1 that matches iceConn->connection_string.
- */
-
- unsigned short length;
- char *data;
-
- _IceGetPaAuthData ("ICE", iceConn->connection_string,
- "MIT-MAGIC-COOKIE-1", &length, &data);
-
- if (data)
- {
- IcePaAuthStatus stat;
-
- if (authDataLen == length &&
- binaryEqual ((char *) authData, data, authDataLen))
- {
- stat = IcePaAuthAccepted;
- }
- else
- {
- char *tempstr = "MIT-MAGIC-COOKIE-1 authentication rejected";
-
- *errorStringRet = (char *) malloc (strlen (tempstr) + 1);
- if (*errorStringRet)
- strcpy (*errorStringRet, tempstr);
-
- stat = IcePaAuthRejected;
- }
-
- free (data);
- return (stat);
- }
- else
- {
- /*
- * We should never get here because in the ConnectionReply
- * we should have passed all the valid methods. So we should
- * always find a valid entry.
- */
-
- char *tempstr =
- "MIT-MAGIC-COOKIE-1 authentication internal error";
-
- *errorStringRet = (char *) malloc (strlen (tempstr) + 1);
- if (*errorStringRet)
- strcpy (*errorStringRet, tempstr);
-
- return (IcePaAuthFailed);
- }
- }
-}
-
-
-
-/*
- * local routines
- */
-
-static int
-binaryEqual (a, b, len)
-
-register char *a, *b;
-register unsigned len;
-
-{
- while (len--)
- if (*a++ != *b++)
- return 0;
- return 1;
-}