[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