[PATCH:xdm 1/4] Remove unused TLI ("STREAMSCONN") code from xdm

Alan Coopersmith alan.coopersmith at oracle.com
Wed Dec 26 21:56:07 PST 2012


Has never been converted to build in modular builds, so has been unusable
since X11R7.0 release in 2005.  All known platforms with TLI/XTI support
that X11R7 & later releases run on also have (and mostly prefer) BSD
socket support for their networking API.

Mostly performed via "unifdef -USTREAMSCONN", followed by imdent,
and then manual cleanup.

Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
 chooser/chooser.c |  103 +--------------------------------
 include/dm.h      |    2 +-
 xdm/Makefile.am   |    1 -
 xdm/auth.c        |  143 ++++++++++++++++++---------------------------
 xdm/choose.c      |   59 -------------------
 xdm/netaddr.c     |   67 ++++++++-------------
 xdm/server.c      |   25 --------
 xdm/socket.c      |   84 +++++++++++++--------------
 xdm/streams.c     |  167 -----------------------------------------------------
 xdm/xdmcp.c       |   18 ------
 10 files changed, 124 insertions(+), 545 deletions(-)
 delete mode 100644 xdm/streams.c

diff --git a/chooser/chooser.c b/chooser/chooser.c
index dc1b89a..3e9446a 100644
--- a/chooser/chooser.c
+++ b/chooser/chooser.c
@@ -91,18 +91,9 @@ in this Software without prior written authorization from The Open Group.
 #include    <arpa/inet.h>
 
 #include    <sys/ioctl.h>
-#ifdef STREAMSCONN
-# ifdef WINTCP /* NCR with Wollongong TCP */
-#  include    <netinet/ip.h>
-# endif
-# include    <stropts.h>
-# include    <tiuser.h>
-# include    <netconfig.h>
-# include    <netdir.h>
-#endif
 
 #ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
+# include <sys/param.h>
 # ifdef BSD
 #  if (BSD >= 199103)
 #   define VARIABLE_IFREQ
@@ -804,53 +795,15 @@ InitXDMCP (char **argv)
 	header.length += 2 + AuthenticationNames.data[i].length;
     XdmcpWriteHeader (&directBuffer, &header);
     XdmcpWriteARRAYofARRAY8 (&directBuffer, &AuthenticationNames);
-#if defined(STREAMSCONN)
-    if ((socketFD = t_open ("/dev/udp", O_RDWR, 0)) < 0)
-	return 0;
-
-    if (t_bind( socketFD, NULL, NULL ) < 0)
-	{
-	t_close(socketFD);
-	return 0;
-	}
-
-    /*
-     * This part of the code looks contrived. It will actually fit in nicely
-     * when the CLTS part of Xtrans is implemented.
-     */
-    {
-    struct netconfig *nconf;
-
-    if( (nconf=getnetconfigent("udp")) == NULL )
-	{
-	t_unbind(socketFD);
-	t_close(socketFD);
-	return 0;
-	}
-
-    if( netdir_options(nconf, ND_SET_BROADCAST, socketFD, NULL) )
-	{
-	freenetconfigent(nconf);
-	t_unbind(socketFD);
-	t_close(socketFD);
-	return 0;
-	}
-
-    freenetconfigent(nconf);
-    }
-#else
     if ((socketFD = socket (AF_INET, SOCK_DGRAM, 0)) < 0)
 	return 0;
-# if defined(IPv6) && defined(AF_INET6)
+#if defined(IPv6) && defined(AF_INET6)
     socket6FD = socket (AF_INET6, SOCK_DGRAM, 0);
-# endif
 #endif
-#ifndef STREAMSCONN
-# ifdef SO_BROADCAST
+#ifdef SO_BROADCAST
     soopts = 1;
     if (setsockopt (socketFD, SOL_SOCKET, SO_BROADCAST, (char *)&soopts, sizeof (soopts)) < 0)
 	perror ("setsockopt");
-# endif
 #endif
 
     XtAddInput (socketFD, (XtPointer) XtInputReadMask, ReceivePacket,
@@ -886,9 +839,6 @@ Choose (HostName *h)
 	char		buf[1024];
 	XdmcpBuffer	buffer;
 	char		*xdm;
-#if defined(STREAMSCONN)
-        struct  t_call  call, rcv;
-#endif
 
 	xdm = (char *) app_resources.xdmAddress->data;
 	family = (xdm[0] << 8) + xdm[1];
@@ -917,36 +867,6 @@ Choose (HostName *h)
 	    break;
 #endif
 	}
-#if defined(STREAMSCONN)
-	if ((fd = t_open ("/dev/tcp", O_RDWR, NULL)) == -1)
-	{
-	    fprintf (stderr, "Cannot create response endpoint\n");
-	    fflush(stderr);
-	    exit (REMANAGE_DISPLAY);
-	}
-	if (t_bind (fd, NULL, NULL) == -1)
-	{
-	    fprintf (stderr, "Cannot bind response endpoint\n");
-	    fflush(stderr);
-	    t_close (fd);
-	    exit (REMANAGE_DISPLAY);
-	}
-	call.addr.buf=(char *)addr;
-	call.addr.len=len;
-	call.addr.maxlen=len;
-	call.opt.len=0;
-	call.opt.maxlen=0;
-	call.udata.len=0;
-	call.udata.maxlen=0;
-	if (t_connect (fd, &call, NULL) == -1)
-	{
-	    t_error ("Cannot connect to xdm\n");
-	    fflush(stderr);
-	    t_unbind (fd);
-	    t_close (fd);
-	    exit (REMANAGE_DISPLAY);
-	}
-#else
 	if ((fd = socket (family, SOCK_STREAM, 0)) == -1)
 	{
 	    fprintf (stderr, "Cannot create response socket\n");
@@ -957,7 +877,6 @@ Choose (HostName *h)
 	    fprintf (stderr, "Cannot connect to xdm\n");
 	    exit (REMANAGE_DISPLAY);
 	}
