]> git.sesse.net Git - rdpsrv/blobdiff - Xserver/lib/xtrans/Xtransutil.c
Removed Xserver/ directory, it does nothing useful ATM.
[rdpsrv] / Xserver / lib / xtrans / Xtransutil.c
diff --git a/Xserver/lib/xtrans/Xtransutil.c b/Xserver/lib/xtrans/Xtransutil.c
deleted file mode 100644 (file)
index 5473d2d..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-/* $XConsortium: Xtransutil.c /main/32 1996/12/04 10:22:57 lehors $ */
-/* $XFree86: xc/lib/xtrans/Xtransutil.c,v 3.9 1996/12/23 06:04:18 dawes Exp $ */
-/*
-
-Copyright (c) 1993, 1994  X Consortium
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-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 X CONSORTIUM 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 X Consortium 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 X Consortium.
-
-*/
-
-/* Copyright (c) 1993, 1994 NCR Corporation - Dayton, Ohio, USA
- *
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted, provided
- * that the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name NCR not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.  NCR makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- *
- * NCRS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
- * NO EVENT SHALL NCR BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
- * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-/*
- * These are some utility functions created for convenience or to provide
- * an interface that is similar to an existing interface. These are built
- * only using the Transport Independant API, and have no knowledge of
- * the internal implementation.
- */
-
-#ifdef XTHREADS
-#include <X11/Xthreads.h>
-#endif
-
-#ifdef X11_t
-
-/*
- * These values come from X.h and Xauth.h, and MUST match them. Some
- * of these values are also defined by the ChangeHost protocol message.
- */
-
-#define FamilyInternet         0
-#define FamilyDECnet           1
-#define FamilyChaos            2
-#define FamilyAmoeba           33
-#define FamilyLocalHost                252
-#define FamilyKrb5Principal    253
-#define FamilyNetname          254
-#define FamilyLocal            256
-#define FamilyWild             65535
-
-/*
- * TRANS(ConvertAddress) converts a sockaddr based address to an
- * X authorization based address. Some of this is defined as part of
- * the ChangeHost protocol. The rest is just doen in a consistent manner.
- */
-
-int
-TRANS(ConvertAddress)(familyp,addrlenp,addrp)
-int    *familyp;
-int    *addrlenp;
-Xtransaddr     **addrp;
-{
-
-    PRMSG(2,"ConvertAddress(%d,%d,%x)\n",*familyp,*addrlenp,*addrp);
-
-    switch( *familyp )
-    {
-#if defined(TCPCONN) || defined(STREAMSCONN) || defined(MNX_TCPCONN)
-    case AF_INET:
-    {
-       /*
-        * Check for the BSD hack localhost address 127.0.0.1.
-        * In this case, we are really FamilyLocal.
-        */
-
-       struct sockaddr_in saddr;
-#ifdef CRAY
-#ifdef OLDTCP
-       int len = sizeof(saddr.sin_addr);
-#else
-       int len = SIZEOF_in_addr;
-#endif /* OLDTCP */
-       char *cp = (char *) &saddr.sin_addr;
-#else /* else not CRAY */
-       int len = sizeof(saddr.sin_addr.s_addr);
-       char *cp = (char *) &saddr.sin_addr.s_addr;
-#endif /* CRAY */
-
-       memcpy (&saddr, *addrp, sizeof (struct sockaddr_in));
-
-       if ((len == 4) && (cp[0] == 127) && (cp[1] == 0) &&
-           (cp[2] == 0) && (cp[3] == 1))
-       {
-           *familyp=FamilyLocal;
-       }
-       else
-       {
-           *familyp=FamilyInternet;
-           *addrlenp=len;
-           memcpy(*addrp,&saddr.sin_addr,len);
-       }
-       break;
-    }
-#endif /* defined(TCPCONN) || defined(STREAMSCONN) || MNX_TCPCONN */
-
-#if defined(DNETCONN)
-    case AF_DECnet:
-    {
-       struct sockaddr_dn saddr;
-
-       memcpy (&saddr, *addrp, sizeof (struct sockaddr_dn));
-
-       *familyp=FamilyDECnet;
-       *addrlenp=sizeof(struct dn_naddr);
-       memcpy(*addrp,&saddr.sdn_add,*addrlenp);
-
-       break;
-    }
-#endif /* defined(DNETCONN) */
-
-#if defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN)
-    case AF_UNIX:
-    {
-       *familyp=FamilyLocal;
-       break;
-    }
-#endif /* defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN)*/
-
-#if defined(AMRPCCONN)
-    case AF_AMOEBA:
-    {
-       *familyp=FamilyAmoeba;
-       break;
-    }
-#endif
-#if defined(AMTCPCONN) && !(defined(TCPCONN) || defined(STREAMSCONN))
-    case AF_INET:
-    {
-       *familyp=FamilyInternet;
-       break;
-    }
-#endif
-
-    default:
-       PRMSG(1,"ConvertAddress: Unknown family type %d\n",
-             *familyp, 0,0 );
-       return -1;
-    }
-
-
-    if (*familyp == FamilyLocal)
-    {
-       /*
-        * In the case of a local connection, we need to get the
-        * host name for authentication.
-        */
-       
-       char hostnamebuf[256];
-       int len = TRANS(GetHostname) (hostnamebuf, sizeof hostnamebuf);
-
-       if (len > 0) {
-           if (*addrp && *addrlenp < (len + 1))
-           {
-               xfree ((char *) *addrp);
-               *addrp = NULL;
-           }
-           if (!*addrp)
-               *addrp = (Xtransaddr *) xalloc (len + 1);
-           if (*addrp) {
-               strcpy ((char *) *addrp, hostnamebuf);
-               *addrlenp = len;
-           } else {
-               *addrlenp = 0;
-           }
-       }
-       else
-       {
-           if (*addrp)
-               xfree ((char *) *addrp);
-           *addrp = NULL;
-           *addrlenp = 0;
-       }
-    }
-
-    return 0;
-}
-
-#endif /* X11_t */
-
-#ifdef ICE_t
-
-#include <signal.h>
-
-char *
-TRANS(GetMyNetworkId) (ciptr)
-
-XtransConnInfo  ciptr;
-
-{
-    int                family = ciptr->family;
-    int                addrlen = ciptr->addrlen;
-    char       *addr = ciptr->addr;
-    char       hostnamebuf[256];
-    char       *networkId = NULL;
-    char       *transName = ciptr->transptr->TransName;
-
-    if (gethostname (hostnamebuf, sizeof (hostnamebuf)) < 0)
-    {
-       return (NULL);
-    }
-
-    switch (family)
-    {
-#if defined(UNIXCONN) || defined(STREAMSCONN) || defined(LOCALCONN) || defined(OS2PIPECONN)
-    case AF_UNIX:
-    {
-       struct sockaddr_un *saddr = (struct sockaddr_un *) addr;
-       networkId = (char *) xalloc (3 + strlen (transName) +
-           strlen (hostnamebuf) + strlen (saddr->sun_path));
-       sprintf (networkId, "%s/%s:%s", transName,
-           hostnamebuf, saddr->sun_path);
-       break;
-    }
-#endif /* defined(UNIXCONN) || defined(STREAMSCONN) || defined(LOCALCONN) || defined(OS2PIPECONN)
-*/
-
-#if defined(TCPCONN) || defined(STREAMSCONN) || defined(MNX_TCPCONN)
-    case AF_INET:
-    {
-       struct sockaddr_in *saddr = (struct sockaddr_in *) addr;
-       char portnumbuf[10];
-
-       sprintf (portnumbuf, "%d", ntohs (saddr->sin_port));
-       networkId = (char *) xalloc (3 + strlen (transName) +
-           strlen (hostnamebuf) + strlen (portnumbuf));
-       sprintf (networkId, "%s/%s:%s", transName, hostnamebuf, portnumbuf);
-       break;
-    }
-#endif /* defined(TCPCONN) || defined(STREAMSCONN) || MNX_TCPCONN */
-
-#if defined(DNETCONN)
-    case AF_DECnet:
-    {
-       struct sockaddr_dn *saddr = (struct sockaddr_dn *) addr;
-
-       networkId = (char *) xalloc (
-           13 + strlen (hostnamebuf) + saddr->sdn_objnamel);
-       sprintf (networkId, "dnet/%s::%s",
-           hostnamebuf, saddr->sdn_objname);
-       break;
-    }
-#endif /* defined(DNETCONN) */
-
-    default:
-       break;
-    }
-
-    return (networkId);
-}
-
-#include <setjmp.h>
-static jmp_buf env;
-
-#ifdef SIGALRM
-static int nameserver_timedout = 0;
-
-static 
-#ifdef SIGNALRETURNSINT
-int
-#else
-void
-#endif
-nameserver_lost(sig)
-{
-  nameserver_timedout = 1;
-  longjmp (env, -1);
-  /* NOTREACHED */
-#ifdef SIGNALRETURNSINT
-  return -1;                           /* for picky compilers */
-#endif
-}
-#endif /* SIGALARM */
-
-
-char *
-TRANS(GetPeerNetworkId) (ciptr)
-
-XtransConnInfo  ciptr;
-
-{
-    int                family = ciptr->family;
-    int                peer_addrlen = ciptr->peeraddrlen;
-    char       *peer_addr = ciptr->peeraddr;
-    char       *hostname;
-    char       *networkId = NULL;
-    char       addrbuf[256];
-    char       *addr = NULL;
-
-    switch (family)
-    {
-    case AF_UNSPEC:
-#if defined(UNIXCONN) || defined(STREAMSCONN) || defined(LOCALCONN) || defined(OS2PIPECONN)
-    case AF_UNIX:
-    {
-       if (gethostname (addrbuf, sizeof (addrbuf)) == 0)
-           addr = addrbuf;
-       break;
-    }
-#endif /* defined(UNIXCONN) || defined(STREAMSCONN) || defined(LOCALCONN) || defined(OS2PIPECONN)
-*/
-
-#if defined(TCPCONN) || defined(STREAMSCONN) || defined(MNX_TCPCONN)
-    case AF_INET:
-    {
-       struct sockaddr_in *saddr = (struct sockaddr_in *) peer_addr;
-       _Xgethostbynameparams hparams;
-       struct hostent * hostp;
-
-#ifndef WIN32
-       char *inet_ntoa();
-#endif
-
-#ifdef SIGALRM
-       /*
-        * gethostbyaddr can take a LONG time if the host does not exist.
-        * Assume that if it does not respond in NAMESERVER_TIMEOUT seconds
-        * that something is wrong and do not make the user wait.
-        * gethostbyaddr will continue after a signal, so we have to
-        * jump out of it. 
-        */
-
-       nameserver_timedout = 0;
-       signal (SIGALRM, nameserver_lost);
-       alarm (4);
-       if (setjmp(env) == 0) {
-#endif
-           hostp = _XGethostbyaddr ((char *) &saddr->sin_addr,
-               sizeof (saddr->sin_addr), AF_INET, hparams);
-#ifdef SIGALRM
-       }
-       alarm (0);
-#endif
-       if (hostp != NULL)
-         addr = hostp->h_name;
-       else
-         addr = inet_ntoa (saddr->sin_addr);
-       break;
-    }
-
-#endif /* defined(TCPCONN) || defined(STREAMSCONN) || MNX_TCPCONN */
-
-#if defined(DNETCONN)
-    case AF_DECnet:
-    {
-       struct sockaddr_dn *saddr = (struct sockaddr_dn *) peer_addr;
-       struct nodeent *np;
-
-       if (np = getnodebyaddr(saddr->sdn_add.a_addr,
-           saddr->sdn_add.a_len, AF_DECnet)) {
-           sprintf(addrbuf, "%s:", np->n_name);
-       } else {
-           sprintf(addrbuf, "%s:", dnet_htoa(&saddr->sdn_add));
-       }
-       addr = addrbuf;
-       break;
-    }
-#endif /* defined(DNETCONN) */
-
-#if defined(AMRPCCONN)
-    case AF_AMOEBA:
-    {
-       addr = "Amoeba"; /* not really used */
-       break;
-    }
-#endif
-#if defined(AMTCPCONN) && !(defined(TCPCONN) || defined(STREAMSCONN))
-    case AF_INET:
-    {
-       if (gethostname (addrbuf, sizeof (addrbuf)) == 0) {
-           addr = addrbuf;
-       } else {
-           addr = "";
-       }
-       break;
-    }
-#endif
-
-    default:
-       return (NULL);
-    }
-
-
-    hostname = (char *) xalloc (
-       strlen (ciptr->transptr->TransName) + strlen (addr) + 2);
-    strcpy (hostname, ciptr->transptr->TransName);
-    strcat (hostname, "/");
-    if (addr)
-       strcat (hostname, addr);
-
-    return (hostname);
-}
-
-#endif /* ICE_t */
-
-
-#if defined(WIN32) && (defined(TCPCONN) || defined(DNETCONN))
-int
-TRANS(WSAStartup) ()
-{
-    static WSADATA wsadata;
-
-    PRMSG (2,"WSAStartup()\n", 0, 0, 0);
-
-    if (!wsadata.wVersion && WSAStartup(MAKEWORD(1,1), &wsadata))
-        return 1;
-    return 0;
-}
-#endif
-
-
-static int
-is_numeric (str)
-
-char *str;
-
-{
-    int i;
-
-    for (i = 0; i < (int) strlen (str); i++)
-       if (!isdigit (str[i]))
-           return (0);
-
-    return (1);
-}