-#endif
 	buffer.data = (BYTE *) buf;
 	buffer.size = sizeof (buf);
 	buffer.pointer = 0;
@@ -965,24 +884,8 @@ Choose (HostName *h)
 	XdmcpWriteARRAY8 (&buffer, app_resources.clientAddress);
 	XdmcpWriteCARD16 (&buffer, (CARD16) app_resources.connectionType);
 	XdmcpWriteARRAY8 (&buffer, &h->hostaddr);
-#if defined(STREAMSCONN)
-	if( t_snd (fd, (char *)buffer.data, buffer.pointer, 0) < 0 )
-	{
-	    fprintf (stderr, "Cannot send to xdm\n");
-	    fflush(stderr);
-	    t_unbind (fd);
-	    t_close (fd);
-	    exit (REMANAGE_DISPLAY);
-	}
-	sleep(5);	/* Hack because sometimes the connection gets
-			   closed before the data arrives on the other end. */
-	t_snddis (fd,NULL);
-	t_unbind (fd);
-	t_close (fd);
-#else
 	write (fd, (char *)buffer.data, buffer.pointer);
 	close (fd);
-#endif
     }
     else
     {
diff --git a/include/dm.h b/include/dm.h
index 4085cae..2512e37 100644
--- a/include/dm.h
+++ b/include/dm.h
@@ -448,7 +448,7 @@ extern int StartServer (struct display *d);
 extern int WaitForServer (struct display *d);
 extern void ResetServer (struct display *d);
 
-/* socket.c or streams.c */
+/* socket.c */
 extern int GetChooserAddr (char *addr, int *lenp);
 extern void CreateWellKnownSockets (void);
 extern void UpdateListenSockets (void);
diff --git a/xdm/Makefile.am b/xdm/Makefile.am
index 797b5c5..679fb7e 100644
--- a/xdm/Makefile.am
+++ b/xdm/Makefile.am
@@ -47,7 +47,6 @@ xdm_SOURCES =		\
         server.c	\
         session.c	\
         socket.c	\
-        streams.c	\
         util.c		\
         xdmcp.c
 
diff --git a/xdm/auth.c b/xdm/auth.c
index 9e5cba2..9ec21ac 100644
--- a/xdm/auth.c
+++ b/xdm/auth.c
@@ -48,7 +48,7 @@ from The Open Group.
 
 #include <sys/ioctl.h>
 
-#if defined(TCPCONN) || defined(STREAMSCONN)
+#ifdef TCPCONN
 # include "dm_socket.h"
 #endif
 #ifdef DNETCONN
@@ -100,7 +100,7 @@ from The Open Group.
 #endif
 
 #ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
+# include <sys/param.h>
 # ifdef BSD
 #  if (BSD >= 199103)
 #   define VARIABLE_IFREQ
@@ -909,42 +909,19 @@ ifioctl (int fd, int cmd, char *arg)
 #  define ifioctl ioctl
 # endif /* SYSV_SIOCGIFCONF */
 
-# if defined(STREAMSCONN) && !defined(SYSV_SIOCGIFCONF) && !defined(NCR)
 
-#  include <tiuser.h>
+# ifdef WINTCP /* NCR with Wollongong TCP */
 
-/* Define this host for access control.  Find all the hosts the OS knows about
- * for this fd and add them to the selfhosts list.
- * TLI version, written without sufficient documentation.
- */
-static void
-DefineSelf (int fd, FILE *file, Xauth *auth)
-{
-    struct netbuf	netb;
-    char		addrret[1024]; /* easier than t_alloc */
-
-    netb.maxlen = sizeof(addrret);
-    netb.buf = addrret;
-    if (t_getname (fd, &netb, LOCALNAME) == -1)
-	t_error ("t_getname");
-    /* what a kludge */
-    writeAddr (FamilyInternet, 4, netb.buf+4, file, auth);
-}
-
-# else
-
-#  ifdef WINTCP /* NCR with Wollongong TCP */
-
-#   include <sys/un.h>
-#   include <stropts.h>
-#   include <tiuser.h>
+#  include <sys/un.h>
+#  include <stropts.h>
+#  include <tiuser.h>
 
-#   include <sys/stream.h>
-#   include <net/if.h>
-#   include <netinet/ip.h>
-#   include <netinet/ip_var.h>
-#   include <netinet/in.h>
-#   include <netinet/in_var.h>
+#  include <sys/stream.h>
+#  include <net/if.h>
+#  include <netinet/ip.h>
+#  include <netinet/ip_var.h>
+#  include <netinet/in.h>
+#  include <netinet/in_var.h>
 
 static void
 DefineSelf (int fd, FILE *file, Xauth *auth)
@@ -1008,24 +985,24 @@ DefineSelf (int fd, FILE *file, Xauth *auth)
     close(ipfd);
 }
 
-#  else /* WINTCP */
+# else /* WINTCP */
 
-#   if defined(SIOCGIFCONF) || defined (USE_SIOCGLIFCONF)
+#  if defined(SIOCGIFCONF) || defined (USE_SIOCGLIFCONF)
 
-#    ifdef USE_SIOCGLIFCONF
-#     define ifr_type    struct lifreq
-#    else
-#     define ifr_type    struct ifreq
-#    endif
+#   ifdef USE_SIOCGLIFCONF
+#    define ifr_type    struct lifreq
+#   else
+#    define ifr_type    struct ifreq
+#   endif
 
 /* Handle variable length ifreq in BNR2 and later */
-#    ifdef VARIABLE_IFREQ
-#     define ifr_size(p) (sizeof (struct ifreq) + \
+#   ifdef VARIABLE_IFREQ
+#    define ifr_size(p) (sizeof (struct ifreq) + \
 		     (p->ifr_addr.sa_len > sizeof (p->ifr_addr) ? \
 		      p->ifr_addr.sa_len - sizeof (p->ifr_addr) : 0))
-#    else
-#     define ifr_size(p) (sizeof (ifr_type))
-#    endif
+#   else
+#    define ifr_size(p) (sizeof (ifr_type))
+#   endif
 
 /* Define this host for access control.  Find all the hosts the OS knows about
  * for this fd and add them to the selfhosts list.
@@ -1038,18 +1015,18 @@ DefineSelf (int fd, FILE *file, Xauth *auth)
     char 		*addr;
     int 		family;
     register ifr_type  *ifr;
-#    ifdef USE_SIOCGLIFCONF
+#   ifdef USE_SIOCGLIFCONF
     void *		bufptr = buf;
     size_t		buflen = sizeof(buf);
     struct lifconf	ifc;
-#     ifdef SIOCGLIFNUM
+#    ifdef SIOCGLIFNUM
     struct lifnum	ifn;
-#     endif
-#    else
-    struct ifconf	ifc;
 #    endif
+#   else
+    struct ifconf	ifc;
+#   endif
 
-#    if defined(SIOCGLIFNUM) && defined(SIOCGLIFCONF)
+#   if defined(SIOCGLIFNUM) && defined(SIOCGLIFCONF)
     ifn.lifn_family = AF_UNSPEC;
     ifn.lifn_flags = 0;
     if (ioctl (fd, (int) SIOCGLIFNUM, (char *) &ifn) < 0)
@@ -1058,43 +1035,43 @@ DefineSelf (int fd, FILE *file, Xauth *auth)
 	buflen = ifn.lifn_count * sizeof(struct lifreq);
 	bufptr = malloc(buflen);
     }
-#    endif
+#   endif
 
-#    ifdef USE_SIOCGLIFCONF
+#   ifdef USE_SIOCGLIFCONF
     ifc.lifc_family = AF_UNSPEC;
     ifc.lifc_flags = 0;
     ifc.lifc_len = buflen;
     ifc.lifc_buf = bufptr;
 
-#     define IFC_IOCTL_REQ SIOCGLIFCONF
-#     define IFC_IFC_REQ ifc.lifc_req
-#     define IFC_IFC_LEN ifc.lifc_len
-#     define IFR_IFR_ADDR ifr->lifr_addr
-#     define IFR_IFR_NAME ifr->lifr_name
+#    define IFC_IOCTL_REQ SIOCGLIFCONF
+#    define IFC_IFC_REQ ifc.lifc_req
+#    define IFC_IFC_LEN ifc.lifc_len
+#    define IFR_IFR_ADDR ifr->lifr_addr
+#    define IFR_IFR_NAME ifr->lifr_name
 
-#    else
+#   else
     ifc.ifc_len = sizeof (buf);
     ifc.ifc_buf = buf;
 
-#     define IFC_IOCTL_REQ SIOCGIFCONF
-#     ifdef ISC
-#      define IFC_IFC_REQ (struct ifreq *) ifc.ifc_buf
-#     else
-#      define IFC_IFC_REQ ifc.ifc_req
-#     endif
-#     define IFC_IFC_LEN ifc.ifc_len
-#     define IFR_IFR_ADDR ifr->ifr_addr
-#     define IFR_IFR_NAME ifr->ifr_name
+#    define IFC_IOCTL_REQ SIOCGIFCONF
+#    ifdef ISC
+#     define IFC_IFC_REQ (struct ifreq *) ifc.ifc_buf
+#    else
+#     define IFC_IFC_REQ ifc.ifc_req
 #    endif
+#    define IFC_IFC_LEN ifc.ifc_len
+#    define IFR_IFR_ADDR ifr->ifr_addr
+#    define IFR_IFR_NAME ifr->ifr_name
+#   endif
 
     if (ifioctl (fd, IFC_IOCTL_REQ, (char *) &ifc) < 0) {
         LogError ("Trouble getting network interface configuration");
 
-#    ifdef USE_SIOCGLIFCONF
+#   ifdef USE_SIOCGLIFCONF
 	if (bufptr != buf) {
 	    free(bufptr);
 	}
-#    endif
+#   endif
 	return;
     }
 
@@ -1103,7 +1080,7 @@ DefineSelf (int fd, FILE *file, Xauth *auth)
     for (cp = (char *) IFC_IFC_REQ; cp < cplim; cp += ifr_size (ifr))
     {
 	ifr = (ifr_type *) cp;
-#    ifdef DNETCONN
+#   ifdef DNETCONN
 	/*
 	 * this is ugly but SIOCGIFCONF returns decnet addresses in
 	 * a different form from other decnet calls
@@ -1113,7 +1090,7 @@ DefineSelf (int fd, FILE *file, Xauth *auth)
 		addr = (char *)ifr->ifr_addr.sa_data;
 		family = FamilyDECnet;
 	} else
-#    endif
+#   endif
 	{
 	    family = ConvertAddr ((XdmcpNetaddr) &IFR_IFR_ADDR, &len, &addr);
 	    if (family < 0)
@@ -1138,7 +1115,7 @@ DefineSelf (int fd, FILE *file, Xauth *auth)
 		    Debug ("Skipping localhost address\n");
 		    continue;
 	    }
-#    if defined(IPv6) && defined(AF_INET6)
+#   if defined(IPv6) && defined(AF_INET6)
 	    if(family == FamilyInternet6) {
 		if (IN6_IS_ADDR_LOOPBACK(((struct in6_addr *)addr))) {
 		    Debug ("Skipping IPv6 localhost address\n");
@@ -1151,14 +1128,14 @@ DefineSelf (int fd, FILE *file, Xauth *auth)
 		    continue;
 		}
 	    }
-#    endif
+#   endif
 	}
 	Debug ("DefineSelf: write network address, length %d\n", len);
 	writeAddr (family, len, addr, file, auth);
     }
 }
 
-#   else /* SIOCGIFCONF */
+#  else /* SIOCGIFCONF */
 
 /* Define this host for access control.  Find all the hosts the OS knows about
  * for this fd and add them to the selfhosts list.
@@ -1202,9 +1179,8 @@ DefineSelf (int fd, int file, int auth)
 }
 
 
-#   endif /* SIOCGIFCONF else */
-#  endif /* WINTCP else */
-# endif /* STREAMSCONN && !SYSV_SIOCGIFCONF else */
+#  endif /* SIOCGIFCONF else */
+# endif /* WINTCP else */
 #endif /* HAVE_GETIFADDRS */
 
 static void
@@ -1242,13 +1218,6 @@ writeLocalAuth (FILE *file, Xauth *auth, char *name)
 
     Debug ("writeLocalAuth: %s %.*s\n", name, auth->name_length, auth->name);
     setAuthNumber (auth, name);
-#ifdef STREAMSCONN
-    fd = t_open ("/dev/tcp", O_RDWR, 0);
-    t_bind(fd, NULL, NULL);
-    DefineSelf (fd, file, auth);
-    t_unbind (fd);
-    t_close (fd);
-#endif
 #ifdef TCPCONN
 # if defined(IPv6) && defined(AF_INET6)
     fd = socket (AF_INET6, SOCK_STREAM, 0);
diff --git a/xdm/choose.c b/xdm/choose.c
index e5e003d..a569b86 100644
--- a/xdm/choose.c
+++ b/xdm/choose.c
@@ -50,9 +50,6 @@ in this Software without prior written authorization from The Open Group.
 # include <ctype.h>
 # include <errno.h>
 
-# if defined(STREAMSCONN)
-#  include       <tiuser.h>
-# endif
 
 # include <time.h>
 # define Time_t time_t
@@ -413,68 +410,18 @@ ProcessChooserSocket (int fd)
     ARRAY8	clientAddress = {0, NULL};
     CARD16	connectionType;
     ARRAY8	choice = {0, NULL};
-# if defined(STREAMSCONN)
-    struct t_call *call;
-    int flags=0;
-# endif
 
     Debug ("Process chooser socket\n");
     len = sizeof (buf);
-# if defined(STREAMSCONN)
-    call = (struct t_call *)t_alloc( fd, T_CALL, T_ALL );
-    if( call == NULL )
-    {
-	t_error( "ProcessChooserSocket: t_alloc failed" );
-	LogError ("Cannot setup to listen on chooser connection\n");
-	return;
-    }
-    if( t_listen( fd, call ) < 0 )
-    {
-	t_error( "ProcessChooserSocket: t_listen failed" );
-	t_free( (char *)call, T_CALL );
-	LogError ("Cannot listen on chooser connection\n");
-	return;
-    }
-    client_fd = t_open ("/dev/tcp", O_RDWR, NULL);
-    if (client_fd == -1)
-    {
-	t_error( "ProcessChooserSocket: t_open failed" );
-	t_free( (char *)call, T_CALL );
-	LogError ("Cannot open new chooser connection\n");
-	return;
-    }
-    if( t_bind( client_fd, NULL, NULL ) < 0 )
-    {
-	t_error( "ProcessChooserSocket: t_bind failed" );
-	t_free( (char *)call, T_CALL );
-	LogError ("Cannot bind new chooser connection\n");
-        t_close (client_fd);
-	return;
-    }
-    if( t_accept (fd, client_fd, call) < 0 )
-    {
-	t_error( "ProcessChooserSocket: t_accept failed" );
-	LogError ("Cannot accept chooser connection\n");
-	t_free( (char *)call, T_CALL );
-        t_unbind (client_fd);
-        t_close (client_fd);
-	return;
-    }
-# else
     client_fd = accept (fd, (struct sockaddr *)buf, (void *)&len);
     if (client_fd == -1)
     {
 	LogError ("Cannot accept chooser connection\n");
 	return;
     }
-# endif
     Debug ("Accepted %d\n", client_fd);
 
-# if defined(STREAMSCONN)
-    len = t_rcv (client_fd, buf, sizeof (buf),&flags);
-# else
     len = read (client_fd, buf, sizeof (buf));
-# endif
     Debug ("Read returns %d\n", len);
     if (len > 0)
     {
@@ -504,13 +451,7 @@ ProcessChooserSocket (int fd)
 	LogError ("Choice response read error: %s\n", _SysErrorMsg(errno));
     }
 
-# if defined(STREAMSCONN)
-    t_unbind (client_fd);
-    t_free( (char *)call, T_CALL );
-    t_close (client_fd);
-# else
     close (client_fd);
-# endif
 }
 
 void
diff --git a/xdm/netaddr.c b/xdm/netaddr.c
index 0588935..d42e9b7 100644
--- a/xdm/netaddr.c
+++ b/xdm/netaddr.c
@@ -55,12 +55,7 @@ from The Open Group.
 
 int NetaddrFamily(XdmcpNetaddr netaddrp)
 {
-# ifdef STREAMSCONN
-    short family = *(short *)netaddrp;
-    return family;
-# else
     return ((struct sockaddr *)netaddrp)->sa_family;
-# endif
 }
 
 
@@ -70,25 +65,20 @@ int NetaddrFamily(XdmcpNetaddr netaddrp)
 
 char * NetaddrPort(XdmcpNetaddr netaddrp, int *lenp)
 {
-# ifdef STREAMSCONN
-    *lenp = 2;
-    return netaddrp+2;
-# else
     switch (NetaddrFamily(netaddrp))
     {
     case AF_INET:
 	*lenp = 2;
 	return (char *)&(((struct sockaddr_in *)netaddrp)->sin_port);
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
     case AF_INET6:
 	*lenp = 2;
 	return (char *)&(((struct sockaddr_in6 *)netaddrp)->sin6_port);
-#  endif
+# endif
     default:
 	*lenp = 0;
 	return NULL;
     }
-# endif
 }
 
 
@@ -97,21 +87,17 @@ char * NetaddrPort(XdmcpNetaddr netaddrp, int *lenp)
 
 char * NetaddrAddress(XdmcpNetaddr netaddrp, int *lenp)
 {
-# ifdef STREAMSCONN
-    *lenp = 4;
-    return netaddrp+4;
-# else
     switch (NetaddrFamily(netaddrp)) {
-#  ifdef UNIXCONN
+# ifdef UNIXCONN
     case AF_UNIX:
 	*lenp = strlen(((struct sockaddr_un *)netaddrp)->sun_path);
         return (char *) (((struct sockaddr_un *)netaddrp)->sun_path);
-#  endif
-#  ifdef TCPCONN
+# endif
+# ifdef TCPCONN
     case AF_INET:
         *lenp = sizeof (struct in_addr);
         return (char *) &(((struct sockaddr_in *)netaddrp)->sin_addr);
-#   if defined(IPv6) && defined(AF_INET6)
+#  if defined(IPv6) && defined(AF_INET6)
     case AF_INET6:
     {
 	struct in6_addr *a = &(((struct sockaddr_in6 *)netaddrp)->sin6_addr);
@@ -123,21 +109,20 @@ char * NetaddrAddress(XdmcpNetaddr netaddrp, int *lenp)
 	    return (char *) &(a->s6_addr);
 	}
     }
-#   endif
 #  endif
-#  ifdef DNETCONN
+# endif
+# ifdef DNETCONN
     case AF_DECnet:
         *lenp = sizeof (struct dn_naddr);
         return (char *) &(((struct sockaddr_dn *)netaddrp)->sdn_add);
-#  endif
-#  ifdef AF_CHAOS
+# endif
+# ifdef AF_CHAOS
     case AF_CHAOS:
-#  endif
+# endif
     default:
 	*lenp = 0;
 	return NULL;
     }
-# endif /* STREAMSCONN else */
 }
 
 
@@ -152,53 +137,47 @@ int ConvertAddr (XdmcpNetaddr saddr, int *len, char **addr)
     if ((len == NULL) || (saddr == NULL))
         return -1;
     *addr = NetaddrAddress(saddr, len);
-# ifdef STREAMSCONN
-    /* kludge */
-    if (NetaddrFamily(saddr) == 2)
-	retval = FamilyInternet;
-# else
     switch (NetaddrFamily(saddr))
     {
-#  ifdef AF_UNSPEC
+# ifdef AF_UNSPEC
       case AF_UNSPEC:
 	retval = FamilyLocal;
 	break;
-#  endif
-#  ifdef AF_UNIX
-#   ifndef hpux
+# endif
+# ifdef AF_UNIX
+#  ifndef hpux
       case AF_UNIX:
         retval = FamilyLocal;
 	break;
-#   endif
 #  endif
-#  ifdef TCPCONN
+# endif
+# ifdef TCPCONN
       case AF_INET:
         retval = FamilyInternet;
 	break;
-#   if defined(IPv6) && defined(AF_INET6)
+#  if defined(IPv6) && defined(AF_INET6)
       case AF_INET6:
 	if (*len == sizeof(struct in_addr))
 	    retval = FamilyInternet;
 	else
 	    retval = FamilyInternet6;
 	break;
-#   endif
 #  endif
-#  ifdef DNETCONN
+# endif
+# ifdef DNETCONN
       case AF_DECnet:
         retval = FamilyDECnet;
 	break;
-#  endif
-#  ifdef AF_CHAOS
+# endif
+# ifdef AF_CHAOS
     case AF_CHAOS:
 	retval = FamilyChaos;
 	break;
-#  endif
+# endif
       default:
 	retval = -1;
         break;
     }
-# endif /* STREAMSCONN else */
     Debug ("ConvertAddr returning %d for family %d\n", retval,
 	   NetaddrFamily(saddr));
     return retval;
diff --git a/xdm/server.c b/xdm/server.c
index 1bb8873..c5c6ae9 100644
--- a/xdm/server.c
+++ b/xdm/server.c
@@ -239,29 +239,15 @@ abortOpen (int n)
 
 #ifdef XDMCP
 
-# ifdef STREAMSCONN
-#  include <tiuser.h>
-# endif
 
 static void
 GetRemoteAddress (struct display *d, int fd)
 {
     char    buf[512];
     int	    len = sizeof (buf);
-# ifdef STREAMSCONN
-    struct netbuf	netb;
-# endif
 
     free (d->peer);
-# ifdef STREAMSCONN
-    netb.maxlen = sizeof(buf);
-    netb.buf = buf;
-    t_getname(fd, &netb, REMOTENAME);
-    len = 8;
-    /* lucky for us, t_getname returns something that looks like a sockaddr */
-# else
     getpeername (fd, (struct sockaddr *) buf, (void *)&len);
-# endif
     d->peerlen = 0;
     if (len)
     {
@@ -299,17 +285,6 @@ WaitForServer (struct display *d)
 	    errno = 0;
 	    (void) XSetIOErrorHandler (openErrorHandler);
 	    d->dpy = XOpenDisplay (d->name);
-#ifdef STREAMSCONN
-	    {
-		/* For some reason, the next XOpenDisplay we do is
-		   going to fail, so we might as well get that out
-		   of the way.  There is something broken here. */
-		Display *bogusDpy = XOpenDisplay (d->name);
-		Debug ("bogus XOpenDisplay %s\n",
-		       bogusDpy ? "succeeded" : "failed");
-		if (bogusDpy) XCloseDisplay(bogusDpy); /* just in case */
-	    }
-#endif
 	    (void) alarm ((unsigned) 0);
 	    (void) Signal (SIGALRM, SIG_DFL);
 	    (void) XSetIOErrorHandler ((int (*)(Display *)) 0);
diff --git a/xdm/socket.c b/xdm/socket.c
index 29e344f..b658238 100644
--- a/xdm/socket.c
+++ b/xdm/socket.c
@@ -59,16 +59,15 @@ from the copyright holder.
 #include "dm_error.h"
 
 #ifdef XDMCP
-# ifndef STREAMSCONN
 
-#  include <errno.h>
-#  include "dm_socket.h"
+# include <errno.h>
+# include "dm_socket.h"
 
-#  ifndef X_NO_SYS_UN
-#   include <sys/un.h>
-#  endif
-#  include <netdb.h>
-#  include <arpa/inet.h>
+# ifndef X_NO_SYS_UN
+#  include <sys/un.h>
+# endif
+# include <netdb.h>
+# include <arpa/inet.h>
 
 extern int	chooserFd;
 
@@ -84,10 +83,10 @@ CreateWellKnownSockets (void)
     if (request_port == 0)
 	return;
 
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
     chooserFd = socket (AF_INET6, SOCK_STREAM, 0);
     if (chooserFd == -1)
-#  endif
+# endif
     chooserFd = socket (AF_INET, SOCK_STREAM, 0);
     Debug ("Created chooser socket %d\n", chooserFd);
     if (chooserFd == -1)
@@ -106,11 +105,11 @@ GetChooserAddr (
     char	*addr,
     int		*lenp)
 {
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
     struct sockaddr_storage in_addr;
-#  else
+# else
     struct sockaddr_in	in_addr;
-#  endif
+# endif
     int			len;
     int			retval = 0;
 
@@ -119,12 +118,12 @@ GetChooserAddr (
 	return -1;	/* TODO check other listening sockets */
     if (getsockname (chooserFd, (struct sockaddr *)&in_addr, (void *)&len) < 0)
 	return -1;
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
     if (((struct sockaddr *)&in_addr)->sa_family == AF_INET6)
 	Debug ("Chooser socket port: %d (IPv6)\n",
 	  ntohs(((struct sockaddr_in6 *) &in_addr)->sin6_port));
     else
-#  endif
+# endif
 	Debug ("Chooser socket port: %d\n",
 	  ntohs(((struct sockaddr_in *) &in_addr)->sin_port));
     if (*lenp < len)
@@ -141,15 +140,15 @@ CreateListeningSocket (struct sockaddr *sock_addr, int salen)
 {
     int fd;
     const char *addrstring = "unknown";
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
     char addrbuf[INET6_ADDRSTRLEN];
-#  endif
+# endif
 
     if (request_port == 0)
 	    return -1;
 
     if (debugLevel > 0) {
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
 	void *ipaddr;
 	if (sock_addr->sa_family == AF_INET6) {
 	    ipaddr = & ((struct sockaddr_in6 *) sock_addr)->sin6_addr;
@@ -159,9 +158,9 @@ CreateListeningSocket (struct sockaddr *sock_addr, int salen)
 	addrstring =
 	  inet_ntop(sock_addr->sa_family, ipaddr, addrbuf, sizeof(addrbuf));
 
-#  else
+# else
 	addrstring = inet_ntoa(((struct sockaddr_in *) sock_addr)->sin_addr);
-#  endif
+# endif
 
 	Debug ("creating socket to listen on port %d of address %s\n",
 	  request_port,addrstring);
@@ -175,7 +174,7 @@ CreateListeningSocket (struct sockaddr *sock_addr, int salen)
     }
     RegisterCloseOnFork (fd);
 
-#  if defined(IPv6) && defined(IPV6_V6ONLY)
+# if defined(IPv6) && defined(IPV6_V6ONLY)
     if (sock_addr->sa_family == AF_INET6) {
 	int zero = 0;
 	if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &zero, sizeof(zero)) < 0) {
@@ -183,7 +182,7 @@ CreateListeningSocket (struct sockaddr *sock_addr, int salen)
 	              _SysErrorMsg (errno));
 	}
     }
-#  endif
+# endif
 
     if (bind (fd, sock_addr, salen) == -1)
     {
@@ -249,12 +248,12 @@ FindInList(struct socklist *list, ARRAY8Ptr addr)
 		addrdata = (char *)
 		  &(((struct sockaddr_in *)s->addr)->sin_addr.s_addr);
 		break;
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
 	    case AF_INET6:
 		addrdata = (char *)
 		  &(((struct sockaddr_in6 *)s->addr)->sin6_addr.s6_addr);
 		break;
-#  endif
+# endif
 	    default:
 		/* Unrecognized address family */
 		continue;
@@ -290,16 +289,16 @@ CreateSocklistEntry(ARRAY8Ptr addr)
 	s->addr = (struct sockaddr *) sin;
 
 	bzero (sin, sizeof (struct sockaddr_in));
-#  ifdef BSD44SOCKETS
+# ifdef BSD44SOCKETS
 	sin->sin_len = sizeof(struct sockaddr_in);
-#  endif
+# endif
 	s->salen = sizeof(struct sockaddr_in);
 	s->addrlen = sizeof(struct in_addr);
 	sin->sin_family = AF_INET;
 	sin->sin_port = htons ((short) request_port);
 	memcpy(&sin->sin_addr, addr->data, addr->length);
     }
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
     else if (addr->length == 16) /* IPv6 */
     {
 	struct sockaddr_in6 *sin6;
@@ -312,16 +311,16 @@ CreateSocklistEntry(ARRAY8Ptr addr)
 	s->addr = (struct sockaddr *) sin6;
 
 	bzero (sin6, sizeof (struct sockaddr_in6));
-#   ifdef SIN6_LEN
+#  ifdef SIN6_LEN
 	sin6->sin6_len = sizeof(struct sockaddr_in6);
-#   endif
+#  endif
 	s->salen = sizeof(struct sockaddr_in6);
 	s->addrlen = sizeof(struct in6_addr);
 	sin6->sin6_family = AF_INET6;
 	sin6->sin6_port = htons ((short) request_port);
 	memcpy(&sin6->sin6_addr, addr->data, addr->length);
     }
-#  endif
+# endif
     else {
 	/* Unknown address type */
 	free(s);
@@ -340,13 +339,13 @@ UpdateListener(ARRAY8Ptr addr, void **closure)
     if (addr == NULL || addr->length == 0) {
 	ARRAY8 tmpaddr;
 	struct in_addr in;
-#  if defined(IPv6) && defined(AF_INET6)
+# if defined(IPv6) && defined(AF_INET6)
 	struct in6_addr in6 = in6addr_any;
 	tmpaddr.length = sizeof(in6);
 	tmpaddr.data = (CARD8Ptr) &in6;
 	UpdateListener(&tmpaddr, closure);
 	if (*closure) return;
-#  endif
+# endif
 	in.s_addr = htonl (INADDR_ANY);
 	tmpaddr.length = sizeof(in);
 	tmpaddr.data = (CARD8Ptr) ∈
@@ -379,8 +378,8 @@ UpdateListener(ARRAY8Ptr addr, void **closure)
     *closure = (void *) s;
 }
 
-#  define JOIN_MCAST_GROUP 0
-#  define LEAVE_MCAST_GROUP 1
+# define JOIN_MCAST_GROUP 0
+# define LEAVE_MCAST_GROUP 1
 
 static void
 ChangeMcastMembership(struct socklist *s, struct socklist *g, int op)
@@ -416,13 +415,13 @@ ChangeMcastMembership(struct socklist *s, struct socklist *g, int op)
 	    }
 	    return;
 	}
-#  if defined(IPv6) && defined(AF_INET6)
-#   ifndef IPV6_JOIN_GROUP
-#    define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
-#   endif
-#   ifndef IPV6_LEAVE_GROUP
-#    define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
-#   endif
+# if defined(IPv6) && defined(AF_INET6)
+#  ifndef IPV6_JOIN_GROUP
+#   define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#  endif
+#  ifndef IPV6_LEAVE_GROUP
+#   define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+#  endif
 	case AF_INET6:
 	{
 	    struct ipv6_mreq mreq6;
@@ -459,7 +458,7 @@ ChangeMcastMembership(struct socklist *s, struct socklist *g, int op)
 	    }
 	    return;
 	}
-#  endif
+# endif
     }
 }
 
@@ -553,5 +552,4 @@ void ProcessListenSockets (fd_set *readmask)
     }
 }
 
-# endif /* !STREAMSCONN */
 #endif /* XDMCP */
diff --git a/xdm/streams.c b/xdm/streams.c
deleted file mode 100644
index c4cb2ca..0000000
--- a/xdm/streams.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
-
-Copyright 1988, 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.
-
-*/
-
-/*
- * xdm - display manager daemon
- * Author:  Keith Packard, MIT X Consortium
- *
- * streams.c - Support for STREAMS
- */
-
-#include "dm.h"
-#include "dm_error.h"
-
-#ifdef XDMCP
-# ifdef STREAMSCONN
-
-#  include <fcntl.h>
-#  include <tiuser.h>
-#  include <netconfig.h>
-#  include <netdir.h>
-
-extern int	xdmcpFd;
-extern int	chooserFd;
-
-extern FD_TYPE	WellKnownSocketsMask;
-extern int	WellKnownSocketsMax;
-
-void
-CreateWellKnownSockets (void)
-{
-    struct t_bind bind_addr;
-    struct netconfig *nconf;
-    struct nd_hostserv service;
-    struct nd_addrlist *servaddrs;
-    char *name, *localHostname();
-    char bindbuf[15];
-    int it;
-
-    if (request_port == 0)
-	return;
-    Debug ("creating UDP stream %d\n", request_port);
-
-    nconf = getnetconfigent("udp");
-    if (!nconf) {
-	t_error("getnetconfigent udp");
-	return;
-    }
-
-    xdmcpFd = t_open(nconf->nc_device, O_RDWR, NULL);
-    if (xdmcpFd == -1) {
-	LogError ("XDMCP stream creation failed\n");
-	t_error ("CreateWellKnownSockets(xdmcpFd): t_open failed");
-	return;
-    }
-    name = localHostname ();
-    registerHostname (name, strlen (name));
-    RegisterCloseOnFork (xdmcpFd);
-
-    service.h_host = HOST_SELF;
-    snprintf(bindbuf, sizeof(bindbuf), "%d", request_port);
-    service.h_serv = bindbuf;
-    netdir_getbyname(nconf, &service, &servaddrs);
-    freenetconfigent(nconf);
-
-    bind_addr.qlen = 5;
-    bind_addr.addr.buf = servaddrs->n_addrs[0].buf;
-    bind_addr.addr.len = servaddrs->n_addrs[0].len;
-    bind_addr.addr.maxlen = servaddrs->n_addrs[0].len;
-    it = t_bind(xdmcpFd, &bind_addr, &bind_addr);
-    netdir_free((char *)servaddrs, ND_ADDRLIST);
-    if (it < 0)
-    {
-	LogError ("error binding STREAMS address %d\n", request_port);
-	t_error("CreateWellKNowSocket(xdmcpFd): t_bind failed");
-	t_close (xdmcpFd);
-	xdmcpFd = -1;
-	return;
-    }
-    WellKnownSocketsMax = xdmcpFd;
-    FD_SET (xdmcpFd, &WellKnownSocketsMask);
-
-    chooserFd = t_open ("/dev/tcp", O_RDWR, NULL);
-    Debug ("Created chooser fd %d\n", chooserFd);
-    if (chooserFd == -1)
-    {
-	LogError ("chooser stream creation failed\n");
-	t_error("CreateWellKnowSockets(chooserFd): t_open failed");
-	return;
-    }
-    bind_addr.qlen = 5;
-    bind_addr.addr.len = 0;
-    bind_addr.addr.maxlen = 0;
-    if( t_bind( chooserFd, &bind_addr, NULL ) < 0 )
-    {
-        t_error("CreateWellKnowSockets(chooserFd): t_bind failed");
-    }
-
-    if (chooserFd > WellKnownSocketsMax)
-	WellKnownSocketsMax = chooserFd;
-    FD_SET (chooserFd, &WellKnownSocketsMask);
-}
-
-int
-GetChooserAddr (char *addr,	/* return */
-    int *lenp)			/* size of addr, returned as amt used */
-{
-    struct netbuf nbuf;
-    int retval;
-
-    nbuf.buf = addr;
-    nbuf.len = *lenp;
-    nbuf.maxlen = *lenp;
-    retval = t_getname (chooserFd, &nbuf, LOCALNAME);
-    if (retval < 0) {
-	if (debugLevel > 0)
-	    t_error("t_getname on chooser fd");
-    }
-    *lenp = nbuf.len;
-    return retval;
-}
-
-/* TODO: Implement support for controlling which interfaces are listened on
-   and for listening to multicast addresses.  See the sockets equivalent in
-   sockets.c for details. */
-
-void UpdateListenSockets (void)
-{
-    return;
-}
-
-void CloseListenSockets (void)
-{
-    return;
-}
-
-void ProcessListenSockets (fd_set *readmask)
-{
-    return;
-}
-
-# endif /* STREAMSCONN */
-#endif /* XDMCP */
diff --git a/xdm/xdmcp.c b/xdm/xdmcp.c
index 1c34e7c..051d501 100644
--- a/xdm/xdmcp.c
+++ b/xdm/xdmcp.c
@@ -79,9 +79,6 @@ static void send_refuse (struct sockaddr *from, int fromlen, CARD32 sessionID, i
 static void send_unwilling (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status, int fd);
 static void send_willing (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status, int fd);
 
-# ifdef STREAMSCONN
-int	xdmcpFd = -1;
-# endif
 int	chooserFd = -1;
 # if defined(IPv6) && defined(AF_INET6)
 int	chooserFd6 = -1;
@@ -95,14 +92,6 @@ int	WellKnownSocketsMax;
 void
 DestroyWellKnownSockets (void)
 {
-# ifdef STREAMSCONN
-    if (xdmcpFd != -1)
-    {
-	close (xdmcpFd);
-	FD_CLR(xdmcpFd, &WellKnownSocketsMask);
-	xdmcpFd = -1;
-    }
-# endif
     if (chooserFd != -1)
     {
 	close (chooserFd);
@@ -137,9 +126,6 @@ int
 AnyWellKnownSockets (void)
 {
     return
-# ifdef STREAMS_CONN
-      xdmcpFd != -1 ||
-# endif
 # if defined(IPv6) && defined(AF_INET6)
       chooserFd6 != -1 ||
 # endif
@@ -411,10 +397,6 @@ WaitForSomething (void)
 		nready, Rescan, ChildReady);
 	if (nready > 0)
 	{
-# ifdef STREAMSCONN
-	    if (xdmcpFd >= 0 && FD_ISSET (xdmcpFd, &reads))
-		ProcessRequestSocket (xdmcpFd);
-# endif
 	    if (chooserFd >= 0 && FD_ISSET (chooserFd, &reads))
 	    {
 # ifdef ISC
-- 
1.7.9.2



More information about the xorg-devel mailing list