From b5bfd3a49503387f1477a58b7c3d76fcdf06fbe5 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 21:06:36 +0200 Subject: remove DECnet support just as Xorg upstream did --- nx-X11/lib/xtrans/Imakefile | 1 - nx-X11/lib/xtrans/Xtrans.c | 22 +- nx-X11/lib/xtrans/Xtrans.h | 2 +- nx-X11/lib/xtrans/Xtransdnet.c | 666 ----------------------------------------- nx-X11/lib/xtrans/Xtransutil.c | 44 +-- nx-X11/lib/xtrans/transport.c | 3 - 6 files changed, 3 insertions(+), 735 deletions(-) delete mode 100644 nx-X11/lib/xtrans/Xtransdnet.c (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Imakefile b/nx-X11/lib/xtrans/Imakefile index b4b36685d..689bdd989 100644 --- a/nx-X11/lib/xtrans/Imakefile +++ b/nx-X11/lib/xtrans/Imakefile @@ -9,7 +9,6 @@ DEFINES = $(FAILDEFINES) HEADERS = \ Xtrans.h \ Xtrans.c \ - Xtransdnet.c \ Xtransint.h \ Xtranslcl.c \ Xtransos2.c \ diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index d665305bb..e53012e2f 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -93,9 +93,6 @@ Xtransport_table Xtransports[] = { #endif /* IPv6 */ { &TRANS(SocketINETFuncs), TRANS_SOCKET_INET_INDEX }, #endif /* TCPCONN */ -#if defined(DNETCONN) - { &TRANS(DNETFuncs), TRANS_DNET_INDEX }, -#endif /* DNETCONN */ #if defined(UNIXCONN) #if !defined(LOCALCONN) { &TRANS(SocketLocalFuncs), TRANS_SOCKET_LOCAL_INDEX }, @@ -206,7 +203,6 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) * * If the protocol part is missing, then assume TCP. * If the protocol part and host part are missing, then assume local. - * If a "::" is found then assume DNET. */ char *mybuf, *tmpptr; @@ -289,22 +285,6 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) return 0; } - /* Check for DECnet */ - - if ((mybuf != _host) && (*(mybuf - 1) == ':') -#if defined(IPv6) && defined(AF_INET6) - /* An IPv6 address can end in :: so three : in a row is assumed to be - an IPv6 host and not a DECnet node with a : in it's name, unless - DECnet is specifically requested */ - && ( ((mybuf - 1) == _host) || (*(mybuf - 2) != ':') || - ((_protocol != NULL) && (strcmp(_protocol, "dnet") == 0)) ) -#endif - ) - { - _protocol = "dnet"; - *(mybuf - 1) = '\0'; - } - *mybuf ++= '\0'; _host_len = strlen(_host); @@ -420,7 +400,7 @@ TRANS(Open) (int type, char *address) PRMSG (2,"Open(%d,%s)\n", type, address, 0); -#if defined(WIN32) && (defined(TCPCONN) || defined(DNETCONN)) +#if defined(WIN32) && defined(TCPCONN) if (TRANS(WSAStartup)()) { PRMSG (1,"Open: WSAStartup failed\n", 0, 0, 0); diff --git a/nx-X11/lib/xtrans/Xtrans.h b/nx-X11/lib/xtrans/Xtrans.h index 04f4138dd..e68657ef5 100644 --- a/nx-X11/lib/xtrans/Xtrans.h +++ b/nx-X11/lib/xtrans/Xtrans.h @@ -481,7 +481,7 @@ TRANS(GetHostname) ( int /* maxlen */ ); -#if defined(WIN32) && (defined(TCPCONN) || defined(DNETCONN)) +#if defined(WIN32) && defined(TCPCONN) int TRANS(WSAStartup)(); #endif diff --git a/nx-X11/lib/xtrans/Xtransdnet.c b/nx-X11/lib/xtrans/Xtransdnet.c deleted file mode 100644 index a4abf42a4..000000000 --- a/nx-X11/lib/xtrans/Xtransdnet.c +++ /dev/null @@ -1,666 +0,0 @@ -/* - -Copyright 1993, 1994, 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. - -*/ - -/* Copyright 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 and makes no representations about the - * suitability of this software for any purpose. It is provided "as is" - * without express or implied warranty. - * - * NCR DISCLAIMS 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. - */ - -#ifndef WIN32 -#include -#include -#include -#endif /* !WIN32 */ - -#include - -#ifdef WIN32 -#define _WILLWINSOCK_ -#define BOOL wBOOL -#undef Status -#define Status wStatus -#include /* PATHWORKS header normally in %MSTOOLS%\h\pathwork */ -#undef Status -#define Status int -#undef BOOL -#include -#undef close -#define close closesocket -#endif /* WIN32 */ - - -#if defined(X11_t) -#define DNETOBJ "X$X" -#endif -#if defined(XIM_t) -#define DNETOBJ "IMSERVER$" -#endif -#if defined(FS_t) || defined(FONT_t) -#define DNETOBJ "X$FONT" -#endif -#if defined(ICE_t) -#define DNETOBJ "" -#endif -#if defined(TEST_t) -#define DNETOBJ "X$TEST" -#endif - - -/* - * This is the DNET implementation of the X Transport service layer - */ - -/* - * This function gets the local address of the socket and stores it in the - * XtransConnInfo structure for the connection. - */ - -static int -TRANS(DNETGetAddr) (XtransConnInfo ciptr) - -{ - struct sockaddr_dn sockname; - int namelen = sizeof(sockname); - - PRMSG (3,"DNETGetAddr(%x)\n", ciptr, 0, 0); - - if (getsockname (ciptr->fd, (struct sockaddr *) &sockname, &namelen) < 0) - { - PRMSG (1,"DNETGetAddr: getsockname() failed: %d\n", - EGET(), 0, 0); - return -1; - } - - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - if ((ciptr->addr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "DNETGetAddr: Can't allocate space for the addr\n", - 0, 0, 0); - return -1; - } - - ciptr->family = sockname.sdn_family; - ciptr->addrlen = namelen; - memcpy (ciptr->addr, &sockname, ciptr->addrlen); - - return 0; -} - - -/* - * This function gets the remote address of the socket and stores it in the - * XtransConnInfo structure for the connection. - */ - -static int -TRANS(DNETGetPeerAddr) (XtransConnInfo ciptr) - -{ - struct sockaddr_dn sockname; - int namelen = sizeof(sockname); - - PRMSG (3,"DNETGetPeerAddr(%x)\n", ciptr, 0, 0); - - if (getpeername (ciptr->fd, (struct sockaddr *) &sockname, &namelen) < 0) - { - PRMSG (1,"DNETGetPeerAddr: getpeername() failed: %d\n", - EGET(), 0, 0); - return -1; - } - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - if ((ciptr->peeraddr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, - "DNETGetPeerAddr: Can't allocate space for the addr\n", - 0, 0, 0); - return -1; - } - - ciptr->peeraddrlen = namelen; - memcpy (ciptr->peeraddr, &sockname, ciptr->peeraddrlen); - - return 0; -} - - -#ifdef TRANS_CLIENT - -static XtransConnInfo -TRANS(DNETOpenCOTSClient) (Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - - PRMSG (2,"DNETOpenCOTSClient(%s,%s,%s)\n", protocol, host, port); - - if ((ciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) - { - PRMSG (1, "DNETOpenCOTSClient: malloc failed\n", 0, 0, 0); - return NULL; - } - - ciptr->index = 0; /* only one form of DECnet */ - - /* nothing else to do here */ - - return ciptr; -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -static XtransConnInfo -TRANS(DNETOpenCOTSServer) (Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - - PRMSG (2,"DNETOpenCOTSServer(%s,%s,%s)\n", protocol, host, port); - - if ((ciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) - { - PRMSG (1, "DNETOpenCOTSServer: malloc failed\n", 0, 0, 0); - return NULL; - } - - if ((ciptr->fd = socket (AF_DECnet, SOCK_STREAM, 0)) < 0) - { - free ((char *) ciptr); - return NULL; - } - - ciptr->index = 0; /* only one form of DECnet */ - - return (ciptr); -} - -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_CLIENT - -static XtransConnInfo -TRANS(DNETOpenCLTSClient) (Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - - PRMSG (2,"DNETOpenCLTSClient(%s,%s,%s)\n", protocol, host, port); - - if ((ciptr = (XtransConnInfo) calloc ( - 1, sizeof (struct _XtransConnInfo))) == NULL) - { - PRMSG (1, "DNETOpenCLTSClient: malloc failed\n", 0, 0, 0); - return NULL; - } - - ciptr->index = 0; /* only one form of DECnet */ - - /* nothing else to do here */ - - return ciptr; -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -static XtransConnInfo -TRANS(DNETOpenCLTSServer) (Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - /* NEED TO IMPLEMENT */ - - PRMSG (2,"DNETOpenCLTSServer(%s,%s,%s)\n", protocol, host, port); - return NULL; -} - -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_REOPEN - -static XtransConnInfo -TRANS(DNETReopenCOTSServer) (Xtransport *thistrans, int fd, char *port) - -{ - XtransConnInfo ciptr; - - PRMSG (2,"DNETReopenCOTSServer(%d,%s)\n", fd, port, 0); - - if ((ciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) - { - PRMSG (1, "DNETReopenCOTSServer: malloc failed\n", 0, 0, 0); - return NULL; - } - - ciptr->fd = fd; - ciptr->index = 0; /* only one form of DECnet */ - - return (ciptr); -} - -static XtransConnInfo -TRANS(DNETReopenCLTSServer) (Xtransport *thistrans, int fd, char *port) - -{ - XtransConnInfo ciptr; - - PRMSG (2,"DNETReopenCLTSServer(%d,%s)\n", fd, port, 0); - - if ((ciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) - { - PRMSG (1, "DNETReopenCLTSServer: malloc failed\n", 0, 0, 0); - return NULL; - } - - ciptr->fd = fd; - ciptr->index = 0; /* only one form of DECnet */ - - return (ciptr); -} - -#endif /* TRANS_REOPEN */ - - -static int -TRANS(DNETSetOption) (XtransConnInfo ciptr, int option, int arg) - -{ - PRMSG (2,"DNETSetOption(%d,%d,%d)\n", ciptr->fd, option, arg); - - return -1; -} - - -#ifdef TRANS_SERVER - -static int -TRANS(DNETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int flags) - -{ - struct sockaddr_dn dnsock; - int fd = ciptr->fd; - - PRMSG (3, "DNETCreateListener(%x,%d)\n", ciptr, fd, 0); - - bzero ((char *) &dnsock, sizeof (dnsock)); - dnsock.sdn_family = AF_DECnet; - - if (port && *port ) - sprintf (dnsock.sdn_objname, "%s%s", DNETOBJ, port); - else -#ifdef X11_t - return -1; -#else - sprintf (dnsock.sdn_objname, "%s%d", DNETOBJ, getpid ()); -#endif - - dnsock.sdn_objnamel = strlen (dnsock.sdn_objname); - - if (bind (fd, (struct sockaddr *) &dnsock, sizeof (dnsock))) - { - close (fd); - return -1; - } - - if (listen (fd, 5)) - { - close (fd); - return (-1); - } - - - /* Set a flag to indicate that this connection is a listener */ - - ciptr->flags = 1 | (ciptr->flags & TRANS_KEEPFLAGS); - - return 0; -} - - -static XtransConnInfo -TRANS(DNETAccept) (XtransConnInfo ciptr, int *status) - -{ - XtransConnInfo newciptr; - struct sockaddr_dn sockname; - int namelen = sizeof(sockname); - - PRMSG (2, "DNETAccept(%x,%d)\n", ciptr, ciptr->fd, 0); - - if ((newciptr = (XtransConnInfo) calloc( - 1, sizeof (struct _XtransConnInfo))) == NULL) - { - PRMSG (1, "DNETAccept: malloc failed\n", 0, 0, 0); - *status = TRANS_ACCEPT_BAD_MALLOC; - return NULL; - } - - if((newciptr->fd = accept (ciptr->fd, - (struct sockaddr *) &sockname, &namelen)) < 0) - { - PRMSG (1, "DNETAccept: accept() failed\n", 0, 0, 0); - - free (newciptr); - *status = TRANS_ACCEPT_FAILED; - return NULL; - } - - /* - * Get this address again because the transport may give a more - * specific address now that a connection is established. - */ - - if (TRANS(DNETGetAddr) (newciptr) < 0) - { - PRMSG(1, - "DNETAccept: ...DNETGetAddr() failed:\n", 0, 0, 0); - close (newciptr->fd); - free (newciptr); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - if (TRANS(DNETGetPeerAddr) (newciptr) < 0) - { - PRMSG(1, - "DNETAccept: ...DNETGetPeerAddr() failed:\n", 0, 0, 0); - - close (newciptr->fd); - if (newciptr->addr) free (newciptr->addr); - free (newciptr); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - *status = 0; - - return newciptr; -} - -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_CLIENT - -#define OBJBUFSIZE 64 - -static int -TRANS(DNETConnect) (XtransConnInfo ciptr, char *host, char *port) - -{ - char objname[OBJBUFSIZE]; - - extern int dnet_conn(); - - PRMSG (2,"DNETConnect(%d,%s,%s)\n", ciptr->fd, host, port); - -#ifdef X11_t - /* - * X has a well known port, that is transport dependent. It is easier - * to handle it here, than try and come up with a transport independent - * representation that can be passed in and resolved the usual way. - * - * The port that is passed here is really a string containing the idisplay - * from ConnectDisplay(). - */ - - if (is_numeric (port)) - { - short tmpport = (short) atoi (port); - - sprintf (objname, "X$X%d", tmpport); - } - else -#endif - strncpy(objname, port, OBJBUFSIZE); - - - /* - * Do the connect - */ - - if (!host) host = "0"; - - if ((ciptr->fd = dnet_conn (host, objname, SOCK_STREAM, 0, 0, 0, 0)) < 0) - { - return TRANS_CONNECT_FAILED; - } - - - /* - * Sync up the address fields of ciptr. - */ - - if (TRANS(DNETGetAddr) (ciptr) < 0) - { - PRMSG (1, - "DNETConnect: ...DNETGetAddr() failed:\n", 0, 0, 0); - return TRANS_CONNECT_FAILED; - } - - if (TRANS(DNETGetPeerAddr) (ciptr) < 0) - { - PRMSG (1, - "DNETConnect: ...DNETGetPeerAddr() failed:\n", - 0, 0, 0); - return TRANS_CONNECT_FAILED; - } - - return 0; -} - -#endif /* TRANS_CLIENT */ - - -static int -TRANS(DNETBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend) - -{ - PRMSG (2,"DNETBytesReadable(%x,%d,%x)\n", ciptr, ciptr->fd, pend); - -#ifdef WIN32 - { - int ret = ioctlsocket ((SOCKET) ciptr->fd, FIONREAD, (u_long *) pend); - errno = WSAGetLastError(); - return ret; - } -#else - return ioctl(ciptr->fd, FIONREAD, (char *)pend); -#endif /* WIN32 */ -} - - -static int -TRANS(DNETRead) (XtransConnInfo ciptr, char *buf, int size) - -{ - PRMSG (2,"DNETRead(%d,%x,%d)\n", ciptr->fd, buf, size); - -#ifdef WIN32 - { - int ret = recv ((SOCKET)ciptr->fd, buf, size, 0); - errno = WSAGetLastError(); - return ret; - } -#else - return read (ciptr->fd, buf, size); -#endif /* WIN32 */ -} - - -static int -TRANS(DNETWrite) (XtransConnInfo ciptr, char *buf, int size) - -{ - PRMSG (2,"DNETWrite(%d,%x,%d)\n", ciptr->fd, buf, size); - -#ifdef WIN32 - { - int ret = send ((SOCKET)ciptr->fd, buf, size, 0); - errno = WSAGetLastError(); - return ret; - } -#else - return write (ciptr->fd, buf, size); -#endif /* WIN32 */ -} - - -static int -TRANS(DNETReadv) (XtransConnInfo ciptr, struct iovec *buf, int size) - -{ - PRMSG (2,"DNETReadv(%d,%x,%d)\n", ciptr->fd, buf, size); - - return READV (ciptr, buf, size); -} - - -static int -TRANS(DNETWritev) (XtransConnInfo ciptr, struct iovec *buf, int size) - -{ - PRMSG (2,"DNETWritev(%d,%x,%d)\n", ciptr->fd, buf, size); - - return WRITEV (ciptr, buf, size); -} - - -static int -TRANS(DNETDisconnect) (XtransConnInfo ciptr) - -{ - PRMSG (2,"DNETDisconnect(%x,%d)\n", ciptr, ciptr->fd, 0); - -#ifdef WIN32 - { - int ret = shutdown (ciptr->fd, 2); - errno = WSAGetLastError(); - return ret; - } -#else - return shutdown (ciptr->fd, 2); /* disallow further sends and receives */ -#endif -} - - -static int -TRANS(DNETClose) (XtransConnInfo ciptr) - -{ - PRMSG (2,"DNETClose(%x,%d)\n", ciptr, ciptr->fd, 0); - -#ifdef WIN32 - { - int ret = close (ciptr->fd); - errno = WSAGetLastError(); - return ret; - } -#else - return close (ciptr->fd); -#endif -} - - -Xtransport TRANS(DNETFuncs) = { - /* DNET Interface */ - "dnet", - 0, -#ifdef TRANS_CLIENT - TRANS(DNETOpenCOTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(DNETOpenCOTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(DNETOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(DNETOpenCLTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_REOPEN - TRANS(DNETReopenCOTSServer), - TRANS(DNETReopenCLTSServer), -#endif /* TRANS_REOPEN */ - TRANS(DNETSetOption), -#ifdef TRANS_SERVER - TRANS(DNETCreateListener), - NULL, /* ResetListener */ - TRANS(DNETAccept), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(DNETConnect), -#endif /* TRANS_CLIENT */ - TRANS(DNETBytesReadable), - TRANS(DNETRead), - TRANS(DNETWrite), - TRANS(DNETReadv), - TRANS(DNETWritev), - TRANS(DNETDisconnect), - TRANS(DNETClose), - TRANS(DNETClose), -}; diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 03bbce188..99af01747 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -158,20 +158,6 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) #endif /* IPv6 */ #endif /* defined(TCPCONN) || defined(STREAMSCONN) */ -#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: @@ -297,18 +283,6 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) } #endif /* defined(TCPCONN) || defined(STREAMSCONN) */ -#if defined(DNETCONN) - case AF_DECnet: - { - struct sockaddr_dn *saddr = (struct sockaddr_dn *) addr; - - networkId = (char *) malloc ( - 13 + strlen (hostnamebuf) + saddr->sdn_objnamel); - sprintf (networkId, "dnet/%s::%s", - hostnamebuf, saddr->sdn_objname); - break; - } -#endif /* defined(DNETCONN) */ default: break; @@ -429,22 +403,6 @@ TRANS(GetPeerNetworkId) (XtransConnInfo ciptr) #endif /* defined(TCPCONN) || defined(STREAMSCONN) */ -#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) */ default: return (NULL); @@ -464,7 +422,7 @@ TRANS(GetPeerNetworkId) (XtransConnInfo ciptr) #endif /* ICE_t */ -#if defined(WIN32) && (defined(TCPCONN) || defined(DNETCONN)) +#if defined(WIN32) && defined(TCPCONN) int TRANS(WSAStartup) (void) { diff --git a/nx-X11/lib/xtrans/transport.c b/nx-X11/lib/xtrans/transport.c index e1a8b45ec..fe0cff24d 100644 --- a/nx-X11/lib/xtrans/transport.c +++ b/nx-X11/lib/xtrans/transport.c @@ -61,9 +61,6 @@ from The Open Group. #include "Xtransint.h" -#ifdef DNETCONN -#include "Xtransdnet.c" -#endif #ifdef LOCALCONN #include "Xtranslcl.c" #endif -- cgit v1.2.3 From 0cbc89221f82fa99db511eeef580a1476dfd4087 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 21:33:00 +0200 Subject: Remove unused TLI ("STREAMSCONN") code --- nx-X11/lib/xtrans/Imakefile | 1 - nx-X11/lib/xtrans/Xtrans.c | 5 - nx-X11/lib/xtrans/Xtranstli.c | 1420 ---------------------------------------- nx-X11/lib/xtrans/Xtransutil.c | 20 +- nx-X11/lib/xtrans/transport.c | 3 - 5 files changed, 10 insertions(+), 1439 deletions(-) delete mode 100644 nx-X11/lib/xtrans/Xtranstli.c (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Imakefile b/nx-X11/lib/xtrans/Imakefile index 689bdd989..48fccc521 100644 --- a/nx-X11/lib/xtrans/Imakefile +++ b/nx-X11/lib/xtrans/Imakefile @@ -13,7 +13,6 @@ HEADERS = \ Xtranslcl.c \ Xtransos2.c \ Xtranssock.c \ - Xtranstli.c \ Xtransutil.c \ transport.c diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index e53012e2f..cb9d6067c 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -81,11 +81,6 @@ from The Open Group. static Xtransport_table Xtransports[] = { -#if defined(STREAMSCONN) - { &TRANS(TLITCPFuncs), TRANS_TLI_TCP_INDEX }, - { &TRANS(TLIINETFuncs), TRANS_TLI_INET_INDEX }, - { &TRANS(TLITLIFuncs), TRANS_TLI_TLI_INDEX }, -#endif /* STREAMSCONN */ #if defined(TCPCONN) { &TRANS(SocketTCPFuncs), TRANS_SOCKET_TCP_INDEX }, #if defined(IPv6) && defined(AF_INET6) diff --git a/nx-X11/lib/xtrans/Xtranstli.c b/nx-X11/lib/xtrans/Xtranstli.c deleted file mode 100644 index 839498658..000000000 --- a/nx-X11/lib/xtrans/Xtranstli.c +++ /dev/null @@ -1,1420 +0,0 @@ -/* - -Copyright 1993, 1994, 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. - -*/ - -/* Copyright 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. - * - * NCR DISCLAIMS 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. - */ - -#include -#include -#include -#include - -#include -#include - - -/* - * This is the TLI implementation of the X Transport service layer - */ - -typedef struct _TLItrans2dev { - char *transname; - char *protofamily; - char *devcotsname; - char *devcltsname; - int family; -} TLItrans2dev; - -static TLItrans2dev TLItrans2devtab[] = { - {"inet","inet","/dev/tcp","/dev/udp",AF_INET}, - {"tcp","inet","/dev/tcp","/dev/udp",AF_INET}, - {"tli","loopback","/dev/ticots","/dev/ticlts",AF_UNIX}, -}; - -#define NUMTLIFAMILIES (sizeof(TLItrans2devtab)/sizeof(TLItrans2dev)) - -/* - * The local TLI connection, is a form of a local connection, so use a - * sockaddr_un for the address so that it will be treated just like the other - * local transports such as UNIX domain sockets, pts, and named. - */ - -#if defined(X11_t) -#define TLINODENAME "TLI:xserver" -#endif - -#if defined(XIM_t) -#define TLINODENAME "TLI:xim" -#endif - -#if defined(FS_t) || defined(FONT_t) -#define TLINODENAME "TLI:fontserver" -#endif - -#if defined(ICE_t) -#define TLINODENAME "TLI:ICE" -#endif - -#if defined(TEST_t) -#define TLINODENAME "TLI:test" -#endif - -#ifndef PORTBUFSIZE -#ifdef TRANS_SERVER -#define PORTBUFSIZE 64 -#else -#ifdef TRANS_CLIENT -#define PORTBUFSIZE 64 -#endif -#endif -#endif - - -/* - * These are some utility function used by the real interface function below. - */ - -static int -TRANS(TLISelectFamily)(char *family) - -{ - int i; - - PRMSG(3,"TLISelectFamily(%s)\n", family, 0,0 ); - - for(i=0;ifd,&netbuf,LOCALNAME) < 0 ) - { - PRMSG(1,"TLIGetAddr: t_getname(LOCALNAME) failed: %d\n", - errno, 0,0 ); - return -1; - } - - PRMSG(4,"TLIGetAddr: got family %d len %d\n", - ((struct sockaddr *) &sockname)->sa_family ,netbuf.len, 0 ); - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - if( ciptr->addr ) - free(ciptr->addr); - - if( (ciptr->addr=(char *)malloc(netbuf.len)) == NULL ) - { - PRMSG(1, "TLIGetAddr: Can't allocate space for the addr\n", - 0,0,0); - return -1; - } - - ciptr->family=((struct sockaddr *) &sockname)->sa_family; - ciptr->addrlen=netbuf.len; - memcpy(ciptr->addr,&sockname,ciptr->addrlen); - - return 0; -} - - -/* - * This function gets the remote address of the socket and stores it in the - * XtransConnInfo structure for the connection. - */ - -static int -TRANS(TLIGetPeerAddr)(XtransConnInfo ciptr) - -{ - Xtransaddr sockname; - struct netbuf netbuf; - - PRMSG(3,"TLIGetPeerAddr(%x)\n", ciptr, 0,0 ); - - netbuf.buf=(char *)&sockname; - netbuf.len=sizeof(sockname); - netbuf.maxlen=sizeof(sockname); - - if( t_getname(ciptr->fd,&netbuf,REMOTENAME) < 0 ) - { - PRMSG(1,"TLIGetPeerAddr: t_getname(REMOTENAME) failed: %d\n", - errno, 0,0 ); - return -1; - } - - PRMSG(4,"TLIGetPeerAddr: got family %d len %d\n", - ((struct sockaddr *) &sockname)->sa_family ,netbuf.len, 0 ); - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - if( ciptr->peeraddr ) - free(ciptr->peeraddr); - - if( (ciptr->peeraddr=(char *)malloc(netbuf.len)) == NULL ) - { - PRMSG(1, - "TLIGetPeerAddr: Can't allocate space for the addr\n", - 0,0,0); - return -1; - } - - ciptr->peeraddrlen=netbuf.len; - memcpy(ciptr->peeraddr,&sockname,ciptr->peeraddrlen); - - return 0; -} - - -/* - * This function will establish a local name for the transport. This function - * do extra work for the local tli connection. It must create a sockaddr_un - * format address so that it will look like an AF_UNIX connection to the - * higher layer. - * - * This function will only be called by the OPENC?TSClient() functions since - * the local address is set up in the CreateListner() for the server ends. - */ - -static int -TRANS(TLITLIBindLocal)(int fd, int family, char *port) - -{ - struct sockaddr_un *sunaddr=NULL; - struct t_bind *req=NULL; - - PRMSG(2, "TLITLIBindLocal(%d,%d,%s)\n", fd, family, port); - - if( family == AF_UNIX ) - { - if( (req=(struct t_bind *)t_alloc(fd,T_BIND,0)) == NULL ) - { - PRMSG(1, - "TLITLIBindLocal() failed to allocate a t_bind\n", - 0,0,0 ); - return -1; - } - - if( (sunaddr=(struct sockaddr_un *) - malloc(sizeof(struct sockaddr_un))) == NULL ) - { - PRMSG(1, - "TLITLIBindLocal: failed to allocate a sockaddr_un\n", - 0,0,0 ); - t_free((char *)req,T_BIND); - return -1; - } - - sunaddr->sun_family=AF_UNIX; - -#ifdef nuke - if( *port == '/' ) { /* A full pathname */ - (void) strcpy(sunaddr->sun_path, port); - } else { - (void) sprintf(sunaddr->sun_path,"%s%s", TLINODENAME, port ); - } -#endif /*NUKE*/ - - (void) sprintf(sunaddr->sun_path,"%s%d", - TLINODENAME, getpid()^time(NULL) ); - - PRMSG(4, "TLITLIBindLocal: binding to %s\n", - sunaddr->sun_path, 0,0); - - req->addr.buf=(char *)sunaddr; - req->addr.len=sizeof(*sunaddr); - req->addr.maxlen=sizeof(*sunaddr); - } - - if( t_bind(fd, req, NULL) < 0 ) - { - PRMSG(1, - "TLIBindLocal: Unable to bind TLI device to %s\n", - port, 0,0 ); - if (sunaddr) - free((char *) sunaddr); - if (req) - t_free((char *)req,T_BIND); - return -1; - } - return 0; -} - -static XtransConnInfo -TRANS(TLIOpen)(char *device) - -{ - XtransConnInfo ciptr; - - PRMSG(3,"TLIOpen(%s)\n", device, 0,0 ); - - if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) - { - PRMSG(1, "TLIOpen: calloc failed\n", 0,0,0 ); - return NULL; - } - - if( (ciptr->fd=t_open( device, O_RDWR, NULL )) < 0 ) - { - PRMSG(1, "TLIOpen: t_open failed for %s\n", device, 0,0 ); - free(ciptr); - return NULL; - } - - return ciptr; -} - - -#ifdef TRANS_REOPEN - -static XtransConnInfo -TRANS(TLIReopen)(char *device, int fd, char *port) - -{ - XtransConnInfo ciptr; - - PRMSG(3,"TLIReopen(%s,%d, %s)\n", device, fd, port ); - - if (t_sync (fd) < 0) - { - PRMSG(1, "TLIReopen: t_sync failed\n", 0,0,0 ); - return NULL; - } - - if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) - { - PRMSG(1, "TLIReopen: calloc failed\n", 0,0,0 ); - return NULL; - } - - ciptr->fd = fd; - - return ciptr; -} - -#endif /* TRANS_REOPEN */ - - -static int -TRANS(TLIAddrToNetbuf)(int tlifamily, char *host, char *port, - struct netbuf *netbufp) - -{ - struct netconfig *netconfigp; - struct nd_hostserv nd_hostserv; - struct nd_addrlist *nd_addrlistp = NULL; - void *handlep; - long lport; - - PRMSG(3,"TLIAddrToNetbuf(%d,%s,%s)\n", tlifamily, host, port ); - - if( (handlep=setnetconfig()) == NULL ) - return -1; - - lport = strtol (port, (char**)NULL, 10); - if (lport < 1024 || lport > USHRT_MAX) - return -1; - - nd_hostserv.h_host = host; - if( port && *port ) { - nd_hostserv.h_serv = port; - } else { - nd_hostserv.h_serv = NULL; - } - - while( (netconfigp=getnetconfig(handlep)) != NULL ) - { - if( strcmp(netconfigp->nc_protofmly, - TLItrans2devtab[tlifamily].protofamily) != 0 ) - continue; - PRMSG(5,"TLIAddrToNetbuf: Trying to resolve %s.%s for %s\n", - host, port, TLItrans2devtab[tlifamily].protofamily ); - if( netdir_getbyname(netconfigp,&nd_hostserv, &nd_addrlistp) == 0 ) - { - /* we have at least one address to use */ - - PRMSG(5, "TLIAddrToNetbuf: found address for %s.%s\n", host, port, 0 ); - PRMSG(5, "TLIAddrToNetbuf: %s\n",taddr2uaddr(netconfigp,nd_addrlistp->n_addrs), - 0,0 ); - - memcpy(netbufp->buf,nd_addrlistp->n_addrs->buf, - nd_addrlistp->n_addrs->len); - netbufp->len=nd_addrlistp->n_addrs->len; - endnetconfig(handlep); - return 0; - } - } - endnetconfig(handlep); - - return -1; -} - -/* - * These functions are the interface supplied in the Xtransport structure - */ - -#ifdef TRANS_CLIENT - -static XtransConnInfo -TRANS(TLIOpenCOTSClient)(Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - int i; - - PRMSG(2,"TLIOpenCOTSClient(%s,%s,%s)\n", protocol, host, port ); - - if( (i=TRANS(TLISelectFamily)(thistrans->TransName)) < 0 ) - { - PRMSG(1,"TLIOpenCOTSClient: Unable to determine device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( (ciptr=TRANS(TLIOpen)(TLItrans2devtab[i].devcotsname)) == NULL ) - { - PRMSG(1,"TLIOpenCOTSClient: Unable to open device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( TRANS(TLITLIBindLocal)(ciptr->fd,TLItrans2devtab[i].family,port) < 0 ) - { - PRMSG(1, - "TLIOpenCOTSClient: ...TLITLIBindLocal() failed: %d\n", - errno, 0,0 ); - t_close(ciptr->fd); - free(ciptr); - return NULL; - } - - if( TRANS(TLIGetAddr)(ciptr) < 0 ) - { - PRMSG(1, - "TLIOpenCOTSClient: ...TLIGetAddr() failed: %d\n", - errno, 0,0 ); - t_close(ciptr->fd); - free(ciptr); - return NULL; - } - - /* Save the TLIFamily for later use in TLIAddrToNetbuf() lookups */ - ciptr->index = i; - - return ciptr; -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -static XtransConnInfo -TRANS(TLIOpenCOTSServer)(Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - int i; - - PRMSG(2,"TLIOpenCOTSServer(%s,%s,%s)\n", protocol, host, port ); - - if( (i=TRANS(TLISelectFamily)(thistrans->TransName)) < 0 ) - { - PRMSG(1, - "TLIOpenCOTSServer: Unable to determine device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( (ciptr=TRANS(TLIOpen)(TLItrans2devtab[i].devcotsname)) == NULL ) - { - PRMSG(1, - "TLIOpenCOTSServer: Unable to open device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - /* Set the family type */ - - ciptr->family = TLItrans2devtab[i].family; - - - /* Save the TLIFamily for later use in TLIAddrToNetbuf() lookups */ - - ciptr->index = i; - - return ciptr; -} - -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_CLIENT - -static XtransConnInfo -TRANS(TLIOpenCLTSClient)(Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - int i; - - PRMSG(2,"TLIOpenCLTSClient(%s,%s,%s)\n", protocol, host, port ); - - if( (i=TRANS(TLISelectFamily)(thistrans->TransName)) < 0 ) - { - PRMSG(1, - "TLIOpenCLTSClient: Unable to determine device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( (ciptr=TRANS(TLIOpen)(TLItrans2devtab[i].devcltsname)) == NULL ) - { - PRMSG(1, - "TLIOpenCLTSClient: Unable to open device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( TRANS(TLITLIBindLocal)(ciptr->fd,TLItrans2devtab[i].family,port) < 0 ) - { - PRMSG(1, - "TLIOpenCLTSClient: ...TLITLIBindLocal() failed: %d\n", - errno, 0,0 ); - t_close(ciptr->fd); - free(ciptr); - return NULL; - } - - if( TRANS(TLIGetAddr)(ciptr) < 0 ) - { - PRMSG(1, - "TLIOpenCLTSClient: ...TLIGetPeerAddr() failed: %d\n", - errno, 0,0 ); - t_close(ciptr->fd); - free(ciptr); - return NULL; - } - - return ciptr; -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -static XtransConnInfo -TRANS(TLIOpenCLTSServer)(Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - int i; - - PRMSG(2,"TLIOpenCLTSServer(%s,%s,%s)\n", protocol, host, port ); - - if( (i=TRANS(TLISelectFamily)(thistrans->TransName)) < 0 ) - { - PRMSG(1, - "TLIOpenCLTSServer: Unable to determine device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( (ciptr=TRANS(TLIOpen)(TLItrans2devtab[i].devcltsname)) == NULL ) - { - PRMSG(1, - "TLIOpenCLTSServer: Unable to open device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - return ciptr; -} - -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_REOPEN - -static XtransConnInfo -TRANS(TLIReopenCOTSServer)(Xtransport *thistrans, int fd, char *port) - -{ - XtransConnInfo ciptr; - int i; - - PRMSG(2,"TLIReopenCOTSServer(%d, %s)\n", fd, port, 0 ); - - if( (i=TRANS(TLISelectFamily)(thistrans->TransName)) < 0 ) - { - PRMSG(1, - "TLIReopenCOTSServer: Unable to determine device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( (ciptr=TRANS(TLIReopen)( - TLItrans2devtab[i].devcotsname, fd, port)) == NULL ) - { - PRMSG(1, - "TLIReopenCOTSServer: Unable to open device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - /* Save the TLIFamily for later use in TLIAddrToNetbuf() lookups */ - - ciptr->index = i; - - return ciptr; -} - - -static XtransConnInfo -TRANS(TLIReopenCLTSServer)(Xtransport *thistrans, int fd, char *port) - -{ - XtransConnInfo ciptr; - int i; - - PRMSG(2,"TLIReopenCLTSServer(%d, %s)\n", fd, port, 0 ); - - if( (i=TRANS(TLISelectFamily)(thistrans->TransName)) < 0 ) - { - PRMSG(1, - "TLIReopenCLTSServer: Unable to determine device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - if( (ciptr=TRANS(TLIReopen)( - TLItrans2devtab[i].devcltsname, fd, port)) == NULL ) - { - PRMSG(1, - "TLIReopenCLTSServer: Unable to open device for %s\n", - thistrans->TransName, 0,0 ); - return NULL; - } - - ciptr->index = i; - - return ciptr; -} - -#endif /* TRANS_REOPEN */ - - -static int -TRANS(TLISetOption)(XtransConnInfo ciptr, int option, int arg) - -{ - PRMSG(2,"TLISetOption(%d,%d,%d)\n", ciptr->fd, option, arg ); - - return -1; -} - - -#ifdef TRANS_SERVER - -static int -TRANS(TLICreateListener)(XtransConnInfo ciptr, struct t_bind *req) - -{ - struct t_bind *ret; - - PRMSG(2,"TLICreateListener(%x->%d,%x)\n", ciptr, ciptr->fd, req ); - - if( (ret=(struct t_bind *)t_alloc(ciptr->fd,T_BIND,T_ALL)) == NULL ) - { - PRMSG(1, "TLICreateListener: failed to allocate a t_bind\n", - 0,0,0 ); - t_free((char *)req,T_BIND); - return TRANS_CREATE_LISTENER_FAILED; - } - - if( t_bind(ciptr->fd, req, ret) < 0 ) - { - PRMSG(1, "TLICreateListener: t_bind failed\n", 0,0,0 ); - t_free((char *)req,T_BIND); - t_free((char *)ret,T_BIND); - return TRANS_CREATE_LISTENER_FAILED; - } - - if( memcmp(req->addr.buf,ret->addr.buf,req->addr.len) != 0 ) - { - PRMSG(1, "TLICreateListener: unable to bind to %x\n", - req, 0,0 ); - t_free((char *)req,T_BIND); - t_free((char *)ret,T_BIND); - return TRANS_ADDR_IN_USE; - } - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - if( (ciptr->addr=(char *)malloc(ret->addr.len)) == NULL ) - { - PRMSG(1, - "TLICreateListener: Unable to allocate space for the address\n", - 0,0,0 ); - t_free((char *)req,T_BIND); - t_free((char *)ret, T_BIND); - return TRANS_CREATE_LISTENER_FAILED; - } - - ciptr->addrlen=ret->addr.len; - memcpy(ciptr->addr,ret->addr.buf,ret->addr.len); - - t_free((char *)req,T_BIND); - t_free((char *)ret, T_BIND); - - return 0; -} - - -static int -TRANS(TLIINETCreateListener)(XtransConnInfo ciptr, char *port, unsigned int flags) - -{ - char portbuf[PORTBUFSIZE]; - struct t_bind *req; - struct sockaddr_in *sinaddr; - long tmpport; - - PRMSG(2,"TLIINETCreateListener(%x->%d,%s)\n", ciptr, - ciptr->fd, port ? port : "NULL" ); - -#ifdef X11_t - /* - * X has a well known port, that is transport dependent. It is easier - * to handle it here, than try and come up with a transport independent - * representation that can be passed in and resolved the usual way. - * - * The port that is passed here is really a string containing the idisplay - * from ConnectDisplay(). - */ - - if (is_numeric (port)) - { - tmpport = X_TCP_PORT + strtol (port, (char**)NULL, 10); - sprintf(portbuf,"%u", tmpport); - port = portbuf; - } -#endif - - if( (req=(struct t_bind *)t_alloc(ciptr->fd,T_BIND,T_ALL)) == NULL ) - { - PRMSG(1, - "TLIINETCreateListener: failed to allocate a t_bind\n", - 0,0,0 ); - return TRANS_CREATE_LISTENER_FAILED; - } - - if( port && *port ) { - if(TRANS(TLIAddrToNetbuf)(ciptr->index,HOST_SELF,port,&(req->addr)) < 0) - { - PRMSG(1, - "TLIINETCreateListener: can't resolve name:HOST_SELF.%s\n", - port, 0,0 ); - t_free((char *)req,T_BIND); - return TRANS_CREATE_LISTENER_FAILED; - } - } else { - sinaddr=(struct sockaddr_in *) req->addr.buf; - sinaddr->sin_family=AF_INET; - sinaddr->sin_port=htons(0); - sinaddr->sin_addr.s_addr=0; - } - - /* Set the qlen */ - - req->qlen=1; - - return TRANS(TLICreateListener)(ciptr, req); -} - - -static int -TRANS(TLITLICreateListener)(XtransConnInfo ciptr, char *port, unsigned int flags) - -{ - struct t_bind *req; - struct sockaddr_un *sunaddr; - int ret_value; - - PRMSG(2,"TLITLICreateListener(%x->%d,%s)\n", ciptr, ciptr->fd, - port ? port : "NULL"); - - if( (req=(struct t_bind *)t_alloc(ciptr->fd,T_BIND,0)) == NULL ) - { - PRMSG(1, - "TLITLICreateListener: failed to allocate a t_bind\n", - 0,0,0 ); - return TRANS_CREATE_LISTENER_FAILED; - } - - if( (sunaddr=(struct sockaddr_un *) - malloc(sizeof(struct sockaddr_un))) == NULL ) - { - PRMSG(1, - "TLITLICreateListener: failed to allocate a sockaddr_un\n", - 0,0,0 ); - t_free((char *)req,T_BIND); - return TRANS_CREATE_LISTENER_FAILED; - } - - sunaddr->sun_family=AF_UNIX; - if( port && *port ) { - if( *port == '/' ) { /* A full pathname */ - (void) strcpy(sunaddr->sun_path, port); - } else { - (void) sprintf(sunaddr->sun_path,"%s%s", TLINODENAME, port ); - } - } else { - (void) sprintf(sunaddr->sun_path,"%s%d", TLINODENAME, getpid()); - } - - req->addr.buf=(char *)sunaddr; - req->addr.len=sizeof(*sunaddr); - req->addr.maxlen=sizeof(*sunaddr); - - /* Set the qlen */ - - req->qlen=1; - - ret_value = TRANS(TLICreateListener)(ciptr, req); - - free((char *) sunaddr); - - return ret_value; -} - - -static XtransConnInfo -TRANS(TLIAccept)(XtransConnInfo ciptr, int *status) - -{ - struct t_call *call; - XtransConnInfo newciptr; - int i; - - PRMSG(2,"TLIAccept(%x->%d)\n", ciptr, ciptr->fd, 0 ); - - if( (call=(struct t_call *)t_alloc(ciptr->fd,T_CALL,T_ALL)) == NULL ) - { - PRMSG(1, "TLIAccept() failed to allocate a t_call\n", 0,0,0 ); - *status = TRANS_ACCEPT_BAD_MALLOC; - return NULL; - } - - if( t_listen(ciptr->fd,call) < 0 ) - { - extern char *t_errlist[]; - extern int t_errno; - PRMSG(1, "TLIAccept() t_listen() failed\n", 0,0,0 ); - PRMSG(1, "TLIAccept: %s\n", t_errlist[t_errno], 0,0 ); - t_free((char *)call,T_CALL); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - /* - * Now we need to set up the new endpoint for the incoming connection. - */ - - i=ciptr->index; /* Makes the next line more readable */ - - if( (newciptr=TRANS(TLIOpen)(TLItrans2devtab[i].devcotsname)) == NULL ) - { - PRMSG(1, "TLIAccept() failed to open a new endpoint\n", 0,0,0 ); - t_free((char *)call,T_CALL); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - if( TRANS(TLITLIBindLocal)(newciptr->fd,TLItrans2devtab[i].family,"") < 0 ) - { - PRMSG(1, - "TLIAccept: TRANS(TLITLIBindLocal)() failed: %d\n", - errno, 0,0 ); - t_free((char *)call,T_CALL); - t_close(newciptr->fd); - free(newciptr); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - - if( t_accept(ciptr->fd,newciptr->fd,call) < 0 ) - { - extern char *t_errlist[]; - extern int t_errno; - PRMSG(1, "TLIAccept() t_accept() failed\n", 0,0,0 ); - PRMSG(1, "TLIAccept: %s\n", t_errlist[t_errno], 0,0 ); - if( t_errno == TLOOK ) - { - int evtype = t_look(ciptr->fd); - PRMSG(1, "TLIAccept() t_look() returned %d\n", evtype,0,0 ); - switch( evtype ) - { - case T_DISCONNECT: - if( t_rcvdis(ciptr->fd, NULL) < 0 ) - { - PRMSG(1, "TLIAccept() t_rcvdis() failed\n", 0,0,0 ); - PRMSG(1, "TLIAccept: %s\n", t_errlist[t_errno], 0,0 ); - } - break; - default: - break; - } - } - t_free((char *)call,T_CALL); - t_close(newciptr->fd); - free(newciptr); - *status = TRANS_ACCEPT_FAILED; - return NULL; - } - - t_free((char *)call,T_CALL); - - if( TRANS(TLIGetAddr)(newciptr) < 0 ) - { - PRMSG(1, - "TLIAccept: TRANS(TLIGetPeerAddr)() failed: %d\n", - errno, 0,0 ); - t_close(newciptr->fd); - free(newciptr); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - if( TRANS(TLIGetPeerAddr)(newciptr) < 0 ) - { - PRMSG(1, - "TLIAccept: TRANS(TLIGetPeerAddr)() failed: %d\n", - errno, 0,0 ); - t_close(newciptr->fd); - free(newciptr->addr); - free(newciptr); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - if( ioctl(newciptr->fd, I_POP,"timod") < 0 ) - { - PRMSG(1, "TLIAccept() ioctl(I_POP, \"timod\") failed %d\n", - errno,0,0 ); - t_close(newciptr->fd); - free(newciptr->addr); - free(newciptr); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - if( ioctl(newciptr->fd, I_PUSH,"tirdwr") < 0 ) - { - PRMSG(1, "TLIAccept() ioctl(I_PUSH,\"tirdwr\") failed %d\n", - errno,0,0 ); - t_close(newciptr->fd); - free(newciptr->addr); - free(newciptr); - *status = TRANS_ACCEPT_MISC_ERROR; - return NULL; - } - - *status = 0; - - return newciptr; -} - -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_CLIENT - -static int -TRANS(TLIConnect)(XtransConnInfo ciptr, struct t_call *sndcall ) - -{ - PRMSG(2, "TLIConnect(%x->%d,%x)\n", ciptr, ciptr->fd, sndcall); - - if( t_connect(ciptr->fd,sndcall,NULL) < 0 ) - { - extern char *t_errlist[]; - extern int t_errno; - PRMSG(1, "TLIConnect() t_connect() failed\n", 0,0,0 ); - PRMSG(1, "TLIConnect: %s\n", t_errlist[t_errno], 0,0 ); - t_free((char *)sndcall,T_CALL); - if (t_errno == TLOOK && t_look(ciptr->fd) == T_DISCONNECT) - { - t_rcvdis(ciptr->fd,NULL); - return TRANS_TRY_CONNECT_AGAIN; - } - else - return TRANS_CONNECT_FAILED; - } - - t_free((char *)sndcall,T_CALL); - - /* - * Sync up the address fields of ciptr. - */ - - if( TRANS(TLIGetAddr)(ciptr) < 0 ) - { - PRMSG(1, - "TLIConnect: ...TLIGetAddr() failed: %d\n", - errno, 0,0 ); - return TRANS_CONNECT_FAILED; - } - - if( TRANS(TLIGetPeerAddr)(ciptr) < 0 ) - { - PRMSG(1, - "TLIConnect: ...TLIGetPeerAddr() failed: %d\n", - errno, 0,0 ); - return TRANS_CONNECT_FAILED; - } - - if( ioctl(ciptr->fd, I_POP,"timod") < 0 ) - { - PRMSG(1, "TLIConnect() ioctl(I_POP,\"timod\") failed %d\n", - errno,0,0 ); - return TRANS_CONNECT_FAILED; - } - - if( ioctl(ciptr->fd, I_PUSH,"tirdwr") < 0 ) - { - PRMSG(1, "TLIConnect() ioctl(I_PUSH,\"tirdwr\") failed %d\n", - errno,0,0 ); - return TRANS_CONNECT_FAILED; - } - - return 0; -} - - -static int -TRANS(TLIINETConnect)(XtransConnInfo ciptr, char *host, char *port) - -{ - char portbuf[PORTBUFSIZE]; - struct t_call *sndcall; - long tmpport; - - PRMSG(2, "TLIINETConnect(%s,%s)\n", host, port, 0); - -#ifdef X11_t - /* - * X has a well known port, that is transport dependant. It is easier - * to handle it here, than try and come up with a transport independent - * representation that can be passed in and resolved the usual way. - * - * The port that is passed here is really a string containing the idisplay - * from ConnectDisplay(). - */ - - if (is_numeric (port)) - { - tmpport = X_TCP_PORT + strtol (port, (char**)NULL, 10); - sprintf(portbuf,"%u", tmpport ); - port = portbuf; - } -#endif - - if( (sndcall=(struct t_call *)t_alloc(ciptr->fd,T_CALL,T_ALL)) == NULL ) - { - PRMSG(1, "TLIINETConnect() failed to allocate a t_call\n", 0,0,0 ); - return TRANS_CONNECT_FAILED; - } - - if( TRANS(TLIAddrToNetbuf)(ciptr->index, host, port, &(sndcall->addr) ) < 0 ) - { - PRMSG(1, "TLIINETConnect() unable to resolve name:%s.%s\n", - host, port, 0 ); - t_free((char *)sndcall,T_CALL); - return TRANS_CONNECT_FAILED; - } - - return TRANS(TLIConnect)(ciptr, sndcall ); -} - - -static int -TRANS(TLITLIConnect)(XtransConnInfo ciptr, char *host, char *port) - -{ - struct t_call *sndcall; - struct sockaddr_un *sunaddr; - int ret_value; - - PRMSG(2, "TLITLIConnect(%s,%s)\n", host, port, 0); - - if( (sndcall=(struct t_call *)t_alloc(ciptr->fd,T_CALL,T_OPT|T_UDATA)) == NULL ) - { - PRMSG(1, "TLITLIConnect() failed to allocate a t_call\n", 0,0,0 ); - return TRANS_CONNECT_FAILED; - } - - if( (sunaddr=(struct sockaddr_un *) - malloc(sizeof(struct sockaddr_un))) == NULL ) - { - PRMSG(1, - "TLITLIConnect: failed to allocate a sockaddr_un\n", - 0,0,0 ); - t_free((char *)sndcall,T_CALL); - return TRANS_CONNECT_FAILED; - } - - sunaddr->sun_family=AF_UNIX; - if( *port == '/' || - strncmp (port, TLINODENAME, strlen (TLINODENAME)) == 0) { - /* Use the port as is */ - (void) strcpy(sunaddr->sun_path, port); - } else { - (void) sprintf(sunaddr->sun_path,"%s%s", TLINODENAME, port ); - } - - sndcall->addr.buf=(char *)sunaddr; - sndcall->addr.len=sizeof(*sunaddr); - sndcall->addr.maxlen=sizeof(*sunaddr); - - ret_value = TRANS(TLIConnect)(ciptr, sndcall ); - - free((char *) sunaddr); - - return ret_value; -} - -#endif /* TRANS_CLIENT */ - - -static int -TRANS(TLIBytesReadable)(XtransConnInfo ciptr, BytesReadable_t *pend) - -{ - int ret; - struct pollfd filedes; - - PRMSG(2, "TLIByteReadable(%x->%d,%x)\n", ciptr, ciptr->fd, pend ); - - /* - * This function should detect hangup conditions. Use poll to check - * if no data is present. On SVR4, the M_HANGUP message sits on the - * streams head, and ioctl(N_READ) keeps returning 0 because there is - * no data available. The hangup goes undetected, and the client hangs. - */ - - ret=ioctl(ciptr->fd, I_NREAD, (char *)pend); - - if( ret != 0 ) - return ret; /* Data present or error */ - - - /* Zero data, or POLLHUP message */ - - filedes.fd=ciptr->fd; - filedes.events=POLLIN; - - ret=poll(&filedes, 1, 0); - - if( ret == 0 ) { - *pend=0; - return 0; /* Really, no data */ - } - - if( ret < 0 ) - return -1; /* just pass back the error */ - - if( filedes.revents & (POLLHUP|POLLERR) ) /* check for hangup */ - return -1; - - /* Should only get here if data arrived after the first ioctl() */ - return ioctl(ciptr->fd, I_NREAD, (char *)pend); -} - - -static int -TRANS(TLIRead)(XtransConnInfo ciptr, char *buf, int size) - -{ - PRMSG(2, "TLIRead(%d,%x,%d)\n", ciptr->fd, buf, size ); - - return read(ciptr->fd,buf,size); -} - - -static int -TRANS(TLIWrite)(XtransConnInfo ciptr, char *buf, int size) - -{ - PRMSG(2, "TLIWrite(%d,%x,%d)\n", ciptr->fd, buf, size ); - - return write(ciptr->fd,buf,size); -} - - -static int -TRANS(TLIReadv)(XtransConnInfo ciptr, struct iovec *buf, int size) - -{ - PRMSG(2, "TLIReadv(%d,%x,%d)\n", ciptr->fd, buf, size ); - - return READV(ciptr,buf,size); -} - - -static int -TRANS(TLIWritev)(XtransConnInfo ciptr, struct iovec *buf, int size) - -{ - PRMSG(2, "TLIWritev(%d,%x,%d)\n", ciptr->fd, buf, size ); - - return WRITEV(ciptr,buf,size); -} - - -static int -TRANS(TLIDisconnect)(XtransConnInfo ciptr) - -{ - PRMSG(2, "TLIDisconnect(%x->%d)\n", ciptr, ciptr->fd, 0 ); - - /* - * Restore the TLI modules so that the connection can be properly shutdown. - * This avoids the situation where a connection goes into the TIME_WAIT - * state, and the address remains unavailable for a while. - */ - ioctl(ciptr->fd, I_POP,"tirdwr"); - ioctl(ciptr->fd, I_PUSH,"timod"); - - t_snddis(ciptr->fd,NULL); - - return 0; -} - - -static int -TRANS(TLIClose)(XtransConnInfo ciptr) - -{ - PRMSG(2, "TLIClose(%x->%d)\n", ciptr, ciptr->fd, 0 ); - - t_unbind(ciptr->fd); - - return (t_close(ciptr->fd)); -} - - -static int -TRANS(TLICloseForCloning)(XtransConnInfo ciptr) - -{ - /* - * Don't unbind. - */ - - PRMSG(2, "TLICloseForCloning(%x->%d)\n", ciptr, ciptr->fd, 0 ); - - return (t_close(ciptr->fd)); -} - - -Xtransport TRANS(TLITCPFuncs) = { - /* TLI Interface */ - "tcp", - 0, -#ifdef TRANS_CLIENT - TRANS(TLIOpenCOTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - NULL, - TRANS(TLIOpenCOTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(TLIOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(TLIOpenCLTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_REOPEN - TRANS(TLIReopenCOTSServer), - TRANS(TLIReopenCLTSServer), -#endif - TRANS(TLISetOption), -#ifdef TRANS_SERVER - TRANS(TLIINETCreateListener), - NULL, /* ResetListener */ - TRANS(TLIAccept), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(TLIINETConnect), -#endif /* TRANS_CLIENT */ - TRANS(TLIBytesReadable), - TRANS(TLIRead), - TRANS(TLIWrite), - TRANS(TLIReadv), - TRANS(TLIWritev), - TRANS(TLIDisconnect), - TRANS(TLIClose), - TRANS(TLICloseForCloning), -}; - -#ifdef TRANS_SERVER -static char * inet_aliases[] = { "tcp", NULL }; -#endif -Xtransport TRANS(TLIINETFuncs) = { - /* TLI Interface */ - "inet", - TRANS_ALIAS, -#ifdef TRANS_CLIENT - TRANS(TLIOpenCOTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - inet_aliases, - TRANS(TLIOpenCOTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(TLIOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(TLIOpenCLTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_REOPEN - TRANS(TLIReopenCOTSServer), - TRANS(TLIReopenCLTSServer), -#endif - TRANS(TLISetOption), -#ifdef TRANS_SERVER - TRANS(TLIINETCreateListener), - NULL, /* ResetListener */ - TRANS(TLIAccept), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(TLIINETConnect), -#endif /* TRANS_CLIENT */ - TRANS(TLIBytesReadable), - TRANS(TLIRead), - TRANS(TLIWrite), - TRANS(TLIReadv), - TRANS(TLIWritev), - TRANS(TLIDisconnect), - TRANS(TLIClose), - TRANS(TLICloseForCloning), -}; - -Xtransport TRANS(TLITLIFuncs) = { - /* TLI Interface */ - "tli", - 0, -#ifdef TRANS_CLIENT - TRANS(TLIOpenCOTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - NULL, - TRANS(TLIOpenCOTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(TLIOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(TLIOpenCLTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_REOPEN - TRANS(TLIReopenCOTSServer), - TRANS(TLIReopenCLTSServer), -#endif - TRANS(TLISetOption), -#ifdef TRANS_SERVER - TRANS(TLITLICreateListener), - NULL, /* ResetListener */ - TRANS(TLIAccept), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(TLITLIConnect), -#endif /* TRANS_CLIENT */ - TRANS(TLIBytesReadable), - TRANS(TLIRead), - TRANS(TLIWrite), - TRANS(TLIReadv), - TRANS(TLIWritev), - TRANS(TLIDisconnect), - TRANS(TLIClose), - TRANS(TLICloseForCloning), -}; diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 99af01747..e9a74eadd 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -93,7 +93,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) switch( *familyp ) { -#if defined(TCPCONN) || defined(STREAMSCONN) +#if defined(TCPCONN) case AF_INET: { /* @@ -156,7 +156,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) break; } #endif /* IPv6 */ -#endif /* defined(TCPCONN) || defined(STREAMSCONN) */ +#endif /* defined(TCPCONN) */ #if defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) @@ -242,7 +242,7 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) switch (family) { -#if defined(UNIXCONN) || defined(STREAMSCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) +#if defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) case AF_UNIX: { struct sockaddr_un *saddr = (struct sockaddr_un *) addr; @@ -252,9 +252,9 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) hostnamebuf, saddr->sun_path); break; } -#endif /* defined(UNIXCONN) || defined(STREAMSCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) */ +#endif /* defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) */ -#if defined(TCPCONN) || defined(STREAMSCONN) +#if defined(TCPCONN) case AF_INET: #if defined(IPv6) && defined(AF_INET6) case AF_INET6: @@ -281,7 +281,7 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) sprintf (networkId, "%s/%s:%s", transName, hostnamebuf, portnumbuf); break; } -#endif /* defined(TCPCONN) || defined(STREAMSCONN) */ +#endif /* defined(TCPCONN) */ default: @@ -332,16 +332,16 @@ TRANS(GetPeerNetworkId) (XtransConnInfo ciptr) switch (family) { case AF_UNSPEC: -#if defined(UNIXCONN) || defined(STREAMSCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) +#if defined(UNIXCONN) || 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) */ +#endif /* defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) */ -#if defined(TCPCONN) || defined(STREAMSCONN) +#if defined(TCPCONN) case AF_INET: #if defined(IPv6) && defined(AF_INET6) case AF_INET6: @@ -401,7 +401,7 @@ TRANS(GetPeerNetworkId) (XtransConnInfo ciptr) break; } -#endif /* defined(TCPCONN) || defined(STREAMSCONN) */ +#endif /* defined(TCPCONN) */ default: diff --git a/nx-X11/lib/xtrans/transport.c b/nx-X11/lib/xtrans/transport.c index fe0cff24d..72574e328 100644 --- a/nx-X11/lib/xtrans/transport.c +++ b/nx-X11/lib/xtrans/transport.c @@ -70,8 +70,5 @@ from The Open Group. #if defined(TCPCONN) || defined(UNIXCONN) #include "Xtranssock.c" #endif -#ifdef STREAMSCONN -#include "Xtranstli.c" -#endif #include "Xtrans.c" #include "Xtransutil.c" -- cgit v1.2.3 From 97d651fcf71057ab7b07d2e9d95bfc1131be64f2 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 22:05:26 +0200 Subject: Remove OS2PIPECONN transport --- nx-X11/lib/xtrans/Imakefile | 1 - nx-X11/lib/xtrans/Xtrans.c | 3 - nx-X11/lib/xtrans/Xtransos2.c | 886 ----------------------------------------- nx-X11/lib/xtrans/Xtransutil.c | 12 +- nx-X11/lib/xtrans/transport.c | 3 - 5 files changed, 6 insertions(+), 899 deletions(-) delete mode 100644 nx-X11/lib/xtrans/Xtransos2.c (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Imakefile b/nx-X11/lib/xtrans/Imakefile index 48fccc521..70716bb90 100644 --- a/nx-X11/lib/xtrans/Imakefile +++ b/nx-X11/lib/xtrans/Imakefile @@ -11,7 +11,6 @@ HEADERS = \ Xtrans.c \ Xtransint.h \ Xtranslcl.c \ - Xtransos2.c \ Xtranssock.c \ Xtransutil.c \ transport.c diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index cb9d6067c..4ad7a215a 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -94,9 +94,6 @@ Xtransport_table Xtransports[] = { #endif /* !LOCALCONN */ { &TRANS(SocketUNIXFuncs), TRANS_SOCKET_UNIX_INDEX }, #endif /* UNIXCONN */ -#if defined(OS2PIPECONN) - { &TRANS(OS2LocalFuncs), TRANS_LOCAL_LOCAL_INDEX }, -#endif /* OS2PIPECONN */ #if defined(LOCALCONN) { &TRANS(LocalFuncs), TRANS_LOCAL_LOCAL_INDEX }, #ifndef sun diff --git a/nx-X11/lib/xtrans/Xtransos2.c b/nx-X11/lib/xtrans/Xtransos2.c deleted file mode 100644 index 6d9dcb675..000000000 --- a/nx-X11/lib/xtrans/Xtransos2.c +++ /dev/null @@ -1,886 +0,0 @@ - -/* - * (c) Copyright 1996 by Sebastien Marineau and Holger Veit - * - * - * - * 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 - * HOLGER VEIT 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 Sebastien Marineau or Holger Veit shall not be - * used in advertising or otherwise to promote the sale, use or other dealings - * in this Software without prior written authorization from Holger Veit or Sebastien Marineau. - * - */ - -/* Implementation of the OS/2 local pipe transport layer */ - -#define INCL_DOSNMPIPES -#define INCL_DOSPROCESS -#define INCL_DOSERRORS -#define INCL_DOSFILEMGR -#undef BYTE -#undef BOOL -#include - -#ifdef XSERV_t -extern HEV hPipeSem; -BOOL init_server_pipes(); -#endif - -/************************************************************************* - * Independent Layer - *************************************************************************/ -#ifdef TRANS_CLIENT - -static XtransConnInfo -TRANS(Os2OpenClient)(Xtransport *thistrans, char *protocol, - char *host, char *port) -{ - APIRET rc; - HFILE hfd,hServer; - ULONG action,byteWritten,State; - char pipename[256],clientname[256]; - char server_string[256]; - struct sockaddr *addr_name; - unsigned char pipe_len; - XtransConnInfo ciptr; - static int unique_id=0; - int i,namelen,try; - - PRMSG(2,"Os2OpenClient(%s,%s,%s)\n",protocol,host,port); - - /* test, whether the host is really local, i.e. either - * "os2" or "local" - */ - if (strcmp(protocol,"os2") && strcmp(protocol,"local")) { - PRMSG (1, - "Os2OpenClient: Cannot connect to non-local host %s\n", - host, 0, 0); - return NULL; - } - - /* make the pipename */ - - if (port && *port ) { - if( *port == '/' ) { /* A full pathname */ - (void) sprintf(pipename, "\\PIPE\\X\\%s,", port); - } else { - (void) sprintf(pipename, "%s%s", "\\PIPE\\X\\xf86.", port); - } - } else { - (void) sprintf(pipename, "\\PIPE\\X\\xfree86"); } - - PRMSG(5, "Os2OpenClient: Creating pipe %s\n",pipename, 0,0 ); - - /* make a connection entry */ - if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) { - PRMSG(1,"Os2OpenClient: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); - return NULL; - } - - /* open the pipe. Try ten times before giving up at 500ms intervals*/ - try = 0; - do { - rc = DosOpen(pipename,&hServer, &action, 0, - FILE_NORMAL, FILE_OPEN, - OPEN_ACCESS_WRITEONLY | OPEN_SHARE_DENYWRITE, - (PEAOP2)NULL); - if(rc == 0) break; - if (try >=10) { - PRMSG(1,"Os2OpenClient: Open server pipe %s failed, rc=%d\n", - pipename,rc,0 ); - PRMSG(1,"\tProbable causes: either the XServer is not running, or has not started properly,\n", - 0,0,0 ); - PRMSG(1,"\tor the DISPLAY variable is set incorrectly.\n", - 0,0,0 ); - free(ciptr); - return NULL; - } - try ++; - DosSleep(500); - } while (rc != 0); - -/* OK, now we are talking to the server. Generate a unique pipe name and pass it to - * the server. Make the pipe and wait for server to connect */ - - sprintf(clientname,"\\PIPE\\X\\%d.%d",getpid(),unique_id++); - - rc = DosCreateNPipe (clientname, &hfd, - NP_NOINHERIT | NP_ACCESS_DUPLEX, - 1 | NP_NOWAIT | NP_TYPE_BYTE | NP_READMODE_BYTE, - 16384, 16384, 0); - if (rc != 0){ - PRMSG(1, "Os2OpenClient: Unable to create pipe %s\n", pipename,0,0 ); - DosClose(hfd); - pipe_len=0; - DosWrite(hServer,&pipe_len,1,&byteWritten); - DosClose(hServer); - free(ciptr); - return(NULL); - } - - /* Connect to the pipe. */ - - rc = DosConnectNPipe (hfd); - if (rc != 0 && rc != ERROR_PIPE_NOT_CONNECTED) - { - PRMSG(1, "Os2OpenClient: Unable to connect to pipe %s\n", pipename,0,0 ); - DosClose (hfd); - DosClose(hServer); - free(ciptr); - return (NULL); - } - -/* Now write name to server on hServer */ - server_string[0]=(char) strlen(clientname)+1; - strcpy(&server_string[1],clientname); - rc = DosWrite(hServer,server_string,(ULONG)server_string[0]+1,&byteWritten); - if(rc != 0){ /* Could not write to server pipe? */ - PRMSG(1, "Os2OpenClient: Error writing to server pipe, handle=%d, rc=%d, w=%d\n", - hServer,rc,byteWritten ); - DosClose(hServer); - DosClose(hfd); - free(ciptr); - return(NULL); - } - - PRMSG (5, "Os2OpenCLient: Wrote pipename %s to server; len %d written %d \n", - &server_string[1],server_string[0]+1,byteWritten); - - -/* The server will respond by opening the pipe. Wait for that for 30 secs */ - - i=0; - DosSleep(50); /* Give it time to catch up but minimize race condition*/ - rc = DosConnectNPipe(hfd); - while((rc == ERROR_PIPE_NOT_CONNECTED)&&(i++<60)) { - DosSleep(500); - rc = DosConnectNPipe(hfd); - } - - if(rc != 0){ /* Server has not responded! */ - PRMSG(1, "Os2OpenClient: Timeout on wait for server response, handle=%d, rc=%d\n",hServer,rc,0 ); - PRMSG(1, "\tProbable cause: the XServer has exited or crashed while the connection was being established\n",0,0,0 ); - PRMSG(1, "\tor the XServer is too busy to respond.\n",0,0,0 ); - DosClose(hServer); - DosClose(hfd); - free(ciptr); - return(NULL); - } - -/* OK, the server has connected! Fill-in the info and return */ - - DosClose(hServer); - -/* Last check: make sure client is connected! */ - - rc = DosQueryNPHState(hfd,&State); - if(rc != 0){ /* Client is not connected! */ - PRMSG(1, "Os2OpenClient: Client pipe does not appear connected. rc=%d, h=%d\n",rc,hfd,0 ); - PRMSG(1, "\tProbable cause: the XServer has just exited.\n",0,0,0 ); - DosClose(hfd); - free(ciptr); - return(NULL); - } - - namelen=sizeof(struct sockaddr); - if ((ciptr->addr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2OpenClient: Can't allocate space for the addr\n", - 0, 0, 0); - DosClose(hfd); - free(ciptr); - return(NULL); - } - ciptr->addrlen = namelen; - ((struct sockaddr *)ciptr->addr)->sa_family = AF_UNIX; - strcpy(((struct sockaddr *)ciptr->addr)->sa_data, "local"); - - if ((ciptr->peeraddr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2OpenCLient: Can't allocate space for the addr\n", - 0, 0, 0); - DosClose(hfd); - free(ciptr->addr); - free(ciptr); - return(NULL); - } - ciptr->peeraddrlen = namelen; - ((struct sockaddr *)ciptr->peeraddr)->sa_family = AF_UNIX; - strcpy (((struct sockaddr *)ciptr->peeraddr)->sa_data,"local"); - - PRMSG (5, "Os2OpenCLient: Filled in struct: len %d %d name %s\n", - ciptr->addrlen,ciptr->peeraddrlen,((struct sockaddr *)ciptr->peeraddr)->sa_data); - - - ciptr->index=hfd; - ciptr->family=AF_UNIX; - if((ciptr->fd=_imphandle(hfd))<0){ - PRMSG(1, "Os2OpenClient: Could not import the pipe handle into EMX\n",0,0,0 ); - PRMSG(1, "\tProbable cause: EMX has run out of free file handles.\n",0,0,0 ); - DosClose(hfd); - free(ciptr->addr); - free(ciptr->peeraddr); - free(ciptr); - return(NULL); - } - PRMSG(5, "Os2OpenClient: pipe handle %d EMX handle %d\n",ciptr->index,ciptr->fd,0 ); - fcntl(ciptr->fd,F_SETFL,O_NDELAY); - fcntl(ciptr->fd,F_SETFD,FD_CLOEXEC); - return ciptr; -} -#endif /* TRANS_CLIENT */ - -#ifdef TRANS_SERVER -static XtransConnInfo -TRANS(Os2OpenServer)(Xtransport *thistrans, char *protocol, - char *host, char *port) -{ - APIRET rc; - HFILE hfd; - ULONG action; - char pipename[256]; - struct sockaddr *addr_name; - XtransConnInfo ciptr; - int namelen; - -#ifdef XSERV_t - if (! init_server_pipes()) return(NULL); -#endif - - PRMSG(2,"Os2OpenServer(%s,%s,%s)\n",protocol,host,port); - - if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) - { - PRMSG(1,"Os2OpenServer: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); - return NULL; - } - - - if (port && *port ) { - if( *port == '/' ) { /* A full pathname */ - (void) sprintf(pipename, "\\PIPE\\X\\%s", port); - } else { - (void) sprintf(pipename, "%s%s", "\\PIPE\\X\\xf86.", port); - } - } else { - (void) sprintf(pipename, "\\PIPE\\X\\xfree86"); - } - - PRMSG(5, "Os2OpenServer: Creating pipe %s\n",pipename, 0,0 ); - - rc = DosCreateNPipe (pipename, &hfd, - NP_NOINHERIT | NP_ACCESS_INBOUND, - 1 | NP_NOWAIT | NP_TYPE_BYTE | NP_READMODE_BYTE, - 0, 8192, 0); - if (rc != 0){ - PRMSG(1, "Os2OpenServer: Unable to create pipe %s, rc=%d\n", pipename,rc,0 ); - PRMSG(1, "\tProbable cause: there is already another XServer running on display :%s\n",port,0,0 ); - DosClose(hfd); - free(ciptr); - return(NULL); - } - - /* Connect to the pipe. */ - - rc = DosConnectNPipe (hfd); - if (rc != 0 && rc != ERROR_PIPE_NOT_CONNECTED) - { - PRMSG(1, "Os2OpenServer: Unable to connect to pipe %s\n", pipename,0,0 ); - DosClose (hfd); - free(ciptr); - return (NULL); - } - -/* Pipe is now connected and waiting for client connect */ - -/*** Put in info ***/ - - namelen=sizeof(struct sockaddr); - if ((ciptr->addr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2OpenServer: Can't allocate space for the addr\n", - 0, 0, 0); - DosClose(hfd); - free(ciptr); - return(NULL); - } - ciptr->addrlen = namelen; - ((struct sockaddr *)ciptr->addr)->sa_family = AF_UNIX; - strcpy (((struct sockaddr *)ciptr->addr)->sa_data, "local"); - - if ((ciptr->peeraddr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2OpenServer: Can't allocate space for the addr\n", - 0, 0, 0); - DosClose(hfd); - free(ciptr->addr); - free(ciptr); - return(NULL); - } - - ciptr->peeraddrlen = namelen; - ((struct sockaddr *)ciptr->peeraddr)->sa_family = AF_UNIX; - strcpy(((struct sockaddr *)ciptr->peeraddr)->sa_data,"local"); - - PRMSG (5, "Os2OpenServer: Filled in struct: len %d %d name %s\n", - ciptr->addrlen,ciptr->peeraddrlen,((struct sockaddr *)ciptr->peeraddr)->sa_data); - - ciptr->index=hfd; /* Save this for later use in this unused member of struct */ - ciptr->flags=1; /* Listener */ - ciptr->family=AF_UNIX; - - if((ciptr->fd=_imphandle(hfd))<0){ - DosClose(hfd); - free(ciptr->addr); - free(ciptr->peeraddr); - free(ciptr); - return(NULL); - } - PRMSG(5, "Os2OpenServer: Pipe handle %d EMX handle %d",ciptr->index,ciptr->fd,0 ); - -#ifdef XSERV_t -/* Attach the pipe sem to the pipe. Use handle index as key */ - rc = DosSetNPipeSem(ciptr->fd, (HSEM)hPipeSem, ciptr->fd); - if (rc){ - PRMSG(1, "Os2OpenCOTSServer: Could not attach sem %d to pipe %d, rc=%d\n", - hPipeSem,ciptr->fd,rc); - DosClose(ciptr->fd); - free(ciptr->addr); - free(ciptr->peeraddr); - free(ciptr); - return(NULL); - } -#endif - - fcntl(ciptr->fd,F_SETFL,O_NDELAY); - fcntl(ciptr->fd,F_SETFD,FD_CLOEXEC); - return(ciptr); -} -#endif /* TRANS_SERVER */ - -#ifdef TRANS_CLIENT -static XtransConnInfo -TRANS(Os2OpenCLTSClient)(Xtransport *thistrans, char *protocol, - char *host, char *port) -{ - PRMSG(2,"Os2OpenCLTSClient(%s,%s,%s)\n",protocol,host,port); - return TRANS(Os2OpenClient)(thistrans, protocol, host, port); -} -#endif /* TRANS_CLIENT */ - -#ifdef TRANS_CLIENT -static XtransConnInfo -TRANS(Os2OpenCOTSClient)(Xtransport *thistrans, char *protocol, - char *host, char *port) -{ - PRMSG(2,"Os2OpenCOTSClient(%s,%s,%s)\n",protocol,host,port); - return TRANS(Os2OpenClient)(thistrans, protocol, host, port); -} -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER -static XtransConnInfo -TRANS(Os2OpenCLTSServer)(Xtransport *thistrans, char *protocol, - char *host, char *port) -{ - PRMSG(2,"Os2OpenCLTSServer(%s,%s,%s)\n",protocol,host,port); - return TRANS(Os2OpenServer)(thistrans, protocol, host, port); -} -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_SERVER -static XtransConnInfo -TRANS(Os2OpenCOTSServer)(Xtransport *thistrans, char *protocol, - char *host, char *port) -{ - PRMSG(2,"Os2OpenCOTSServer(%s,%s,%s)\n",protocol,host,port); - return TRANS(Os2OpenServer)(thistrans, protocol, host, port); -} -#endif /* TRANS_SERVER */ - - -#ifdef TRANS_REOPEN -static XtransConnInfo -TRANS(Os2ReopenCOTSServer)(Xtransport *thistrans, int fd, char *port) -{ - - XtransConnInfo ciptr; - char addr_name[256]; - int namelen; - - PRMSG(2,"Os2ReopenCOTSServer(%d,%s)\n", fd, port, 0); - - if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) - { - PRMSG(1,"Os2ReopenCOTSServer: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); - return NULL; - } - - strcpy(addr_name,"local"); - namelen=sizeof(addr_name); - if ((ciptr->addr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2ReopenCOTSServer: Can't allocate space for the addr\n", - 0, 0, 0); - free(ciptr); - return(NULL); - } - - ciptr->addrlen = namelen; - memcpy (ciptr->addr, addr_name, ciptr->addrlen); - if ((ciptr->peeraddr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2ReopenCOTSServer: Can't allocate space for the addr\n", - 0, 0, 0); - free(ciptr); - return(NULL); - } - - ciptr->peeraddrlen = namelen; - memcpy (ciptr->peeraddr,addr_name, ciptr->addrlen); - - ciptr->fd = fd; - ciptr->family=AF_UNIX; - ciptr->flags=1; - PRMSG(1,"Os2ReopenCOTSServer: Filled-in info for handle %d on port %s.\n", fd, port, 0); - - return(ciptr); -} - -static XtransConnInfo -TRANS(Os2ReopenCLTSServer)(Xtransport *thistrans, int fd, char *port) -{ - PRMSG(2,"Os2ReopenCLTSServer(%d,%s)\n", fd, port, 0); - return TRANS(Os2ReopenCOTSServer)(thistrans, fd, port); -} -#endif - -static -TRANS(Os2SetOption)(XtransConnInfo ciptr, int option, int arg) -{ - PRMSG(2,"Os2SetOption(%d,%d,%d)\n",ciptr->fd,option,arg); - return -1; -} - -#ifdef TRANS_SERVER - -static -TRANS(Os2CreateListener)(XtransConnInfo ciptr, char *port, unsigned int flags) -{ - PRMSG(2,"Os2CreateListener(%x->%d,%s)\n",ciptr,ciptr->fd,port); - return 0; -} - -static XtransConnInfo -TRANS(Os2Accept)(XtransConnInfo ciptr, int *status) -{ - XtransConnInfo newciptr; - HFILE hClient; - unsigned char length; - ULONG action; - char clientname[256]; - struct sockaddr *addr_name; - int in,namelen; - APIRET rc; - - - PRMSG(2,"Os2Accept(%x->%d)\n", ciptr, ciptr->fd,0); - if( (newciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo)))==NULL ) - { - PRMSG(1,"Os2Accept: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); - *status = TRANS_ACCEPT_BAD_MALLOC; - return NULL; - } - -/* Read in length of client pipe name. If fails, then reset server pipe */ - if((in=read(ciptr->fd,&length,1))<=0){ - PRMSG(2,"Os2Accept: Error reading incoming connection, in=%d, error=%d\n", - in,errno,0 ); - *status = TRANS_ACCEPT_MISC_ERROR; - free(newciptr); - rc = DosDisConnectNPipe(ciptr->fd); - rc = DosConnectNPipe (ciptr->fd); - if (rc != 0 && rc != ERROR_PIPE_NOT_CONNECTED) - { - PRMSG(1, "Os2Accept: Unable to reconnect server pipe %d\n", ciptr->fd,0,0 ); - } - return NULL; - } - PRMSG(5, "Os2Accept: Bytes to read for name: %d\n",length,0,0 ); - - -/* Check length for valid length ?? */ - -/* Now read in length bytes from pipe for client pipe name */ - if((in=read(ciptr->fd,clientname,length))<=0){ - PRMSG(2,"Os2Accept: Error reading incoming connection, in=%d, error=%d\n", - in,errno,0 ); - *status = TRANS_ACCEPT_MISC_ERROR; - free(newciptr); - rc = DosDisConnectNPipe(ciptr->fd); - rc = DosConnectNPipe (ciptr->fd); - if (rc != 0 && rc != ERROR_PIPE_NOT_CONNECTED) - { - PRMSG(1, "Os2Accept: Unable to reconnect server pipe %d\n", ciptr->fd,0,0 ); - } - return NULL; - } - clientname[length]='\0'; - PRMSG(5, "Os2Accept: Server name %s length %d\n",clientname,length,0 ); - - -/* Now we have the client pipe name. Open it with DosOpen */ - - rc = DosOpen(clientname,&hClient, &action, 0, - FILE_NORMAL, FILE_OPEN, - OPEN_FLAGS_NOINHERIT | OPEN_ACCESS_READWRITE | OPEN_SHARE_DENYREADWRITE, - (PEAOP2)NULL); - - PRMSG(5, "Os2Accept: Open pipe %s, handle = %d, rc=%d\n",clientname,hClient,rc ); - - if (rc) { - PRMSG(1,"Os2Accept: Open pipe %s to client failed, rc=%d\n", - clientname,rc,0 ); - PRMSG(1, "\tProbable cause: the client has exited or timed-out.\n",0,0,0 ); - free(newciptr); - rc = DosDisConnectNPipe(ciptr->fd); - rc = DosConnectNPipe (ciptr->fd); - if (rc != 0 && rc != ERROR_PIPE_NOT_CONNECTED) - { - PRMSG(1, "Os2Accept: Unable to reconnect server pipe %d\n", ciptr->fd,0,0 ); - } - return NULL; - } - - rc = DosSetNPHState (hClient, NP_NOWAIT | NP_READMODE_BYTE); - if (rc != 0) - { - PRMSG(1,"Os2Accept: Could not set pipe %s to non-blocking mode, rc=%d\n", - hClient,rc,0 ); - free(newciptr); - rc = DosDisConnectNPipe(ciptr->fd); - rc = DosConnectNPipe (ciptr->fd); - if (rc != 0 && rc != ERROR_PIPE_NOT_CONNECTED) - { - PRMSG(1, "Os2Accept: Unable to reconnect server pipe %d\n", ciptr->fd,0,0 ); - } - return NULL; - } - -/* OK, we seem to be well connected to client. Now disconnect server pipe and put again in listen */ - - rc = DosDisConnectNPipe(ciptr->fd); - rc = DosConnectNPipe (ciptr->fd); - PRMSG(5, "Os2Accept: Reconnecting server pipe %d, rc = %d\n",ciptr->fd,rc,0 ); - - if (rc != 0 && rc != ERROR_PIPE_NOT_CONNECTED) - { - PRMSG(1, "Os2Accept: Unable to reconnect server pipe %d\n", ciptr->fd,0,0 ); - } /* Consider this non-fatal for present connection */ - -/* And finally fill-in info in newciptr */ - - namelen=sizeof(struct sockaddr); - if ((newciptr->addr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2Accept: Can't allocate space for the addr\n", - 0, 0, 0); - DosClose(hClient); - free(newciptr); - return(NULL); - } - - newciptr->addrlen = namelen; - ((struct sockaddr *)newciptr->addr)->sa_family = AF_UNIX; - strcpy (((struct sockaddr *)newciptr->addr)->sa_data, "local"); - - if ((newciptr->peeraddr = (char *) malloc (namelen)) == NULL) - { - PRMSG (1, "Os2Accept: Can't allocate space for the addr\n", - 0, 0, 0); - DosClose(hClient); - free(ciptr->addr); - free(newciptr); - return(NULL); - } - - newciptr->peeraddrlen = namelen; - ((struct sockaddr *)newciptr->peeraddr)->sa_family = AF_UNIX; - strcpy (((struct sockaddr *)newciptr->peeraddr)->sa_data, "local"); - - PRMSG (5, "Os2Accept: Filled in struct: len %d %d name %s\n", - newciptr->addrlen,newciptr->peeraddrlen,newciptr->peeraddr); - - - newciptr->index=hClient; - newciptr->family=AF_UNIX; - if((newciptr->fd=_imphandle(hClient))<0){ - PRMSG(1,"Os2Accept: Could not import pipe %d into EMX, errno=%d\n", - hClient,errno,0 ); - PRMSG(1, "\tProbable cause: EMX has run out of file handles.\n",0,0,0 ); - DosClose(hClient); - free(newciptr->addr); - free(newciptr->peeraddr); - free(newciptr); - return(NULL); - } - PRMSG(5, "Os2Accept: Pipe handle %d EMX handle %d",newciptr->index,newciptr->fd,0 ); - -#ifdef XSERV_t -/* Attach the pipe sem to the pipe. Use handle index as key */ - rc = DosSetNPipeSem(newciptr->fd, (HSEM)hPipeSem, newciptr->fd); - if (rc){ - PRMSG(1, "Os2OpenCOTSServer: Could not attach sem %d to pipe %d, rc=%d\n", - hPipeSem,newciptr->fd,rc); - DosClose(newciptr->fd); - free(newciptr->addr); - free(newciptr->peeraddr); - free(newciptr); - return(NULL); - } -#endif - - fcntl(ciptr->fd,F_SETFL,O_NDELAY); - fcntl(ciptr->fd,F_SETFD,FD_CLOEXEC); - *status=0; - return newciptr; -} - -#endif /* TRANS_SERVER */ - -#ifdef TRANS_CLIENT - -static -TRANS(Os2Connect)(XtransConnInfo ciptr, char *host, char *port) -{ - PRMSG(2,"Os2Connect(%x->%d,%s)\n", ciptr, ciptr->fd, port); - return 0; -} - -#endif /* TRANS_CLIENT */ - -static int -TRANS(Os2BytesReadable)(XtransConnInfo ciptr, BytesReadable_t *pend ) -{ - ULONG rc, state, nread; - AVAILDATA avail; - char buffer; - - PRMSG(2,"Os2BytesReadable(%x->%d,%x)\n", ciptr, ciptr->fd, pend); - - rc = DosPeekNPipe (ciptr->fd, &buffer, 0, &nread, &avail, &state); - if (rc != 0) - { - errno = EPIPE; - *pend = 0; - return -1; - } - if (state == NP_STATE_CLOSING) - { - errno = EPIPE; - *pend = 0; - return -1; - } - errno = 0; - *pend = avail.cbpipe; - return 0; -} - -static int -TRANS(Os2Read)(XtransConnInfo ciptr, char *buf, int size) -{ - int ret; - APIRET rc; - ULONG ulRead; - PRMSG(2,"Os2Read(%d,%x,%d)\n", ciptr->fd, buf, size ); - errno = 0; - rc = DosRead(ciptr->fd, buf, size, &ulRead); - if (rc == 0){ - ret = ulRead; - } - else if ((rc == 232) || (rc == 231)){ - errno = EAGAIN; - ret = -1; - } - else if (rc == 6){ - errno = EBADF; - ret = -1; - } - else if ((rc == 109) || (rc == 230) || (rc == 233)){ - errno = EPIPE; - ret = -1; - } - else { - PRMSG(2,"Os2Read: Unknown return code from DosRead, fd %d rc=%d\n", ciptr->fd,rc,0 ); - errno = EINVAL; - ret = -1; - } - return (ret); -} - -static int -TRANS(Os2Write)(XtransConnInfo ciptr, char *buf, int size) -{ - int ret; - APIRET rc; - ULONG nWritten; - PRMSG(2,"Os2Write(%d,%x,%d)\n", ciptr->fd, buf, size ); - rc = DosWrite(ciptr->fd, buf, size, &nWritten); - if (rc == 0){ - ret = nWritten; - if(nWritten == 0) { - errno=EAGAIN; - ret = -1; - } - } - else if ((rc == 39) || (rc == 112)){ - errno = EAGAIN; - ret = -1; - } - else if ((rc == 109) || (rc == 230) || (rc == 233)){ - errno = EPIPE; - ret = -1; - } - else if (rc == 6){ - errno=EBADF; - ret = -1; - } - else { - PRMSG(2,"(Os2Write)Unknown return code from DosWrite, fd %d rc=%d\n", ciptr->fd,rc,0 ); - errno = EINVAL; - ret = -1; - } - return (ret); -} - -static int -TRANS(Os2Readv)(XtransConnInfo ciptr, struct iovec *buf, int size) -{ - int ret; - PRMSG(2,"Os2Readv(%d,%x,%d)\n", ciptr->fd, buf, size ); - ret = READV(ciptr,buf,size); - if ((ret <0) && (errno == EINVAL)) errno = EPIPE; - return (ret); -} - -static int -TRANS(Os2Writev)(XtransConnInfo ciptr, struct iovec *buf, int size) -{ - int ret; - PRMSG(2,"Os2Writev(%d,%x,%d)\n", ciptr->fd, buf, size ); - ret = WRITEV(ciptr,buf,size); - if ((ret <0) && (errno == EINVAL)) errno = EPIPE; - if ((ret <0) && (errno == ENOSPC)) errno = EAGAIN; - return (ret); -} - -static int -TRANS(Os2Disconnect)(XtransConnInfo ciptr) -{ - PRMSG(2,"Os2Disconnect(%x->%d)\n", ciptr, ciptr->fd, 0); - return 0; -} - -static int -TRANS(Os2Close)(XtransConnInfo ciptr) -{ - int ret; - PRMSG(2,"Os2Close(%x->%d)\n", ciptr, ciptr->fd ,0); - ret=close(ciptr->fd); - return ret; -} - -static int -TRANS(Os2CloseForCloning)(XtransConnInfo ciptr) -{ - int ret; - - PRMSG(2,"Os2CloseForCloning(%x->%d)\n", ciptr, ciptr->fd ,0); - ret=close(ciptr->fd); - return ret; -} - - -Xtransport TRANS(OS2LocalFuncs) = { - /* Local Interface */ - "local", - TRANS_LOCAL, -#ifdef TRANS_CLIENT - TRANS(Os2OpenCOTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - NULL, - TRANS(Os2OpenCOTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(Os2OpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(Os2OpenCLTSServer), -#endif /* TRANS_SERVER */ -#ifdef TRANS_REOPEN - TRANS(Os2ReopenCOTSServer), - TRANS(Os2ReopenCLTSServer), -#endif - TRANS(Os2SetOption), -#ifdef TRANS_SERVER - TRANS(Os2CreateListener), - NULL, /* ResetListener */ - TRANS(Os2Accept), -#endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(Os2Connect), -#endif /* TRANS_CLIENT */ - TRANS(Os2BytesReadable), - TRANS(Os2Read), - TRANS(Os2Write), - TRANS(Os2Readv), - TRANS(Os2Writev), - TRANS(Os2Disconnect), - TRANS(Os2Close), - TRANS(Os2CloseForCloning), -}; - -#ifdef XSERV_t -/* This function is used in the server to initialize the semaphore used with pipes */ - -BOOL init_server_pipes() -{ - static BOOL first_time=TRUE; - ULONG rc; - - if(first_time){ - rc = DosCreateEventSem(NULL, &hPipeSem,DC_SEM_SHARED,FALSE); - if (rc){ - PRMSG(1,"Os2OpenListener (init_server_pipes): Could not create pipe semaphore, rc=%d\n", - rc,0,0); - return(FALSE); - } - first_time=FALSE; - } -return(TRUE); -} -#endif /* XSERV_t */ diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index e9a74eadd..8c7b46cc2 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -159,13 +159,13 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) #endif /* defined(TCPCONN) */ -#if defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) +#if defined(UNIXCONN) || defined(LOCALCONN) case AF_UNIX: { *familyp=FamilyLocal; break; } -#endif /* defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN)*/ +#endif /* defined(UNIXCONN) || defined(LOCALCONN)*/ #if (defined(__SCO__) || defined(__UNIXWARE__)) && defined(LOCALCONN) case 0: @@ -242,7 +242,7 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) switch (family) { -#if defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) +#if defined(UNIXCONN) || defined(LOCALCONN) case AF_UNIX: { struct sockaddr_un *saddr = (struct sockaddr_un *) addr; @@ -252,7 +252,7 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) hostnamebuf, saddr->sun_path); break; } -#endif /* defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) */ +#endif /* defined(UNIXCONN) || defined(LOCALCONN) */ #if defined(TCPCONN) case AF_INET: @@ -332,14 +332,14 @@ TRANS(GetPeerNetworkId) (XtransConnInfo ciptr) switch (family) { case AF_UNSPEC: -#if defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) +#if defined(UNIXCONN) || defined(LOCALCONN) case AF_UNIX: { if (gethostname (addrbuf, sizeof (addrbuf)) == 0) addr = addrbuf; break; } -#endif /* defined(UNIXCONN) || defined(LOCALCONN) || defined(OS2PIPECONN) */ +#endif /* defined(UNIXCONN) || defined(LOCALCONN) */ #if defined(TCPCONN) case AF_INET: diff --git a/nx-X11/lib/xtrans/transport.c b/nx-X11/lib/xtrans/transport.c index 72574e328..592cdfcf3 100644 --- a/nx-X11/lib/xtrans/transport.c +++ b/nx-X11/lib/xtrans/transport.c @@ -64,9 +64,6 @@ from The Open Group. #ifdef LOCALCONN #include "Xtranslcl.c" #endif -#ifdef OS2PIPECONN -#include "Xtransos2.c" -#endif #if defined(TCPCONN) || defined(UNIXCONN) #include "Xtranssock.c" #endif -- cgit v1.2.3 From 175a3416ef118a351d2dc97300df73afe94cfb9c Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 22:24:09 +0200 Subject: undef __UNIXOS2__ --- nx-X11/lib/xtrans/Xtrans.c | 4 ---- nx-X11/lib/xtrans/Xtransint.h | 11 ----------- nx-X11/lib/xtrans/Xtranssock.c | 31 ------------------------------- nx-X11/lib/xtrans/transport.c | 3 --- 4 files changed, 49 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 4ad7a215a..aa0495b1a 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -703,11 +703,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) arg = 1; /* IBM TCP/IP understands this option too well: it causes TRANS(Read) to fail * eventually with EWOULDBLOCK */ -#ifndef __UNIXOS2__ ret = ioctl (fd, FIONBIO, &arg); -#else -/* ret = ioctl(fd, FIONBIO, &arg, sizeof(int));*/ -#endif } #else ret = fcntl (fd, F_GETFL, 0); diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 196eb6fc6..1458036ff 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -71,11 +71,7 @@ from The Open Group. */ #ifndef XTRANSDEBUG -# ifndef __UNIXOS2__ # define XTRANSDEBUG 1 -# else -# define XTRANSDEBUG 1 -# endif #endif #ifdef WIN32 @@ -98,9 +94,6 @@ from The Open Group. # endif # include # include -# ifdef __UNIXOS2__ -# include -# endif /* * Moved the setting of NEED_UTSNAME to this header file from Xtrans.c, @@ -167,11 +160,7 @@ from The Open Group. # endif /* TRANS_OPEN_MAX */ -# ifdef __UNIXOS2__ -# define ESET(val) -# else # define ESET(val) errno = val -# endif # define EGET() errno #else /* WIN32 */ diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index 06c7719bf..f287f6c40 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -169,35 +169,8 @@ from the copyright holders. #undef SO_DONTLINGER #endif -#if defined(__UNIXOS2__) -#if defined(NOT_EMX09A) -static int IBMsockInit = 0; -#define SocketInitOnce()\ - if (!IBMsockInit) {\ - sock_init();\ - IBMsockInit = 1;\ - } - - -#undef EINTR -#define EINTR SOCEINTR -#undef EINVAL -#define EINVAL SOCEINVAL -#undef errno -#define errno sock_errno() -#undef close -#define close soclose -#undef ioctl -#define ioctl sockioctl -#else -#define SocketInitOnce() /**/ -#endif -/* this is still not there */ -#define SOCKET int -#else /* others don't need this */ #define SocketInitOnce() /**/ -#endif #if defined(linux) #define HAVE_ABSTRACT_SOCKETS @@ -2928,12 +2901,8 @@ TRANS(SocketBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend) #else #if (defined(i386) && defined(SYSV) && !defined(SCO325)) || (defined(_SEQUENT_) && _SOCKET_VERSION == 1) return ioctl (ciptr->fd, I_NREAD, (char *) pend); -#else -#if defined(__UNIXOS2__) - return ioctl (ciptr->fd, FIONREAD, (char*) pend, sizeof(int)); #else return ioctl (ciptr->fd, FIONREAD, (char *) pend); -#endif /* __UNIXOS2__ */ #endif /* i386 && SYSV || _SEQUENT_ && _SOCKET_VERSION == 1 */ #endif /* WIN32 */ } diff --git a/nx-X11/lib/xtrans/transport.c b/nx-X11/lib/xtrans/transport.c index 592cdfcf3..227549917 100644 --- a/nx-X11/lib/xtrans/transport.c +++ b/nx-X11/lib/xtrans/transport.c @@ -49,9 +49,6 @@ from The Open Group. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifdef __UNIXOS2__ -#define I_NEED_OS2_H -#endif #ifdef XSERV_t #include "os.h" -- cgit v1.2.3 From eb4ee6c32c5a6b484830fbd1c3c39a36031330e5 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 22:44:21 +0200 Subject: undef hpux --- nx-X11/lib/xtrans/Xtrans.c | 4 +- nx-X11/lib/xtrans/Xtransint.h | 2 +- nx-X11/lib/xtrans/Xtranssock.c | 89 +----------------------------------------- 3 files changed, 4 insertions(+), 91 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index aa0495b1a..ce413e55a 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -681,7 +681,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) break; case 1: /* Set to non-blocking mode */ -#if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux) && !defined(AIXV3) && !defined(uniosu) && !defined(__UNIXOS2__) && !defined(SCO325)) && !defined(__QNX__) +#if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(uniosu) && !defined(__UNIXOS2__) && !defined(SCO325)) && !defined(__QNX__) ret = fcntl (fd, F_GETFL, 0); if (ret != -1) ret = fcntl (fd, F_SETFL, ret | O_NONBLOCK); @@ -1295,7 +1295,7 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) #endif /* SYSV && i386 || WIN32 || __sxg__ */ -#if (defined(_POSIX_SOURCE) && !defined(AIXV3) && !defined(__QNX__)) || defined(hpux) || defined(USG) || defined(SVR4) || defined(__SCO__) +#if (defined(_POSIX_SOURCE) && !defined(AIXV3) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) #ifndef NEED_UTSNAME #define NEED_UTSNAME #endif diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 1458036ff..747252a22 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -100,7 +100,7 @@ from The Open Group. * to avoid a race condition. JKJ (6/5/97) */ -# if (defined(_POSIX_SOURCE) && !defined(AIXV3) && !defined(__QNX__)) || defined(hpux) || defined(USG) || defined(SVR4) || defined(__SCO__) +# if (defined(_POSIX_SOURCE) && !defined(AIXV3) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) # ifndef NEED_UTSNAME # define NEED_UTSNAME # endif diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index f287f6c40..748340c0f 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -117,7 +117,7 @@ from the copyright holders. #include #endif -#if defined(hpux) || (defined(MOTOROLA) && defined(SYSV)) +#if defined(MOTOROLA) && defined(SYSV) #define NO_TCP_H #endif @@ -228,36 +228,6 @@ static int TRANS(SocketINETClose) (XtransConnInfo ciptr); #ifdef UNIXCONN -#ifdef hpux - -#if defined(X11_t) -#define UNIX_PATH "/usr/spool/sockets/X11/" -#define UNIX_DIR "/usr/spool/sockets/X11" -#define OLD_UNIX_PATH "/tmp/.X11-unix/X" -#endif /* X11_t */ -#if defined(XIM_t) -#define UNIX_PATH "/usr/spool/sockets/XIM/" -#define UNIX_DIR "/usr/spool/sockets/XIM" -#define OLD_UNIX_PATH "/tmp/.XIM-unix/XIM" -#endif /* XIM_t */ -#if defined(FS_t) || defined(FONT_t) -#define UNIX_PATH "/usr/spool/sockets/fontserv/" -#define UNIX_DIR "/usr/spool/sockets/fontserv" -#endif /* FS_t || FONT_t */ -#if defined(ICE_t) -#define UNIX_PATH "/usr/spool/sockets/ICE/" -#define UNIX_DIR "/usr/spool/sockets/ICE" -#endif /* ICE_t */ -#if defined(TEST_t) -#define UNIX_PATH "/usr/spool/sockets/xtrans_test/" -#define UNIX_DIR "/usr/spool/sockets/xtrans_test" -#endif -#if defined(LBXPROXY_t) -#define UNIX_PATH "/usr/spool/sockets/X11/" -#define UNIX_DIR "/usr/spool/sockets/X11" -#endif - -#else /* !hpux */ #if defined(X11_t) #define UNIX_PATH "/tmp/.X11-unix/X" @@ -284,7 +254,6 @@ static int TRANS(SocketINETClose) (XtransConnInfo ciptr); #define UNIX_DIR "/tmp/.X11-unix" #endif -#endif /* hpux */ #endif /* UNIXCONN */ @@ -481,30 +450,6 @@ _NXGetUnixPathError: return _NXUnixPath; } -#ifdef hpux - -static char *_NXGetOldUnixPath(char *path) -{ - PRMSG (3, "_NXGetOldUnixPath(%s)\n", path, 0, 0); - - if (strcmp(path, OLD_UNIX_PATH) == 0) - { -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetOldUnixPath: Returning X11 Unix path [%s].\n", - _NXGetUnixPath(path)); -#endif - - return _NXGetUnixPath(path); - } - -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetOldUnixPath: Returning other old X11 Unix path [%s].\n", path); -#endif - - return path; -} - -#endif /* #ifdef hpux */ /* * Forcibly close any connection attempt on the @@ -2635,10 +2580,6 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) abstract = ciptr->transptr->flags & TRANS_ABSTRACT; #endif -#if defined(hpux) && defined(X11_t) - struct sockaddr_un old_sockname; - int old_namelen; -#endif PRMSG (2,"SocketUNIXConnect(%d,%s,%s)\n", ciptr->fd, host, port); @@ -2699,22 +2640,6 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) #endif -#if defined(hpux) && defined(X11_t) - /* - * This is gross, but it was in Xlib - */ - old_sockname.sun_family = AF_UNIX; -#ifdef NX_TRANS_SOCKET - if (set_sun_path(port, _NXGetOldUnixPath(OLD_UNIX_PATH), old_sockname.sun_path) != 0) { -#else - if (set_sun_path(port, OLD_UNIX_PATH, old_sockname.sun_path) != 0) { -#endif - PRMSG (1, "SocketUNIXConnect: path too long\n", 0, 0, 0); - return TRANS_CONNECT_FAILED; - } - old_namelen = strlen (old_sockname.sun_path) + - sizeof (old_sockname.sun_family); -#endif #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -2747,18 +2672,6 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) int olderrno = errno; int connected = 0; -#if defined(hpux) && defined(X11_t) - if (olderrno == ENOENT) - { - if (connect (ciptr->fd, - (struct sockaddr *) &old_sockname, old_namelen) >= 0) - { - connected = 1; - } - else - olderrno = errno; - } -#endif if (!connected) { errno = olderrno; -- cgit v1.2.3 From 89cea600a076608bbcb59cc207ca4ab60ca9f0ee Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 22:47:36 +0200 Subject: undef AIXV3 --- nx-X11/lib/xtrans/Xtrans.c | 6 +++--- nx-X11/lib/xtrans/Xtransint.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index ce413e55a..71515d9f1 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -693,7 +693,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) ret = ioctl (fd, FIOSNBIO, &arg); } #else -#if (defined(AIXV3) || defined(uniosu) || defined(WIN32) || defined(__UNIXOS2__) || defined(__QNX__)) && defined(FIONBIO) +#if (defined(uniosu) || defined(WIN32) || defined(__UNIXOS2__) || defined(__QNX__)) && defined(FIONBIO) { #ifdef WIN32 u_long arg; @@ -712,7 +712,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) #else ret = fcntl (fd, F_SETFL, ret | O_NDELAY); #endif -#endif /* AIXV3 || uniosu */ +#endif /* uniosu */ #endif /* FIOSNBIO */ #endif /* O_NONBLOCK */ break; @@ -1295,7 +1295,7 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) #endif /* SYSV && i386 || WIN32 || __sxg__ */ -#if (defined(_POSIX_SOURCE) && !defined(AIXV3) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) +#if (defined(_POSIX_SOURCE) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) #ifndef NEED_UTSNAME #define NEED_UTSNAME #endif diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 747252a22..ef4483313 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -100,7 +100,7 @@ from The Open Group. * to avoid a race condition. JKJ (6/5/97) */ -# if (defined(_POSIX_SOURCE) && !defined(AIXV3) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) +# if (defined(_POSIX_SOURCE) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) # ifndef NEED_UTSNAME # define NEED_UTSNAME # endif -- cgit v1.2.3 From 4ab02b27c2a8ba0e913e0a3319360c3feacb59e3 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 22:27:34 +0200 Subject: undef Lynx --- nx-X11/lib/xtrans/Xtrans.h | 8 -------- nx-X11/lib/xtrans/Xtransint.h | 4 ---- nx-X11/lib/xtrans/Xtranslcl.c | 6 +++--- nx-X11/lib/xtrans/Xtranssock.c | 8 ++------ 4 files changed, 5 insertions(+), 21 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.h b/nx-X11/lib/xtrans/Xtrans.h index e68657ef5..25979673a 100644 --- a/nx-X11/lib/xtrans/Xtrans.h +++ b/nx-X11/lib/xtrans/Xtrans.h @@ -56,11 +56,7 @@ from The Open Group. #include #ifndef WIN32 -#ifndef Lynx #include -#else -#include -#endif #endif @@ -210,11 +206,7 @@ struct iovec { }; #else -#ifndef Lynx #include -#else -#include -#endif #endif typedef struct _XtransConnInfo *XtransConnInfo; diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index ef4483313..d4e736d49 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -87,11 +87,7 @@ from The Open Group. #include #ifndef WIN32 -# ifndef Lynx # include -# else -# include -# endif # include # include diff --git a/nx-X11/lib/xtrans/Xtranslcl.c b/nx-X11/lib/xtrans/Xtranslcl.c index f504338aa..71f19a19f 100644 --- a/nx-X11/lib/xtrans/Xtranslcl.c +++ b/nx-X11/lib/xtrans/Xtranslcl.c @@ -155,7 +155,7 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) return 0; } strcpy (sunaddr->sun_path, sun_path); -#if defined(BSD44SOCKETS) && !defined(Lynx) +#if defined(BSD44SOCKETS) sunaddr->sun_len = strlen (sunaddr->sun_path); #endif @@ -182,7 +182,7 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) return 0; } strcpy (p_sunaddr->sun_path, peer_sun_path); -#if defined(BSD44SOCKETS) && !defined(Lynx) +#if defined(BSD44SOCKETS) p_sunaddr->sun_len = strlen (p_sunaddr->sun_path); #endif @@ -616,7 +616,7 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) sunaddr->sun_family=AF_UNIX; strcpy(sunaddr->sun_path,buf); -#if defined(BSD44SOCKETS) && !defined(Lynx) +#if defined(BSD44SOCKETS) sunaddr->sun_len=strlen(sunaddr->sun_path); #endif diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index 748340c0f..3e4896fce 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -108,11 +108,7 @@ from the copyright holders. #ifdef UNIXCONN #ifndef X_NO_SYS_UN -#ifndef Lynx #include -#else -#include -#endif #endif #include #endif @@ -1720,7 +1716,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, #endif } -#if (defined(BSD44SOCKETS) || defined(__UNIXWARE__)) && !defined(Lynx) +#if (defined(BSD44SOCKETS) || defined(__UNIXWARE__)) sockname.sun_len = strlen(sockname.sun_path); namelen = SUN_LEN(&sockname); #else @@ -2632,7 +2628,7 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) return TRANS_CONNECT_FAILED; } -#if (defined(BSD44SOCKETS) || defined(__UNIXWARE__)) && !defined(Lynx) +#if (defined(BSD44SOCKETS) || defined(__UNIXWARE__)) sockname.sun_len = strlen (sockname.sun_path); namelen = SUN_LEN (&sockname); #else -- cgit v1.2.3 From 0ca6e59996078472a3e3464e97232ce650893a29 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 12 Oct 2016 22:28:41 +0200 Subject: undef __QNX__ --- nx-X11/lib/xtrans/Xtrans.c | 6 +++--- nx-X11/lib/xtrans/Xtransint.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 71515d9f1..383929497 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -681,7 +681,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) break; case 1: /* Set to non-blocking mode */ -#if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(uniosu) && !defined(__UNIXOS2__) && !defined(SCO325)) && !defined(__QNX__) +#if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(uniosu) && !defined(__UNIXOS2__) && !defined(SCO325)) ret = fcntl (fd, F_GETFL, 0); if (ret != -1) ret = fcntl (fd, F_SETFL, ret | O_NONBLOCK); @@ -693,7 +693,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) ret = ioctl (fd, FIOSNBIO, &arg); } #else -#if (defined(uniosu) || defined(WIN32) || defined(__UNIXOS2__) || defined(__QNX__)) && defined(FIONBIO) +#if (defined(uniosu) || defined(WIN32) || defined(__UNIXOS2__)) && defined(FIONBIO) { #ifdef WIN32 u_long arg; @@ -1295,7 +1295,7 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) #endif /* SYSV && i386 || WIN32 || __sxg__ */ -#if (defined(_POSIX_SOURCE) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) +#if defined(_POSIX_SOURCE) || defined(USG) || defined(SVR4) || defined(__SCO__) #ifndef NEED_UTSNAME #define NEED_UTSNAME #endif diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index d4e736d49..203e5fabe 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -96,7 +96,7 @@ from The Open Group. * to avoid a race condition. JKJ (6/5/97) */ -# if (defined(_POSIX_SOURCE) && !defined(__QNX__)) || defined(USG) || defined(SVR4) || defined(__SCO__) +# if defined(_POSIX_SOURCE) || defined(USG) || defined(SVR4) || defined(__SCO__) # ifndef NEED_UTSNAME # define NEED_UTSNAME # endif @@ -133,7 +133,7 @@ from The Open Group. # ifdef NOFILE # define OPEN_MAX NOFILE # else -# if !defined(__UNIXOS2__) && !defined(__QNX__) +# if !defined(__UNIXOS2__) # define OPEN_MAX NOFILES_MAX # else # define OPEN_MAX 256 -- cgit v1.2.3 From e5b4532ab8576dd0927e3f549a1546fb3b37d8e1 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 7 Aug 2008 10:32:11 -0400 Subject: Drastically simplify TRANS_OPEN_MAX. If your OS doesn't have sysconf(3), then life is already hard for you. Backported-to-NX-by: Ulrich Sibiller --- nx-X11/lib/xtrans/Xtransint.h | 53 ------------------------------------------ nx-X11/lib/xtrans/Xtranssock.c | 4 +++- 2 files changed, 3 insertions(+), 54 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 203e5fabe..19cd86062 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -103,59 +103,6 @@ from The Open Group. # include # endif -/* - * makedepend screws up on #undef OPEN_MAX, so we define a new symbol - */ - -# ifndef TRANS_OPEN_MAX - -# ifndef X_NOT_POSIX -# ifdef _POSIX_SOURCE -# include -# else -# define _POSIX_SOURCE -# include -# undef _POSIX_SOURCE -# endif -# endif -# ifndef OPEN_MAX -# if defined(_SC_OPEN_MAX) && !defined(__UNIXOS2__) -# define OPEN_MAX (sysconf(_SC_OPEN_MAX)) -# else -# ifdef SVR4 -# define OPEN_MAX 256 -# else -# include -# ifndef OPEN_MAX -# ifdef __OSF1__ -# define OPEN_MAX 256 -# else -# ifdef NOFILE -# define OPEN_MAX NOFILE -# else -# if !defined(__UNIXOS2__) -# define OPEN_MAX NOFILES_MAX -# else -# define OPEN_MAX 256 -# endif -# endif -# endif -# endif -# endif -# endif -# endif -# if defined(_SC_OPEN_MAX) -# define TRANS_OPEN_MAX OPEN_MAX -# else /* !__GNU__ */ -# if OPEN_MAX > 256 -# define TRANS_OPEN_MAX 256 -# else -# define TRANS_OPEN_MAX OPEN_MAX -# endif -# endif /*__GNU__*/ - -# endif /* TRANS_OPEN_MAX */ - # define ESET(val) errno = val # define EGET() errno diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index 3e4896fce..cdc421a1e 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -141,6 +141,8 @@ from the copyright holders. #include #endif +#include + #else /* !WIN32 */ #include @@ -993,7 +995,7 @@ TRANS(SocketOpen) (int i, int type) Sockettrans2devtab[i].protocol)) < 0 #ifndef WIN32 #if (defined(X11_t) && !defined(USE_POLL)) || defined(FS_t) || defined(FONT_t) - || ciptr->fd >= TRANS_OPEN_MAX + || ciptr->fd >= sysconf(_SC_OPEN_MAX) #endif #endif ) { -- cgit v1.2.3 From 64d51869fcc6ae4dd4c8d3e1d924fa2e4ccc75af Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 13 Oct 2016 00:16:30 +0200 Subject: whitespace cleanup empty lines and trailing whitespace --- nx-X11/lib/xtrans/Xtrans.c | 34 ++++++------ nx-X11/lib/xtrans/Xtrans.h | 2 +- nx-X11/lib/xtrans/Xtransint.h | 8 +-- nx-X11/lib/xtrans/Xtranslcl.c | 28 +++++----- nx-X11/lib/xtrans/Xtranssock.c | 119 +++++++++++++++++++++-------------------- nx-X11/lib/xtrans/Xtransutil.c | 24 ++++----- 6 files changed, 108 insertions(+), 107 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 383929497..4ff0507a3 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -210,7 +210,7 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) strcpy (mybuf, address); /* Parse the string to get each component */ - + /* Get the protocol part */ _protocol = mybuf; @@ -287,9 +287,9 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) } #if defined(IPv6) && defined(AF_INET6) /* hostname in IPv6 [numeric_addr]:0 form? */ - else if ( (_host_len > 3) && + else if ( (_host_len > 3) && ((strcmp(_protocol, "tcp") == 0) || (strcmp(_protocol, "inet6") == 0)) - && (*_host == '[') && (*(_host + _host_len - 1) == ']') ) { + && (*_host == '[') && (*(_host + _host_len - 1) == ']') ) { struct sockaddr_in6 sin6; *(_host + _host_len - 1) = '\0'; @@ -451,7 +451,7 @@ TRANS(Open) (int type, char *address) if (ciptr == NULL) { - if (!(thistrans->flags & TRANS_DISABLED)) + if (!(thistrans->flags & TRANS_DISABLED)) { PRMSG (1,"Open: transport open failed for %s/%s:%s\n", protocol, host, port); @@ -625,7 +625,7 @@ TRANS(ReopenCLTSServer) (int trans_id, int fd, char *port) int -TRANS(GetReopenInfo) (XtransConnInfo ciptr, +TRANS(GetReopenInfo) (XtransConnInfo ciptr, int *trans_id, int *fd, char **port) { @@ -731,7 +731,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) #endif /* F_SETFD */ break; } - + return ret; } @@ -750,10 +750,10 @@ TRANS(NoListen) (char * protocol) { Xtransport *trans; int i = 0, ret = 0; - - if ((trans = TRANS(SelectTransport)(protocol)) == NULL) + + if ((trans = TRANS(SelectTransport)(protocol)) == NULL) { - PRMSG (1,"TransNoListen: unable to find transport: %s\n", + PRMSG (1,"TransNoListen: unable to find transport: %s\n", protocol, 0, 0); return -1; @@ -834,7 +834,7 @@ TRANS(Connect) (XtransConnInfo ciptr, char *address) if (protocol) free (protocol); if (host) free (host); if (port) free (port); - + return ret; } @@ -922,7 +922,7 @@ TRANS(IsLocal) (XtransConnInfo ciptr) int -TRANS(GetMyAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, +TRANS(GetMyAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, Xtransaddr **addrp) { @@ -942,7 +942,7 @@ TRANS(GetMyAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, } int -TRANS(GetPeerAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, +TRANS(GetPeerAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, Xtransaddr **addrp) { @@ -1008,7 +1008,7 @@ complete_network_count (void) int -TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, +TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, XtransConnInfo **ciptrs_ret) { @@ -1089,7 +1089,7 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, if (Xtransports[i].transport_id == TRANS_SOCKET_INET6_INDEX) ipv6_succ = 1; #endif - + PRMSG (5, "MakeAllCOTSServerListeners: opened listener for %s, %d\n", trans->TransName, ciptr->fd, 0); @@ -1119,12 +1119,12 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, } else *ciptrs_ret = NULL; - + return 0; } int -TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, +TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, XtransConnInfo **ciptrs_ret) { @@ -1217,7 +1217,7 @@ TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, } else *ciptrs_ret = NULL; - + return 0; } diff --git a/nx-X11/lib/xtrans/Xtrans.h b/nx-X11/lib/xtrans/Xtrans.h index 25979673a..d746be7d0 100644 --- a/nx-X11/lib/xtrans/Xtrans.h +++ b/nx-X11/lib/xtrans/Xtrans.h @@ -467,7 +467,7 @@ TRANS(GetPeerNetworkId)( #endif /* ICE_t */ -int +int TRANS(GetHostname) ( char * /* buf */, int /* maxlen */ diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 19cd86062..3c15db2e5 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -53,10 +53,10 @@ from The Open Group. #define _XTRANSINT_H_ /* - * XTRANSDEBUG will enable the PRMSG() macros used in the X Transport - * Interface code. Each use of the PRMSG macro has a level associated with - * it. XTRANSDEBUG is defined to be a level. If the invocation level is =< - * the value of XTRANSDEBUG, then the message will be printed out to stderr. + * XTRANSDEBUG will enable the PRMSG() macros used in the X Transport + * Interface code. Each use of the PRMSG macro has a level associated with + * it. XTRANSDEBUG is defined to be a level. If the invocation level is =< + * the value of XTRANSDEBUG, then the message will be printed out to stderr. * Recommended levels are: * * XTRANSDEBUG=1 Error messages diff --git a/nx-X11/lib/xtrans/Xtranslcl.c b/nx-X11/lib/xtrans/Xtranslcl.c index 71f19a19f..fb6ef7a72 100644 --- a/nx-X11/lib/xtrans/Xtranslcl.c +++ b/nx-X11/lib/xtrans/Xtranslcl.c @@ -51,7 +51,7 @@ from The Open Group. /* * - * The connection code/ideas in lib/X and server/os for SVR4/Intel + * The connection code/ideas in lib/X and server/os for SVR4/Intel * environments was contributed by the following companies/groups: * * MetroLink Inc @@ -63,12 +63,12 @@ from The Open Group. * * The goal is to have common connection code among all SVR4/Intel vendors. * - * ALL THE ABOVE COMPANIES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, - * IN NO EVENT SHALL THESE COMPANIES * 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 + * ALL THE ABOVE COMPANIES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, + * IN NO EVENT SHALL THESE COMPANIES * 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. */ @@ -1102,7 +1102,7 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) PRMSG(1,"ISCOpenServer: failed to link %s to %s\n", server_path, server_unix_path, 0 ); /* - * Don't make this failure fatal since the listener + * Don't make this failure fatal since the listener * is already established, and this just for compatability */ #else @@ -1117,7 +1117,7 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) PRMSG(1,"ISCOpenServer: failed to link %s to %s\n", server_path, server_unix_path, 0 ); /* - * Don't make this failure fatal since the listener + * Don't make this failure fatal since the listener * is already established, and this just for compatability */ #endif /* SVR4 */ @@ -2210,7 +2210,7 @@ TRANS(LocalReopenServer)(int type, int index, int fd, char *port) #ifdef TRANS_CLIENT static XtransConnInfo -TRANS(LocalOpenCOTSClient)(Xtransport *thistrans, char *protocol, +TRANS(LocalOpenCOTSClient)(Xtransport *thistrans, char *protocol, char *host, char *port) { @@ -2225,7 +2225,7 @@ TRANS(LocalOpenCOTSClient)(Xtransport *thistrans, char *protocol, #ifdef TRANS_SERVER static XtransConnInfo -TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, char *protocol, +TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, char *protocol, char *host, char *port) { @@ -2269,7 +2269,7 @@ TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, char *protocol, #ifdef TRANS_CLIENT static XtransConnInfo -TRANS(LocalOpenCLTSClient)(Xtransport *thistrans, char *protocol, +TRANS(LocalOpenCLTSClient)(Xtransport *thistrans, char *protocol, char *host, char *port) { @@ -2284,7 +2284,7 @@ TRANS(LocalOpenCLTSClient)(Xtransport *thistrans, char *protocol, #ifdef TRANS_SERVER static XtransConnInfo -TRANS(LocalOpenCLTSServer)(Xtransport *thistrans, char *protocol, +TRANS(LocalOpenCLTSServer)(Xtransport *thistrans, char *protocol, char *host, char *port) { @@ -2524,7 +2524,7 @@ TRANS(LocalCloseForCloning)(XtransConnInfo ciptr) * MakeAllCOTSServerListeners() will go through the entire Xtransports[] * array defined in Xtrans.c and try to OpenCOTSServer() for each entry. * We will add duplicate entries to that table so that the OpenCOTSServer() - * function will get called once for each type of local transport. + * function will get called once for each type of local transport. * * The TransName is in lowercase, so it will never match during a normal * call to SelectTransport() in Xtrans.c. diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index cdc421a1e..f87b40a87 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -115,7 +115,7 @@ from the copyright holders. #if defined(MOTOROLA) && defined(SYSV) #define NO_TCP_H -#endif +#endif #ifndef NO_TCP_H #if defined(__osf__) || defined(linux) || defined(__GLIBC__) || defined(AIXV5) @@ -135,11 +135,11 @@ from the copyright holders. #if (defined(i386) && defined(SYSV)) && !defined(SCO325) && !defined(sun) #include -#endif +#endif #if (defined(i386) && defined(SYSV)) && (!defined(ISC) || !defined(I_NREAD) || defined(SCO325)) || defined(_SEQUENT_) #include -#endif +#endif #include @@ -183,6 +183,7 @@ from the copyright holders. #ifndef BACKLOG #define BACKLOG MIN_BACKLOG #endif + /* * This is the Socket implementation of the X Transport service layer * @@ -191,7 +192,7 @@ from the copyright holders. * */ -typedef struct _Sockettrans2dev { +typedef struct _Sockettrans2dev { char *transname; int family; int devcotsname; @@ -382,7 +383,7 @@ static char *_NXGetUnixDir(char *dir) _NXGetUnixDirError: strcpy(_NXUnixDir, dir); - + #ifdef NX_TRANS_TEST fprintf(stderr, "_NXGetUnixDir: Returning default X11 Unix directory [%s].\n", _NXUnixDir); #endif @@ -486,7 +487,7 @@ void TRANS(SocketRejectConnection) (XtransConnInfo ciptr) /* * If there is one, close it. */ - + if ((f = accept(ciptr -> fd, &sa, &sa_l)) >= 0) { #ifdef NX_TRANS_TEST @@ -1100,6 +1101,7 @@ TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, if ((ciptr = TRANS(SocketOpen) ( i, Sockettrans2devtab[i].devcotsname)) != NULL) break; + } } if (i < 0) { if (i == -1) @@ -1125,7 +1127,7 @@ TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, } static XtransConnInfo -TRANS(SocketOpenCOTSClient) (Xtransport *thistrans, char *protocol, +TRANS(SocketOpenCOTSClient) (Xtransport *thistrans, char *protocol, char *host, char *port) { return TRANS(SocketOpenCOTSClientBase)( @@ -1139,7 +1141,7 @@ TRANS(SocketOpenCOTSClient) (Xtransport *thistrans, char *protocol, #ifdef TRANS_SERVER static XtransConnInfo -TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, +TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, char *host, char *port) { @@ -1206,7 +1208,7 @@ TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, #ifdef TRANS_CLIENT static XtransConnInfo -TRANS(SocketOpenCLTSClient) (Xtransport *thistrans, char *protocol, +TRANS(SocketOpenCLTSClient) (Xtransport *thistrans, char *protocol, char *host, char *port) { @@ -1274,7 +1276,7 @@ TRANS(SocketOpenCLTSClient) (Xtransport *thistrans, char *protocol, #ifdef TRANS_SERVER static XtransConnInfo -TRANS(SocketOpenCLTSServer) (Xtransport *thistrans, char *protocol, +TRANS(SocketOpenCLTSServer) (Xtransport *thistrans, char *protocol, char *host, char *port) { @@ -1435,7 +1437,7 @@ set_sun_path(const char *port, const char *upath, char *path, int abstract) #ifdef TRANS_SERVER static int -TRANS(SocketCreateListener) (XtransConnInfo ciptr, +TRANS(SocketCreateListener) (XtransConnInfo ciptr, struct sockaddr *sockname, int socknamelen, unsigned int flags) @@ -1468,7 +1470,7 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, else return TRANS_ADDR_IN_USE; } - + if (retry-- == 0) { PRMSG (1, "SocketCreateListener: failed to bind listener\n", 0, 0, 0); @@ -1506,7 +1508,7 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, close (fd); return TRANS_CREATE_LISTENER_FAILED; } - + /* Set a flag to indicate that this connection is a listener */ ciptr->flags = 1 | (ciptr->flags & TRANS_KEEPFLAGS); @@ -1541,7 +1543,7 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int #ifdef X11_t char portbuf[PORTBUFSIZE]; #endif - + PRMSG (2, "SocketINETCreateListener(%s)\n", port, 0, 0); #ifdef X11_t @@ -1582,11 +1584,11 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int else { tmpport = strtol (port, (char**)NULL, 10); - /* + /* * check that somehow the port address isn't negative or in * the range of reserved port addresses. This can happen and - * be very bad if the server is suid-root and the user does - * something (dumb) like `X :60049`. + * be very bad if the server is suid-root and the user does + * something (dumb) like `X :60049`. */ if (tmpport < 1024 || tmpport > USHRT_MAX) return TRANS_CREATE_LISTENER_FAILED; @@ -1776,6 +1778,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, return 0; } + static int TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr) @@ -1907,7 +1910,7 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status) #endif /* - * Get this address again because the transport may give a more + * Get this address again because the transport may give a more * specific address now that a connection is established. */ @@ -1990,7 +1993,6 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) return NULL; } - /* * if the socket is abstract, we already modified the address to have a * @ instead of the initial NUL, so no need to do that again here. @@ -2010,7 +2012,7 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) *status = TRANS_ACCEPT_BAD_MALLOC; return NULL; } - + newciptr->peeraddrlen = ciptr->addrlen; memcpy (newciptr->peeraddr, ciptr->addr, newciptr->addrlen); @@ -2033,7 +2035,7 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) #if defined(IPv6) && defined(AF_INET6) struct addrlist { struct addrinfo * addr; - struct addrinfo * firstaddr; + struct addrinfo * firstaddr; char port[PORTBUFSIZE]; char host[MAXHOSTNAMELEN]; }; @@ -2135,7 +2137,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) while (socketaddr == NULL) { if (addrlist->addr == NULL) { - if (resetonce) { + if (resetonce) { /* Already checked entire list - no usable addresses */ PRMSG (1, "SocketINETConnect() no usable address " "for %s:%s\n", host, port, 0); @@ -2145,7 +2147,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) resetonce = 1; addrlist->addr = addrlist->firstaddr; } - } + } socketaddr = addrlist->addr->ai_addr; socketaddrlen = addrlist->addr->ai_addrlen; @@ -2155,10 +2157,10 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) PRMSG (4,"SocketINETConnect() sockname.sin_addr = %s\n", inet_ntop(addrlist->addr->ai_family,&sin->sin_addr, - ntopbuf,sizeof(ntopbuf)), 0, 0); + ntopbuf,sizeof(ntopbuf)), 0, 0); PRMSG (4,"SocketINETConnect() sockname.sin_port = %d\n", - ntohs(sin->sin_port), 0, 0); + ntohs(sin->sin_port), 0, 0); if (Sockettrans2devtab[ciptr->index].family == AF_INET6) { if (strcmp(Sockettrans2devtab[ciptr->index].transname, @@ -2193,13 +2195,13 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) } } else if (addrlist->addr->ai_family == AF_INET6) { struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) socketaddr; - + PRMSG (4,"SocketINETConnect() sockname.sin6_addr = %s\n", inet_ntop(addrlist->addr->ai_family, &sin6->sin6_addr,ntopbuf,sizeof(ntopbuf)), - 0, 0); + 0, 0); PRMSG (4,"SocketINETConnect() sockname.sin6_port = %d\n", - ntohs(sin6->sin6_port), 0, 0); + ntohs(sin6->sin6_port), 0, 0); if (Sockettrans2devtab[ciptr->index].family == AF_INET) { if (strcmp(Sockettrans2devtab[ciptr->index].transname, @@ -2237,7 +2239,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) if (socketaddr == NULL) { addrlist->addr = addrlist->addr->ai_next; } - } + } } else #endif { @@ -2280,8 +2282,10 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) ESET(EPROTOTYPE); return TRANS_CONNECT_FAILED; } + memcpy ((char *) &sockname.sin_addr, (char *) hostp->h_addr, sizeof (sockname.sin_addr)); + } else { sockname.sin_addr.s_addr = tmpaddr; } @@ -2356,12 +2360,12 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) * number of errors that made us quit before, since those * could be caused by trying to use an IPv6 address to contact * a machine with an IPv4-only server or other reasons that - * only affect one of a set of addresses. + * only affect one of a set of addresses. */ if (olderrno == ECONNREFUSED || olderrno == EINTR #if defined(IPv6) && defined(AF_INET6) - || (haveIPv6 && ((addrlist->addr->ai_next != NULL) || + || (haveIPv6 && ((addrlist->addr->ai_next != NULL) || (addrlist->addr != addrlist->firstaddr)) && (olderrno == ENETUNREACH || olderrno == EAFNOSUPPORT || olderrno == EADDRNOTAVAIL || olderrno == ETIMEDOUT @@ -2379,16 +2383,16 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) PRMSG (2,"SocketINETConnect: Can't connect: errno = %d\n", olderrno,0, 0); - res = TRANS_CONNECT_FAILED; + res = TRANS_CONNECT_FAILED; } } else { res = 0; - + /* * Sync up the address fields of ciptr. */ - + if (TRANS(SocketINETGetAddr) (ciptr) < 0) { PRMSG (1, @@ -2407,7 +2411,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) } #if defined(IPv6) && defined(AF_INET6) - if (haveIPv6 && res != 0) { + if (haveIPv6 && res != 0) { addrlist->addr = addrlist->addr->ai_next; } #endif @@ -2461,7 +2465,7 @@ UnixHostReallyLocal (char *host) for (j = otherhostaddr; j != NULL && equiv == 0; j = j->ai_next) { if (i->ai_family == j->ai_family) { if (i->ai_family == AF_INET) { - struct sockaddr_in *sinA + struct sockaddr_in *sinA = (struct sockaddr_in *) i->ai_addr; struct sockaddr_in *sinB = (struct sockaddr_in *) j->ai_addr; @@ -2472,9 +2476,9 @@ UnixHostReallyLocal (char *host) equiv = 1; } } else if (i->ai_family == AF_INET6) { - struct sockaddr_in6 *sinA + struct sockaddr_in6 *sinA = (struct sockaddr_in6 *) i->ai_addr; - struct sockaddr_in6 *sinB + struct sockaddr_in6 *sinB = (struct sockaddr_in6 *) j->ai_addr; struct in6_addr *A = &sinA->sin6_addr; struct in6_addr *B = &sinB->sin6_addr; @@ -2486,7 +2490,7 @@ UnixHostReallyLocal (char *host) } } } - + freeaddrinfo(localhostaddr); freeaddrinfo(otherhostaddr); return equiv; @@ -2519,13 +2523,13 @@ UnixHostReallyLocal (char *host) * from the 1st call, so we must save the address list. */ - specified_local_addr_list[scount][0] = + specified_local_addr_list[scount][0] = hostp->h_addr_list[scount][0]; - specified_local_addr_list[scount][1] = + specified_local_addr_list[scount][1] = hostp->h_addr_list[scount][1]; - specified_local_addr_list[scount][2] = + specified_local_addr_list[scount][2] = hostp->h_addr_list[scount][2]; - specified_local_addr_list[scount][3] = + specified_local_addr_list[scount][3] = hostp->h_addr_list[scount][3]; scount++; } @@ -2541,17 +2545,17 @@ UnixHostReallyLocal (char *host) while (hostp->h_addr_list[j]) { - if ((specified_local_addr_list[i][0] == + if ((specified_local_addr_list[i][0] == hostp->h_addr_list[j][0]) && - (specified_local_addr_list[i][1] == + (specified_local_addr_list[i][1] == hostp->h_addr_list[j][1]) && - (specified_local_addr_list[i][2] == + (specified_local_addr_list[i][2] == hostp->h_addr_list[j][2]) && - (specified_local_addr_list[i][3] == + (specified_local_addr_list[i][3] == hostp->h_addr_list[j][3])) { /* They're equal, so we're done */ - + equiv = 1; break; } @@ -2578,10 +2582,8 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) abstract = ciptr->transptr->flags & TRANS_ABSTRACT; #endif - - PRMSG (2,"SocketUNIXConnect(%d,%s,%s)\n", ciptr->fd, host, port); - + /* * Make sure 'host' is really local. If not, we return failure. * The reason we make this check is because a process may advertise @@ -2618,7 +2620,7 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) /* * Build the socket name. */ - + sockname.sun_family = AF_UNIX; #ifdef NX_TRANS_SOCKET @@ -2669,11 +2671,11 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) { int olderrno = errno; int connected = 0; - + if (!connected) { errno = olderrno; - + /* * If the error was ENOENT, the server may be starting up * and we should try again. @@ -2733,7 +2735,7 @@ SocketUNIXConnectPost: ciptr->peeraddrlen = namelen; memcpy (ciptr->addr, &sockname, ciptr->addrlen); memcpy (ciptr->peeraddr, &sockname, ciptr->peeraddrlen); - + return 0; } @@ -2779,7 +2781,7 @@ TRANS(SocketBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend) * NX _XSelect(), so it is generally possible to let the client * yield the control to NX and let it handle the I/O on the proxy * descriptors even if the application is not explicitly designed - * to work as a NX agent. + * to work as a NX agent. */ #ifdef NX_TRANS_DEBUG @@ -3002,7 +3004,7 @@ TRANS(SocketDisconnect) (XtransConnInfo ciptr) PRMSG (2,"SocketDisconnect(%p,%d)\n", ciptr, ciptr->fd, 0); #ifdef WIN32 - { + { int ret = shutdown (ciptr->fd, 2); errno = WSAGetLastError(); return ret; @@ -3037,7 +3039,6 @@ TRANS(SocketINETClose) (XtransConnInfo ciptr) #ifdef UNIXCONN static int TRANS(SocketUNIXClose) (XtransConnInfo ciptr) - { /* * If this is the server side, then once the socket is closed, @@ -3302,7 +3303,7 @@ Xtransport TRANS(SocketLocalFuncs) = { static char* unix_nolisten[] = { "local" , NULL }; # endif # endif - + Xtransport TRANS(SocketUNIXFuncs) = { /* Socket Interface */ "unix", diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 8c7b46cc2..8bde6aa5d 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -140,7 +140,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) { *familyp=FamilyLocal; } - else + else { *familyp=FamilyInternet; *addrlenp = sizeof (struct in_addr); @@ -165,7 +165,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) *familyp=FamilyLocal; break; } -#endif /* defined(UNIXCONN) || defined(LOCALCONN)*/ +#endif /* defined(UNIXCONN) || defined(LOCALCONN) */ #if (defined(__SCO__) || defined(__UNIXWARE__)) && defined(LOCALCONN) case 0: @@ -188,7 +188,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) * 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); @@ -377,7 +377,7 @@ TRANS(GetPeerNetworkId) (XtransConnInfo ciptr) * 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. + * jump out of it. */ nameserver_timedout = 0; @@ -469,7 +469,7 @@ is_numeric (char *str) * it's not save if the directory has non-root ownership or the sticky * bit cannot be set and fail. */ -static int +static int trans_mkdir(char *path, int mode) { struct stat buf; @@ -492,7 +492,7 @@ trans_mkdir(char *path, int mode) if (mode & 01000) { PRMSG(1, "mkdir: ERROR: euid != 0," "directory %s will not be created.\n", - path, 0, 0); + path, 0, 0); #ifdef FAIL_HARD return -1; #endif @@ -522,7 +522,7 @@ trans_mkdir(char *path, int mode) } return 0; - + } else { if (S_ISDIR(buf.st_mode)) { int updateOwner = 0; @@ -541,7 +541,7 @@ trans_mkdir(char *path, int mode) */ if ((~mode) & 0077 & buf.st_mode) updateMode = 1; - + /* * If the directory is not writeable not everybody may * be able to create sockets. Therefore warn if mode @@ -551,7 +551,7 @@ trans_mkdir(char *path, int mode) updateMode = 1; status |= WARN_NO_ACCESS; } - + /* * If 'sticky' bit is requested fail if owner isn't root * as we assume the caller makes certain security implications @@ -563,7 +563,7 @@ trans_mkdir(char *path, int mode) updateMode = 1; } } - + #ifdef HAS_FCHOWN /* * If fchown(2) and fchmod(2) are available, try to correct the @@ -598,7 +598,7 @@ trans_mkdir(char *path, int mode) } } #endif - + if (updateOwner && !updatedOwner) { #ifdef FAIL_HARD if (status & FAIL_IF_NOT_ROOT) { @@ -610,7 +610,7 @@ trans_mkdir(char *path, int mode) PRMSG(1, "mkdir: Owner of %s should be set to root\n", path, 0, 0); } - + if (updateMode && !updatedMode) { #ifdef FAIL_HARD if (status & FAIL_IF_NOMODE) { -- cgit v1.2.3 From f686bc3ebed90b7fb8bbbf8cce3d894971e42ca5 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sun, 10 Feb 2008 19:04:40 -0800 Subject: Fixed #ifdef checks that were using i386 to use __i386__ """ It's simply obsolete, sloppy, compiler namespace pollution. The compiler is not allowed to predefine symbols that might conflict with ordinary identifiers. For backwards compatibility gcc currently predefines i386 when compiling for x86 32-bit (but not 64-bit), but that will go away. It is also not defined if you specify -ansi when invoking the compiler, because then it is seriously standards compliant. Other compilers shouldn't define it either. Correct code shouldn't rely on it being defined. However __i386__ is safe and proper. """ Backported-to-NX-by: Ulrich Sibiller --- nx-X11/lib/xtrans/Xtrans.c | 8 ++++---- nx-X11/lib/xtrans/Xtransint.h | 6 +++--- nx-X11/lib/xtrans/Xtranssock.c | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 4ff0507a3..8eed40306 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -1230,7 +1230,7 @@ TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, * may be used by it. */ -#if (defined(SYSV) && defined(i386) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) /* * emulate readv @@ -1260,9 +1260,9 @@ static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) return total; } -#endif /* SYSV && i386 || WIN32 || __sxg__ */ +#endif /* SYSV && __i386__ || WIN32 || __sxg__ */ -#if (defined(SYSV) && defined(i386) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) /* * emulate writev @@ -1292,7 +1292,7 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) return total; } -#endif /* SYSV && i386 || WIN32 || __sxg__ */ +#endif /* SYSV && __i386__ || WIN32 || __sxg__ */ #if defined(_POSIX_SOURCE) || defined(USG) || defined(SVR4) || defined(__SCO__) diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 3c15db2e5..daa3e8fce 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -313,7 +313,7 @@ typedef struct _Xtransport_table { * systems, so they may be emulated. */ -#if (defined(SYSV) && defined(i386) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) #define READV(ciptr, iov, iovcnt) TRANS(ReadV)(ciptr, iov, iovcnt) @@ -327,10 +327,10 @@ static int TRANS(ReadV)( #define READV(ciptr, iov, iovcnt) readv(ciptr->fd, iov, iovcnt) -#endif /* (SYSV && i386) || WIN32 || __sxg__ || */ +#endif /* (SYSV && __i386__) || WIN32 || __sxg__ || */ -#if (defined(SYSV) && defined(i386) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) #define WRITEV(ciptr, iov, iovcnt) TRANS(WriteV)(ciptr, iov, iovcnt) diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index f87b40a87..a7d8b499a 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -133,11 +133,11 @@ from the copyright holders. #include #endif -#if (defined(i386) && defined(SYSV)) && !defined(SCO325) && !defined(sun) +#if (defined(__i386__) && defined(SYSV)) && !defined(SCO325) && !defined(sun) #include #endif -#if (defined(i386) && defined(SYSV)) && (!defined(ISC) || !defined(I_NREAD) || defined(SCO325)) || defined(_SEQUENT_) +#if (defined(__i386__) && defined(SYSV)) && (!defined(ISC) || !defined(I_NREAD) || defined(SCO325)) || defined(_SEQUENT_) #include #endif @@ -2812,11 +2812,11 @@ TRANS(SocketBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend) return ret; } #else -#if (defined(i386) && defined(SYSV) && !defined(SCO325)) || (defined(_SEQUENT_) && _SOCKET_VERSION == 1) +#if (defined(__i386__) && defined(SYSV) && !defined(SCO325)) || (defined(_SEQUENT_) && _SOCKET_VERSION == 1) return ioctl (ciptr->fd, I_NREAD, (char *) pend); #else return ioctl (ciptr->fd, FIONREAD, (char *) pend); -#endif /* i386 && SYSV || _SEQUENT_ && _SOCKET_VERSION == 1 */ +#endif /* __i386__ && SYSV || _SEQUENT_ && _SOCKET_VERSION == 1 */ #endif /* WIN32 */ } -- cgit v1.2.3 From 6957b3daa7dd4640c5a332b4ca220c8703e5fb79 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 13 Oct 2016 00:31:51 +0200 Subject: move helper functions to file end this simplyfies updating to Xorg/xtrans upstream --- nx-X11/lib/xtrans/Xtranssock.c | 290 +++++++++++++++++++++-------------------- 1 file changed, 148 insertions(+), 142 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index a7d8b499a..e1d051515 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -307,148 +307,8 @@ static _NXProxyConnInfo *_NXProxyConnInfoTab[NX_PROXY_CONN_LIMIT]; #endif /* #ifdef TRANS_CLIENT */ -/* - * Override the UNIX_DIR and UNIX_PATH settings and - * make them configurable, based on the NX_TEMP or - * the TEMP environment. - * - * We must be careful as the same defines are used - * for different directories, based on the subsystem - * that is compiling this, while we want to override - * only the '/tmp/.X11-unix' and '/tmp/.X11-unix/X' - * settings. - */ - -static char _NXUnixDir[1024]; -static char _NXUnixPath[1024]; - -static char *_NXGetUnixDir(char *dir) -{ - const char *tempDir; - - PRMSG (3, "_NXGetUnixDir(%s)\n", dir, 0, 0); - - if (strcmp(dir, UNIX_DIR) != 0) - { -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixDir: Returning other Unix directory [%s].\n", dir); -#endif - return dir; - } - - /* - * Check the environment only once. - */ - - if (*_NXUnixDir != '\0') - { - return _NXUnixDir; - } - -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixDir: Trying with the NX_TEMP environment.\n"); -#endif - - tempDir = getenv("NX_TEMP"); - - if (tempDir == NULL || *tempDir == '\0') - { -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixDir: Trying with the TEMP environment.\n"); -#endif - - tempDir = getenv("TEMP"); - } - - if (tempDir != NULL && *tempDir != '\0') - { - if (strlen(tempDir) + strlen("/.X11-unix") + 1 > 1024) - { -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixDir: WARNING! Maximum length of X11 Unix directory exceeded.\n"); -#endif - goto _NXGetUnixDirError; - } - - strcpy(_NXUnixDir, tempDir); - strcat(_NXUnixDir, "/.X11-unix"); - -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixDir: Using X11 Unix directory [%s].\n", _NXUnixDir); -#endif - - return _NXUnixDir; - } - -_NXGetUnixDirError: - - strcpy(_NXUnixDir, dir); - -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixDir: Returning default X11 Unix directory [%s].\n", _NXUnixDir); -#endif - - return _NXUnixDir; -} - -static char *_NXGetUnixPath(char *path) -{ - const char *unixDir; - - PRMSG (3, "_NXGetUnixPath(%s)\n", path, 0, 0); - - if (strcmp(path, UNIX_PATH) != 0) - { -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixPath: Returning other X11 Unix path [%s].\n", path); -#endif - return path; - } - - /* - * Check the environment only once. - */ - - if (*_NXUnixPath != '\0') - { - return _NXUnixPath; - } - - unixDir = _NXGetUnixDir(UNIX_DIR); - -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixPath: Got X11 Unix directory [%s].\n", unixDir); -#endif - - if (strlen(unixDir) + strlen("/X") + 1 > 1024) - { -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixPath: WARNING! Maximum length of X11 Unix path exceeded.\n"); -#endif - - goto _NXGetUnixPathError; - } - - strcpy(_NXUnixPath, unixDir); - strcat(_NXUnixPath, "/X"); - -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixPath: Returning X11 Unix path [%s].\n", _NXUnixPath); -#endif - - return _NXUnixPath; - -_NXGetUnixPathError: - - strcpy(_NXUnixPath, path); - -#ifdef NX_TRANS_TEST - fprintf(stderr, "_NXGetUnixPath: Returning default X11 Unix path [%s].\n", _NXUnixPath); -#endif - - return _NXUnixPath; -} - +static char *_NXGetUnixDir(char *dir); +static char *_NXGetUnixPath(char *path); /* * Forcibly close any connection attempt on the @@ -3353,3 +3213,149 @@ Xtransport TRANS(SocketUNIXFuncs) = { }; #endif /* UNIXCONN */ + + +#ifdef NX_TRANS_SOCKET +/* + * Override the UNIX_DIR and UNIX_PATH settings and + * make them configurable, based on the NX_TEMP or + * the TEMP environment. + * + * We must be careful as the same defines are used + * for different directories, based on the subsystem + * that is compiling this, while we want to override + * only the '/tmp/.X11-unix' and '/tmp/.X11-unix/X' + * settings. + */ + +static char _NXUnixDir[1024]; +static char _NXUnixPath[1024]; + +static char *_NXGetUnixDir(char *dir) +{ + const char *tempDir; + + PRMSG (3, "_NXGetUnixDir(%s)\n", dir, 0, 0); + + if (strcmp(dir, UNIX_DIR) != 0) + { +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixDir: Returning other Unix directory [%s].\n", dir); +#endif + return dir; + } + + /* + * Check the environment only once. + */ + + if (*_NXUnixDir != '\0') + { + return _NXUnixDir; + } + +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixDir: Trying with the NX_TEMP environment.\n"); +#endif + + tempDir = getenv("NX_TEMP"); + + if (tempDir == NULL || *tempDir == '\0') + { +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixDir: Trying with the TEMP environment.\n"); +#endif + + tempDir = getenv("TEMP"); + } + + if (tempDir != NULL && *tempDir != '\0') + { + if (strlen(tempDir) + strlen("/.X11-unix") + 1 > 1024) + { +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixDir: WARNING! Maximum length of X11 Unix directory exceeded.\n"); +#endif + goto _NXGetUnixDirError; + } + + strcpy(_NXUnixDir, tempDir); + strcat(_NXUnixDir, "/.X11-unix"); + +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixDir: Using X11 Unix directory [%s].\n", _NXUnixDir); +#endif + + return _NXUnixDir; + } + +_NXGetUnixDirError: + + strcpy(_NXUnixDir, dir); + +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixDir: Returning default X11 Unix directory [%s].\n", _NXUnixDir); +#endif + + return _NXUnixDir; +} + +static char *_NXGetUnixPath(char *path) +{ + const char *unixDir; + + PRMSG (3, "_NXGetUnixPath(%s)\n", path, 0, 0); + + if (strcmp(path, UNIX_PATH) != 0) + { +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixPath: Returning other X11 Unix path [%s].\n", path); +#endif + return path; + } + + /* + * Check the environment only once. + */ + + if (*_NXUnixPath != '\0') + { + return _NXUnixPath; + } + + unixDir = _NXGetUnixDir(UNIX_DIR); + +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixPath: Got X11 Unix directory [%s].\n", unixDir); +#endif + + if (strlen(unixDir) + strlen("/X") + 1 > 1024) + { +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixPath: WARNING! Maximum length of X11 Unix path exceeded.\n"); +#endif + + goto _NXGetUnixPathError; + } + + strcpy(_NXUnixPath, unixDir); + strcat(_NXUnixPath, "/X"); + +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixPath: Returning X11 Unix path [%s].\n", _NXUnixPath); +#endif + + return _NXUnixPath; + +_NXGetUnixPathError: + + strcpy(_NXUnixPath, path); + +#ifdef NX_TRANS_TEST + fprintf(stderr, "_NXGetUnixPath: Returning default X11 Unix path [%s].\n", _NXUnixPath); +#endif + + return _NXUnixPath; +} + +#endif /* NX_TRANS_SOCKET */ -- cgit v1.2.3 From c4b775f6dc6f8361dc27ace5d2b40ec42c3381bf Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 13 Oct 2016 00:35:04 +0200 Subject: align license headers with Xorg/xtrans upstream --- nx-X11/lib/xtrans/Xtrans.c | 4 +--- nx-X11/lib/xtrans/Xtrans.h | 4 +--- nx-X11/lib/xtrans/Xtransint.h | 4 +--- nx-X11/lib/xtrans/Xtranslcl.c | 4 +--- nx-X11/lib/xtrans/Xtranssock.c | 27 +++++++++++++++++++++++---- nx-X11/lib/xtrans/Xtransutil.c | 4 +--- nx-X11/lib/xtrans/transport.c | 4 +--- 7 files changed, 29 insertions(+), 22 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 8eed40306..ee7d2f3cb 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -24,9 +24,7 @@ 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. -*/ - -/* Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA + * Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * diff --git a/nx-X11/lib/xtrans/Xtrans.h b/nx-X11/lib/xtrans/Xtrans.h index d746be7d0..f6e91ad70 100644 --- a/nx-X11/lib/xtrans/Xtrans.h +++ b/nx-X11/lib/xtrans/Xtrans.h @@ -24,9 +24,7 @@ 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. -*/ - -/* Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA + * Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index daa3e8fce..b7ca80541 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -24,9 +24,7 @@ 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. -*/ - -/* Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA + * Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * diff --git a/nx-X11/lib/xtrans/Xtranslcl.c b/nx-X11/lib/xtrans/Xtranslcl.c index fb6ef7a72..7f726f3e7 100644 --- a/nx-X11/lib/xtrans/Xtranslcl.c +++ b/nx-X11/lib/xtrans/Xtranslcl.c @@ -24,9 +24,7 @@ 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. -*/ - -/* Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA + * Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index e1d051515..a84255988 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -23,10 +23,31 @@ /* */ /**************************************************************************/ +/* + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved. + * + * 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 (including the next + * paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. + */ /* Copyright 1993, 1994, 1998 The Open Group -Copyright 2002 Sun Microsystems, Inc. All rights reserved. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that @@ -50,9 +71,7 @@ not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the copyright holders. -*/ - -/* Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA + * Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 8bde6aa5d..92840eda4 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -24,9 +24,7 @@ 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. -*/ - -/* Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA + * Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * diff --git a/nx-X11/lib/xtrans/transport.c b/nx-X11/lib/xtrans/transport.c index 227549917..fa91b4c52 100644 --- a/nx-X11/lib/xtrans/transport.c +++ b/nx-X11/lib/xtrans/transport.c @@ -24,9 +24,7 @@ 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. -*/ - -/* Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA + * Copyright 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * -- cgit v1.2.3 From c3f43e832a8062169f999f3a5c298fe3f40ab9e8 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 13 Oct 2016 00:51:03 +0200 Subject: replace PRMSG by prmsg --- nx-X11/lib/xtrans/Xtrans.c | 128 +++++++------- nx-X11/lib/xtrans/Xtransint.h | 105 ++++++------ nx-X11/lib/xtrans/Xtranslcl.c | 373 ++++++++++++++++++++--------------------- nx-X11/lib/xtrans/Xtranssock.c | 359 +++++++++++++++++++-------------------- nx-X11/lib/xtrans/Xtransutil.c | 55 +++--- nx-X11/lib/xtrans/transport.c | 3 + 6 files changed, 499 insertions(+), 524 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index ee7d2f3cb..62e9dfa16 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -126,7 +126,7 @@ void TRANS(FreeConnInfo) (XtransConnInfo ciptr) { - PRMSG (3,"FreeConnInfo(%p)\n", ciptr, 0, 0); + prmsg (3,"FreeConnInfo(%p)\n", ciptr); if (ciptr->addr) free (ciptr->addr); @@ -150,7 +150,7 @@ TRANS(SelectTransport) (char *protocol) char protobuf[PROTOBUFSIZE]; int i; - PRMSG (3,"SelectTransport(%s)\n", protocol, 0, 0); + prmsg (3,"SelectTransport(%s)\n", protocol); /* * Force Protocol to be lowercase as a way of doing @@ -200,7 +200,7 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) char hostnamebuf[256]; int _host_len; - PRMSG (3,"ParseAddress(%s)\n", address, 0, 0); + prmsg (3,"ParseAddress(%s)\n", address); /* Copy the string so it can be changed */ @@ -388,12 +388,12 @@ TRANS(Open) (int type, char *address) XtransConnInfo ciptr = NULL; Xtransport *thistrans; - PRMSG (2,"Open(%d,%s)\n", type, address, 0); + prmsg (2,"Open(%d,%s)\n", type, address); #if defined(WIN32) && defined(TCPCONN) if (TRANS(WSAStartup)()) { - PRMSG (1,"Open: WSAStartup failed\n", 0, 0, 0); + prmsg (1,"Open: WSAStartup failed\n"); return NULL; } #endif @@ -402,7 +402,7 @@ TRANS(Open) (int type, char *address) if (TRANS(ParseAddress) (address, &protocol, &host, &port) == 0) { - PRMSG (1,"Open: Unable to Parse address %s\n", address, 0, 0); + prmsg (1,"Open: Unable to Parse address %s\n", address); return NULL; } @@ -410,8 +410,8 @@ TRANS(Open) (int type, char *address) if ((thistrans = TRANS(SelectTransport) (protocol)) == NULL) { - PRMSG (1,"Open: Unable to find transport for %s\n", - protocol, 0, 0); + prmsg (1,"Open: Unable to find transport for %s\n", + protocol); free (protocol); free (host); @@ -444,14 +444,14 @@ TRANS(Open) (int type, char *address) #endif /* TRANS_SERVER */ break; default: - PRMSG (1,"Open: Unknown Open type %d\n", type, 0, 0); + prmsg (1,"Open: Unknown Open type %d\n", type); } if (ciptr == NULL) { if (!(thistrans->flags & TRANS_DISABLED)) { - PRMSG (1,"Open: transport open failed for %s/%s:%s\n", + prmsg (1,"Open: transport open failed for %s/%s:%s\n", protocol, host, port); } free (protocol); @@ -487,7 +487,7 @@ TRANS(Reopen) (int type, int trans_id, int fd, char *port) char *save_port; int i; - PRMSG (2,"Reopen(%d,%d,%s)\n", trans_id, fd, port); + prmsg (2,"Reopen(%d,%d,%s)\n", trans_id, fd, port); /* Determine the transport type */ @@ -500,15 +500,15 @@ TRANS(Reopen) (int type, int trans_id, int fd, char *port) if (thistrans == NULL) { - PRMSG (1,"Reopen: Unable to find transport id %d\n", - trans_id, 0, 0); + prmsg (1,"Reopen: Unable to find transport id %d\n", + trans_id); return NULL; } if ((save_port = (char *) malloc (strlen (port) + 1)) == NULL) { - PRMSG (1,"Reopen: Unable to malloc port string\n", 0, 0, 0); + prmsg (1,"Reopen: Unable to malloc port string\n"); return NULL; } @@ -526,12 +526,12 @@ TRANS(Reopen) (int type, int trans_id, int fd, char *port) ciptr = thistrans->ReopenCLTSServer(thistrans, fd, port); break; default: - PRMSG (1,"Reopen: Bad Open type %d\n", type, 0, 0); + prmsg (1,"Reopen: Bad Open type %d\n", type); } if (ciptr == NULL) { - PRMSG (1,"Reopen: transport open failed\n", 0, 0, 0); + prmsg (1,"Reopen: transport open failed\n"); return NULL; } @@ -557,7 +557,7 @@ XtransConnInfo TRANS(OpenCOTSClient) (char *address) { - PRMSG (2,"OpenCOTSClient(%s)\n", address, 0, 0); + prmsg (2,"OpenCOTSClient(%s)\n", address); return TRANS(Open) (XTRANS_OPEN_COTS_CLIENT, address); } @@ -570,7 +570,7 @@ XtransConnInfo TRANS(OpenCOTSServer) (char *address) { - PRMSG (2,"OpenCOTSServer(%s)\n", address, 0, 0); + prmsg (2,"OpenCOTSServer(%s)\n", address); return TRANS(Open) (XTRANS_OPEN_COTS_SERVER, address); } @@ -583,7 +583,7 @@ XtransConnInfo TRANS(OpenCLTSClient) (char *address) { - PRMSG (2,"OpenCLTSClient(%s)\n", address, 0, 0); + prmsg (2,"OpenCLTSClient(%s)\n", address); return TRANS(Open) (XTRANS_OPEN_CLTS_CLIENT, address); } @@ -596,7 +596,7 @@ XtransConnInfo TRANS(OpenCLTSServer) (char *address) { - PRMSG (2,"OpenCLTSServer(%s)\n", address, 0, 0); + prmsg (2,"OpenCLTSServer(%s)\n", address); return TRANS(Open) (XTRANS_OPEN_CLTS_SERVER, address); } @@ -609,7 +609,7 @@ XtransConnInfo TRANS(ReopenCOTSServer) (int trans_id, int fd, char *port) { - PRMSG (2,"ReopenCOTSServer(%d, %d, %s)\n", trans_id, fd, port); + prmsg (2,"ReopenCOTSServer(%d, %d, %s)\n", trans_id, fd, port); return TRANS(Reopen) (XTRANS_OPEN_COTS_SERVER, trans_id, fd, port); } @@ -617,7 +617,7 @@ XtransConnInfo TRANS(ReopenCLTSServer) (int trans_id, int fd, char *port) { - PRMSG (2,"ReopenCLTSServer(%d, %d, %s)\n", trans_id, fd, port); + prmsg (2,"ReopenCLTSServer(%d, %d, %s)\n", trans_id, fd, port); return TRANS(Reopen) (XTRANS_OPEN_CLTS_SERVER, trans_id, fd, port); } @@ -657,7 +657,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) int fd = ciptr->fd; int ret = 0; - PRMSG (2,"SetOption(%d,%d,%d)\n", fd, option, arg); + prmsg (2,"SetOption(%d,%d,%d)\n", fd, option, arg); /* * For now, all transport type use the same stuff for setting options. @@ -751,8 +751,8 @@ TRANS(NoListen) (char * protocol) if ((trans = TRANS(SelectTransport)(protocol)) == NULL) { - PRMSG (1,"TransNoListen: unable to find transport: %s\n", - protocol, 0, 0); + prmsg (1,"TransNoListen: unable to find transport: %s\n", + protocol); return -1; } @@ -785,7 +785,7 @@ TRANS(Accept) (XtransConnInfo ciptr, int *status) { XtransConnInfo newciptr; - PRMSG (2,"Accept(%d)\n", ciptr->fd, 0, 0); + prmsg (2,"Accept(%d)\n", ciptr->fd); newciptr = ciptr->transptr->Accept (ciptr, status); @@ -809,19 +809,19 @@ TRANS(Connect) (XtransConnInfo ciptr, char *address) char *port; int ret; - PRMSG (2,"Connect(%d,%s)\n", ciptr->fd, address, 0); + prmsg (2,"Connect(%d,%s)\n", ciptr->fd, address); if (TRANS(ParseAddress) (address, &protocol, &host, &port) == 0) { - PRMSG (1,"Connect: Unable to Parse address %s\n", - address, 0, 0); + prmsg (1,"Connect: Unable to Parse address %s\n", + address); return -1; } if (!port || !*port) { - PRMSG (1,"Connect: Missing port specification in %s\n", - address, 0, 0); + prmsg (1,"Connect: Missing port specification in %s\n", + address); if (protocol) free (protocol); if (host) free (host); return -1; @@ -887,7 +887,7 @@ TRANS(Close) (XtransConnInfo ciptr) { int ret; - PRMSG (2,"Close(%d)\n", ciptr->fd, 0, 0); + prmsg (2,"Close(%d)\n", ciptr->fd); ret = ciptr->transptr->Close (ciptr); @@ -902,7 +902,7 @@ TRANS(CloseForCloning) (XtransConnInfo ciptr) { int ret; - PRMSG (2,"CloseForCloning(%d)\n", ciptr->fd, 0, 0); + prmsg (2,"CloseForCloning(%d)\n", ciptr->fd); ret = ciptr->transptr->CloseForCloning (ciptr); @@ -924,14 +924,14 @@ TRANS(GetMyAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, Xtransaddr **addrp) { - PRMSG (2,"GetMyAddr(%d)\n", ciptr->fd, 0, 0); + prmsg (2,"GetMyAddr(%d)\n", ciptr->fd); *familyp = ciptr->family; *addrlenp = ciptr->addrlen; if ((*addrp = (Xtransaddr *) malloc (ciptr->addrlen)) == NULL) { - PRMSG (1,"GetMyAddr: malloc failed\n", 0, 0, 0); + prmsg (1,"GetMyAddr: malloc failed\n"); return -1; } memcpy(*addrp, ciptr->addr, ciptr->addrlen); @@ -944,14 +944,14 @@ TRANS(GetPeerAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, Xtransaddr **addrp) { - PRMSG (2,"GetPeerAddr(%d)\n", ciptr->fd, 0, 0); + prmsg (2,"GetPeerAddr(%d)\n", ciptr->fd); *familyp = ciptr->family; *addrlenp = ciptr->peeraddrlen; if ((*addrp = (Xtransaddr *) malloc (ciptr->peeraddrlen)) == NULL) { - PRMSG (1,"GetPeerAddr: malloc failed\n", 0, 0, 0); + prmsg (1,"GetPeerAddr: malloc failed\n"); return -1; } memcpy(*addrp, ciptr->peeraddr, ciptr->peeraddrlen); @@ -1017,8 +1017,8 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, int ipv6_succ = 0; #endif - PRMSG (2,"MakeAllCOTSServerListeners(%s,%p)\n", - port ? port : "NULL", ciptrs_ret, 0); + prmsg (2,"MakeAllCOTSServerListeners(%s,%p)\n", + port ? port : "NULL", ciptrs_ret); *count_ret = 0; @@ -1032,17 +1032,17 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, sprintf(buffer,"%s/:%s", trans->TransName, port ? port : ""); - PRMSG (5,"MakeAllCOTSServerListeners: opening %s\n", - buffer, 0, 0); + prmsg (5,"MakeAllCOTSServerListeners: opening %s\n", + buffer); if ((ciptr = TRANS(OpenCOTSServer(buffer))) == NULL) { if (trans->flags & TRANS_DISABLED) continue; - PRMSG (1, + prmsg (1, "MakeAllCOTSServerListeners: failed to open listener for %s\n", - trans->TransName, 0, 0); + trans->TransName); continue; } #if defined(IPv6) && defined(AF_INET6) @@ -1061,9 +1061,8 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, * running at this address, and this function should fail. */ - PRMSG (1, - "MakeAllCOTSServerListeners: server already running\n", - 0, 0, 0); + prmsg (1, + "MakeAllCOTSServerListeners: server already running\n"); for (j = 0; j < *count_ret; j++) TRANS(Close) (temp_ciptrs[j]); @@ -1075,9 +1074,9 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, } else { - PRMSG (1, + prmsg (1, "MakeAllCOTSServerListeners: failed to create listener for %s\n", - trans->TransName, 0, 0); + trans->TransName); continue; } @@ -1088,9 +1087,9 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, ipv6_succ = 1; #endif - PRMSG (5, + prmsg (5, "MakeAllCOTSServerListeners: opened listener for %s, %d\n", - trans->TransName, ciptr->fd, 0); + trans->TransName, ciptr->fd); temp_ciptrs[*count_ret] = ciptr; (*count_ret)++; @@ -1098,7 +1097,7 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, *partial = (*count_ret < complete_network_count()); - PRMSG (5, + prmsg (5, "MakeAllCOTSServerListeners: partial=%d, actual=%d, complete=%d \n", *partial, *count_ret, complete_network_count()); @@ -1130,8 +1129,8 @@ TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, XtransConnInfo ciptr, temp_ciptrs[NUMTRANS]; int status, i, j; - PRMSG (2,"MakeAllCLTSServerListeners(%s,%p)\n", - port ? port : "NULL", ciptrs_ret, 0); + prmsg (2,"MakeAllCLTSServerListeners(%s,%p)\n", + port ? port : "NULL", ciptrs_ret); *count_ret = 0; @@ -1144,14 +1143,14 @@ TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, sprintf(buffer,"%s/:%s", trans->TransName, port ? port : ""); - PRMSG (5,"MakeAllCLTSServerListeners: opening %s\n", - buffer, 0, 0); + prmsg (5,"MakeAllCLTSServerListeners: opening %s\n", + buffer); if ((ciptr = TRANS(OpenCLTSServer (buffer))) == NULL) { - PRMSG (1, + prmsg (1, "MakeAllCLTSServerListeners: failed to open listener for %s\n", - trans->TransName, 0, 0); + trans->TransName); continue; } @@ -1165,9 +1164,8 @@ TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, * running at this address, and this function should fail. */ - PRMSG (1, - "MakeAllCLTSServerListeners: server already running\n", - 0, 0, 0); + prmsg (1, + "MakeAllCLTSServerListeners: server already running\n"); for (j = 0; j < *count_ret; j++) TRANS(Close) (temp_ciptrs[j]); @@ -1179,24 +1177,24 @@ TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, } else { - PRMSG (1, + prmsg (1, "MakeAllCLTSServerListeners: failed to create listener for %s\n", - trans->TransName, 0, 0); + trans->TransName); continue; } } - PRMSG (5, + prmsg (5, "MakeAllCLTSServerListeners: opened listener for %s, %d\n", - trans->TransName, ciptr->fd, 0); + trans->TransName, ciptr->fd); temp_ciptrs[*count_ret] = ciptr; (*count_ret)++; } *partial = (*count_ret < complete_network_count()); - PRMSG (5, + prmsg (5, "MakeAllCLTSServerListeners: partial=%d, actual=%d, complete=%d \n", *partial, *count_ret, complete_network_count()); diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index b7ca80541..0da59f71d 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -306,6 +306,9 @@ typedef struct _Xtransport_table { /* Flags to preserve when setting others */ #define TRANS_KEEPFLAGS (TRANS_NOUNLINK|TRANS_ABSTRACT) +#ifdef XTRANS_TRANSPORT_C /* only provide static function prototypes when + building the transport.c file that has them in */ + /* * readv() and writev() don't exist or don't work correctly on some * systems, so they may be emulated. @@ -360,54 +363,62 @@ static int trans_mkdir ( * Some XTRANSDEBUG stuff */ -#if defined(XTRANSDEBUG) -/* add hack to the format string to avoid warnings about extra arguments - * to fprintf. +#ifdef XTRANSDEBUG +#include + +/* + * The X server provides ErrorF() & VErrorF(), for other software that uses + * xtrans, we provide our own simple versions. */ -#ifdef XTRANSDEBUGTIMESTAMP -#if defined(XSERV_t) && defined(TRANS_SERVER) -/* Use ErrorF() for the X server */ -#define PRMSG(lvl,x,a,b,c) if (lvl <= XTRANSDEBUG){ \ - int hack= 0, saveerrno=errno; \ - struct timeval tp;\ - gettimeofday(&tp,0); \ - ErrorF("%s",__xtransname); \ - ErrorF(x+hack,a,b,c); \ - ErrorF("timestamp (ms): %d\n",tp.tv_sec*1000+tp.tv_usec/1000); \ - errno=saveerrno; \ - } else ((void)0) -#else -#define PRMSG(lvl,x,a,b,c) if (lvl <= XTRANSDEBUG){ \ - int hack= 0, saveerrno=errno; \ - struct timeval tp;\ - gettimeofday(&tp,0); \ - fprintf(stderr, "%s",__xtransname); fflush(stderr); \ - fprintf(stderr, x+hack,a,b,c); fflush(stderr); \ - fprintf(stderr, "timestamp (ms): %d\n",tp.tv_sec*1000+tp.tv_usec/1000); \ - fflush(stderr); \ - errno=saveerrno; \ - } else ((void)0) -#endif /* XSERV_t && TRANS_SERVER */ -#else /* XTRANSDEBUGTIMESTAMP */ -#if defined(XSERV_t) && defined(TRANS_SERVER) -/* Use ErrorF() for the X server */ -#define PRMSG(lvl,x,a,b,c) if (lvl <= XTRANSDEBUG){ \ - int hack= 0, saveerrno=errno; \ - ErrorF("%s",__xtransname); \ - ErrorF(x+hack,a,b,c); \ - errno=saveerrno; \ - } else ((void)0) -#else -#define PRMSG(lvl,x,a,b,c) if (lvl <= XTRANSDEBUG){ \ - int hack= 0, saveerrno=errno; \ - fprintf(stderr, "%s",__xtransname); fflush(stderr); \ - fprintf(stderr, x+hack,a,b,c); fflush(stderr); \ - errno=saveerrno; \ - } else ((void)0) -#endif /* XSERV_t && TRANS_SERVER */ -#endif /* XTRANSDEBUGTIMESTAMP */ -#else -#define PRMSG(lvl,x,a,b,c) ((void)0) +# if defined(XSERV_t) && defined(TRANS_SERVER) +# include "os.h" +# else +static inline void _X_ATTRIBUTE_PRINTF(1, 0) +VErrorF(const char *f, va_list args) +{ + vfprintf(stderr, f, args); + fflush(stderr); +} + +static inline void _X_ATTRIBUTE_PRINTF(1, 2) +ErrorF(const char *f, ...) +{ + va_list args; + + va_start(args, f); + VErrorF(f, args); + va_end(args); +} +# endif /* xserver */ +#endif /* XTRANSDEBUG */ + +static inline void _X_ATTRIBUTE_PRINTF(2, 3) +prmsg(int lvl, const char *f, ...) +{ +#ifdef XTRANSDEBUG + va_list args; + + va_start(args, f); + if (lvl <= XTRANSDEBUG) { + int saveerrno = errno; + + ErrorF("%s", __xtransname); + VErrorF(f, args); + +# ifdef XTRANSDEBUGTIMESTAMP + { + struct timeval tp; + gettimeofday(&tp, 0); + ErrorF("timestamp (ms): %d\n", + tp.tv_sec * 1000 + tp.tv_usec / 1000); + } +# endif + errno = saveerrno; + } + va_end(args); #endif /* XTRANSDEBUG */ +} + +#endif /* XTRANS_TRANSPORT_C */ #endif /* _XTRANSINT_H_ */ diff --git a/nx-X11/lib/xtrans/Xtranslcl.c b/nx-X11/lib/xtrans/Xtranslcl.c index 7f726f3e7..74a5c5673 100644 --- a/nx-X11/lib/xtrans/Xtranslcl.c +++ b/nx-X11/lib/xtrans/Xtranslcl.c @@ -142,14 +142,14 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) if ((sunaddr = (struct sockaddr_un *) malloc (ciptr->addrlen)) == NULL) { - PRMSG(1,"FillAddrInfo: failed to allocate memory for addr\n", 0, 0, 0); + prmsg(1,"FillAddrInfo: failed to allocate memory for addr\n"); return 0; } sunaddr->sun_family = AF_UNIX; if (strlen(sun_path) > sizeof(sunaddr->sun_path) - 1) { - PRMSG(1, "FillAddrInfo: path too long\n", 0, 0, 0); + prmsg(1, "FillAddrInfo: path too long\n"); return 0; } strcpy (sunaddr->sun_path, sun_path); @@ -164,9 +164,8 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) if ((p_sunaddr = (struct sockaddr_un *) malloc ( ciptr->peeraddrlen)) == NULL) { - PRMSG(1, - "FillAddrInfo: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1, + "FillAddrInfo: failed to allocate memory for peer addr\n"); free ((char *) sunaddr); ciptr->addr = NULL; @@ -176,7 +175,7 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) p_sunaddr->sun_family = AF_UNIX; if (strlen(peer_sun_path) > sizeof(p_sunaddr->sun_path) - 1) { - PRMSG(1, "FillAddrInfo: peer path too long\n", 0, 0, 0); + prmsg(1, "FillAddrInfo: peer path too long\n"); return 0; } strcpy (p_sunaddr->sun_path, peer_sun_path); @@ -296,10 +295,10 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) pid_t saved_pid; #endif - PRMSG(2,"PTSOpenClient(%s)\n", port, 0,0 ); + prmsg(2,"PTSOpenClient(%s)\n", port); #if !defined(PTSNODENAME) - PRMSG(1,"PTSOpenClient: Protocol is not supported by a pts connection\n", 0,0,0); + prmsg(1,"PTSOpenClient: Protocol is not supported by a pts connection\n"); return -1; #else if (port && *port ) { @@ -318,7 +317,7 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) */ if ((server = open (server_path, O_RDWR)) < 0) { - PRMSG(1,"PTSOpenClient: failed to open %s\n", server_path, 0,0); + prmsg(1,"PTSOpenClient: failed to open %s\n", server_path); return -1; } @@ -328,7 +327,7 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) */ if ((fd = open(DEV_PTMX, O_RDWR)) < 0) { - PRMSG(1,"PTSOpenClient: failed to open %s\n", DEV_PTMX, 0,0); + prmsg(1,"PTSOpenClient: failed to open %s\n", DEV_PTMX); return(-1); } @@ -338,7 +337,7 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) slave = ptsname(fd); /* get name */ if( slave == NULL ) { - PRMSG(1,"PTSOpenClient: failed to get ptsname()\n", 0,0,0); + prmsg(1,"PTSOpenClient: failed to get ptsname()\n"); close(fd); close(server); return -1; @@ -371,14 +370,14 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) if (WIFEXITED(exitval) && WEXITSTATUS(exitval) != 0) { close(fd); close(server); - PRMSG(1, "PTSOpenClient: cannot set the owner of %s\n", - slave, 0, 0); + prmsg(1, "PTSOpenClient: cannot set the owner of %s\n", + slave); return(-1); } if (chmod(slave, 0666) < 0) { close(fd); close(server); - PRMSG(1,"PTSOpenClient: Cannot chmod %s\n", slave, 0,0); + prmsg(1,"PTSOpenClient: Cannot chmod %s\n", slave); return(-1); } @@ -405,8 +404,8 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) (void) signal(SIGALRM, savef); if (ret != 1) { - PRMSG(1, - "PTSOpenClient: failed to get acknoledgement from server\n", 0, 0, 0); + prmsg(1, + "PTSOpenClient: failed to get acknoledgement from server\n"); (void) close(fd); fd = -1; } @@ -417,7 +416,7 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) if (TRANS(FillAddrInfo) (ciptr, slave, server_path) == 0) { - PRMSG(1,"PTSOpenClient: failed to fill in addr info\n", 0, 0, 0); + prmsg(1,"PTSOpenClient: failed to fill in addr info\n"); close(fd); return -1; } @@ -442,10 +441,10 @@ TRANS(PTSOpenServer)(XtransConnInfo ciptr, char *port) int mode; #endif - PRMSG(2,"PTSOpenServer(%s)\n", port, 0,0 ); + prmsg(2,"PTSOpenServer(%s)\n", port); #if !defined(PTSNODENAME) - PRMSG(1,"PTSOpenServer: Protocol is not supported by a pts connection\n", 0,0,0); + prmsg(1,"PTSOpenServer: Protocol is not supported by a pts connection\n"); return -1; #else if (port && *port ) { @@ -464,8 +463,8 @@ TRANS(PTSOpenServer)(XtransConnInfo ciptr, char *port) mode = 0777; #endif if (trans_mkdir(X_STREAMS_DIR, mode) == -1) { - PRMSG (1, "PTSOpenServer: mkdir(%s) failed, errno = %d\n", - X_STREAMS_DIR, errno, 0); + prmsg (1, "PTSOpenServer: mkdir(%s) failed, errno = %d\n", + X_STREAMS_DIR, errno); return(-1); } @@ -476,8 +475,8 @@ TRANS(PTSOpenServer)(XtransConnInfo ciptr, char *port) * prevent clients from trying to connect to the in-use PTS (which * is often in use by something other than another server). */ - PRMSG(1, "PTSOpenServer: A server is already running on port %s\n", port, 0,0 ); - PRMSG(1, "PTSOpenServer: Remove %s if this is incorrect.\n", server_path, 0,0 ); + prmsg(1, "PTSOpenServer: A server is already running on port %s\n", port); + prmsg(1, "PTSOpenServer: Remove %s if this is incorrect.\n", server_path); close(fd); return(-1); } @@ -488,7 +487,7 @@ TRANS(PTSOpenServer)(XtransConnInfo ciptr, char *port) unlink(server_path); if( (fd=open(DEV_PTMX, O_RDWR)) < 0) { - PRMSG(1, "PTSOpenServer: Unable to open %s\n", DEV_PTMX, 0,0 ); + prmsg(1, "PTSOpenServer: Unable to open %s\n", DEV_PTMX); return(-1); } @@ -496,25 +495,25 @@ TRANS(PTSOpenServer)(XtransConnInfo ciptr, char *port) unlockpt(fd); if( (slave=ptsname(fd)) == NULL) { - PRMSG(1, "PTSOpenServer: Unable to get slave device name\n", 0,0,0 ); + prmsg(1, "PTSOpenServer: Unable to get slave device name\n"); close(fd); return(-1); } if( link(slave,server_path) < 0 ) { - PRMSG(1, "PTSOpenServer: Unable to link %s to %s\n", slave, server_path,0 ); + prmsg(1, "PTSOpenServer: Unable to link %s to %s\n", slave, server_path); close(fd); return(-1); } if( chmod(server_path, 0666) < 0 ) { - PRMSG(1, "PTSOpenServer: Unable to chmod %s to 0666\n", server_path,0,0 ); + prmsg(1, "PTSOpenServer: Unable to chmod %s to 0666\n", server_path); close(fd); return(-1); } if( (server=open(server_path, O_RDWR)) < 0 ) { - PRMSG(1, "PTSOpenServer: Unable to open server device %s\n", server_path,0,0 ); + prmsg(1, "PTSOpenServer: Unable to open server device %s\n", server_path); close(fd); return(-1); } @@ -527,7 +526,7 @@ TRANS(PTSOpenServer)(XtransConnInfo ciptr, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"PTSOpenServer: failed to fill in addr info\n", 0, 0, 0); + prmsg(1,"PTSOpenServer: failed to fill in addr info\n"); close(fd); return -1; } @@ -547,17 +546,17 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) char buf[256]; struct sockaddr_un *sunaddr; - PRMSG(2,"PTSAccept(%x->%d)\n",ciptr,ciptr->fd,0); + prmsg(2,"PTSAccept(%x->%d)\n",ciptr,ciptr->fd); if( (in=read(ciptr->fd,&length,1)) <= 0 ){ if( !in ) { - PRMSG(2, - "PTSAccept: Incoming connection closed\n",0,0,0); + prmsg(2, + "PTSAccept: Incoming connection closed\n"); } else { - PRMSG(1, + prmsg(1, "PTSAccept: Error reading incoming connection. errno=%d \n", - errno,0,0); + errno); } *status = TRANS_ACCEPT_MISC_ERROR; return -1; @@ -565,13 +564,13 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) if( (in=read(ciptr->fd,buf,length)) <= 0 ){ if( !in ) { - PRMSG(2, - "PTSAccept: Incoming connection closed\n",0,0,0); + prmsg(2, + "PTSAccept: Incoming connection closed\n"); } else { - PRMSG(1, + prmsg(1, "PTSAccept: Error reading device name for new connection. errno=%d \n", - errno,0,0); + errno); } *status = TRANS_ACCEPT_MISC_ERROR; return -1; @@ -580,7 +579,7 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) buf[length] = '\0'; if( (newfd=open(buf,O_RDWR)) < 0 ) { - PRMSG(1, "PTSAccept: Failed to open %s\n",buf,0,0); + prmsg(1, "PTSAccept: Failed to open %s\n",buf); *status = TRANS_ACCEPT_MISC_ERROR; return -1; } @@ -593,8 +592,7 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->addrlen=ciptr->addrlen; if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { - PRMSG(1,"PTSAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1,"PTSAccept: failed to allocate memory for peer addr\n"); close(newfd); *status = TRANS_ACCEPT_BAD_MALLOC; return -1; @@ -604,8 +602,7 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->peeraddrlen=sizeof(struct sockaddr_un); if( (sunaddr=(struct sockaddr_un *)malloc(newciptr->peeraddrlen)) == NULL ) { - PRMSG(1,"PTSAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1,"PTSAccept: failed to allocate memory for peer addr\n"); free(newciptr->addr); close(newfd); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -646,10 +643,10 @@ TRANS(NAMEDOpenClient)(XtransConnInfo ciptr, char *port) extern int isastream(); #endif - PRMSG(2,"NAMEDOpenClient(%s)\n", port, 0,0 ); + prmsg(2,"NAMEDOpenClient(%s)\n", port); #if !defined(NAMEDNODENAME) - PRMSG(1,"NAMEDOpenClient: Protocol is not supported by a NAMED connection\n", 0,0,0); + prmsg(1,"NAMEDOpenClient: Protocol is not supported by a NAMED connection\n"); return -1; #else if ( port && *port ) { @@ -663,23 +660,23 @@ TRANS(NAMEDOpenClient)(XtransConnInfo ciptr, char *port) } if (stat(server_path, &filestat) < 0 ) { - PRMSG(1,"NAMEDOpenClient: No device %s for NAMED connection\n", server_path, 0,0 ); + prmsg(1,"NAMEDOpenClient: No device %s for NAMED connection\n", server_path); return -1; } if ((filestat.st_mode & S_IFMT) != S_IFIFO) { - PRMSG(1,"NAMEDOpenClient: Device %s is not a FIFO\n", server_path, 0,0 ); + prmsg(1,"NAMEDOpenClient: Device %s is not a FIFO\n", server_path); /* Is this really a failure? */ return -1; } if ((fd = open(server_path, O_RDWR)) < 0) { - PRMSG(1,"NAMEDOpenClient: Cannot open %s for NAMED connection\n", server_path, 0,0 ); + prmsg(1,"NAMEDOpenClient: Cannot open %s for NAMED connection\n", server_path); return -1; } if (isastream(fd) <= 0) { - PRMSG(1,"NAMEDOpenClient: %s is not a streams device\n", server_path, 0,0 ); + prmsg(1,"NAMEDOpenClient: %s is not a streams device\n", server_path); (void) close(fd); return -1; } @@ -690,8 +687,7 @@ TRANS(NAMEDOpenClient)(XtransConnInfo ciptr, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"NAMEDOpenClient: failed to fill in addr info\n", - 0,0,0); + prmsg(1,"NAMEDOpenClient: failed to fill in addr info\n"); close(fd); return -1; } @@ -717,10 +713,10 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, char *port) int mode; #endif - PRMSG(2,"NAMEDOpenServer(%s)\n", port, 0,0 ); + prmsg(2,"NAMEDOpenServer(%s)\n", port); #if !defined(NAMEDNODENAME) - PRMSG(1,"NAMEDOpenServer: Protocol is not supported by a NAMED connection\n", 0,0,0); + prmsg(1,"NAMEDOpenServer: Protocol is not supported by a NAMED connection\n"); return -1; #else if ( port && *port ) { @@ -739,42 +735,42 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, char *port) mode = 0777; #endif if (trans_mkdir(X_STREAMS_DIR, mode) == -1) { - PRMSG (1, "NAMEDOpenServer: mkdir(%s) failed, errno = %d\n", - X_STREAMS_DIR, errno, 0); + prmsg (1, "NAMEDOpenServer: mkdir(%s) failed, errno = %d\n", + X_STREAMS_DIR, errno); return(-1); } if(stat(server_path, &sbuf) != 0) { if (errno == ENOENT) { if ((fd = creat(server_path, (mode_t)0666)) == -1) { - PRMSG(1, "NAMEDOpenServer: Can't open %s\n", server_path, 0,0 ); + prmsg(1, "NAMEDOpenServer: Can't open %s\n", server_path); return(-1); } close(fd); if (chmod(server_path, (mode_t)0666) < 0) { - PRMSG(1, "NAMEDOpenServer: Can't open %s\n", server_path, 0,0 ); + prmsg(1, "NAMEDOpenServer: Can't open %s\n", server_path); return(-1); } } else { - PRMSG(1, "NAMEDOpenServer: stat on %s failed\n", server_path, 0,0 ); + prmsg(1, "NAMEDOpenServer: stat on %s failed\n", server_path); return(-1); } } if( pipe(pipefd) != 0) { - PRMSG(1, "NAMEDOpenServer: pipe() failed, errno=%d\n",errno, 0,0 ); + prmsg(1, "NAMEDOpenServer: pipe() failed, errno=%d\n",errno); return(-1); } if( ioctl(pipefd[0], I_PUSH, "connld") != 0) { - PRMSG(1, "NAMEDOpenServer: ioctl(I_PUSH,\"connld\") failed, errno=%d\n",errno, 0,0 ); + prmsg(1, "NAMEDOpenServer: ioctl(I_PUSH,\"connld\") failed, errno=%d\n",errno); close(pipefd[0]); close(pipefd[1]); return(-1); } if( fattach(pipefd[0], server_path) != 0) { - PRMSG(1, "NAMEDOpenServer: fattach(%s) failed, errno=%d\n", server_path,errno, 0 ); + prmsg(1, "NAMEDOpenServer: fattach(%s) failed, errno=%d\n", server_path,errno); close(pipefd[0]); close(pipefd[1]); return(-1); @@ -786,7 +782,7 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"NAMEDOpenServer: failed to fill in addr info\n", 0,0,0); + prmsg(1,"NAMEDOpenServer: failed to fill in addr info\n"); return -1; } @@ -801,10 +797,10 @@ TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) { struct strrecvfd str; - PRMSG(2,"NAMEDAccept(%x->%d)\n", ciptr, ciptr->fd, 0 ); + prmsg(2,"NAMEDAccept(%x->%d)\n", ciptr, ciptr->fd); if( ioctl(ciptr->fd, I_RECVFD, &str ) < 0 ) { - PRMSG(1, "NAMEDAccept: ioctl(I_RECVFD) failed, errno=%d\n", errno, 0,0 ); + prmsg(1, "NAMEDAccept: ioctl(I_RECVFD) failed, errno=%d\n", errno); *status = TRANS_ACCEPT_MISC_ERROR; return(-1); } @@ -815,9 +811,8 @@ TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->addrlen=ciptr->addrlen; if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { - PRMSG(1, - "NAMEDAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1, + "NAMEDAccept: failed to allocate memory for peer addr\n"); close(str.fd); *status = TRANS_ACCEPT_BAD_MALLOC; return -1; @@ -827,9 +822,8 @@ TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->peeraddrlen=newciptr->addrlen; if( (newciptr->peeraddr=(char *)malloc(newciptr->peeraddrlen)) == NULL ) { - PRMSG(1, - "NAMEDAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1, + "NAMEDAccept: failed to allocate memory for peer addr\n"); free(newciptr->addr); close(str.fd); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -925,10 +919,10 @@ TRANS(ISCOpenClient)(XtransConnInfo ciptr, char *port) struct stat filestat; #endif - PRMSG(2,"ISCOpenClient(%s)\n", port, 0,0 ); + prmsg(2,"ISCOpenClient(%s)\n", port); #if !defined(ISCDEVNODENAME) - PRMSG(1,"ISCOpenClient: Protocol is not supported by a ISC connection\n", 0,0,0); + prmsg(1,"ISCOpenClient: Protocol is not supported by a ISC connection\n"); return -1; #else (void) sprintf(server_path, ISCTMPNODENAME, port); @@ -937,7 +931,7 @@ TRANS(ISCOpenClient)(XtransConnInfo ciptr, char *port) fd = fds = server = -1; if (stat(DEV_SPX, &filestat) == -1) { - PRMSG(1, "ISCOpenClient: stat(%s) failed, errno=%d\n", DEV_SPX, errno, 0 ); + prmsg(1, "ISCOpenClient: stat(%s) failed, errno=%d\n", DEV_SPX, errno); return(-1); } @@ -946,8 +940,8 @@ TRANS(ISCOpenClient)(XtransConnInfo ciptr, char *port) if (stat(server_path, &filestat) != -1) { if ((filestat.st_mode & S_IFMT) == spmode) { if ((server = open(server_path, O_RDWR)) < 0) { - PRMSG(1,"ISCOpenClient: failed to open %s\n", - server_path, 0,0 ); + prmsg(1,"ISCOpenClient: failed to open %s\n", + server_path); } } } @@ -957,23 +951,23 @@ TRANS(ISCOpenClient)(XtransConnInfo ciptr, char *port) if (stat(server_dev_path, &filestat) != -1) { if ((filestat.st_mode & S_IFMT) == spmode) { if ((server = open(server_dev_path, O_RDWR)) < 0) { - PRMSG(1,"ISCOpenClient: failed to open %s\n", - server_dev_path, 0,0 ); + prmsg(1,"ISCOpenClient: failed to open %s\n", + server_dev_path); } } } } if (server < 0) { - PRMSG(1,"ISCOpenClient: can't open either device %s or %s\n", - server_path, server_dev_path, 0 ); + prmsg(1,"ISCOpenClient: can't open either device %s or %s\n", + server_path, server_dev_path); return -1; } if ((fds = open(DEV_SPX, O_RDWR)) < 0 || (fd = open(DEV_SPX, O_RDWR)) < 0) { /* Failed to open all of the devices */ - PRMSG(1,"ISCOpenClient: can't open %s\n", DEV_SPX, 0,0 ); + prmsg(1,"ISCOpenClient: can't open %s\n", DEV_SPX); (void) close(server); if (fds != -1) (void) close(fds); @@ -996,8 +990,7 @@ TRANS(ISCOpenClient)(XtransConnInfo ciptr, char *port) if (ioctl(fds, I_FDINSERT, &buf) < 0 || ioctl(server, I_SENDFD, fds) < 0) { - PRMSG(1,"ISCOpenClient: ioctl(I_FDINSERT or I_SENDFD) failed\n", - 0,0,0 ); + prmsg(1,"ISCOpenClient: ioctl(I_FDINSERT or I_SENDFD) failed\n"); (void) close(server); (void) close(fds); (void) close(fd); @@ -1010,7 +1003,7 @@ TRANS(ISCOpenClient)(XtransConnInfo ciptr, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"ISCOpenClient: failed to fill in addr info\n", 0, 0, 0); + prmsg(1,"ISCOpenClient: failed to fill in addr info\n"); close(fd); return -1; } @@ -1035,10 +1028,10 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) unsigned int mode = 0; #endif - PRMSG(2,"ISCOpenServer(%s)\n", port, 0,0 ); + prmsg(2,"ISCOpenServer(%s)\n", port); #if !defined(ISCDEVNODENAME) - PRMSG(1,"ISCOpenServer: Protocol is not supported by a ISC connection\n", 0,0,0); + prmsg(1,"ISCOpenServer: Protocol is not supported by a ISC connection\n"); return -1; #else (void) sprintf(server_path, ISCDEVNODENAME, port); @@ -1052,14 +1045,14 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) /* "/dev/X" */ if (trans_mkdir(X_STREAMS_DIR, mode) == -1) { - PRMSG (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", - X_STREAMS_DIR, errno, 0); + prmsg (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", + X_STREAMS_DIR, errno); return(-1); } /* "/dev/X/ISCCONN" */ if (trans_mkdir(X_ISC_DIR, mode) == -1) { - PRMSG (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", - X_ISC_DIR, errno, 0); + prmsg (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", + X_ISC_DIR, errno); return(-1); } @@ -1067,13 +1060,13 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) if( ((fds=open(DEV_SPX, O_RDWR)) < 0) || ((fd =open(DEV_SPX, O_RDWR)) < 0)) { - PRMSG(1,"ISCOpenServer: failed to open %s\n", DEV_SPX, 0,0 ); + prmsg(1,"ISCOpenServer: failed to open %s\n", DEV_SPX); return -1; } if( (connect_spipe(fds, fd) < 0) || (named_spipe(fds, server_path) < 0)) { - PRMSG(1,"ISCOpenServer: failed connect pipes\n", 0,0,0 ); + prmsg(1,"ISCOpenServer: failed connect pipes\n"); close(fd); close(fds); return -1; @@ -1087,8 +1080,8 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) #define X_UNIX_DIR "/tmp/.X11-unix" if (trans_mkdir(X_UNIX_DIR, mode) == -1) { - PRMSG (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", - X_UNIX_DIR, errno, 0); + prmsg (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", + X_UNIX_DIR, errno); return(-1); } @@ -1097,8 +1090,8 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) #ifdef SVR4 /* we prefer symbolic links because hard links can't cross file systems */ if( symlink(server_path, server_unix_path) < 0 ) - PRMSG(1,"ISCOpenServer: failed to link %s to %s\n", - server_path, server_unix_path, 0 ); + prmsg(1,"ISCOpenServer: failed to link %s to %s\n", + server_path, server_unix_path); /* * Don't make this failure fatal since the listener * is already established, and this just for compatability @@ -1112,8 +1105,8 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) #ifdef ISC40 if( symlink(server_path, server_unix_path) < 0 ) #endif - PRMSG(1,"ISCOpenServer: failed to link %s to %s\n", - server_path, server_unix_path, 0 ); + prmsg(1,"ISCOpenServer: failed to link %s to %s\n", + server_path, server_unix_path); /* * Don't make this failure fatal since the listener * is already established, and this just for compatability @@ -1127,7 +1120,7 @@ TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"ISCOpenServer: failed to fill in addr info\n", 0, 0, 0); + prmsg(1,"ISCOpenServer: failed to fill in addr info\n"); close(fd); return -1; } @@ -1143,11 +1136,11 @@ TRANS(ISCAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) { struct strrecvfd str; - PRMSG(2,"ISCAccept(%d)\n", ciptr->fd, 0,0 ); + prmsg(2,"ISCAccept(%d)\n", ciptr->fd); while (ioctl(ciptr->fd, I_RECVFD, &str) < 0) { if (errno != EAGAIN) { - PRMSG(1,"ISCAccept: Can't read fildes", 0,0,0 ); + prmsg(1,"ISCAccept: Can't read fildes"); *status = TRANS_ACCEPT_MISC_ERROR; return(-1); } @@ -1159,9 +1152,8 @@ TRANS(ISCAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->addrlen=ciptr->addrlen; if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { - PRMSG(1, - "ISCAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1, + "ISCAccept: failed to allocate memory for peer addr\n"); close(str.fd); *status = TRANS_ACCEPT_BAD_MALLOC; return -1; @@ -1171,9 +1163,8 @@ TRANS(ISCAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->peeraddrlen=newciptr->addrlen; if( (newciptr->peeraddr=(char *)malloc(newciptr->peeraddrlen)) == NULL ) { - PRMSG(1, - "ISCAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1, + "ISCAccept: failed to allocate memory for peer addr\n"); free(newciptr->addr); close(str.fd); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -1223,23 +1214,23 @@ TRANS(SCOOpenClient)(XtransConnInfo ciptr, char *port) extern int getmsg(), putmsg(); #endif - PRMSG(2,"SCOOpenClient(%s)\n", port, 0,0 ); + prmsg(2,"SCOOpenClient(%s)\n", port); if (!port || !port[0]) port = "0"; #if !defined(SCORNODENAME) - PRMSG(2,"SCOOpenClient: Protocol is not supported by a SCO connection\n", 0,0,0); + prmsg(2,"SCOOpenClient: Protocol is not supported by a SCO connection\n"); return -1; #else (void) sprintf(server_path, SCORNODENAME, port); if ((server = open(server_path, O_RDWR)) < 0) { - PRMSG(1,"SCOOpenClient: failed to open %s\n", server_path, 0,0 ); + prmsg(1,"SCOOpenClient: failed to open %s\n", server_path); return -1; } if ((fd = open(DEV_SPX, O_RDWR)) < 0) { - PRMSG(1,"SCOOpenClient: failed to open %s\n", DEV_SPX, 0,0 ); + prmsg(1,"SCOOpenClient: failed to open %s\n", DEV_SPX); close(server); return -1; } @@ -1259,7 +1250,7 @@ TRANS(SCOOpenClient)(XtransConnInfo ciptr, char *port) (void) signal(SIGALRM, savef); if (ret < 0) { - PRMSG(1,"SCOOpenClient: error from getmsg\n", 0,0,0 ); + prmsg(1,"SCOOpenClient: error from getmsg\n"); close(fd); close(server); return -1; @@ -1283,7 +1274,7 @@ TRANS(SCOOpenClient)(XtransConnInfo ciptr, char *port) #endif if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"SCOOpenClient: failed to fill addr info\n", 0, 0, 0); + prmsg(1,"SCOOpenClient: failed to fill addr info\n"); close(fd); return -1; } @@ -1309,12 +1300,12 @@ TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) int fds = -1; #endif - PRMSG(2,"SCOOpenServer(%s)\n", port, 0,0 ); + prmsg(2,"SCOOpenServer(%s)\n", port); if (!port || !port[0]) port = "0"; #if !defined(SCORNODENAME) - PRMSG(1,"SCOOpenServer: Protocol is not supported by a SCO connection\n", 0,0,0); + prmsg(1,"SCOOpenServer: Protocol is not supported by a SCO connection\n"); return -1; #else (void) sprintf(serverR_path, SCORNODENAME, port); @@ -1326,19 +1317,19 @@ TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) if ((fds = open(DEV_SPX, O_RDWR)) < 0 || (fdr = open(DEV_SPX, O_RDWR)) < 0 ) { - PRMSG(1,"SCOOpenServer: failed to open %s\n", DEV_SPX, 0,0 ); + prmsg(1,"SCOOpenServer: failed to open %s\n", DEV_SPX); return -1; } if (named_spipe (fds, serverS_path) == -1) { - PRMSG(1,"SCOOpenServer: failed to create %s\n", serverS_path, 0, 0); + prmsg(1,"SCOOpenServer: failed to create %s\n", serverS_path); close (fdr); close (fds); return -1; } if (named_spipe (fdr, serverR_path) == -1) { - PRMSG(1,"SCOOpenServer: failed to create %s\n", serverR_path, 0, 0); + prmsg(1,"SCOOpenServer: failed to create %s\n", serverR_path); close (fdr); close (fds); return -1; @@ -1347,7 +1338,7 @@ TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) fds = open (serverS_path, O_RDWR | O_NDELAY); if (fds < 0) { - PRMSG(1,"SCOOpenServer: failed to open %s\n", serverS_path, 0, 0); + prmsg(1,"SCOOpenServer: failed to open %s\n", serverS_path); return -1; } @@ -1360,22 +1351,22 @@ TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) mylock.l_start = 0; mylock.l_len = 0; if (fcntl (fds, F_SETLK, &mylock) < 0) { - PRMSG(1,"SCOOpenServer: failed to lock %s\n", serverS_path, 0, 0); + prmsg(1,"SCOOpenServer: failed to lock %s\n", serverS_path); close (fds); return -1; } fdr = open (serverR_path, O_RDWR | O_NDELAY); if (fds < 0) { - PRMSG(1,"SCOOpenServer: failed to open %s\n", serverR_path, 0, 0); + prmsg(1,"SCOOpenServer: failed to open %s\n", serverR_path); close (fds); return -1; } #endif /* X11_t */ if (connect_spipe(fds, fdr)) { - PRMSG(1,"SCOOpenServer: ioctl(I_FDINSERT) failed on %s\n", - serverS_path, 0, 0); + prmsg(1,"SCOOpenServer: ioctl(I_FDINSERT) failed on %s\n", + serverS_path); close (fdr); close (fds); return -1; @@ -1389,7 +1380,7 @@ TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) ciptr->flags |= TRANS_NOUNLINK; #endif if (TRANS(FillAddrInfo) (ciptr, serverS_path, serverR_path) == 0) { - PRMSG(1,"SCOOpenServer: failed to fill in addr info\n", 0,0,0); + prmsg(1,"SCOOpenServer: failed to fill in addr info\n"); close(fds); close(fdr); return -1; @@ -1406,22 +1397,22 @@ TRANS(SCOAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) char c; int fd; - PRMSG(2,"SCOAccept(%d)\n", ciptr->fd, 0,0 ); + prmsg(2,"SCOAccept(%d)\n", ciptr->fd); if (read(ciptr->fd, &c, 1) < 0) { - PRMSG(1,"SCOAccept: can't read from client\n",0,0,0); + prmsg(1,"SCOAccept: can't read from client\n"); *status = TRANS_ACCEPT_MISC_ERROR; return(-1); } if( (fd = open(DEV_SPX, O_RDWR)) < 0 ) { - PRMSG(1,"SCOAccept: can't open \"%s\"\n",DEV_SPX, 0,0 ); + prmsg(1,"SCOAccept: can't open \"%s\"\n",DEV_SPX); *status = TRANS_ACCEPT_MISC_ERROR; return(-1); } if (connect_spipe (ciptr->fd, fd) < 0) { - PRMSG(1,"SCOAccept: ioctl(I_FDINSERT) failed\n", 0, 0, 0); + prmsg(1,"SCOAccept: ioctl(I_FDINSERT) failed\n"); close (fd); *status = TRANS_ACCEPT_MISC_ERROR; return -1; @@ -1433,9 +1424,8 @@ TRANS(SCOAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->addrlen=ciptr->addrlen; if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { - PRMSG(1, - "SCOAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1, + "SCOAccept: failed to allocate memory for peer addr\n"); close(fd); *status = TRANS_ACCEPT_BAD_MALLOC; return -1; @@ -1448,9 +1438,8 @@ TRANS(SCOAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) newciptr->peeraddrlen=newciptr->addrlen; if( (newciptr->peeraddr=(char *)malloc(newciptr->peeraddrlen)) == NULL ) { - PRMSG(1, - "SCOAccept: failed to allocate memory for peer addr\n", - 0,0,0); + prmsg(1, + "SCOAccept: failed to allocate memory for peer addr\n"); free(newciptr->addr); close(fd); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -1480,10 +1469,10 @@ TRANS(PTSReopenServer)(XtransConnInfo ciptr, int fd, char *port) char server_path[64]; #endif - PRMSG(2,"PTSReopenServer(%d,%s)\n", fd, port, 0 ); + prmsg(2,"PTSReopenServer(%d,%s)\n", fd, port); #if !defined(PTSNODENAME) - PRMSG(1,"PTSReopenServer: Protocol is not supported by a pts connection\n", 0,0,0); + prmsg(1,"PTSReopenServer: Protocol is not supported by a pts connection\n"); return 0; #else if (port && *port ) { @@ -1498,8 +1487,7 @@ TRANS(PTSReopenServer)(XtransConnInfo ciptr, int fd, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"PTSReopenServer: failed to fill in addr info\n", - 0,0,0); + prmsg(1,"PTSReopenServer: failed to fill in addr info\n"); return 0; } @@ -1518,10 +1506,10 @@ TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd, char *port) char server_path[64]; #endif - PRMSG(2,"NAMEDReopenServer(%s)\n", port, 0,0 ); + prmsg(2,"NAMEDReopenServer(%s)\n", port); #if !defined(NAMEDNODENAME) - PRMSG(1,"NAMEDReopenServer: Protocol is not supported by a NAMED connection\n", 0,0,0); + prmsg(1,"NAMEDReopenServer: Protocol is not supported by a NAMED connection\n"); return 0; #else if ( port && *port ) { @@ -1536,8 +1524,7 @@ TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1,"NAMEDReopenServer: failed to fill in addr info\n", - 0,0,0); + prmsg(1,"NAMEDReopenServer: failed to fill in addr info\n"); return 0; } @@ -1556,10 +1543,10 @@ TRANS(ISCReopenServer)(XtransConnInfo ciptr, int fd, char *port) char server_path[64], server_unix_path[64]; #endif - PRMSG(2,"ISCReopenServer(%s)\n", port, 0,0 ); + prmsg(2,"ISCReopenServer(%s)\n", port); #if !defined(ISCDEVNODENAME) - PRMSG(1,"ISCReopenServer: Protocol is not supported by a ISC connection\n", 0,0,0); + prmsg(1,"ISCReopenServer: Protocol is not supported by a ISC connection\n"); return 0; #else (void) sprintf(server_path, ISCDEVNODENAME, port); @@ -1567,7 +1554,7 @@ TRANS(ISCReopenServer)(XtransConnInfo ciptr, int fd, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { - PRMSG(1, "ISCReopenServer: failed to fill in addr info\n", 0,0,0); + prmsg(1, "ISCReopenServer: failed to fill in addr info\n"); return 0; } @@ -1585,12 +1572,12 @@ TRANS(SCOReopenServer)(XtransConnInfo ciptr, int fd, char *port) char serverR_path[64], serverS_path[64]; #endif - PRMSG(2,"SCOReopenServer(%s)\n", port, 0,0 ); + prmsg(2,"SCOReopenServer(%s)\n", port); if (!port || !port[0]) port = "0"; #if !defined(SCORNODENAME) - PRMSG(2,"SCOReopenServer: Protocol is not supported by a SCO connection\n", 0,0,0); + prmsg(2,"SCOReopenServer: Protocol is not supported by a SCO connection\n"); return 0; #else (void) sprintf(serverR_path, SCORNODENAME, port); @@ -1601,7 +1588,7 @@ TRANS(SCOReopenServer)(XtransConnInfo ciptr, int fd, char *port) #endif if (TRANS(FillAddrInfo) (ciptr, serverS_path, serverR_path) == 0) { - PRMSG(1, "SCOReopenServer: failed to fill in addr info\n", 0,0,0); + prmsg(1, "SCOReopenServer: failed to fill in addr info\n"); return 0; } @@ -1886,7 +1873,7 @@ static void TRANS(LocalInitTransports)(char *protocol) { - PRMSG(3,"LocalInitTransports(%s)\n", protocol, 0,0 ); + prmsg(3,"LocalInitTransports(%s)\n", protocol); if( strcmp(protocol,"local") && strcmp(protocol,"LOCAL") ) { @@ -1908,7 +1895,7 @@ static void TRANS(LocalEndTransports)(void) { - PRMSG(3,"LocalEndTransports()\n", 0,0,0 ); + prmsg(3,"LocalEndTransports()\n"); free(freeXLOCAL); } @@ -1923,7 +1910,7 @@ TRANS(LocalGetNextTransport)(void) int i,j; char *typetocheck; char typebuf[TYPEBUFSIZE]; - PRMSG(3,"LocalGetNextTransport()\n", 0,0,0 ); + prmsg(3,"LocalGetNextTransport()\n"); while(1) { @@ -2003,7 +1990,7 @@ TRANS(LocalOpenClient)(int type, char *protocol, char *host, char *port) XtransConnInfo ciptr; int index; - PRMSG(3,"LocalOpenClient()\n", 0,0,0 ); + prmsg(3,"LocalOpenClient()\n"); /* * Make sure 'host' is really local. If not, we return failure. @@ -2015,9 +2002,9 @@ TRANS(LocalOpenClient)(int type, char *protocol, char *host, char *port) if (strcmp (host, "unix") != 0 && !HostReallyLocal (host)) { - PRMSG (1, + prmsg (1, "LocalOpenClient: Cannot connect to non-local host %s\n", - host, 0, 0); + host); return NULL; } @@ -2036,8 +2023,8 @@ TRANS(LocalOpenClient)(int type, char *protocol, char *host, char *port) if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) { - PRMSG(1,"LocalOpenClient: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); + prmsg(1,"LocalOpenClient: calloc(1,%d) failed\n", + sizeof(struct _XtransConnInfo)); return NULL; } @@ -2059,14 +2046,13 @@ TRANS(LocalOpenClient)(int type, char *protocol, char *host, char *port) break; case XTRANS_OPEN_COTS_SERVER: case XTRANS_OPEN_CLTS_SERVER: - PRMSG(1, - "LocalOpenClient: Should not be opening a server with this function\n", - 0,0,0); + prmsg(1, + "LocalOpenClient: Should not be opening a server with this function\n"); break; default: - PRMSG(1, + prmsg(1, "LocalOpenClient: Unknown Open type %d\n", - type, 0,0 ); + type); } if( ciptr->fd >= 0 ) break; @@ -2098,7 +2084,7 @@ TRANS(LocalOpenServer)(int type, char *protocol, char *host, char *port) int i; XtransConnInfo ciptr; - PRMSG(2,"LocalOpenServer(%d,%s,%s)\n", type, protocol, port); + prmsg(2,"LocalOpenServer(%d,%s,%s)\n", type, protocol, port); #if defined(X11_t) /* @@ -2111,8 +2097,8 @@ TRANS(LocalOpenServer)(int type, char *protocol, char *host, char *port) if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) { - PRMSG(1,"LocalOpenServer: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); + prmsg(1,"LocalOpenServer: calloc(1,%d) failed\n", + sizeof(struct _XtransConnInfo)); return NULL; } @@ -2124,9 +2110,8 @@ TRANS(LocalOpenServer)(int type, char *protocol, char *host, char *port) { case XTRANS_OPEN_COTS_CLIENT: case XTRANS_OPEN_CLTS_CLIENT: - PRMSG(1, - "LocalOpenServer: Should not be opening a client with this function\n", - 0,0,0); + prmsg(1, + "LocalOpenServer: Should not be opening a client with this function\n"); break; case XTRANS_OPEN_COTS_SERVER: ciptr->fd=LOCALtrans2devtab[i].devcotsopenserver(ciptr,port); @@ -2135,8 +2120,8 @@ TRANS(LocalOpenServer)(int type, char *protocol, char *host, char *port) ciptr->fd=LOCALtrans2devtab[i].devcltsopenserver(ciptr,port); break; default: - PRMSG(1,"LocalOpenServer: Unknown Open type %d\n", - type ,0,0); + prmsg(1,"LocalOpenServer: Unknown Open type %d\n", + type ); } if( ciptr->fd >= 0 ) { ciptr->priv=(char *)&LOCALtrans2devtab[i]; @@ -2162,12 +2147,12 @@ TRANS(LocalReopenServer)(int type, int index, int fd, char *port) XtransConnInfo ciptr; int stat = 0; - PRMSG(2,"LocalReopenServer(%d,%d,%d)\n", type, index, fd); + prmsg(2,"LocalReopenServer(%d,%d,%d)\n", type, index, fd); if( (ciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo))) == NULL ) { - PRMSG(1,"LocalReopenServer: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); + prmsg(1,"LocalReopenServer: calloc(1,%d) failed\n", + sizeof(struct _XtransConnInfo)); return NULL; } @@ -2182,8 +2167,8 @@ TRANS(LocalReopenServer)(int type, int index, int fd, char *port) stat = LOCALtrans2devtab[index].devcltsreopenserver(ciptr,fd,port); break; default: - PRMSG(1,"LocalReopenServer: Unknown Open type %d\n", - type ,0,0); + prmsg(1,"LocalReopenServer: Unknown Open type %d\n", + type ); } if( stat > 0 ) { @@ -2212,7 +2197,7 @@ TRANS(LocalOpenCOTSClient)(Xtransport *thistrans, char *protocol, char *host, char *port) { - PRMSG(2,"LocalOpenCOTSClient(%s,%s,%s)\n",protocol,host,port); + prmsg(2,"LocalOpenCOTSClient(%s,%s,%s)\n",protocol,host,port); return TRANS(LocalOpenClient)(XTRANS_OPEN_COTS_CLIENT, protocol, host, port); } @@ -2231,7 +2216,7 @@ TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, char *protocol, int found = 0; char typebuf[TYPEBUFSIZE]; - PRMSG(2,"LocalOpenCOTSServer(%s,%s,%s)\n",protocol,host,port); + prmsg(2,"LocalOpenCOTSServer(%s,%s,%s)\n",protocol,host,port); /* Check if this local type is in the XLOCAL list */ TRANS(LocalInitTransports)("local"); @@ -2253,7 +2238,7 @@ TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, char *protocol, TRANS(LocalEndTransports)(); if (!found) { - PRMSG(3,"LocalOpenCOTSServer: disabling %s\n",thistrans->TransName,0,0); + prmsg(3,"LocalOpenCOTSServer: disabling %s\n",thistrans->TransName); thistrans->flags |= TRANS_DISABLED; return NULL; } @@ -2271,7 +2256,7 @@ TRANS(LocalOpenCLTSClient)(Xtransport *thistrans, char *protocol, char *host, char *port) { - PRMSG(2,"LocalOpenCLTSClient(%s,%s,%s)\n",protocol,host,port); + prmsg(2,"LocalOpenCLTSClient(%s,%s,%s)\n",protocol,host,port); return TRANS(LocalOpenClient)(XTRANS_OPEN_CLTS_CLIENT, protocol, host, port); } @@ -2286,7 +2271,7 @@ TRANS(LocalOpenCLTSServer)(Xtransport *thistrans, char *protocol, char *host, char *port) { - PRMSG(2,"LocalOpenCLTSServer(%s,%s,%s)\n",protocol,host,port); + prmsg(2,"LocalOpenCLTSServer(%s,%s,%s)\n",protocol,host,port); return TRANS(LocalOpenServer)(XTRANS_OPEN_CLTS_SERVER, protocol, host, port); } @@ -2302,7 +2287,7 @@ TRANS(LocalReopenCOTSServer)(Xtransport *thistrans, int fd, char *port) { int index; - PRMSG(2,"LocalReopenCOTSServer(%d,%s)\n", fd, port, 0); + prmsg(2,"LocalReopenCOTSServer(%d,%s)\n", fd, port); for(index=1;indexfd,option,arg); + prmsg(2,"LocalSetOption(%d,%d,%d)\n",ciptr->fd,option,arg); return -1; } @@ -2364,7 +2349,7 @@ static int TRANS(LocalCreateListener)(XtransConnInfo ciptr, char *port, unsigned int flags) { - PRMSG(2,"LocalCreateListener(%x->%d,%s)\n",ciptr,ciptr->fd,port); + prmsg(2,"LocalCreateListener(%x->%d,%s)\n",ciptr,ciptr->fd,port); return 0; } @@ -2376,14 +2361,14 @@ TRANS(LocalAccept)(XtransConnInfo ciptr, int *status) XtransConnInfo newciptr; LOCALtrans2dev *transptr; - PRMSG(2,"LocalAccept(%x->%d)\n", ciptr, ciptr->fd,0); + prmsg(2,"LocalAccept(%x->%d)\n", ciptr, ciptr->fd); transptr=(LOCALtrans2dev *)ciptr->priv; if( (newciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo)))==NULL ) { - PRMSG(1,"LocalAccept: calloc(1,%d) failed\n", - sizeof(struct _XtransConnInfo),0,0 ); + prmsg(1,"LocalAccept: calloc(1,%d) failed\n", + sizeof(struct _XtransConnInfo)); *status = TRANS_ACCEPT_BAD_MALLOC; return NULL; } @@ -2413,7 +2398,7 @@ static int TRANS(LocalConnect)(XtransConnInfo ciptr, char *host, char *port) { - PRMSG(2,"LocalConnect(%x->%d,%s)\n", ciptr, ciptr->fd, port); + prmsg(2,"LocalConnect(%x->%d,%s)\n", ciptr, ciptr->fd, port); return 0; } @@ -2425,7 +2410,7 @@ static int TRANS(LocalBytesReadable)(XtransConnInfo ciptr, BytesReadable_t *pend ) { - PRMSG(2,"LocalBytesReadable(%x->%d,%x)\n", ciptr, ciptr->fd, pend); + prmsg(2,"LocalBytesReadable(%x->%d,%x)\n", ciptr, ciptr->fd, pend); #if defined(ISC) || defined(SCO325) return ioctl(ciptr->fd, I_NREAD, (char *)pend); @@ -2438,7 +2423,7 @@ static int TRANS(LocalRead)(XtransConnInfo ciptr, char *buf, int size) { - PRMSG(2,"LocalRead(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalRead(%d,%x,%d)\n", ciptr->fd, buf, size ); return read(ciptr->fd,buf,size); } @@ -2447,7 +2432,7 @@ static int TRANS(LocalWrite)(XtransConnInfo ciptr, char *buf, int size) { - PRMSG(2,"LocalWrite(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalWrite(%d,%x,%d)\n", ciptr->fd, buf, size ); return write(ciptr->fd,buf,size); } @@ -2456,7 +2441,7 @@ static int TRANS(LocalReadv)(XtransConnInfo ciptr, struct iovec *buf, int size) { - PRMSG(2,"LocalReadv(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalReadv(%d,%x,%d)\n", ciptr->fd, buf, size ); return READV(ciptr,buf,size); } @@ -2465,7 +2450,7 @@ static int TRANS(LocalWritev)(XtransConnInfo ciptr, struct iovec *buf, int size) { - PRMSG(2,"LocalWritev(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalWritev(%d,%x,%d)\n", ciptr->fd, buf, size ); return WRITEV(ciptr,buf,size); } @@ -2474,7 +2459,7 @@ static int TRANS(LocalDisconnect)(XtransConnInfo ciptr) { - PRMSG(2,"LocalDisconnect(%x->%d)\n", ciptr, ciptr->fd, 0); + prmsg(2,"LocalDisconnect(%x->%d)\n", ciptr, ciptr->fd); return 0; } @@ -2486,7 +2471,7 @@ TRANS(LocalClose)(XtransConnInfo ciptr) struct sockaddr_un *sockname=(struct sockaddr_un *) ciptr->addr; int ret; - PRMSG(2,"LocalClose(%x->%d)\n", ciptr, ciptr->fd ,0); + prmsg(2,"LocalClose(%x->%d)\n", ciptr, ciptr->fd ); ret=close(ciptr->fd); @@ -2508,7 +2493,7 @@ TRANS(LocalCloseForCloning)(XtransConnInfo ciptr) { int ret; - PRMSG(2,"LocalCloseForCloning(%x->%d)\n", ciptr, ciptr->fd ,0); + prmsg(2,"LocalCloseForCloning(%x->%d)\n", ciptr, ciptr->fd ); /* Don't unlink path */ diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index a84255988..ae00776e4 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -345,7 +345,7 @@ void TRANS(SocketRejectConnection) (XtransConnInfo ciptr) struct timeval t; int f; - PRMSG (3, "SocketRejectConnection(%x)\n", ciptr, 0, 0); + prmsg (3, "SocketRejectConnection(%x)\n", ciptr); FD_ZERO(&fs); FD_SET(ciptr -> fd, &fs); @@ -404,7 +404,7 @@ static XtransConnInfo TRANS(SocketCreateConnInfo) () if ((ciptr = (XtransConnInfo) calloc (1, sizeof(struct _XtransConnInfo))) == NULL) { - PRMSG (1, "SocketCreateConnInfo: malloc failed\n", 0, 0, 0); + prmsg (1, "SocketCreateConnInfo: malloc failed\n"); return NULL; } @@ -419,7 +419,7 @@ static XtransConnInfo TRANS(SocketCreateConnInfo) () if (socketpair(PF_LOCAL, SOCK_STREAM, 0, fds) < 0) { - PRMSG (1, "SocketCreateConnInfo: socketpair() failed.\n", 0, 0, 0); + prmsg (1, "SocketCreateConnInfo: socketpair() failed.\n"); free ((char *) ciptr); return NULL; } @@ -442,15 +442,15 @@ static XtransConnInfo TRANS(SocketCreateConnInfo) () if (ciptr->fd >= NX_PROXY_CONN_LIMIT) { - PRMSG (1, "SocketCreateConnInfo: No space for a new _NXProxyConnInfo for [%d].\n", - ciptr->fd, 0, 0); + prmsg (1, "SocketCreateConnInfo: No space for a new _NXProxyConnInfo for [%d].\n", + ciptr->fd); free ((char *) ciptr); return NULL; } else if (_NXProxyConnInfoTab[ciptr->fd] != NULL) { - PRMSG (1, "SocketCreateConnInfo: _NXProxyConnInfo for [%d] is not NULL. Exiting.\n", - ciptr->fd, 0, 0); + prmsg (1, "SocketCreateConnInfo: _NXProxyConnInfo for [%d] is not NULL. Exiting.\n", + ciptr->fd); exit(1); } @@ -458,7 +458,7 @@ static XtransConnInfo TRANS(SocketCreateConnInfo) () if (_NXProxyConnInfoTab[ciptr->fd] == NULL) { - PRMSG (1, "SocketCreateConnInfo: Alloc of _NXProxyConnInfo failed.\n", 0, 0, 0); + prmsg (1, "SocketCreateConnInfo: Alloc of _NXProxyConnInfo failed.\n"); free ((char *) ciptr); return NULL; } @@ -498,21 +498,20 @@ static int TRANS(SocketConnectConnInfo) (XtransConnInfo ciptr, char *host, char if (proxy_conn == NULL) { - PRMSG (1, "SocketConnectConnInfo: Pointer to _NXProxyConnInfo is NULL. Exiting.\n", 0, 0, 0); + prmsg (1, "SocketConnectConnInfo: Pointer to _NXProxyConnInfo is NULL. Exiting.\n"); exit(1); } else if (_NXProxyConnInfoTab[ciptr->fd] != (_NXProxyConnInfo *) ciptr->priv) { - PRMSG (1, "SocketConnectConnInfo: Can't find _NXProxyConnInfo in table. Exiting.\n", - 0, 0, 0); + prmsg (1, "SocketConnectConnInfo: Can't find _NXProxyConnInfo in table. Exiting.\n"); exit(1); } if (strlen(host) + strlen(port) + 1 >= 1023) { - PRMSG (1, "SocketConnectConnInfo: Length of NX display string '%s:%s' would exceed %d characters.\n", + prmsg (1, "SocketConnectConnInfo: Length of NX display string '%s:%s' would exceed %d characters.\n", host, port, 1023); return TRANS_CONNECT_FAILED; @@ -533,8 +532,8 @@ static int TRANS(SocketConnectConnInfo) (XtransConnInfo ciptr, char *host, char #endif #endif { - PRMSG (1, "SocketConnectConnInfo: Cannot set close-on-exec on local NX descriptor [%d].\n", - proxy_conn -> local, 0, 0); + prmsg (1, "SocketConnectConnInfo: Cannot set close-on-exec on local NX descriptor [%d].\n", + proxy_conn -> local); return TRANS_CONNECT_FAILED; } @@ -546,8 +545,7 @@ static int TRANS(SocketConnectConnInfo) (XtransConnInfo ciptr, char *host, char if (NXTransCreate(NX_FD_ANY, NX_MODE_CLIENT, display) < 0) { - PRMSG (1, "SocketConnectConnInfo: Cannot create the NX transport.\n", - 0, 0, 0); + prmsg (1, "SocketConnectConnInfo: Cannot create the NX transport.\n"); return TRANS_CONNECT_FAILED; } @@ -577,28 +575,27 @@ static void TRANS(SocketCloseConnInfo) (XtransConnInfo ciptr) if (proxy_conn == NULL) { - PRMSG (1, "SocketCloseConnInfo: Pointer to _NXProxyConnInfo is NULL. Exiting.\n", 0, 0, 0); + prmsg (1, "SocketCloseConnInfo: Pointer to _NXProxyConnInfo is NULL. Exiting.\n"); exit(1); } else if (ciptr->fd >= NX_PROXY_CONN_LIMIT || _NXProxyConnInfoTab[ciptr->fd] != (_NXProxyConnInfo *) ciptr->priv) { - PRMSG (1, "SocketCloseConnInfo: Can't find _NXProxyConnInfo in table. Exiting.\n", - 0, 0, 0); + prmsg (1, "SocketCloseConnInfo: Can't find _NXProxyConnInfo in table. Exiting.\n"); exit(1); } else if (_NXProxyConnInfoTab[ciptr->fd] -> info != ciptr || _NXProxyConnInfoTab[ciptr->fd] -> local != ciptr->fd) { - PRMSG (1, "SocketCloseConnInfo: Invalid _NXProxyConnInfo structure for [%d]. Exiting.\n", - ciptr->fd, 0, 0); + prmsg (1, "SocketCloseConnInfo: Invalid _NXProxyConnInfo structure for [%d]. Exiting.\n", + ciptr->fd); exit(1); } else if (proxy_conn->local < 0 || proxy_conn->remote < 0) { - PRMSG (1, "SocketCloseConnInfo: Invalid socket pair in NX connection for [%d]. Exiting.\n", - ciptr->fd, 0, 0); + prmsg (1, "SocketCloseConnInfo: Invalid socket pair in NX connection for [%d]. Exiting.\n", + ciptr->fd); exit(1); } @@ -642,7 +639,7 @@ int TRANS(SocketCongestionChange) (XtransConnInfo ciptr, int *state) _NXProxyConnInfo *proxy_conn; - PRMSG (3, "SocketCongestionChange(%x)\n", ciptr, 0, 0); + prmsg (3, "SocketCongestionChange(%x)\n", ciptr); proxy_conn = (_NXProxyConnInfo *) ciptr->priv; @@ -694,7 +691,7 @@ TRANS(SocketSelectFamily) (int first, char *family) { int i; - PRMSG (3,"SocketSelectFamily(%s)\n", family, 0, 0); + prmsg (3,"SocketSelectFamily(%s)\n", family); for (i = first + 1; i < NUMSOCKETFAMILIES;i++) { @@ -728,7 +725,7 @@ TRANS(SocketINETGetAddr) (XtransConnInfo ciptr) socklen_t namelen; #endif - PRMSG (3,"SocketINETGetAddr(%p)\n", ciptr, 0, 0); + prmsg (3,"SocketINETGetAddr(%p)\n", ciptr); #if defined(IPv6) && defined(AF_INET6) if (haveIPv6) @@ -749,8 +746,8 @@ TRANS(SocketINETGetAddr) (XtransConnInfo ciptr) #ifdef WIN32 errno = WSAGetLastError(); #endif - PRMSG (1,"SocketINETGetAddr: getsockname() failed: %d\n", - EGET(),0, 0); + prmsg (1,"SocketINETGetAddr: getsockname() failed: %d\n", + EGET()); return -1; } @@ -760,9 +757,8 @@ TRANS(SocketINETGetAddr) (XtransConnInfo ciptr) if ((ciptr->addr = (char *) malloc (namelen)) == NULL) { - PRMSG (1, - "SocketINETGetAddr: Can't allocate space for the addr\n", - 0, 0, 0); + prmsg (1, + "SocketINETGetAddr: Can't allocate space for the addr\n"); return -1; } @@ -816,7 +812,7 @@ TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr) socknamePtr = &socknamev4; } - PRMSG (3,"SocketINETGetPeerAddr(%p)\n", ciptr, 0, 0); + prmsg (3,"SocketINETGetPeerAddr(%p)\n", ciptr); if (getpeername (ciptr->fd, (struct sockaddr *) socknamePtr, (void *)&namelen) < 0) @@ -824,8 +820,8 @@ TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr) #ifdef WIN32 errno = WSAGetLastError(); #endif - PRMSG (1,"SocketINETGetPeerAddr: getpeername() failed: %d\n", - EGET(), 0, 0); + prmsg (1,"SocketINETGetPeerAddr: getpeername() failed: %d\n", + EGET()); return -1; } @@ -835,9 +831,8 @@ TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr) if ((ciptr->peeraddr = (char *) malloc (namelen)) == NULL) { - PRMSG (1, - "SocketINETGetPeerAddr: Can't allocate space for the addr\n", - 0, 0, 0); + prmsg (1, + "SocketINETGetPeerAddr: Can't allocate space for the addr\n"); return -1; } @@ -854,7 +849,7 @@ TRANS(SocketOpen) (int i, int type) { XtransConnInfo ciptr; - PRMSG (3,"SocketOpen(%d,%d)\n", i, type, 0); + prmsg (3,"SocketOpen(%d,%d)\n", i, type); #if defined(IPv6) && defined(AF_INET6) if (getaddrinfo == NULL) @@ -867,7 +862,7 @@ TRANS(SocketOpen) (int i, int type) if ((ciptr = (XtransConnInfo) calloc ( 1, sizeof(struct _XtransConnInfo))) == NULL) { - PRMSG (1, "SocketOpen: malloc failed\n", 0, 0, 0); + prmsg (1, "SocketOpen: malloc failed\n"); return NULL; } @@ -882,8 +877,8 @@ TRANS(SocketOpen) (int i, int type) #ifdef WIN32 errno = WSAGetLastError(); #endif - PRMSG (2, "SocketOpen: socket() failed for %s\n", - Sockettrans2devtab[i].transname, 0, 0); + prmsg (2, "SocketOpen: socket() failed for %s\n", + Sockettrans2devtab[i].transname); free ((char *) ciptr); return NULL; @@ -918,12 +913,12 @@ TRANS(SocketReopen) (int i, int type, int fd, char *port) { XtransConnInfo ciptr; - PRMSG (3,"SocketReopen(%d,%d,%s)\n", type, fd, port); + prmsg (3,"SocketReopen(%d,%d,%s)\n", type, fd, port); if ((ciptr = (XtransConnInfo) calloc ( 1, sizeof(struct _XtransConnInfo))) == NULL) { - PRMSG (1, "SocketReopen: malloc failed\n", 0, 0, 0); + prmsg (1, "SocketReopen: malloc failed\n"); return NULL; } @@ -948,7 +943,7 @@ TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, XtransConnInfo ciptr; int i = previndex; - PRMSG (2, "SocketOpenCOTSClient(%s,%s,%s)\n", + prmsg (2, "SocketOpenCOTSClient(%s,%s,%s)\n", protocol, host, port); SocketInitOnce(); @@ -964,8 +959,8 @@ TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, if (ciptr == NULL) { - PRMSG (1, "SocketOpenCOTSClient: Unable to create the NX connection info for %s.\n", - transname, 0, 0); + prmsg (1, "SocketOpenCOTSClient: Unable to create the NX connection info for %s.\n", + transname); return NULL; } @@ -984,11 +979,11 @@ TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, } if (i < 0) { if (i == -1) - PRMSG (1,"SocketOpenCOTSClient: Unable to open socket for %s\n", - transname, 0, 0); + prmsg (1,"SocketOpenCOTSClient: Unable to open socket for %s\n", + transname); else - PRMSG (1,"SocketOpenCOTSClient: Unable to determine socket type for %s\n", - transname, 0, 0); + prmsg (1,"SocketOpenCOTSClient: Unable to determine socket type for %s\n", + transname); return NULL; } @@ -1027,7 +1022,7 @@ TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, XtransConnInfo ciptr; int i = -1; - PRMSG (2,"SocketOpenCOTSServer(%s,%s,%s)\n", protocol, host, port); + prmsg (2,"SocketOpenCOTSServer(%s,%s,%s)\n", protocol, host, port); SocketInitOnce(); @@ -1038,11 +1033,11 @@ TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, } if (i < 0) { if (i == -1) - PRMSG (1,"SocketOpenCOTSServer: Unable to open socket for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketOpenCOTSServer: Unable to open socket for %s\n", + thistrans->TransName); else - PRMSG (1,"SocketOpenCOTSServer: Unable to determine socket type for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketOpenCOTSServer: Unable to determine socket type for %s\n", + thistrans->TransName); return NULL; } @@ -1094,7 +1089,7 @@ TRANS(SocketOpenCLTSClient) (Xtransport *thistrans, char *protocol, XtransConnInfo ciptr; int i = -1; - PRMSG (2,"SocketOpenCLTSClient(%s,%s,%s)\n", protocol, host, port); + prmsg (2,"SocketOpenCLTSClient(%s,%s,%s)\n", protocol, host, port); SocketInitOnce(); @@ -1109,8 +1104,8 @@ TRANS(SocketOpenCLTSClient) (Xtransport *thistrans, char *protocol, if (ciptr == NULL) { - PRMSG (1, "SocketOpenCLTSClient: Unable to create the NX connection info for %s.\n", - thistrans->TransName, 0, 0); + prmsg (1, "SocketOpenCLTSClient: Unable to create the NX connection info for %s.\n", + thistrans->TransName); return NULL; } @@ -1128,11 +1123,11 @@ TRANS(SocketOpenCLTSClient) (Xtransport *thistrans, char *protocol, } if (i < 0) { if (i == -1) - PRMSG (1,"SocketOpenCLTSClient: Unable to open socket for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketOpenCLTSClient: Unable to open socket for %s\n", + thistrans->TransName); else - PRMSG (1,"SocketOpenCLTSClient: Unable to determine socket type for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketOpenCLTSClient: Unable to determine socket type for %s\n", + thistrans->TransName); return NULL; } @@ -1162,7 +1157,7 @@ TRANS(SocketOpenCLTSServer) (Xtransport *thistrans, char *protocol, XtransConnInfo ciptr; int i = -1; - PRMSG (2,"SocketOpenCLTSServer(%s,%s,%s)\n", protocol, host, port); + prmsg (2,"SocketOpenCLTSServer(%s,%s,%s)\n", protocol, host, port); SocketInitOnce(); @@ -1173,11 +1168,11 @@ TRANS(SocketOpenCLTSServer) (Xtransport *thistrans, char *protocol, } if (i < 0) { if (i == -1) - PRMSG (1,"SocketOpenCLTSServer: Unable to open socket for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketOpenCLTSServer: Unable to open socket for %s\n", + thistrans->TransName); else - PRMSG (1,"SocketOpenCLTSServer: Unable to determine socket type for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketOpenCLTSServer: Unable to determine socket type for %s\n", + thistrans->TransName); return NULL; } @@ -1207,8 +1202,8 @@ TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, char *port) XtransConnInfo ciptr; int i = -1; - PRMSG (2, - "SocketReopenCOTSServer(%d, %s)\n", fd, port, 0); + prmsg (2, + "SocketReopenCOTSServer(%d, %s)\n", fd, port); SocketInitOnce(); @@ -1219,11 +1214,11 @@ TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, char *port) } if (i < 0) { if (i == -1) - PRMSG (1,"SocketReopenCOTSServer: Unable to open socket for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketReopenCOTSServer: Unable to open socket for %s\n", + thistrans->TransName); else - PRMSG (1,"SocketReopenCOTSServer: Unable to determine socket type for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketReopenCOTSServer: Unable to determine socket type for %s\n", + thistrans->TransName); return NULL; } @@ -1241,8 +1236,8 @@ TRANS(SocketReopenCLTSServer) (Xtransport *thistrans, int fd, char *port) XtransConnInfo ciptr; int i = -1; - PRMSG (2, - "SocketReopenCLTSServer(%d, %s)\n", fd, port, 0); + prmsg (2, + "SocketReopenCLTSServer(%d, %s)\n", fd, port); SocketInitOnce(); @@ -1253,11 +1248,11 @@ TRANS(SocketReopenCLTSServer) (Xtransport *thistrans, int fd, char *port) } if (i < 0) { if (i == -1) - PRMSG (1,"SocketReopenCLTSServer: Unable to open socket for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketReopenCLTSServer: Unable to open socket for %s\n", + thistrans->TransName); else - PRMSG (1,"SocketReopenCLTSServer: Unable to determine socket type for %s\n", - thistrans->TransName, 0, 0); + prmsg (1,"SocketReopenCLTSServer: Unable to determine socket type for %s\n", + thistrans->TransName); return NULL; } @@ -1275,7 +1270,7 @@ static int TRANS(SocketSetOption) (XtransConnInfo ciptr, int option, int arg) { - PRMSG (2,"SocketSetOption(%d,%d,%d)\n", ciptr->fd, option, arg); + prmsg (2,"SocketSetOption(%d,%d,%d)\n", ciptr->fd, option, arg); #ifdef NX_TRANS_TEST fprintf(stderr, "SocketSetOption: WARNING! Not setting option [%d] with value [%d] on descriptor [%d].\n", @@ -1325,7 +1320,7 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, int fd = ciptr->fd; int retry; - PRMSG (3, "SocketCreateListener(%x,%p)\n", ciptr, fd, 0); + prmsg (3, "SocketCreateListener(%x,%p)\n", ciptr, fd); if (Sockettrans2devtab[ciptr->index].family == AF_INET #if defined(IPv6) && defined(AF_INET6) @@ -1351,8 +1346,7 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, } if (retry-- == 0) { - PRMSG (1, "SocketCreateListener: failed to bind listener\n", - 0, 0, 0); + prmsg (1, "SocketCreateListener: failed to bind listener\n"); close (fd); return TRANS_CREATE_LISTENER_FAILED; } @@ -1383,7 +1377,7 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, if (listen (fd, BACKLOG) < 0) { - PRMSG (1, "SocketCreateListener: listen() failed\n", 0, 0, 0); + prmsg (1, "SocketCreateListener: listen() failed\n"); close (fd); return TRANS_CREATE_LISTENER_FAILED; } @@ -1423,7 +1417,7 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int char portbuf[PORTBUFSIZE]; #endif - PRMSG (2, "SocketINETCreateListener(%s)\n", port, 0, 0); + prmsg (2, "SocketINETCreateListener(%s)\n", port); #ifdef X11_t /* @@ -1452,9 +1446,9 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int { if ((servp = _XGetservbyname (port,"tcp",sparams)) == NULL) { - PRMSG (1, + prmsg (1, "SocketINETCreateListener: Unable to get service for %s\n", - port, 0, 0); + port); return TRANS_CREATE_LISTENER_FAILED; } /* we trust getservbyname to return a valid number */ @@ -1509,17 +1503,15 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int if ((status = TRANS(SocketCreateListener) (ciptr, (struct sockaddr *) &sockname, namelen, flags)) < 0) { - PRMSG (1, - "SocketINETCreateListener: ...SocketCreateListener() failed\n", - 0, 0, 0); + prmsg (1, + "SocketINETCreateListener: ...SocketCreateListener() failed\n"); return status; } if (TRANS(SocketINETGetAddr) (ciptr) < 0) { - PRMSG (1, - "SocketINETCreateListener: ...SocketINETGetAddr() failed\n", - 0, 0, 0); + prmsg (1, + "SocketINETCreateListener: ...SocketINETGetAddr() failed\n"); return TRANS_CREATE_LISTENER_FAILED; } @@ -1548,8 +1540,8 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, abstract = ciptr->transptr->flags & TRANS_ABSTRACT; #endif - PRMSG (2, "SocketUNIXCreateListener(%s)\n", - port ? port : "NULL", 0, 0); + prmsg (2, "SocketUNIXCreateListener(%s)\n", + port ? port : "NULL"); /* Make sure the directory is created */ @@ -1563,12 +1555,12 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, #endif #ifdef NX_TRANS_SOCKET if (!abstract && trans_mkdir(_NXGetUnixDir(UNIX_DIR), mode) == -1) { - PRMSG (1, "SocketUNIXCreateListener: mkdir(%s) failed, errno = %d\n", - _NXGetUnixDir(UNIX_DIR), errno, 0); + prmsg (1, "SocketUNIXCreateListener: mkdir(%s) failed, errno = %d\n", + _NXGetUnixDir(UNIX_DIR), errno); #else if (!abstract && trans_mkdir(UNIX_DIR, mode) == -1) { - PRMSG (1, "SocketUNIXCreateListener: mkdir(%s) failed, errno = %d\n", - UNIX_DIR, errno, 0); + prmsg (1, "SocketUNIXCreateListener: mkdir(%s) failed, errno = %d\n", + UNIX_DIR, errno); #endif (void) umask (oldUmask); return TRANS_CREATE_LISTENER_FAILED; @@ -1588,7 +1580,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, #else if (set_sun_path(port, UNIX_PATH, sockname.sun_path, abstract) != 0) { #endif - PRMSG (1, "SocketUNIXCreateListener: path too long\n", 0, 0, 0); + prmsg (1, "SocketUNIXCreateListener: path too long\n"); return TRANS_CREATE_LISTENER_FAILED; } } else { @@ -1620,9 +1612,8 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, if ((status = TRANS(SocketCreateListener) (ciptr, (struct sockaddr *) &sockname, namelen, flags)) < 0) { - PRMSG (1, - "SocketUNIXCreateListener: ...SocketCreateListener() failed\n", - 0, 0, 0); + prmsg (1, + "SocketUNIXCreateListener: ...SocketCreateListener() failed\n"); (void) umask (oldUmask); return status; } @@ -1638,9 +1629,8 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, if ((ciptr->addr = (char *) malloc (namelen)) == NULL) { - PRMSG (1, - "SocketUNIXCreateListener: Can't allocate space for the addr\n", - 0, 0, 0); + prmsg (1, + "SocketUNIXCreateListener: Can't allocate space for the addr\n"); (void) umask (oldUmask); return TRANS_CREATE_LISTENER_FAILED; } @@ -1675,7 +1665,7 @@ TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr) abstract = ciptr->transptr->flags & TRANS_ABSTRACT; #endif - PRMSG (3, "SocketUNIXResetListener(%p,%d)\n", ciptr, ciptr->fd, 0); + prmsg (3, "SocketUNIXResetListener(%p,%d)\n", ciptr, ciptr->fd); if (!abstract && ( stat (unsock->sun_path, &statb) == -1 || @@ -1696,12 +1686,12 @@ TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr) #endif #ifdef NX_TRANS_SOCKET if (trans_mkdir(_NXGetUnixDir(UNIX_DIR), mode) == -1) { - PRMSG (1, "SocketUNIXResetListener: mkdir(%s) failed, errno = %d\n", - _NXGetUnixDir(UNIX_DIR), errno, 0); + prmsg (1, "SocketUNIXResetListener: mkdir(%s) failed, errno = %d\n", + _NXGetUnixDir(UNIX_DIR), errno); #else if (trans_mkdir(UNIX_DIR, mode) == -1) { - PRMSG (1, "SocketUNIXResetListener: mkdir(%s) failed, errno = %d\n", - UNIX_DIR, errno, 0); + prmsg (1, "SocketUNIXResetListener: mkdir(%s) failed, errno = %d\n", + UNIX_DIR, errno); #endif (void) umask (oldUmask); return TRANS_RESET_FAILURE; @@ -1754,12 +1744,12 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status) struct sockaddr_in sockname; int namelen = sizeof(sockname); - PRMSG (2, "SocketINETAccept(%p,%d)\n", ciptr, ciptr->fd, 0); + prmsg (2, "SocketINETAccept(%p,%d)\n", ciptr, ciptr->fd); if ((newciptr = (XtransConnInfo) calloc ( 1, sizeof(struct _XtransConnInfo))) == NULL) { - PRMSG (1, "SocketINETAccept: malloc failed\n", 0, 0, 0); + prmsg (1, "SocketINETAccept: malloc failed\n"); *status = TRANS_ACCEPT_BAD_MALLOC; return NULL; } @@ -1770,7 +1760,7 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status) #ifdef WIN32 errno = WSAGetLastError(); #endif - PRMSG (1, "SocketINETAccept: accept() failed\n", 0, 0, 0); + prmsg (1, "SocketINETAccept: accept() failed\n"); free (newciptr); *status = TRANS_ACCEPT_FAILED; return NULL; @@ -1795,9 +1785,8 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status) if (TRANS(SocketINETGetAddr) (newciptr) < 0) { - PRMSG (1, - "SocketINETAccept: ...SocketINETGetAddr() failed:\n", - 0, 0, 0); + prmsg (1, + "SocketINETAccept: ...SocketINETGetAddr() failed:\n"); close (newciptr->fd); free (newciptr); *status = TRANS_ACCEPT_MISC_ERROR; @@ -1806,9 +1795,8 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status) if (TRANS(SocketINETGetPeerAddr) (newciptr) < 0) { - PRMSG (1, - "SocketINETAccept: ...SocketINETGetPeerAddr() failed:\n", - 0, 0, 0); + prmsg (1, + "SocketINETAccept: ...SocketINETGetPeerAddr() failed:\n"); close (newciptr->fd); if (newciptr->addr) free (newciptr->addr); free (newciptr); @@ -1837,12 +1825,12 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) int namelen = sizeof sockname; #endif - PRMSG (2, "SocketUNIXAccept(%p,%d)\n", ciptr, ciptr->fd, 0); + prmsg (2, "SocketUNIXAccept(%p,%d)\n", ciptr, ciptr->fd); if ((newciptr = (XtransConnInfo) calloc ( 1, sizeof(struct _XtransConnInfo))) == NULL) { - PRMSG (1, "SocketUNIXAccept: malloc() failed\n", 0, 0, 0); + prmsg (1, "SocketUNIXAccept: malloc() failed\n"); *status = TRANS_ACCEPT_BAD_MALLOC; return NULL; } @@ -1850,7 +1838,7 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) if ((newciptr->fd = accept (ciptr->fd, (struct sockaddr *) &sockname, (void *)&namelen)) < 0) { - PRMSG (1, "SocketUNIXAccept: accept() failed\n", 0, 0, 0); + prmsg (1, "SocketUNIXAccept: accept() failed\n"); free (newciptr); *status = TRANS_ACCEPT_FAILED; return NULL; @@ -1863,9 +1851,8 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) if ((newciptr->addr = (char *) malloc (ciptr->addrlen)) == NULL) { - PRMSG (1, - "SocketUNIXAccept: Can't allocate space for the addr\n", - 0, 0, 0); + prmsg (1, + "SocketUNIXAccept: Can't allocate space for the addr\n"); close (newciptr->fd); free (newciptr); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -1882,9 +1869,8 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) if ((newciptr->peeraddr = (char *) malloc (ciptr->addrlen)) == NULL) { - PRMSG (1, - "SocketUNIXAccept: Can't allocate space for the addr\n", - 0, 0, 0); + prmsg (1, + "SocketUNIXAccept: Can't allocate space for the addr\n"); close (newciptr->fd); if (newciptr->addr) free (newciptr->addr); free (newciptr); @@ -1949,7 +1935,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) long tmpport; char hostnamebuf[256]; /* tmp space */ - PRMSG (2,"SocketINETConnect(%d,%s,%s)\n", ciptr->fd, host, port); + prmsg (2,"SocketINETConnect(%d,%s,%s)\n", ciptr->fd, host, port); if (!host) { @@ -2000,7 +1986,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) res = getaddrinfo(host,port,&hints,&addrlist->firstaddr); if (res != 0) { - PRMSG (1, "SocketINETConnect() can't get address " + prmsg (1, "SocketINETConnect() can't get address " "for %s:%s: %s\n", host, port, gai_strerror(res)); ESET(EINVAL); return TRANS_CONNECT_FAILED; @@ -2009,7 +1995,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) addrlist->addr ; res++) { addrlist->addr = addrlist->addr->ai_next; } - PRMSG(4,"Got New Address list with %d addresses\n", res, 0, 0); + prmsg(4,"Got New Address list with %d addresses\n", res); res = 0; addrlist->addr = NULL; } @@ -2018,8 +2004,8 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) if (addrlist->addr == NULL) { if (resetonce) { /* Already checked entire list - no usable addresses */ - PRMSG (1, "SocketINETConnect() no usable address " - "for %s:%s\n", host, port, 0); + prmsg (1, "SocketINETConnect() no usable address " + "for %s:%s\n", host, port); return TRANS_CONNECT_FAILED; } else { /* Go back to beginning of list */ @@ -2034,12 +2020,12 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) if (addrlist->addr->ai_family == AF_INET) { struct sockaddr_in *sin = (struct sockaddr_in *) socketaddr; - PRMSG (4,"SocketINETConnect() sockname.sin_addr = %s\n", + prmsg (4,"SocketINETConnect() sockname.sin_addr = %s\n", inet_ntop(addrlist->addr->ai_family,&sin->sin_addr, - ntopbuf,sizeof(ntopbuf)), 0, 0); + ntopbuf,sizeof(ntopbuf))); - PRMSG (4,"SocketINETConnect() sockname.sin_port = %d\n", - ntohs(sin->sin_port), 0, 0); + prmsg (4,"SocketINETConnect() sockname.sin_port = %d\n", + ntohs(sin->sin_port)); if (Sockettrans2devtab[ciptr->index].family == AF_INET6) { if (strcmp(Sockettrans2devtab[ciptr->index].transname, @@ -2061,26 +2047,24 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) Sockettrans2devtab[newciptr->index].family != AF_INET) { socketaddr = NULL; - PRMSG (4,"SocketINETConnect() Cannot get IPv4 " - " socketfor IPv4 address\n", 0,0,0); + prmsg (4,"SocketINETConnect() Cannot get IPv4 " + " socketfor IPv4 address\n"); } if (newciptr) free(newciptr); } else { socketaddr = NULL; - PRMSG (4,"SocketINETConnect Skipping IPv4 address\n", - 0,0,0); + prmsg (4,"SocketINETConnect Skipping IPv4 address\n"); } } } else if (addrlist->addr->ai_family == AF_INET6) { struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) socketaddr; - PRMSG (4,"SocketINETConnect() sockname.sin6_addr = %s\n", + prmsg (4,"SocketINETConnect() sockname.sin6_addr = %s\n", inet_ntop(addrlist->addr->ai_family, - &sin6->sin6_addr,ntopbuf,sizeof(ntopbuf)), - 0, 0); - PRMSG (4,"SocketINETConnect() sockname.sin6_port = %d\n", - ntohs(sin6->sin6_port), 0, 0); + &sin6->sin6_addr,ntopbuf,sizeof(ntopbuf))); + prmsg (4,"SocketINETConnect() sockname.sin6_port = %d\n", + ntohs(sin6->sin6_port)); if (Sockettrans2devtab[ciptr->index].family == AF_INET) { if (strcmp(Sockettrans2devtab[ciptr->index].transname, @@ -2099,8 +2083,8 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) Sockettrans2devtab[newciptr->index].family != AF_INET6) { socketaddr = NULL; - PRMSG (4,"SocketINETConnect() Cannot get IPv6 " - "socket for IPv6 address\n", 0,0,0); + prmsg (4,"SocketINETConnect() Cannot get IPv6 " + "socket for IPv6 address\n"); } if (newciptr) free(newciptr); @@ -2108,8 +2092,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) else { socketaddr = NULL; - PRMSG (4,"SocketINETConnect() Skipping IPv6 address\n", - 0,0,0); + prmsg (4,"SocketINETConnect() Skipping IPv6 address\n"); } } } else { @@ -2147,17 +2130,17 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) tmpaddr = INADDR_NONE; } - PRMSG (4,"SocketINETConnect() inet_addr(%s) = %x\n", host, tmpaddr, 0); + prmsg (4,"SocketINETConnect() inet_addr(%s) = %x\n", host, tmpaddr); if (tmpaddr == INADDR_NONE) { if ((hostp = _XGethostbyname(host,hparams)) == NULL) { - PRMSG (1,"SocketINETConnect: Can't get address for %s\n", - host, 0, 0); + prmsg (1,"SocketINETConnect: Can't get address for %s\n", + host); ESET(EINVAL); return TRANS_CONNECT_FAILED; } if (hostp->h_addrtype != AF_INET) { /* is IP host? */ - PRMSG (1,"SocketINETConnect: not INET host%s\n", host, 0, 0); + prmsg (1,"SocketINETConnect: not INET host%s\n", host); ESET(EPROTOTYPE); return TRANS_CONNECT_FAILED; } @@ -2177,8 +2160,8 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) if (!is_numeric (port)) { if ((servp = _XGetservbyname (port,"tcp",sparams)) == NULL) { - PRMSG (1,"SocketINETConnect: can't get service for %s\n", - port, 0, 0); + prmsg (1,"SocketINETConnect: can't get service for %s\n", + port); return TRANS_CONNECT_FAILED; } sockname.sin_port = htons (servp->s_port); @@ -2189,8 +2172,8 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) sockname.sin_port = htons (((unsigned short) tmpport)); } - PRMSG (4,"SocketINETConnect: sockname.sin_port = %d\n", - ntohs(sockname.sin_port), 0, 0); + prmsg (4,"SocketINETConnect: sockname.sin_port = %d\n", + ntohs(sockname.sin_port)); socketaddr = (struct sockaddr *) &sockname; socketaddrlen = sizeof(sockname); } @@ -2259,8 +2242,8 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) res = TRANS_IN_PROGRESS; else { - PRMSG (2,"SocketINETConnect: Can't connect: errno = %d\n", - olderrno,0, 0); + prmsg (2,"SocketINETConnect: Can't connect: errno = %d\n", + olderrno); res = TRANS_CONNECT_FAILED; } @@ -2274,17 +2257,15 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) if (TRANS(SocketINETGetAddr) (ciptr) < 0) { - PRMSG (1, - "SocketINETConnect: ...SocketINETGetAddr() failed:\n", - 0, 0, 0); + prmsg (1, + "SocketINETConnect: ...SocketINETGetAddr() failed:\n"); res = TRANS_CONNECT_FAILED; } else if (TRANS(SocketINETGetPeerAddr) (ciptr) < 0) { - PRMSG (1, - "SocketINETConnect: ...SocketINETGetPeerAddr() failed:\n", - 0, 0, 0); + prmsg (1, + "SocketINETConnect: ...SocketINETGetPeerAddr() failed:\n"); res = TRANS_CONNECT_FAILED; } } @@ -2461,7 +2442,7 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) abstract = ciptr->transptr->flags & TRANS_ABSTRACT; #endif - PRMSG (2,"SocketUNIXConnect(%d,%s,%s)\n", ciptr->fd, host, port); + prmsg (2,"SocketUNIXConnect(%d,%s,%s)\n", ciptr->fd, host, port); /* * Make sure 'host' is really local. If not, we return failure. @@ -2478,9 +2459,9 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) if (strcmp (host, "unix") != 0 && !UnixHostReallyLocal (host)) #endif { - PRMSG (1, + prmsg (1, "SocketUNIXConnect: Cannot connect to non-local host %s\n", - host, 0, 0); + host); return TRANS_CONNECT_FAILED; } @@ -2491,8 +2472,7 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) if (!port || !*port) { - PRMSG (1,"SocketUNIXConnect: Missing port specification\n", - 0, 0, 0); + prmsg (1,"SocketUNIXConnect: Missing port specification\n"); return TRANS_CONNECT_FAILED; } @@ -2507,7 +2487,7 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) #else if (set_sun_path(port, UNIX_PATH, sockname.sun_path, abstract) != 0) { #endif - PRMSG (1, "SocketUNIXConnect: path too long\n", 0, 0, 0); + prmsg (1, "SocketUNIXConnect: path too long\n"); return TRANS_CONNECT_FAILED; } @@ -2578,8 +2558,8 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) } else { return TRANS_CONNECT_FAILED; } else { - PRMSG (2,"SocketUNIXConnect: Can't connect: errno = %d\n", - EGET(),0, 0); + prmsg (2,"SocketUNIXConnect: Can't connect: errno = %d\n", + EGET()); return TRANS_CONNECT_FAILED; } @@ -2600,9 +2580,8 @@ SocketUNIXConnectPost: if ((ciptr->addr = (char *) malloc(namelen)) == NULL || (ciptr->peeraddr = (char *) malloc(namelen)) == NULL) { - PRMSG (1, - "SocketUNIXCreateListener: Can't allocate space for the addr\n", - 0, 0, 0); + prmsg (1, + "SocketUNIXCreateListener: Can't allocate space for the addr\n"); return TRANS_CONNECT_FAILED; } @@ -2627,7 +2606,7 @@ static int TRANS(SocketBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend) { - PRMSG (2,"SocketBytesReadable(%p,%d,%p)\n", + prmsg (2,"SocketBytesReadable(%p,%d,%p)\n", ciptr, ciptr->fd, pend); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -2704,7 +2683,7 @@ static int TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size) { - PRMSG (2,"SocketRead(%d,%p,%d)\n", ciptr->fd, buf, size); + prmsg (2,"SocketRead(%d,%p,%d)\n", ciptr->fd, buf, size); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -2761,7 +2740,7 @@ static int TRANS(SocketWrite) (XtransConnInfo ciptr, char *buf, int size) { - PRMSG (2,"SocketWrite(%d,%p,%d)\n", ciptr->fd, buf, size); + prmsg (2,"SocketWrite(%d,%p,%d)\n", ciptr->fd, buf, size); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -2818,7 +2797,7 @@ static int TRANS(SocketReadv) (XtransConnInfo ciptr, struct iovec *buf, int size) { - PRMSG (2,"SocketReadv(%d,%p,%d)\n", ciptr->fd, buf, size); + prmsg (2,"SocketReadv(%d,%p,%d)\n", ciptr->fd, buf, size); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -2849,7 +2828,7 @@ static int TRANS(SocketWritev) (XtransConnInfo ciptr, struct iovec *buf, int size) { - PRMSG (2,"SocketWritev(%d,%p,%d)\n", ciptr->fd, buf, size); + prmsg (2,"SocketWritev(%d,%p,%d)\n", ciptr->fd, buf, size); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -2880,7 +2859,7 @@ static int TRANS(SocketDisconnect) (XtransConnInfo ciptr) { - PRMSG (2,"SocketDisconnect(%p,%d)\n", ciptr, ciptr->fd, 0); + prmsg (2,"SocketDisconnect(%p,%d)\n", ciptr, ciptr->fd); #ifdef WIN32 { @@ -2899,7 +2878,7 @@ static int TRANS(SocketINETClose) (XtransConnInfo ciptr) { - PRMSG (2,"SocketINETClose(%p,%d)\n", ciptr, ciptr->fd, 0); + prmsg (2,"SocketINETClose(%p,%d)\n", ciptr, ciptr->fd); #ifdef WIN32 { @@ -2927,7 +2906,7 @@ TRANS(SocketUNIXClose) (XtransConnInfo ciptr) struct sockaddr_un *sockname = (struct sockaddr_un *) ciptr->addr; int ret; - PRMSG (2,"SocketUNIXClose(%x,%d)\n", ciptr, ciptr->fd, 0); + prmsg (2,"SocketUNIXClose(%x,%d)\n", ciptr, ciptr->fd); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -2977,8 +2956,8 @@ TRANS(SocketUNIXCloseForCloning) (XtransConnInfo ciptr) int ret; - PRMSG (2,"SocketUNIXCloseForCloning(%p,%d)\n", - ciptr, ciptr->fd, 0); + prmsg (2,"SocketUNIXCloseForCloning(%p,%d)\n", + ciptr, ciptr->fd); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) @@ -3254,7 +3233,7 @@ static char *_NXGetUnixDir(char *dir) { const char *tempDir; - PRMSG (3, "_NXGetUnixDir(%s)\n", dir, 0, 0); + prmsg (3, "_NXGetUnixDir(%s)\n", dir); if (strcmp(dir, UNIX_DIR) != 0) { @@ -3323,7 +3302,7 @@ static char *_NXGetUnixPath(char *path) { const char *unixDir; - PRMSG (3, "_NXGetUnixPath(%s)\n", path, 0, 0); + prmsg (3, "_NXGetUnixPath(%s)\n", path); if (strcmp(path, UNIX_PATH) != 0) { diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 92840eda4..96be48fba 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -87,7 +87,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) { - PRMSG(2,"ConvertAddress(%d,%d,%x)\n",*familyp,*addrlenp,*addrp); + prmsg(2,"ConvertAddress(%d,%d,%x)\n",*familyp,*addrlenp,*addrp); switch( *familyp ) { @@ -174,8 +174,8 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) #endif default: - PRMSG(1,"ConvertAddress: Unknown family type %d\n", - *familyp, 0,0 ); + prmsg(1,"ConvertAddress: Unknown family type %d\n", + *familyp); return -1; } @@ -426,7 +426,7 @@ TRANS(WSAStartup) (void) { static WSADATA wsadata; - PRMSG (2,"WSAStartup()\n", 0, 0, 0); + prmsg (2,"WSAStartup()\n"); if (!wsadata.wVersion && WSAStartup(0x0101, &wsadata)) return 1; @@ -474,8 +474,8 @@ trans_mkdir(char *path, int mode) if (lstat(path, &buf) != 0) { if (errno != ENOENT) { - PRMSG(1, "mkdir: ERROR: (l)stat failed for %s (%d)\n", - path, errno, 0); + prmsg(1, "mkdir: ERROR: (l)stat failed for %s (%d)\n", + path, errno); return -1; } /* Dir doesn't exist. Try to create it */ @@ -488,15 +488,15 @@ trans_mkdir(char *path, int mode) */ if (geteuid() != 0) { if (mode & 01000) { - PRMSG(1, "mkdir: ERROR: euid != 0," + prmsg(1, "mkdir: ERROR: euid != 0," "directory %s will not be created.\n", - path, 0, 0); + path); #ifdef FAIL_HARD return -1; #endif } else { - PRMSG(1, "mkdir: Cannot create %s with root ownership\n", - path, 0, 0); + prmsg(1, "mkdir: Cannot create %s with root ownership\n", + path); } } #endif @@ -504,8 +504,8 @@ trans_mkdir(char *path, int mode) #ifndef WIN32 if (mkdir(path, mode) == 0) { if (chmod(path, mode)) { - PRMSG(1, "mkdir: ERROR: Mode of %s should be set to %04o\n", - path, mode, 0); + prmsg(1, "mkdir: ERROR: Mode of %s should be set to %04o\n", + path, mode); #ifdef FAIL_HARD return -1; #endif @@ -514,8 +514,8 @@ trans_mkdir(char *path, int mode) if (mkdir(path) == 0) { #endif } else { - PRMSG(1, "mkdir: ERROR: Cannot create %s\n", - path, 0, 0); + prmsg(1, "mkdir: ERROR: Cannot create %s\n", + path); return -1; } @@ -573,8 +573,8 @@ trans_mkdir(char *path, int mode) struct stat fbuf; if ((fd = open(path, O_RDONLY)) != -1) { if (fstat(fd, &fbuf) == -1) { - PRMSG(1, "mkdir: ERROR: fstat failed for %s (%d)\n", - path, errno, 0); + prmsg(1, "mkdir: ERROR: fstat failed for %s (%d)\n", + path, errno); return -1; } /* @@ -584,8 +584,8 @@ trans_mkdir(char *path, int mode) if (!S_ISDIR(fbuf.st_mode) || buf.st_dev != fbuf.st_dev || buf.st_ino != fbuf.st_ino) { - PRMSG(1, "mkdir: ERROR: inode for %s changed\n", - path, 0, 0); + prmsg(1, "mkdir: ERROR: inode for %s changed\n", + path); return -1; } if (updateOwner && fchown(fd, 0, 0) == 0) @@ -600,28 +600,27 @@ trans_mkdir(char *path, int mode) if (updateOwner && !updatedOwner) { #ifdef FAIL_HARD if (status & FAIL_IF_NOT_ROOT) { - PRMSG(1, "mkdir: ERROR: Owner of %s must be set to root\n", - path, 0, 0); + prmsg(1, "mkdir: ERROR: Owner of %s must be set to root\n", + path); return -1; } #endif - PRMSG(1, "mkdir: Owner of %s should be set to root\n", - path, 0, 0); + prmsg(1, "mkdir: Owner of %s should be set to root\n", + path); } if (updateMode && !updatedMode) { #ifdef FAIL_HARD if (status & FAIL_IF_NOMODE) { - PRMSG(1, "mkdir: ERROR: Mode of %s must be set to %04o\n", - path, mode, 0); + prmsg(1, "mkdir: ERROR: Mode of %s must be set to %04o\n", + path, mode); return -1; } #endif - PRMSG(1, "mkdir: Mode of %s should be set to %04o\n", - path, mode, 0); + prmsg(1, "mkdir: Mode of %s should be set to %04o\n", + path, mode); if (status & WARN_NO_ACCESS) { - PRMSG(1, "mkdir: this may cause subsequent errors\n", - 0, 0, 0); + prmsg(1, "mkdir: this may cause subsequent errors\n"); } } return 0; diff --git a/nx-X11/lib/xtrans/transport.c b/nx-X11/lib/xtrans/transport.c index fa91b4c52..6632a88fb 100644 --- a/nx-X11/lib/xtrans/transport.c +++ b/nx-X11/lib/xtrans/transport.c @@ -54,6 +54,9 @@ from The Open Group. #include #endif +#define XTRANS_TRANSPORT_C /* used to flag Xtransint.h that it's being used + here, not just #included in another file */ + #include "Xtransint.h" #ifdef LOCALCONN -- cgit v1.2.3 From 247e1f72e54c9a243590155f42a7b0a0dcb59d33 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 13 Oct 2016 19:08:37 +0200 Subject: use %p in format strings --- nx-X11/lib/xtrans/Xtranssock.c | 8 ++++---- nx-X11/lib/xtrans/Xtransutil.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index ae00776e4..2dbdb9c55 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -345,7 +345,7 @@ void TRANS(SocketRejectConnection) (XtransConnInfo ciptr) struct timeval t; int f; - prmsg (3, "SocketRejectConnection(%x)\n", ciptr); + prmsg (3, "SocketRejectConnection(%p)\n", ciptr); FD_ZERO(&fs); FD_SET(ciptr -> fd, &fs); @@ -639,7 +639,7 @@ int TRANS(SocketCongestionChange) (XtransConnInfo ciptr, int *state) _NXProxyConnInfo *proxy_conn; - prmsg (3, "SocketCongestionChange(%x)\n", ciptr); + prmsg (3, "SocketCongestionChange(%p)\n", ciptr); proxy_conn = (_NXProxyConnInfo *) ciptr->priv; @@ -1320,7 +1320,7 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, int fd = ciptr->fd; int retry; - prmsg (3, "SocketCreateListener(%x,%p)\n", ciptr, fd); + prmsg (3, "SocketCreateListener(%p,%d)\n", ciptr, fd); if (Sockettrans2devtab[ciptr->index].family == AF_INET #if defined(IPv6) && defined(AF_INET6) @@ -2906,7 +2906,7 @@ TRANS(SocketUNIXClose) (XtransConnInfo ciptr) struct sockaddr_un *sockname = (struct sockaddr_un *) ciptr->addr; int ret; - prmsg (2,"SocketUNIXClose(%x,%d)\n", ciptr, ciptr->fd); + prmsg (2,"SocketUNIXClose(%p,%d)\n", ciptr, ciptr->fd); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 96be48fba..53fd7d75b 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -87,7 +87,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) { - prmsg(2,"ConvertAddress(%d,%d,%x)\n",*familyp,*addrlenp,*addrp); + prmsg(2,"ConvertAddress(%d,%d,%p)\n",*familyp,*addrlenp,*addrp); switch( *familyp ) { -- cgit v1.2.3 From 603fe25544e464561b0c9435f8816b5ab80814e1 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 18 May 2016 12:38:02 -0400 Subject: remove CLTS code Remove CLTS code Never been used, as far as I can tell. Reviewed-by: Keith Packard Signed-off-by: Adam Jackson Backported-to-NX-by: Ulrich Sibiller --- nx-X11/lib/xtrans/Xtrans.c | 145 -------------------------------- nx-X11/lib/xtrans/Xtrans.h | 29 ------- nx-X11/lib/xtrans/Xtransint.h | 32 ------- nx-X11/lib/xtrans/Xtranslcl.c | 103 +---------------------- nx-X11/lib/xtrans/Xtranssock.c | 183 ----------------------------------------- 5 files changed, 1 insertion(+), 491 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 62e9dfa16..130ef5ba0 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -431,16 +431,6 @@ TRANS(Open) (int type, char *address) case XTRANS_OPEN_COTS_SERVER: #ifdef TRANS_SERVER ciptr = thistrans->OpenCOTSServer(thistrans, protocol, host, port); -#endif /* TRANS_SERVER */ - break; - case XTRANS_OPEN_CLTS_CLIENT: -#ifdef TRANS_CLIENT - ciptr = thistrans->OpenCLTSClient(thistrans, protocol, host, port); -#endif /* TRANS_CLIENT */ - break; - case XTRANS_OPEN_CLTS_SERVER: -#ifdef TRANS_SERVER - ciptr = thistrans->OpenCLTSServer(thistrans, protocol, host, port); #endif /* TRANS_SERVER */ break; default: @@ -522,9 +512,6 @@ TRANS(Reopen) (int type, int trans_id, int fd, char *port) case XTRANS_OPEN_COTS_SERVER: ciptr = thistrans->ReopenCOTSServer(thistrans, fd, port); break; - case XTRANS_OPEN_CLTS_SERVER: - ciptr = thistrans->ReopenCLTSServer(thistrans, fd, port); - break; default: prmsg (1,"Reopen: Bad Open type %d\n", type); } @@ -577,32 +564,6 @@ TRANS(OpenCOTSServer) (char *address) #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - -XtransConnInfo -TRANS(OpenCLTSClient) (char *address) - -{ - prmsg (2,"OpenCLTSClient(%s)\n", address); - return TRANS(Open) (XTRANS_OPEN_CLTS_CLIENT, address); -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -XtransConnInfo -TRANS(OpenCLTSServer) (char *address) - -{ - prmsg (2,"OpenCLTSServer(%s)\n", address); - return TRANS(Open) (XTRANS_OPEN_CLTS_SERVER, address); -} - -#endif /* TRANS_SERVER */ - - #ifdef TRANS_REOPEN XtransConnInfo @@ -613,15 +574,6 @@ TRANS(ReopenCOTSServer) (int trans_id, int fd, char *port) return TRANS(Reopen) (XTRANS_OPEN_COTS_SERVER, trans_id, fd, port); } -XtransConnInfo -TRANS(ReopenCLTSServer) (int trans_id, int fd, char *port) - -{ - prmsg (2,"ReopenCLTSServer(%d, %d, %s)\n", trans_id, fd, port); - return TRANS(Reopen) (XTRANS_OPEN_CLTS_SERVER, trans_id, fd, port); -} - - int TRANS(GetReopenInfo) (XtransConnInfo ciptr, int *trans_id, int *fd, char **port) @@ -1120,103 +1072,6 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, return 0; } -int -TRANS(MakeAllCLTSServerListeners) (char *port, int *partial, int *count_ret, - XtransConnInfo **ciptrs_ret) - -{ - char buffer[256]; /* ??? What size ?? */ - XtransConnInfo ciptr, temp_ciptrs[NUMTRANS]; - int status, i, j; - - prmsg (2,"MakeAllCLTSServerListeners(%s,%p)\n", - port ? port : "NULL", ciptrs_ret); - - *count_ret = 0; - - for (i = 0; i < NUMTRANS; i++) - { - Xtransport *trans = Xtransports[i].transport; - - if (trans->flags&TRANS_ALIAS || trans->flags&TRANS_NOLISTEN) - continue; - - sprintf(buffer,"%s/:%s", trans->TransName, port ? port : ""); - - prmsg (5,"MakeAllCLTSServerListeners: opening %s\n", - buffer); - - if ((ciptr = TRANS(OpenCLTSServer (buffer))) == NULL) - { - prmsg (1, - "MakeAllCLTSServerListeners: failed to open listener for %s\n", - trans->TransName); - continue; - } - - if ((status = TRANS(CreateListener (ciptr, port, 0))) < 0) - { - if (status == TRANS_ADDR_IN_USE) - { - /* - * We failed to bind to the specified address because the - * address is in use. It must be that a server is already - * running at this address, and this function should fail. - */ - - prmsg (1, - "MakeAllCLTSServerListeners: server already running\n"); - - for (j = 0; j < *count_ret; j++) - TRANS(Close) (temp_ciptrs[j]); - - *count_ret = 0; - *ciptrs_ret = NULL; - *partial = 0; - return -1; - } - else - { - prmsg (1, - "MakeAllCLTSServerListeners: failed to create listener for %s\n", - trans->TransName); - - continue; - } - } - - prmsg (5, - "MakeAllCLTSServerListeners: opened listener for %s, %d\n", - trans->TransName, ciptr->fd); - temp_ciptrs[*count_ret] = ciptr; - (*count_ret)++; - } - - *partial = (*count_ret < complete_network_count()); - - prmsg (5, - "MakeAllCLTSServerListeners: partial=%d, actual=%d, complete=%d \n", - *partial, *count_ret, complete_network_count()); - - if (*count_ret > 0) - { - if ((*ciptrs_ret = (XtransConnInfo *) malloc ( - *count_ret * sizeof (XtransConnInfo))) == NULL) - { - return -1; - } - - for (i = 0; i < *count_ret; i++) - { - (*ciptrs_ret)[i] = temp_ciptrs[i]; - } - } - else - *ciptrs_ret = NULL; - - return 0; -} - #endif /* TRANS_SERVER */ diff --git a/nx-X11/lib/xtrans/Xtrans.h b/nx-X11/lib/xtrans/Xtrans.h index f6e91ad70..2ab5ac3fe 100644 --- a/nx-X11/lib/xtrans/Xtrans.h +++ b/nx-X11/lib/xtrans/Xtrans.h @@ -277,22 +277,6 @@ XtransConnInfo TRANS(OpenCOTSServer)( #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - -XtransConnInfo TRANS(OpenCLTSClient)( - char * /* address */ -); - -#endif /* TRANS_CLIENT */ - -#ifdef TRANS_SERVER - -XtransConnInfo TRANS(OpenCLTSServer)( - char * /* address */ -); - -#endif /* TRANS_SERVER */ - #ifdef TRANS_REOPEN XtransConnInfo TRANS(ReopenCOTSServer)( @@ -301,12 +285,6 @@ XtransConnInfo TRANS(ReopenCOTSServer)( char * /* port */ ); -XtransConnInfo TRANS(ReopenCLTSServer)( - int, /* trans_id */ - int, /* fd */ - char * /* port */ -); - int TRANS(GetReopenInfo)( XtransConnInfo, /* ciptr */ int *, /* trans_id */ @@ -427,13 +405,6 @@ int TRANS(MakeAllCOTSServerListeners)( XtransConnInfo ** /* ciptrs_ret */ ); -int TRANS(MakeAllCLTSServerListeners)( - char *, /* port */ - int *, /* partial */ - int *, /* count_ret */ - XtransConnInfo ** /* ciptrs_ret */ -); - #endif /* TRANS_SERVER */ diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 0da59f71d..c25f7c024 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -135,9 +135,6 @@ struct _XtransConnInfo { #define XTRANS_OPEN_COTS_CLIENT 1 #define XTRANS_OPEN_COTS_SERVER 2 -#define XTRANS_OPEN_CLTS_CLIENT 3 -#define XTRANS_OPEN_CLTS_SERVER 4 - typedef struct _Xtransport { char *TransName; @@ -165,29 +162,6 @@ typedef struct _Xtransport { #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - - XtransConnInfo (*OpenCLTSClient)( - struct _Xtransport *, /* transport */ - char *, /* protocol */ - char *, /* host */ - char * /* port */ - ); - -#endif /* TRANS_CLIENT */ - -#ifdef TRANS_SERVER - - XtransConnInfo (*OpenCLTSServer)( - struct _Xtransport *, /* transport */ - char *, /* protocol */ - char *, /* host */ - char * /* port */ - ); - -#endif /* TRANS_SERVER */ - - #ifdef TRANS_REOPEN XtransConnInfo (*ReopenCOTSServer)( @@ -196,12 +170,6 @@ typedef struct _Xtransport { char * /* port */ ); - XtransConnInfo (*ReopenCLTSServer)( - struct _Xtransport *, /* transport */ - int, /* fd */ - char * /* port */ - ); - #endif /* TRANS_REOPEN */ diff --git a/nx-X11/lib/xtrans/Xtranslcl.c b/nx-X11/lib/xtrans/Xtranslcl.c index 74a5c5673..cf11cc2fa 100644 --- a/nx-X11/lib/xtrans/Xtranslcl.c +++ b/nx-X11/lib/xtrans/Xtranslcl.c @@ -2041,11 +2041,7 @@ TRANS(LocalOpenClient)(int type, char *protocol, char *host, char *port) case XTRANS_OPEN_COTS_CLIENT: ciptr->fd=transptr->devcotsopenclient(ciptr,port); break; - case XTRANS_OPEN_CLTS_CLIENT: - ciptr->fd=transptr->devcltsopenclient(ciptr,port); - break; case XTRANS_OPEN_COTS_SERVER: - case XTRANS_OPEN_CLTS_SERVER: prmsg(1, "LocalOpenClient: Should not be opening a server with this function\n"); break; @@ -2109,16 +2105,12 @@ TRANS(LocalOpenServer)(int type, char *protocol, char *host, char *port) switch( type ) { case XTRANS_OPEN_COTS_CLIENT: - case XTRANS_OPEN_CLTS_CLIENT: prmsg(1, "LocalOpenServer: Should not be opening a client with this function\n"); break; case XTRANS_OPEN_COTS_SERVER: ciptr->fd=LOCALtrans2devtab[i].devcotsopenserver(ciptr,port); break; - case XTRANS_OPEN_CLTS_SERVER: - ciptr->fd=LOCALtrans2devtab[i].devcltsopenserver(ciptr,port); - break; default: prmsg(1,"LocalOpenServer: Unknown Open type %d\n", type ); @@ -2163,10 +2155,7 @@ TRANS(LocalReopenServer)(int type, int index, int fd, char *port) case XTRANS_OPEN_COTS_SERVER: stat = LOCALtrans2devtab[index].devcotsreopenserver(ciptr,fd,port); break; - case XTRANS_OPEN_CLTS_SERVER: - stat = LOCALtrans2devtab[index].devcltsreopenserver(ciptr,fd,port); - break; - default: + default: prmsg(1,"LocalReopenServer: Unknown Open type %d\n", type ); } @@ -2248,37 +2237,6 @@ TRANS(LocalOpenCOTSServer)(Xtransport *thistrans, char *protocol, #endif /* TRANS_SERVER */ - -#ifdef TRANS_CLIENT - -static XtransConnInfo -TRANS(LocalOpenCLTSClient)(Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - prmsg(2,"LocalOpenCLTSClient(%s,%s,%s)\n",protocol,host,port); - - return TRANS(LocalOpenClient)(XTRANS_OPEN_CLTS_CLIENT, protocol, host, port); -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -static XtransConnInfo -TRANS(LocalOpenCLTSServer)(Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - prmsg(2,"LocalOpenCLTSServer(%s,%s,%s)\n",protocol,host,port); - - return TRANS(LocalOpenServer)(XTRANS_OPEN_CLTS_SERVER, protocol, host, port); -} - -#endif /* TRANS_SERVER */ - - #ifdef TRANS_REOPEN static XtransConnInfo @@ -2305,30 +2263,6 @@ TRANS(LocalReopenCOTSServer)(Xtransport *thistrans, int fd, char *port) index, fd, port); } -static XtransConnInfo -TRANS(LocalReopenCLTSServer)(Xtransport *thistrans, int fd, char *port) - -{ - int index; - - prmsg(2,"LocalReopenCLTSServer(%d,%s)\n", fd, port); - - for(index=1;indexTransName, - LOCALtrans2devtab[index].transname) == 0 ) - break; - } - - if (index >= NUMTRANSPORTS) - { - return (NULL); - } - - return TRANS(LocalReopenServer)(XTRANS_OPEN_CLTS_SERVER, - index, fd, port); -} - #endif /* TRANS_REOPEN */ @@ -2539,15 +2473,8 @@ Xtransport TRANS(LocalFuncs) = { local_aliases, TRANS(LocalOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(LocalOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(LocalOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(LocalReopenCOTSServer), - TRANS(LocalReopenCLTSServer), #endif TRANS(LocalSetOption), #ifdef TRANS_SERVER @@ -2581,15 +2508,8 @@ Xtransport TRANS(PTSFuncs) = { NULL, TRANS(LocalOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(LocalOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(LocalOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(LocalReopenCOTSServer), - TRANS(LocalReopenCLTSServer), #endif TRANS(LocalSetOption), #ifdef TRANS_SERVER @@ -2623,15 +2543,8 @@ Xtransport TRANS(NAMEDFuncs) = { NULL, TRANS(LocalOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(LocalOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(LocalOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(LocalReopenCOTSServer), - TRANS(LocalReopenCLTSServer), #endif TRANS(LocalSetOption), #ifdef TRANS_SERVER @@ -2665,15 +2578,8 @@ Xtransport TRANS(ISCFuncs) = { NULL, TRANS(LocalOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(LocalOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(LocalOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(LocalReopenCOTSServer), - TRANS(LocalReopenCLTSServer), #endif TRANS(LocalSetOption), #ifdef TRANS_SERVER @@ -2705,15 +2611,8 @@ Xtransport TRANS(SCOFuncs) = { NULL, TRANS(LocalOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(LocalOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(LocalOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(LocalReopenCOTSServer), - TRANS(LocalReopenCLTSServer), #endif TRANS(LocalSetOption), #ifdef TRANS_SERVER diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index 2dbdb9c55..6c91d924b 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -1079,120 +1079,6 @@ TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - -static XtransConnInfo -TRANS(SocketOpenCLTSClient) (Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - int i = -1; - - prmsg (2,"SocketOpenCLTSClient(%s,%s,%s)\n", protocol, host, port); - - SocketInitOnce(); - - while ((i = TRANS(SocketSelectFamily) (i, thistrans->TransName)) >= 0) { - -#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) - - if ((!strcmp(protocol, "local") || !strcmp(protocol, "nx")) && - (!strcasecmp(host, "nx") || !strncasecmp(host, "nx,", 3))) - { - ciptr = TRANS(SocketCreateConnInfo) (); - - if (ciptr == NULL) - { - prmsg (1, "SocketOpenCLTSClient: Unable to create the NX connection info for %s.\n", - thistrans->TransName); - - return NULL; - } - - ciptr->index = i; - - return ciptr; - } - -#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ - - if ((ciptr = TRANS(SocketOpen) ( - i, Sockettrans2devtab[i].devcotsname)) != NULL) - break; - } - if (i < 0) { - if (i == -1) - prmsg (1,"SocketOpenCLTSClient: Unable to open socket for %s\n", - thistrans->TransName); - else - prmsg (1,"SocketOpenCLTSClient: Unable to determine socket type for %s\n", - thistrans->TransName); - return NULL; - } - -#if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) - - ciptr->priv = NULL; - -#endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ - - /* Save the index for later use */ - - ciptr->index = i; - - return ciptr; -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -static XtransConnInfo -TRANS(SocketOpenCLTSServer) (Xtransport *thistrans, char *protocol, - char *host, char *port) - -{ - XtransConnInfo ciptr; - int i = -1; - - prmsg (2,"SocketOpenCLTSServer(%s,%s,%s)\n", protocol, host, port); - - SocketInitOnce(); - - while ((i = TRANS(SocketSelectFamily) (i, thistrans->TransName)) >= 0) { - if ((ciptr = TRANS(SocketOpen) ( - i, Sockettrans2devtab[i].devcotsname)) != NULL) - break; - } - if (i < 0) { - if (i == -1) - prmsg (1,"SocketOpenCLTSServer: Unable to open socket for %s\n", - thistrans->TransName); - else - prmsg (1,"SocketOpenCLTSServer: Unable to determine socket type for %s\n", - thistrans->TransName); - return NULL; - } - -#ifdef IPV6_V6ONLY - if (Sockettrans2devtab[i].family == AF_INET6) - { - int one = 1; - setsockopt(ciptr->fd, IPPROTO_IPV6, IPV6_V6ONLY, &one, sizeof(int)); - } -#endif - /* Save the index for later use */ - - ciptr->index = i; - - return ciptr; -} - -#endif /* TRANS_SERVER */ - - #ifdef TRANS_REOPEN static XtransConnInfo @@ -1229,40 +1115,6 @@ TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, char *port) return ciptr; } -static XtransConnInfo -TRANS(SocketReopenCLTSServer) (Xtransport *thistrans, int fd, char *port) - -{ - XtransConnInfo ciptr; - int i = -1; - - prmsg (2, - "SocketReopenCLTSServer(%d, %s)\n", fd, port); - - SocketInitOnce(); - - while ((i = TRANS(SocketSelectFamily) (i, thistrans->TransName)) >= 0) { - if ((ciptr = TRANS(SocketReopen) ( - i, Sockettrans2devtab[i].devcotsname, fd, port)) != NULL) - break; - } - if (i < 0) { - if (i == -1) - prmsg (1,"SocketReopenCLTSServer: Unable to open socket for %s\n", - thistrans->TransName); - else - prmsg (1,"SocketReopenCLTSServer: Unable to determine socket type for %s\n", - thistrans->TransName); - return NULL; - } - - /* Save the index for later use */ - - ciptr->index = i; - - return ciptr; -} - #endif /* TRANS_REOPEN */ @@ -2998,15 +2850,8 @@ Xtransport TRANS(SocketTCPFuncs) = { tcp_nolisten, TRANS(SocketOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(SocketOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(SocketOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(SocketReopenCOTSServer), - TRANS(SocketReopenCLTSServer), #endif TRANS(SocketSetOption), #ifdef TRANS_SERVER @@ -3038,15 +2883,8 @@ Xtransport TRANS(SocketINETFuncs) = { NULL, TRANS(SocketOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(SocketOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(SocketOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(SocketReopenCOTSServer), - TRANS(SocketReopenCLTSServer), #endif TRANS(SocketSetOption), #ifdef TRANS_SERVER @@ -3079,15 +2917,8 @@ Xtransport TRANS(SocketINET6Funcs) = { NULL, TRANS(SocketOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(SocketOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(SocketOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(SocketReopenCOTSServer), - TRANS(SocketReopenCLTSServer), #endif TRANS(SocketSetOption), #ifdef TRANS_SERVER @@ -3127,15 +2958,8 @@ Xtransport TRANS(SocketLocalFuncs) = { NULL, TRANS(SocketOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(SocketOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(SocketOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(SocketReopenCOTSServer), - TRANS(SocketReopenCLTSServer), #endif TRANS(SocketSetOption), #ifdef TRANS_SERVER @@ -3181,15 +3005,8 @@ Xtransport TRANS(SocketUNIXFuncs) = { #endif TRANS(SocketOpenCOTSServer), #endif /* TRANS_SERVER */ -#ifdef TRANS_CLIENT - TRANS(SocketOpenCLTSClient), -#endif /* TRANS_CLIENT */ -#ifdef TRANS_SERVER - TRANS(SocketOpenCLTSServer), -#endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN TRANS(SocketReopenCOTSServer), - TRANS(SocketReopenCLTSServer), #endif TRANS(SocketSetOption), #ifdef TRANS_SERVER -- cgit v1.2.3 From 793d587b46a7ec47ea62d99920de4dc607514604 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 13 Oct 2016 21:53:17 +0200 Subject: Remove __UNIXOS2__ references --- nx-X11/lib/xtrans/Xtrans.c | 8 ++++---- nx-X11/lib/xtrans/Xtransint.h | 4 ++-- nx-X11/lib/xtrans/Xtranssock.c | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 130ef5ba0..f21ec3618 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -631,7 +631,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) break; case 1: /* Set to non-blocking mode */ -#if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(uniosu) && !defined(__UNIXOS2__) && !defined(SCO325)) +#if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(uniosu) && !defined(SCO325)) ret = fcntl (fd, F_GETFL, 0); if (ret != -1) ret = fcntl (fd, F_SETFL, ret | O_NONBLOCK); @@ -643,7 +643,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) ret = ioctl (fd, FIOSNBIO, &arg); } #else -#if (defined(uniosu) || defined(WIN32) || defined(__UNIXOS2__)) && defined(FIONBIO) +#if (defined(uniosu) || defined(WIN32)) && defined(FIONBIO) { #ifdef WIN32 u_long arg; @@ -1081,7 +1081,7 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, * may be used by it. */ -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) /* * emulate readv @@ -1113,7 +1113,7 @@ static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) #endif /* SYSV && __i386__ || WIN32 || __sxg__ */ -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) /* * emulate writev diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index c25f7c024..2a138484b 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -282,7 +282,7 @@ typedef struct _Xtransport_table { * systems, so they may be emulated. */ -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) #define READV(ciptr, iov, iovcnt) TRANS(ReadV)(ciptr, iov, iovcnt) @@ -299,7 +299,7 @@ static int TRANS(ReadV)( #endif /* (SYSV && __i386__) || WIN32 || __sxg__ || */ -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) || defined(__UNIXOS2__) +#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) #define WRITEV(ciptr, iov, iovcnt) TRANS(WriteV)(ciptr, iov, iovcnt) diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index 6c91d924b..ccfa0e13b 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -2572,7 +2572,7 @@ TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size) #else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ -#if defined(WIN32) || defined(__UNIXOS2__) +#if defined(WIN32) { int ret = recv ((SOCKET)ciptr->fd, buf, size, 0); #ifdef WIN32 @@ -2629,7 +2629,7 @@ TRANS(SocketWrite) (XtransConnInfo ciptr, char *buf, int size) #else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ -#if defined(WIN32) || defined(__UNIXOS2__) +#if defined(WIN32) { int ret = send ((SOCKET)ciptr->fd, buf, size, 0); #ifdef WIN32 -- cgit v1.2.3 From e65b106a8989bf5d71de613f5f8b9dcbd559d382 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Mon, 31 Oct 2016 02:29:18 +0100 Subject: Xtrans: update to Xorg/xtrans upstream (1.3.5+) This lifts xtrans to the state of this commit: commit 560d7550e23e9b14056b4a9b2569c2f256015f8a Author: Jeremy Huddleston Sequoia Date: Sat Sep 10 22:09:51 2016 -0700 Update strlcpy macro check to also check HAVE_STRLCPY xorg-server moved from HAS_STRLCPY to HAVE_STRLCPY in 2011 cf-xserver: d829a7c5cb42c979b58f3547136df5b05d906423 Signed-off-by: Jeremy Huddleston Sequoia --- nx-X11/lib/xtrans/Xtrans.c | 309 ++++++++++++--- nx-X11/lib/xtrans/Xtrans.h | 117 +++--- nx-X11/lib/xtrans/Xtransint.h | 82 +++- nx-X11/lib/xtrans/Xtranslcl.c | 855 +++++++++++++++++------------------------ nx-X11/lib/xtrans/Xtranssock.c | 826 ++++++++++++++++++++++++++++----------- nx-X11/lib/xtrans/Xtransutil.c | 60 +-- nx-X11/lib/xtrans/transport.c | 15 +- 7 files changed, 1352 insertions(+), 912 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index f21ec3618..8a88cd4a6 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -48,6 +48,11 @@ from The Open Group. */ #include +#include +#include +#ifdef HAVE_SYSTEMD_DAEMON +#include +#endif /* * The transport table contains a definition for every transport (protocol) @@ -72,9 +77,10 @@ from The Open Group. #define TRANS_LOCAL_LOCAL_INDEX 9 #define TRANS_LOCAL_PTS_INDEX 10 #define TRANS_LOCAL_NAMED_INDEX 11 -#define TRANS_LOCAL_ISC_INDEX 12 +/* 12 used to be ISC, but that's gone. */ #define TRANS_LOCAL_SCO_INDEX 13 #define TRANS_SOCKET_INET6_INDEX 14 +#define TRANS_LOCAL_PIPE_INDEX 15 static @@ -94,18 +100,18 @@ Xtransport_table Xtransports[] = { #endif /* UNIXCONN */ #if defined(LOCALCONN) { &TRANS(LocalFuncs), TRANS_LOCAL_LOCAL_INDEX }, -#ifndef sun +#ifndef __sun { &TRANS(PTSFuncs), TRANS_LOCAL_PTS_INDEX }, -#endif /* sun */ -#ifdef SVR4 +#endif /* __sun */ +#if defined(SVR4) || defined(__SVR4) { &TRANS(NAMEDFuncs), TRANS_LOCAL_NAMED_INDEX }, #endif -#ifndef sun -#if !defined(__SCO__) && !defined(__UNIXWARE__) - { &TRANS(ISCFuncs), TRANS_LOCAL_ISC_INDEX }, -#endif +#ifdef __sun + { &TRANS(PIPEFuncs), TRANS_LOCAL_PIPE_INDEX }, +#endif /* __sun */ +#if defined(__SCO__) || defined(__UNIXWARE__) { &TRANS(SCOFuncs), TRANS_LOCAL_SCO_INDEX }, -#endif /* sun */ +#endif /* __SCO__ || __UNIXWARE__ */ #endif /* LOCALCONN */ }; @@ -137,14 +143,14 @@ TRANS(FreeConnInfo) (XtransConnInfo ciptr) if (ciptr->port) free (ciptr->port); - free ((char *) ciptr); + free (ciptr); } #define PROTOBUFSIZE 20 static Xtransport * -TRANS(SelectTransport) (char *protocol) +TRANS(SelectTransport) (const char *protocol) { char protobuf[PROTOBUFSIZE]; @@ -161,8 +167,8 @@ TRANS(SelectTransport) (char *protocol) protobuf[PROTOBUFSIZE-1] = '\0'; for (i = 0; i < PROTOBUFSIZE && protobuf[i] != '\0'; i++) - if (isupper (protobuf[i])) - protobuf[i] = tolower (protobuf[i]); + if (isupper ((unsigned char)protobuf[i])) + protobuf[i] = tolower ((unsigned char)protobuf[i]); /* Look at all of the configured protocols */ @@ -179,7 +185,8 @@ TRANS(SelectTransport) (char *protocol) static #endif /* TEST_t */ int -TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) +TRANS(ParseAddress) (const char *address, + char **protocol, char **host, char **port) { /* @@ -193,10 +200,12 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) * * If the protocol part is missing, then assume TCP. * If the protocol part and host part are missing, then assume local. + * If a "::" is found then assume DNET. */ char *mybuf, *tmpptr; - char *_protocol, *_host, *_port; + const char *_protocol; + char *_host, *_port; char hostnamebuf[256]; int _host_len; @@ -204,8 +213,7 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) /* Copy the string so it can be changed */ - tmpptr = mybuf = (char *) malloc (strlen (address) + 1); - strcpy (mybuf, address); + tmpptr = mybuf = strdup (address); /* Parse the string to get each component */ @@ -324,12 +332,21 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) */ #endif +#ifdef HAVE_LAUNCHD + /* launchd sockets will look like 'local//tmp/launch-XgkNns/:0' */ + if(address != NULL && strlen(address)>8 && (!strncmp(address,"local//",7))) { + _protocol="local"; + _host=""; + _port=address+6; + } +#endif + /* * Now that we have all of the components, allocate new * string space for them. */ - if ((*protocol = (char *) malloc(strlen (_protocol) + 1)) == NULL) + if ((*protocol = strdup (_protocol)) == NULL) { /* Malloc failed */ *port = NULL; @@ -338,10 +355,8 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) free (tmpptr); return 0; } - else - strcpy (*protocol, _protocol); - if ((*host = (char *) malloc (strlen (_host) + 1)) == NULL) + if ((*host = strdup (_host)) == NULL) { /* Malloc failed */ *port = NULL; @@ -351,10 +366,8 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) free (tmpptr); return 0; } - else - strcpy (*host, _host); - if ((*port = (char *) malloc (strlen (_port) + 1)) == NULL) + if ((*port = strdup (_port)) == NULL) { /* Malloc failed */ *port = NULL; @@ -365,8 +378,6 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) free (tmpptr); return 0; } - else - strcpy (*port, _port); free (tmpptr); @@ -381,7 +392,7 @@ TRANS(ParseAddress) (char *address, char **protocol, char **host, char **port) */ static XtransConnInfo -TRANS(Open) (int type, char *address) +TRANS(Open) (int type, const char *address) { char *protocol = NULL, *host = NULL, *port = NULL; @@ -469,7 +480,7 @@ TRANS(Open) (int type, char *address) */ static XtransConnInfo -TRANS(Reopen) (int type, int trans_id, int fd, char *port) +TRANS(Reopen) (int type, int trans_id, int fd, const char *port) { XtransConnInfo ciptr = NULL; @@ -496,15 +507,13 @@ TRANS(Reopen) (int type, int trans_id, int fd, char *port) return NULL; } - if ((save_port = (char *) malloc (strlen (port) + 1)) == NULL) + if ((save_port = strdup (port)) == NULL) { prmsg (1,"Reopen: Unable to malloc port string\n"); return NULL; } - strcpy (save_port, port); - /* Get a new XtransConnInfo object */ switch (type) @@ -519,6 +528,7 @@ TRANS(Reopen) (int type, int trans_id, int fd, char *port) if (ciptr == NULL) { prmsg (1,"Reopen: transport open failed\n"); + free (save_port); return NULL; } @@ -541,7 +551,7 @@ TRANS(Reopen) (int type, int trans_id, int fd, char *port) #ifdef TRANS_CLIENT XtransConnInfo -TRANS(OpenCOTSClient) (char *address) +TRANS(OpenCOTSClient) (const char *address) { prmsg (2,"OpenCOTSClient(%s)\n", address); @@ -554,7 +564,7 @@ TRANS(OpenCOTSClient) (char *address) #ifdef TRANS_SERVER XtransConnInfo -TRANS(OpenCOTSServer) (char *address) +TRANS(OpenCOTSServer) (const char *address) { prmsg (2,"OpenCOTSServer(%s)\n", address); @@ -567,7 +577,7 @@ TRANS(OpenCOTSServer) (char *address) #ifdef TRANS_REOPEN XtransConnInfo -TRANS(ReopenCOTSServer) (int trans_id, int fd, char *port) +TRANS(ReopenCOTSServer) (int trans_id, int fd, const char *port) { prmsg (2,"ReopenCOTSServer(%d, %d, %s)\n", trans_id, fd, port); @@ -587,13 +597,10 @@ TRANS(GetReopenInfo) (XtransConnInfo ciptr, *trans_id = Xtransports[i].transport_id; *fd = ciptr->fd; - if ((*port = (char *) malloc (strlen (ciptr->port) + 1)) == NULL) + if ((*port = strdup (ciptr->port)) == NULL) return 0; else - { - strcpy (*port, ciptr->port); return 1; - } } return 0; @@ -631,7 +638,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) break; case 1: /* Set to non-blocking mode */ -#if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(uniosu) && !defined(SCO325)) +#if defined(O_NONBLOCK) && !defined(SCO325) ret = fcntl (fd, F_GETFL, 0); if (ret != -1) ret = fcntl (fd, F_SETFL, ret | O_NONBLOCK); @@ -643,7 +650,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) ret = ioctl (fd, FIOSNBIO, &arg); } #else -#if (defined(uniosu) || defined(WIN32)) && defined(FIONBIO) +#if defined(WIN32) { #ifdef WIN32 u_long arg; @@ -662,7 +669,7 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) #else ret = fcntl (fd, F_SETFL, ret | O_NDELAY); #endif -#endif /* uniosu */ +#endif /* AIXV3 || uniosu */ #endif /* FIOSNBIO */ #endif /* O_NONBLOCK */ break; @@ -688,14 +695,42 @@ TRANS(SetOption) (XtransConnInfo ciptr, int option, int arg) #ifdef TRANS_SERVER int -TRANS(CreateListener) (XtransConnInfo ciptr, char *port, unsigned int flags) +TRANS(CreateListener) (XtransConnInfo ciptr, const char *port, unsigned int flags) { return ciptr->transptr->CreateListener (ciptr, port, flags); } int -TRANS(NoListen) (char * protocol) +TRANS(Received) (const char * protocol) + +{ + Xtransport *trans; + int i = 0, ret = 0; + + prmsg (5, "Received(%s)\n", protocol); + + if ((trans = TRANS(SelectTransport)(protocol)) == NULL) + { + prmsg (1,"Received: unable to find transport: %s\n", + protocol); + + return -1; + } + if (trans->flags & TRANS_ALIAS) { + if (trans->nolisten) + while (trans->nolisten[i]) { + ret |= TRANS(Received)(trans->nolisten[i]); + i++; + } + } + + trans->flags |= TRANS_RECEIVED; + return ret; +} + +int +TRANS(NoListen) (const char * protocol) { Xtransport *trans; @@ -720,6 +755,47 @@ TRANS(NoListen) (char * protocol) return ret; } +int +TRANS(Listen) (const char * protocol) +{ + Xtransport *trans; + int i = 0, ret = 0; + + if ((trans = TRANS(SelectTransport)(protocol)) == NULL) + { + prmsg (1,"TransListen: unable to find transport: %s\n", + protocol); + + return -1; + } + if (trans->flags & TRANS_ALIAS) { + if (trans->nolisten) + while (trans->nolisten[i]) { + ret |= TRANS(Listen)(trans->nolisten[i]); + i++; + } + } + + trans->flags &= ~TRANS_NOLISTEN; + return ret; +} + +int +TRANS(IsListening) (const char * protocol) +{ + Xtransport *trans; + + if ((trans = TRANS(SelectTransport)(protocol)) == NULL) + { + prmsg (1,"TransIsListening: unable to find transport: %s\n", + protocol); + + return 0; + } + + return !(trans->flags & TRANS_NOLISTEN); +} + int TRANS(ResetListener) (XtransConnInfo ciptr) @@ -753,7 +829,7 @@ TRANS(Accept) (XtransConnInfo ciptr, int *status) #ifdef TRANS_CLIENT int -TRANS(Connect) (XtransConnInfo ciptr, char *address) +TRANS(Connect) (XtransConnInfo ciptr, const char *address) { char *protocol; @@ -770,6 +846,10 @@ TRANS(Connect) (XtransConnInfo ciptr, char *address) return -1; } +#ifdef HAVE_LAUNCHD + if (!host) host=strdup(""); +#endif + if (!port || !*port) { prmsg (1,"Connect: Missing port specification in %s\n", @@ -826,6 +906,20 @@ TRANS(Writev) (XtransConnInfo ciptr, struct iovec *buf, int size) return ciptr->transptr->Writev (ciptr, buf, size); } +#if XTRANS_SEND_FDS +int +TRANS(SendFd) (XtransConnInfo ciptr, int fd, int do_close) +{ + return ciptr->transptr->SendFd(ciptr, fd, do_close); +} + +int +TRANS(RecvFd) (XtransConnInfo ciptr) +{ + return ciptr->transptr->RecvFd(ciptr); +} +#endif + int TRANS(Disconnect) (XtransConnInfo ciptr) @@ -870,10 +964,11 @@ TRANS(IsLocal) (XtransConnInfo ciptr) return (ciptr->family == AF_UNIX); } - +#ifdef NX_TRANS_SOCKET +/* this is needed for pre-xcb X11 as we have in NX */ int TRANS(GetMyAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, - Xtransaddr **addrp) + Xtransaddr **addrp) { prmsg (2,"GetMyAddr(%d)\n", ciptr->fd); @@ -883,13 +978,14 @@ TRANS(GetMyAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, if ((*addrp = (Xtransaddr *) malloc (ciptr->addrlen)) == NULL) { - prmsg (1,"GetMyAddr: malloc failed\n"); - return -1; + prmsg (1,"GetMyAddr: malloc failed\n"); + return -1; } memcpy(*addrp, ciptr->addr, ciptr->addrlen); return 0; } +#endif int TRANS(GetPeerAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, @@ -901,7 +997,7 @@ TRANS(GetPeerAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, *familyp = ciptr->family; *addrlenp = ciptr->peeraddrlen; - if ((*addrp = (Xtransaddr *) malloc (ciptr->peeraddrlen)) == NULL) + if ((*addrp = malloc (ciptr->peeraddrlen)) == NULL) { prmsg (1,"GetPeerAddr: malloc failed\n"); return -1; @@ -956,33 +1052,126 @@ complete_network_count (void) } +static int +receive_listening_fds(const char* port, XtransConnInfo* temp_ciptrs, + int* count_ret) + +{ +#ifdef HAVE_SYSTEMD_DAEMON + XtransConnInfo ciptr; + int i, systemd_listen_fds; + + systemd_listen_fds = sd_listen_fds(1); + if (systemd_listen_fds < 0) + { + prmsg (1, "receive_listening_fds: sd_listen_fds error: %s\n", + strerror(-systemd_listen_fds)); + return -1; + } + + for (i = 0; i < systemd_listen_fds && *count_ret < NUMTRANS; i++) + { + struct sockaddr_storage a; + int ti; + const char* tn; + socklen_t al; + + al = sizeof(a); + if (getsockname(i + SD_LISTEN_FDS_START, (struct sockaddr*)&a, &al) < 0) { + prmsg (1, "receive_listening_fds: getsockname error: %s\n", + strerror(errno)); + return -1; + } + + switch (a.ss_family) + { + case AF_UNIX: + ti = TRANS_SOCKET_UNIX_INDEX; + if (*((struct sockaddr_un*)&a)->sun_path == '\0' && + al > sizeof(sa_family_t)) + tn = "local"; + else + tn = "unix"; + break; + case AF_INET: + ti = TRANS_SOCKET_INET_INDEX; + tn = "inet"; + break; +#if defined(IPv6) && defined(AF_INET6) + case AF_INET6: + ti = TRANS_SOCKET_INET6_INDEX; + tn = "inet6"; + break; +#endif /* IPv6 */ + default: + prmsg (1, "receive_listening_fds:" + "Got unknown socket address family\n"); + return -1; + } + + ciptr = TRANS(ReopenCOTSServer)(ti, i + SD_LISTEN_FDS_START, port); + if (!ciptr) + { + prmsg (1, "receive_listening_fds:" + "Got NULL while trying to reopen socket received from systemd.\n"); + return -1; + } + + prmsg (5, "receive_listening_fds: received listener for %s, %d\n", + tn, ciptr->fd); + temp_ciptrs[(*count_ret)++] = ciptr; + TRANS(Received)(tn); + } +#endif /* HAVE_SYSTEMD_DAEMON */ + return 0; +} + +#ifdef XQUARTZ_EXPORTS_LAUNCHD_FD +extern int xquartz_launchd_fd; +#endif int -TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, - XtransConnInfo **ciptrs_ret) +TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial, + int *count_ret, XtransConnInfo **ciptrs_ret) { char buffer[256]; /* ??? What size ?? */ XtransConnInfo ciptr, temp_ciptrs[NUMTRANS]; int status, i, j; + #if defined(IPv6) && defined(AF_INET6) int ipv6_succ = 0; #endif - prmsg (2,"MakeAllCOTSServerListeners(%s,%p)\n", port ? port : "NULL", ciptrs_ret); *count_ret = 0; +#ifdef XQUARTZ_EXPORTS_LAUNCHD_FD + fprintf(stderr, "Launchd socket fd: %d\n", xquartz_launchd_fd); + if(xquartz_launchd_fd != -1) { + if((ciptr = TRANS(ReopenCOTSServer(TRANS_SOCKET_LOCAL_INDEX, + xquartz_launchd_fd, getenv("DISPLAY"))))==NULL) + fprintf(stderr,"Got NULL while trying to Reopen launchd port\n"); + else + temp_ciptrs[(*count_ret)++] = ciptr; + } +#endif + + if (receive_listening_fds(port, temp_ciptrs, count_ret) < 0) + return -1; + for (i = 0; i < NUMTRANS; i++) { Xtransport *trans = Xtransports[i].transport; unsigned int flags = 0; - if (trans->flags&TRANS_ALIAS || trans->flags&TRANS_NOLISTEN) + if (trans->flags&TRANS_ALIAS || trans->flags&TRANS_NOLISTEN || + trans->flags&TRANS_RECEIVED) continue; - sprintf(buffer,"%s/:%s", trans->TransName, port ? port : ""); + snprintf(buffer, sizeof(buffer), "%s/:%s", + trans->TransName, port ? port : ""); prmsg (5,"MakeAllCOTSServerListeners: opening %s\n", buffer); @@ -1055,7 +1244,7 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, if (*count_ret > 0) { - if ((*ciptrs_ret = (XtransConnInfo *) malloc ( + if ((*ciptrs_ret = malloc ( *count_ret * sizeof (XtransConnInfo))) == NULL) { return -1; @@ -1081,7 +1270,8 @@ TRANS(MakeAllCOTSServerListeners) (char *port, int *partial, int *count_ret, * may be used by it. */ -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) + +#ifdef WIN32 /* * emulate readv @@ -1111,9 +1301,6 @@ static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) return total; } -#endif /* SYSV && __i386__ || WIN32 || __sxg__ */ - -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) /* * emulate writev @@ -1143,10 +1330,10 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt) return total; } -#endif /* SYSV && __i386__ || WIN32 || __sxg__ */ +#endif /* WIN32 */ -#if defined(_POSIX_SOURCE) || defined(USG) || defined(SVR4) || defined(__SCO__) +#if defined(_POSIX_SOURCE) || defined(USG) || defined(SVR4) || defined(__SVR4) || defined(__SCO__) #ifndef NEED_UTSNAME #define NEED_UTSNAME #endif diff --git a/nx-X11/lib/xtrans/Xtrans.h b/nx-X11/lib/xtrans/Xtrans.h index 2ab5ac3fe..54b2a1425 100644 --- a/nx-X11/lib/xtrans/Xtrans.h +++ b/nx-X11/lib/xtrans/Xtrans.h @@ -52,117 +52,75 @@ from The Open Group. #include #include +#include #ifndef WIN32 #include #endif +#ifdef __clang__ +/* Not all clients make use of all provided statics */ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif /* * Set the functions names according to where this code is being compiled. */ #ifdef X11_t -#if !defined(UNIXCPP) || defined(ANSICPP) #define TRANS(func) _X11Trans##func -#else -#define TRANS(func) _X11Trans/**/func -#endif #ifdef XTRANSDEBUG -static char* __xtransname = "_X11Trans"; +static const char *__xtransname = "_X11Trans"; #endif #endif /* X11_t */ #ifdef XSERV_t -#if !defined(UNIXCPP) || defined(ANSICPP) #define TRANS(func) _XSERVTrans##func -#else -#define TRANS(func) _XSERVTrans/**/func -#endif #ifdef XTRANSDEBUG -static char* __xtransname = "_XSERVTrans"; +static const char *__xtransname = "_XSERVTrans"; #endif #define X11_t #endif /* XSERV_t */ #ifdef XIM_t -#if !defined(UNIXCPP) || defined(ANSICPP) #define TRANS(func) _XimXTrans##func -#else -#define TRANS(func) _XimXTrans/**/func -#endif #ifdef XTRANSDEBUG -static char* __xtransname = "_XimTrans"; +static const char *__xtransname = "_XimTrans"; #endif #endif /* XIM_t */ #ifdef FS_t -#if !defined(UNIXCPP) || defined(ANSICPP) #define TRANS(func) _FSTrans##func -#else -#define TRANS(func) _FSTrans/**/func -#endif #ifdef XTRANSDEBUG -static char* __xtransname = "_FSTrans"; +static const char *__xtransname = "_FSTrans"; #endif #endif /* FS_t */ #ifdef FONT_t -#if !defined(UNIXCPP) || defined(ANSICPP) #define TRANS(func) _FontTrans##func -#else -#define TRANS(func) _FontTrans/**/func -#endif #ifdef XTRANSDEBUG -static char* __xtransname = "_FontTrans"; +static const char *__xtransname = "_FontTrans"; #endif #endif /* FONT_t */ #ifdef ICE_t -#if !defined(UNIXCPP) || defined(ANSICPP) #define TRANS(func) _IceTrans##func -#else -#define TRANS(func) _IceTrans/**/func -#endif #ifdef XTRANSDEBUG -static char* __xtransname = "_IceTrans"; +static const char *__xtransname = "_IceTrans"; #endif #endif /* ICE_t */ -#ifdef TEST_t -#if !defined(UNIXCPP) || defined(ANSICPP) -#define TRANS(func) _TESTTrans##func -#else -#define TRANS(func) _TESTTrans/**/func -#endif -#ifdef XTRANSDEBUG -static char* __xtransname = "_TESTTrans"; -#endif -#endif /* TEST_t */ - -#ifdef LBXPROXY_t -#if !defined(UNIXCPP) || defined(ANSICPP) -#define TRANS(func) _LBXPROXYTrans##func -#else -#define TRANS(func) _LBXPROXYTrans/**/func -#endif -#define X11_t /* The server defines this - so should the LBX proxy */ -#ifdef XTRANSDEBUG -static char* __xtransname = "_LBXPROXYTrans"; -#endif -#endif /* LBXPROXY_t */ - #if !defined(TRANS) -#if !defined(UNIXCPP) || defined(ANSICPP) #define TRANS(func) _XTrans##func -#else -#define TRANS(func) _XTrans/**/func -#endif #ifdef XTRANSDEBUG -static char* __xtransname = "_XTrans"; +static const char *__xtransname = "_XTrans"; #endif #endif /* !TRANS */ +#ifdef __clang__ +#pragma clang diagnostic pop +#endif /* * Create a single address structure that can be used wherever @@ -190,7 +148,7 @@ typedef long BytesReadable_t; #endif -#if defined(WIN32) || (defined(USG) && !defined(umips) && !defined(MOTOROLA) && !defined(uniosu) && !defined(__sxg__)) +#if defined(WIN32) || defined(USG) /* * TRANS(Readv) and TRANS(Writev) use struct iovec, normally found @@ -264,7 +222,7 @@ void TRANS(FreeConnInfo) ( #ifdef TRANS_CLIENT XtransConnInfo TRANS(OpenCOTSClient)( - char * /* address */ + const char * /* address */ ); #endif /* TRANS_CLIENT */ @@ -272,7 +230,7 @@ XtransConnInfo TRANS(OpenCOTSClient)( #ifdef TRANS_SERVER XtransConnInfo TRANS(OpenCOTSServer)( - char * /* address */ + const char * /* address */ ); #endif /* TRANS_SERVER */ @@ -282,7 +240,7 @@ XtransConnInfo TRANS(OpenCOTSServer)( XtransConnInfo TRANS(ReopenCOTSServer)( int, /* trans_id */ int, /* fd */ - char * /* port */ + const char * /* port */ ); int TRANS(GetReopenInfo)( @@ -305,12 +263,24 @@ int TRANS(SetOption)( int TRANS(CreateListener)( XtransConnInfo, /* ciptr */ - char *, /* port */ + const char *, /* port */ unsigned int /* flags */ ); +int TRANS(Received) ( + const char* /* protocol*/ +); + int TRANS(NoListen) ( - char* /* protocol*/ + const char* /* protocol*/ +); + +int TRANS(Listen) ( + const char* /* protocol*/ +); + +int TRANS(IsListening) ( + const char* /* protocol*/ ); int TRANS(ResetListener)( @@ -328,7 +298,7 @@ XtransConnInfo TRANS(Accept)( int TRANS(Connect)( XtransConnInfo, /* ciptr */ - char * /* address */ + const char * /* address */ ); #endif /* TRANS_CLIENT */ @@ -362,6 +332,10 @@ int TRANS(Writev)( int /* size */ ); +int TRANS(SendFd) (XtransConnInfo ciptr, int fd, int do_close); + +int TRANS(RecvFd) (XtransConnInfo ciptr); + int TRANS(Disconnect)( XtransConnInfo /* ciptr */ ); @@ -378,12 +352,15 @@ int TRANS(IsLocal)( XtransConnInfo /* ciptr */ ); +#ifdef NX_TRANS_SOCKET +/* needed for pre-xcb libX11 as we have in NX */ int TRANS(GetMyAddr)( - XtransConnInfo, /* ciptr */ - int *, /* familyp */ - int *, /* addrlenp */ - Xtransaddr ** /* addrp */ + XtransConnInfo, /* ciptr */ + int *, /* familyp */ + int *, /* addrlenp */ + Xtransaddr ** /* addrp */ ); +#endif int TRANS(GetPeerAddr)( XtransConnInfo, /* ciptr */ @@ -399,7 +376,7 @@ int TRANS(GetConnectionNumber)( #ifdef TRANS_SERVER int TRANS(MakeAllCOTSServerListeners)( - char *, /* port */ + const char *, /* port */ int *, /* partial */ int *, /* count_ret */ XtransConnInfo ** /* ciptrs_ret */ diff --git a/nx-X11/lib/xtrans/Xtransint.h b/nx-X11/lib/xtrans/Xtransint.h index 2a138484b..2156bd52f 100644 --- a/nx-X11/lib/xtrans/Xtransint.h +++ b/nx-X11/lib/xtrans/Xtransint.h @@ -68,7 +68,7 @@ from The Open Group. * message. */ -#ifndef XTRANSDEBUG +#if !defined(XTRANSDEBUG) && defined(XTRANS_TRANSPORT_C) # define XTRANSDEBUG 1 #endif @@ -78,6 +78,10 @@ from The Open Group. #include "Xtrans.h" +#ifndef _X_UNUSED /* Defined in Xfuncproto.h in xproto >= 7.0.22 */ +# define _X_UNUSED /* */ +#endif + #ifdef XTRANSDEBUG # include #endif /* XTRANSDEBUG */ @@ -94,7 +98,7 @@ from The Open Group. * to avoid a race condition. JKJ (6/5/97) */ -# if defined(_POSIX_SOURCE) || defined(USG) || defined(SVR4) || defined(__SCO__) +# if defined(_POSIX_SOURCE) || defined(USG) || defined(SVR4) || defined(__SVR4) || defined(__SCO__) # ifndef NEED_UTSNAME # define NEED_UTSNAME # endif @@ -119,6 +123,16 @@ from The Open Group. #define X_TCP_PORT 6000 #endif +#if XTRANS_SEND_FDS + +struct _XtransConnFd { + struct _XtransConnFd *next; + int fd; + int do_close; +}; + +#endif + struct _XtransConnInfo { struct _Xtransport *transptr; int index; @@ -131,33 +145,35 @@ struct _XtransConnInfo { int addrlen; char *peeraddr; int peeraddrlen; + struct _XtransConnFd *recv_fds; + struct _XtransConnFd *send_fds; }; #define XTRANS_OPEN_COTS_CLIENT 1 #define XTRANS_OPEN_COTS_SERVER 2 typedef struct _Xtransport { - char *TransName; + const char *TransName; int flags; #ifdef TRANS_CLIENT XtransConnInfo (*OpenCOTSClient)( struct _Xtransport *, /* transport */ - char *, /* protocol */ - char *, /* host */ - char * /* port */ + const char *, /* protocol */ + const char *, /* host */ + const char * /* port */ ); #endif /* TRANS_CLIENT */ #ifdef TRANS_SERVER - char ** nolisten; + const char ** nolisten; XtransConnInfo (*OpenCOTSServer)( struct _Xtransport *, /* transport */ - char *, /* protocol */ - char *, /* host */ - char * /* port */ + const char *, /* protocol */ + const char *, /* host */ + const char * /* port */ ); #endif /* TRANS_SERVER */ @@ -167,7 +183,7 @@ typedef struct _Xtransport { XtransConnInfo (*ReopenCOTSServer)( struct _Xtransport *, /* transport */ int, /* fd */ - char * /* port */ + const char * /* port */ ); #endif /* TRANS_REOPEN */ @@ -185,7 +201,7 @@ typedef struct _Xtransport { int (*CreateListener)( XtransConnInfo, /* connection */ - char *, /* port */ + const char *, /* port */ unsigned int /* flags */ ); @@ -204,8 +220,8 @@ typedef struct _Xtransport { int (*Connect)( XtransConnInfo, /* connection */ - char *, /* host */ - char * /* port */ + const char *, /* host */ + const char * /* port */ ); #endif /* TRANS_CLIENT */ @@ -239,6 +255,18 @@ typedef struct _Xtransport { int /* size */ ); +#if XTRANS_SEND_FDS + int (*SendFd)( + XtransConnInfo, /* connection */ + int, /* fd */ + int /* do_close */ + ); + + int (*RecvFd)( + XtransConnInfo /* connection */ + ); +#endif + int (*Disconnect)( XtransConnInfo /* connection */ ); @@ -268,8 +296,10 @@ typedef struct _Xtransport_table { #define TRANS_LOCAL (1<<1) /* local transport */ #define TRANS_DISABLED (1<<2) /* Don't open this one */ #define TRANS_NOLISTEN (1<<3) /* Don't listen on this one */ -#define TRANS_NOUNLINK (1<<4) /* Dont unlink transport endpoints */ +#define TRANS_NOUNLINK (1<<4) /* Don't unlink transport endpoints */ #define TRANS_ABSTRACT (1<<5) /* Use abstract sockets if available */ +#define TRANS_NOXAUTH (1<<6) /* Don't verify authentication (because it's secure some other way at the OS layer) */ +#define TRANS_RECEIVED (1<<7) /* The fd for this has already been opened by someone else. */ /* Flags to preserve when setting others */ #define TRANS_KEEPFLAGS (TRANS_NOUNLINK|TRANS_ABSTRACT) @@ -277,12 +307,18 @@ typedef struct _Xtransport_table { #ifdef XTRANS_TRANSPORT_C /* only provide static function prototypes when building the transport.c file that has them in */ +#ifdef __clang__ +/* Not all clients make use of all provided statics */ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-function" +#endif + /* * readv() and writev() don't exist or don't work correctly on some * systems, so they may be emulated. */ -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) +#ifdef WIN32 #define READV(ciptr, iov, iovcnt) TRANS(ReadV)(ciptr, iov, iovcnt) @@ -296,10 +332,10 @@ static int TRANS(ReadV)( #define READV(ciptr, iov, iovcnt) readv(ciptr->fd, iov, iovcnt) -#endif /* (SYSV && __i386__) || WIN32 || __sxg__ || */ +#endif /* WIN32 */ -#if (defined(SYSV) && defined(__i386__) && !defined(__SCO__)) || defined(WIN32) || defined(__sxg__) +#ifdef WIN32 #define WRITEV(ciptr, iov, iovcnt) TRANS(WriteV)(ciptr, iov, iovcnt) @@ -313,20 +349,24 @@ static int TRANS(WriteV)( #define WRITEV(ciptr, iov, iovcnt) writev(ciptr->fd, iov, iovcnt) -#endif /* WIN32 || __sxg__ */ +#endif /* WIN32 */ static int is_numeric ( - char * /* str */ + const char * /* str */ ); #ifdef TRANS_SERVER static int trans_mkdir ( - char *, /* path */ + const char *, /* path */ int /* mode */ ); #endif +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + /* * Some XTRANSDEBUG stuff */ diff --git a/nx-X11/lib/xtrans/Xtranslcl.c b/nx-X11/lib/xtrans/Xtranslcl.c index cf11cc2fa..7231d2a83 100644 --- a/nx-X11/lib/xtrans/Xtranslcl.c +++ b/nx-X11/lib/xtrans/Xtranslcl.c @@ -75,15 +75,14 @@ from The Open Group. #include #include #include -#if defined(SVR4) -#if !defined(DGUX) +#if defined(SVR4) || defined(__SVR4) #include -#else /* DGUX */ -#include -#include -#endif #endif +#ifdef __sun +# include +#else #include +#endif #include #include @@ -99,10 +98,23 @@ from The Open Group. #include #endif -#if defined(ISC) && !defined(_POSIX_SOURCE) -typedef unsigned short mode_t; -/* POSIX needed for mode_t define in sys/types.h */ + +/* Types of local connections supported: + * - PTS + * - named pipes + * - SCO + */ +#if !defined(__sun) +# define LOCAL_TRANS_PTS #endif +#if defined(SVR4) || defined(__SVR4) +# define LOCAL_TRANS_NAMED +#endif +#if defined(__SCO__) || defined(__UNIXWARE__) +# define LOCAL_TRANS_SCO +#endif + +static int TRANS(LocalClose)(XtransConnInfo ciptr); /* * These functions actually implement the local connection mechanisms. @@ -111,7 +123,7 @@ typedef unsigned short mode_t; /* Type Not Supported */ static int -TRANS(OpenFail)(XtransConnInfo ciptr, char *port) +TRANS(OpenFail)(XtransConnInfo ciptr _X_UNUSED, const char *port _X_UNUSED) { return -1; @@ -120,7 +132,8 @@ TRANS(OpenFail)(XtransConnInfo ciptr, char *port) #ifdef TRANS_REOPEN static int -TRANS(ReopenFail)(XtransConnInfo ciptr, int fd, char *port) +TRANS(ReopenFail)(XtransConnInfo ciptr _X_UNUSED, int fd _X_UNUSED, + const char *port _X_UNUSED) { return 0; @@ -128,10 +141,26 @@ TRANS(ReopenFail)(XtransConnInfo ciptr, int fd, char *port) #endif /* TRANS_REOPEN */ +#if XTRANS_SEND_FDS +static int +TRANS(LocalRecvFdInvalid)(XtransConnInfo ciptr) +{ + errno = EINVAL; + return -1; +} + +static int +TRANS(LocalSendFdInvalid)(XtransConnInfo ciptr, int fd, int do_close) +{ + errno = EINVAL; + return -1; +} +#endif static int -TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) +TRANS(FillAddrInfo)(XtransConnInfo ciptr, + const char *sun_path, const char *peer_sun_path) { struct sockaddr_un *sunaddr; @@ -140,7 +169,7 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) ciptr->family = AF_UNIX; ciptr->addrlen = sizeof (struct sockaddr_un); - if ((sunaddr = (struct sockaddr_un *) malloc (ciptr->addrlen)) == NULL) + if ((sunaddr = malloc (ciptr->addrlen)) == NULL) { prmsg(1,"FillAddrInfo: failed to allocate memory for addr\n"); return 0; @@ -150,6 +179,7 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) if (strlen(sun_path) > sizeof(sunaddr->sun_path) - 1) { prmsg(1, "FillAddrInfo: path too long\n"); + free((char *) sunaddr); return 0; } strcpy (sunaddr->sun_path, sun_path); @@ -161,12 +191,11 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) ciptr->peeraddrlen = sizeof (struct sockaddr_un); - if ((p_sunaddr = (struct sockaddr_un *) malloc ( - ciptr->peeraddrlen)) == NULL) + if ((p_sunaddr = malloc (ciptr->peeraddrlen)) == NULL) { prmsg(1, "FillAddrInfo: failed to allocate memory for peer addr\n"); - free ((char *) sunaddr); + free (sunaddr); ciptr->addr = NULL; return 0; @@ -176,6 +205,7 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) if (strlen(peer_sun_path) > sizeof(p_sunaddr->sun_path) - 1) { prmsg(1, "FillAddrInfo: peer path too long\n"); + free((char *) p_sunaddr); return 0; } strcpy (p_sunaddr->sun_path, peer_sun_path); @@ -190,9 +220,10 @@ TRANS(FillAddrInfo)(XtransConnInfo ciptr, char *sun_path, char *peer_sun_path) +#ifdef LOCAL_TRANS_PTS /* PTS */ -#if defined(SYSV) && !defined(__SCO__) && !defined(ISC) +#if defined(SYSV) && !defined(__SCO__) #define SIGNAL_T int #else #define SIGNAL_T void @@ -206,12 +237,13 @@ extern char *ptsname( int ); -static void _dummy(int sig) +static void _dummy(int sig _X_UNUSED) { } +#endif /* LOCAL_TRANS_PTS */ -#ifndef sun +#ifndef __sun #define X_STREAMS_DIR "/dev/X" #define DEV_SPX "/dev/spx" #else @@ -222,39 +254,34 @@ static void _dummy(int sig) #endif #endif -#ifdef _AIX -#define DEV_PTMX "/dev/ptc" -#else #define DEV_PTMX "/dev/ptmx" -#endif #if defined(X11_t) #define PTSNODENAME "/dev/X/server." -#ifndef sun -#define NAMEDNODENAME "/dev/X/Nserver." -#else +#ifdef __sun #define NAMEDNODENAME "/tmp/.X11-pipe/X" -#endif - -/* - * ISC is only defined for X11 since they are there for - * backwards binary compatability only. - */ +#else +#define NAMEDNODENAME "/dev/X/Nserver." -#define X_ISC_DIR "/dev/X/ISCCONN" -#define ISCDEVNODENAME "/dev/X/ISCCONN/X%s" -#define ISCTMPNODENAME "/tmp/.X11-unix/X%s" #define SCORNODENAME "/dev/X%1sR" #define SCOSNODENAME "/dev/X%1sS" +#endif /* !__sun */ #endif #if defined(XIM_t) +#ifdef __sun +#define NAMEDNODENAME "/tmp/.XIM-pipe/XIM" +#else #define PTSNODENAME "/dev/X/XIM." #define NAMEDNODENAME "/dev/X/NXIM." #define SCORNODENAME "/dev/XIM.%sR" #define SCOSNODENAME "/dev/XIM.%sS" #endif +#endif #if defined(FS_t) || defined (FONT_t) +#ifdef __sun +#define NAMEDNODENAME "/tmp/.font-pipe/fs" +#else /* * USL has already defined something here. We need to check with them * and see if their choice is usable here. @@ -264,13 +291,21 @@ static void _dummy(int sig) #define SCORNODENAME "/dev/fontserver.%sR" #define SCOSNODENAME "/dev/fontserver.%sS" #endif +#endif #if defined(ICE_t) +#ifdef __sun +#define NAMEDNODENAME "/tmp/.ICE-pipe/" +#else #define PTSNODENAME "/dev/X/ICE." #define NAMEDNODENAME "/dev/X/NICE." #define SCORNODENAME "/dev/ICE.%sR" #define SCOSNODENAME "/dev/ICE.%sS" #endif +#endif #if defined(TEST_t) +#ifdef __sun +#define NAMEDNODENAME "/tmp/.Test-unix/test" +#endif #define PTSNODENAME "/dev/X/transtest." #define NAMEDNODENAME "/dev/X/Ntranstest." #define SCORNODENAME "/dev/transtest.%sR" @@ -279,11 +314,11 @@ static void _dummy(int sig) -#ifndef sun +#ifdef LOCAL_TRANS_PTS #ifdef TRANS_CLIENT static int -TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) +TRANS(PTSOpenClient)(XtransConnInfo ciptr, const char *port) { #ifdef PTSNODENAME @@ -303,12 +338,14 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) #else if (port && *port ) { if( *port == '/' ) { /* A full pathname */ - (void) sprintf(server_path, "%s", port); + snprintf(server_path, sizeof(server_path), "%s", port); } else { - (void) sprintf(server_path, "%s%s", PTSNODENAME, port); + snprintf(server_path, sizeof(server_path), "%s%s", + PTSNODENAME, port); } } else { - (void) sprintf(server_path, "%s%d", PTSNODENAME, getpid()); + snprintf(server_path, sizeof(server_path), "%s%d", + PTSNODENAME, getpid()); } @@ -328,6 +365,7 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) if ((fd = open(DEV_PTMX, O_RDWR)) < 0) { prmsg(1,"PTSOpenClient: failed to open %s\n", DEV_PTMX); + close(server); return(-1); } @@ -432,7 +470,7 @@ TRANS(PTSOpenClient)(XtransConnInfo ciptr, char *port) #ifdef TRANS_SERVER static int -TRANS(PTSOpenServer)(XtransConnInfo ciptr, char *port) +TRANS(PTSOpenServer)(XtransConnInfo ciptr, const char *port) { #ifdef PTSNODENAME @@ -591,7 +629,7 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) */ newciptr->addrlen=ciptr->addrlen; - if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { + if( (newciptr->addr = malloc(newciptr->addrlen)) == NULL ) { prmsg(1,"PTSAccept: failed to allocate memory for peer addr\n"); close(newfd); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -601,7 +639,7 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) memcpy(newciptr->addr,ciptr->addr,newciptr->addrlen); newciptr->peeraddrlen=sizeof(struct sockaddr_un); - if( (sunaddr=(struct sockaddr_un *)malloc(newciptr->peeraddrlen)) == NULL ) { + if( (sunaddr = malloc(newciptr->peeraddrlen)) == NULL ) { prmsg(1,"PTSAccept: failed to allocate memory for peer addr\n"); free(newciptr->addr); close(newfd); @@ -623,24 +661,26 @@ TRANS(PTSAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) } #endif /* TRANS_SERVER */ -#endif /* sun */ +#endif /* LOCAL_TRANS_PTS */ -#ifdef SVR4 +#ifdef LOCAL_TRANS_NAMED /* NAMED */ #ifdef TRANS_CLIENT static int -TRANS(NAMEDOpenClient)(XtransConnInfo ciptr, char *port) +TRANS(NAMEDOpenClient)(XtransConnInfo ciptr, const char *port) { #ifdef NAMEDNODENAME int fd; char server_path[64]; struct stat filestat; - extern int isastream(); +# ifndef __sun + extern int isastream(int); +# endif #endif prmsg(2,"NAMEDOpenClient(%s)\n", port); @@ -651,29 +691,32 @@ TRANS(NAMEDOpenClient)(XtransConnInfo ciptr, char *port) #else if ( port && *port ) { if( *port == '/' ) { /* A full pathname */ - (void) sprintf(server_path, "%s", port); + (void) snprintf(server_path, sizeof(server_path), "%s", port); } else { - (void) sprintf(server_path, "%s%s", NAMEDNODENAME, port); + (void) snprintf(server_path, sizeof(server_path), "%s%s", NAMEDNODENAME, port); } } else { - (void) sprintf(server_path, "%s%ld", NAMEDNODENAME, (long)getpid()); + (void) snprintf(server_path, sizeof(server_path), "%s%ld", NAMEDNODENAME, (long)getpid()); + } + + if ((fd = open(server_path, O_RDWR)) < 0) { + prmsg(1,"NAMEDOpenClient: Cannot open %s for NAMED connection\n", server_path); + return -1; } - if (stat(server_path, &filestat) < 0 ) { - prmsg(1,"NAMEDOpenClient: No device %s for NAMED connection\n", server_path); + if (fstat(fd, &filestat) < 0 ) { + prmsg(1,"NAMEDOpenClient: Cannot stat %s for NAMED connection\n", server_path); + (void) close(fd); return -1; } if ((filestat.st_mode & S_IFMT) != S_IFIFO) { prmsg(1,"NAMEDOpenClient: Device %s is not a FIFO\n", server_path); /* Is this really a failure? */ + (void) close(fd); return -1; } - if ((fd = open(server_path, O_RDWR)) < 0) { - prmsg(1,"NAMEDOpenClient: Cannot open %s for NAMED connection\n", server_path); - return -1; - } if (isastream(fd) <= 0) { prmsg(1,"NAMEDOpenClient: %s is not a streams device\n", server_path); @@ -702,32 +745,16 @@ TRANS(NAMEDOpenClient)(XtransConnInfo ciptr, char *port) #ifdef TRANS_SERVER -static int -TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, char *port) -{ #ifdef NAMEDNODENAME +static int +TRANS(NAMEDOpenPipe)(const char *server_path) +{ int fd, pipefd[2]; - char server_path[64]; struct stat sbuf; int mode; -#endif - prmsg(2,"NAMEDOpenServer(%s)\n", port); - -#if !defined(NAMEDNODENAME) - prmsg(1,"NAMEDOpenServer: Protocol is not supported by a NAMED connection\n"); - return -1; -#else - if ( port && *port ) { - if( *port == '/' ) { /* A full pathname */ - (void) sprintf(server_path, "%s", port); - } else { - (void) sprintf(server_path, "%s%s", NAMEDNODENAME, port); - } - } else { - (void) sprintf(server_path, "%s%ld", NAMEDNODENAME, (long)getpid()); - } + prmsg(2,"NAMEDOpenPipe(%s)\n", server_path); #ifdef HAS_STICKY_DIR_BIT mode = 01777; @@ -735,7 +762,7 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, char *port) mode = 0777; #endif if (trans_mkdir(X_STREAMS_DIR, mode) == -1) { - prmsg (1, "NAMEDOpenServer: mkdir(%s) failed, errno = %d\n", + prmsg (1, "NAMEDOpenPipe: mkdir(%s) failed, errno = %d\n", X_STREAMS_DIR, errno); return(-1); } @@ -743,39 +770,74 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, char *port) if(stat(server_path, &sbuf) != 0) { if (errno == ENOENT) { if ((fd = creat(server_path, (mode_t)0666)) == -1) { - prmsg(1, "NAMEDOpenServer: Can't open %s\n", server_path); + prmsg(1, "NAMEDOpenPipe: Can't open %s\n", server_path); return(-1); } close(fd); if (chmod(server_path, (mode_t)0666) < 0) { - prmsg(1, "NAMEDOpenServer: Can't open %s\n", server_path); + prmsg(1, "NAMEDOpenPipe: Can't open %s\n", server_path); return(-1); } } else { - prmsg(1, "NAMEDOpenServer: stat on %s failed\n", server_path); + prmsg(1, "NAMEDOpenPipe: stat on %s failed\n", server_path); return(-1); } } if( pipe(pipefd) != 0) { - prmsg(1, "NAMEDOpenServer: pipe() failed, errno=%d\n",errno); + prmsg(1, "NAMEDOpenPipe: pipe() failed, errno=%d\n",errno); return(-1); } if( ioctl(pipefd[0], I_PUSH, "connld") != 0) { - prmsg(1, "NAMEDOpenServer: ioctl(I_PUSH,\"connld\") failed, errno=%d\n",errno); + prmsg(1, "NAMEDOpenPipe: ioctl(I_PUSH,\"connld\") failed, errno=%d\n",errno); close(pipefd[0]); close(pipefd[1]); return(-1); } if( fattach(pipefd[0], server_path) != 0) { - prmsg(1, "NAMEDOpenServer: fattach(%s) failed, errno=%d\n", server_path,errno); + prmsg(1, "NAMEDOpenPipe: fattach(%s) failed, errno=%d\n", server_path,errno); close(pipefd[0]); close(pipefd[1]); return(-1); } + return(pipefd[1]); +} +#endif + +static int +TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, const char *port) +{ +#ifdef NAMEDNODENAME + int fd; + char server_path[64]; +#endif + + prmsg(2,"NAMEDOpenServer(%s)\n", port); + +#if !defined(NAMEDNODENAME) + prmsg(1,"NAMEDOpenServer: Protocol is not supported by a NAMED connection\n"); + return -1; +#else + if ( port && *port ) { + if( *port == '/' ) { /* A full pathname */ + (void) snprintf(server_path, sizeof(server_path), "%s", port); + } else { + (void) snprintf(server_path, sizeof(server_path), "%s%s", + NAMEDNODENAME, port); + } + } else { + (void) snprintf(server_path, sizeof(server_path), "%s%ld", + NAMEDNODENAME, (long)getpid()); + } + + fd = TRANS(NAMEDOpenPipe)(server_path); + if (fd < 0) { + return -1; + } + /* * Everything looks good: fill in the XtransConnInfo structure. */ @@ -783,21 +845,50 @@ TRANS(NAMEDOpenServer)(XtransConnInfo ciptr, char *port) if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) { prmsg(1,"NAMEDOpenServer: failed to fill in addr info\n"); + TRANS(LocalClose)(ciptr); return -1; } - return(pipefd[1]); + return fd; #endif /* !NAMEDNODENAME */ } +static int +TRANS(NAMEDResetListener) (XtransConnInfo ciptr) + +{ + struct sockaddr_un *sockname=(struct sockaddr_un *) ciptr->addr; + struct stat statb; + + prmsg(2,"NAMEDResetListener(%p, %d)\n", ciptr, ciptr->fd); + + if (ciptr->fd != -1) { + /* + * see if the pipe has disappeared + */ + + if (stat (sockname->sun_path, &statb) == -1 || + (statb.st_mode & S_IFMT) != S_IFIFO) { + prmsg(3, "Pipe %s trashed, recreating\n", sockname->sun_path); + TRANS(LocalClose)(ciptr); + ciptr->fd = TRANS(NAMEDOpenPipe)(sockname->sun_path); + if (ciptr->fd >= 0) + return TRANS_RESET_NEW_FD; + else + return TRANS_CREATE_LISTENER_FAILED; + } + } + return TRANS_RESET_NOOP; +} + static int TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) { struct strrecvfd str; - prmsg(2,"NAMEDAccept(%x->%d)\n", ciptr, ciptr->fd); + prmsg(2,"NAMEDAccept(%p->%d)\n", ciptr, ciptr->fd); if( ioctl(ciptr->fd, I_RECVFD, &str ) < 0 ) { prmsg(1, "NAMEDAccept: ioctl(I_RECVFD) failed, errno=%d\n", errno); @@ -808,11 +899,11 @@ TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) /* * Everything looks good: fill in the XtransConnInfo structure. */ - + newciptr->family=ciptr->family; newciptr->addrlen=ciptr->addrlen; - if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { + if( (newciptr->addr = malloc(newciptr->addrlen)) == NULL ) { prmsg(1, - "NAMEDAccept: failed to allocate memory for peer addr\n"); + "NAMEDAccept: failed to allocate memory for pipe addr\n"); close(str.fd); *status = TRANS_ACCEPT_BAD_MALLOC; return -1; @@ -821,7 +912,7 @@ TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) memcpy(newciptr->addr,ciptr->addr,newciptr->addrlen); newciptr->peeraddrlen=newciptr->addrlen; - if( (newciptr->peeraddr=(char *)malloc(newciptr->peeraddrlen)) == NULL ) { + if( (newciptr->peeraddr = malloc(newciptr->peeraddrlen)) == NULL ) { prmsg(1, "NAMEDAccept: failed to allocate memory for peer addr\n"); free(newciptr->addr); @@ -839,14 +930,14 @@ TRANS(NAMEDAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) #endif /* TRANS_SERVER */ -#endif /* SVR4 */ +#endif /* LOCAL_TRANS_NAMED */ -#ifndef sun +#if defined(LOCAL_TRANS_SCO) /* - * connect_spipe is used by the SCO and ISC connection types. + * connect_spipe is used by the SCO connection type. */ static int connect_spipe(int fd1, int fd2) @@ -871,7 +962,7 @@ connect_spipe(int fd1, int fd2) } /* - * named_spipe is used by the SCO and ISC connection types. + * named_spipe is used by the SCO connection type. */ static int @@ -897,291 +988,12 @@ named_spipe(int fd, char *path) return(ret); } -/* SCO doesnt use the ISC transport type - it causes problems */ -#if !defined(__SCO__) && !defined(__UNIXWARE__) +#endif /* defined(LOCAL_TRANS_SCO) */ -/* ISC */ - -#ifdef TRANS_CLIENT - -static int -TRANS(ISCOpenClient)(XtransConnInfo ciptr, char *port) - -{ -#ifdef ISCDEVNODENAME - int fd,fds,server; - char server_path[64]; - char server_dev_path[64]; - struct strfdinsert buf; - long temp; - mode_t spmode; - struct stat filestat; -#endif - - prmsg(2,"ISCOpenClient(%s)\n", port); - -#if !defined(ISCDEVNODENAME) - prmsg(1,"ISCOpenClient: Protocol is not supported by a ISC connection\n"); - return -1; -#else - (void) sprintf(server_path, ISCTMPNODENAME, port); - (void) sprintf(server_dev_path, ISCDEVNODENAME, port); - - fd = fds = server = -1; - - if (stat(DEV_SPX, &filestat) == -1) { - prmsg(1, "ISCOpenClient: stat(%s) failed, errno=%d\n", DEV_SPX, errno); - return(-1); - } - - spmode = (filestat.st_mode & S_IFMT); - - if (stat(server_path, &filestat) != -1) { - if ((filestat.st_mode & S_IFMT) == spmode) { - if ((server = open(server_path, O_RDWR)) < 0) { - prmsg(1,"ISCOpenClient: failed to open %s\n", - server_path); - } - } - } - - if (server < 0) { - /* try the alternate path */ - if (stat(server_dev_path, &filestat) != -1) { - if ((filestat.st_mode & S_IFMT) == spmode) { - if ((server = open(server_dev_path, O_RDWR)) < 0) { - prmsg(1,"ISCOpenClient: failed to open %s\n", - server_dev_path); - } - } - } - } - - if (server < 0) { - prmsg(1,"ISCOpenClient: can't open either device %s or %s\n", - server_path, server_dev_path); - return -1; - } - - if ((fds = open(DEV_SPX, O_RDWR)) < 0 || - (fd = open(DEV_SPX, O_RDWR)) < 0) { - /* Failed to open all of the devices */ - prmsg(1,"ISCOpenClient: can't open %s\n", DEV_SPX); - (void) close(server); - if (fds != -1) - (void) close(fds); - if (fd != -1) - (void) close(fd); - return -1; - } - - /* make a STREAMS-pipe */ - - buf.databuf.maxlen = -1; - buf.databuf.len = -1; - buf.databuf.buf = NULL; - buf.ctlbuf.maxlen = sizeof(long); - buf.ctlbuf.len = sizeof(long); - buf.ctlbuf.buf = (caddr_t)&temp; - buf.offset = 0; - buf.fildes = fd; - buf.flags = 0; - - if (ioctl(fds, I_FDINSERT, &buf) < 0 || - ioctl(server, I_SENDFD, fds) < 0) { - prmsg(1,"ISCOpenClient: ioctl(I_FDINSERT or I_SENDFD) failed\n"); - (void) close(server); - (void) close(fds); - (void) close(fd); - return -1; - } - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) - { - prmsg(1,"ISCOpenClient: failed to fill in addr info\n"); - close(fd); - return -1; - } - return (fd); -#endif /* !ISCDEVNODENAME */ -} - -#endif /* TRANS_CLIENT */ - - -#ifdef TRANS_SERVER - -static int -TRANS(ISCOpenServer)(XtransConnInfo ciptr, char *port) - -{ -#ifdef ISCDEVNODENAME - int fd = -1,fds = -1; - char server_path[64],server_unix_path[64]; - unsigned int mode = 0; -#endif - - prmsg(2,"ISCOpenServer(%s)\n", port); - -#if !defined(ISCDEVNODENAME) - prmsg(1,"ISCOpenServer: Protocol is not supported by a ISC connection\n"); - return -1; -#else - (void) sprintf(server_path, ISCDEVNODENAME, port); - (void) sprintf(server_unix_path, ISCTMPNODENAME, port); - -#ifdef HAS_STICKY_DIR_BIT - mode = 01777; -#else - mode = 0777; -#endif - - /* "/dev/X" */ - if (trans_mkdir(X_STREAMS_DIR, mode) == -1) { - prmsg (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", - X_STREAMS_DIR, errno); - return(-1); - } - /* "/dev/X/ISCCONN" */ - if (trans_mkdir(X_ISC_DIR, mode) == -1) { - prmsg (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", - X_ISC_DIR, errno); - return(-1); - } - - unlink(server_path); - - if( ((fds=open(DEV_SPX, O_RDWR)) < 0) || - ((fd =open(DEV_SPX, O_RDWR)) < 0)) { - prmsg(1,"ISCOpenServer: failed to open %s\n", DEV_SPX); - return -1; - } - - if( (connect_spipe(fds, fd) < 0) || - (named_spipe(fds, server_path) < 0)) { - prmsg(1,"ISCOpenServer: failed connect pipes\n"); - close(fd); - close(fds); - return -1; - } - -#if !defined(UNIXCONN) - /* - * If the UNIX Domain socket transport is not being used, then link this - * device to the path /tmp/.X11-unix/X path. - */ -#define X_UNIX_DIR "/tmp/.X11-unix" - - if (trans_mkdir(X_UNIX_DIR, mode) == -1) { - prmsg (1, "ISCOpenServer: mkdir(%s) failed, errno = %d\n", - X_UNIX_DIR, errno); - return(-1); - } - - unlink(server_unix_path); - -#ifdef SVR4 - /* we prefer symbolic links because hard links can't cross file systems */ - if( symlink(server_path, server_unix_path) < 0 ) - prmsg(1,"ISCOpenServer: failed to link %s to %s\n", - server_path, server_unix_path); - /* - * Don't make this failure fatal since the listener - * is already established, and this just for compatability - */ -#else -#ifdef ISC40 - /* catch SIGSYS on symlink for ISC40 compiled binaries running on ISC30 */ - signal(SIGSYS,_dummy); -#endif - if( link(server_path, server_unix_path) < 0 ) -#ifdef ISC40 - if( symlink(server_path, server_unix_path) < 0 ) -#endif - prmsg(1,"ISCOpenServer: failed to link %s to %s\n", - server_path, server_unix_path); - /* - * Don't make this failure fatal since the listener - * is already established, and this just for compatability - */ -#endif /* SVR4 */ -#endif /* !UNIXCONN */ - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) - { - prmsg(1,"ISCOpenServer: failed to fill in addr info\n"); - close(fd); - return -1; - } - - return fd; - -#endif /* !ISCDEVNODENAME */ -} - -static int -TRANS(ISCAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) - -{ - struct strrecvfd str; - - prmsg(2,"ISCAccept(%d)\n", ciptr->fd); - - while (ioctl(ciptr->fd, I_RECVFD, &str) < 0) { - if (errno != EAGAIN) { - prmsg(1,"ISCAccept: Can't read fildes"); - *status = TRANS_ACCEPT_MISC_ERROR; - return(-1); - } - } - - /* - * Everything looks good: fill in the XtransConnInfo structure. - */ - - newciptr->addrlen=ciptr->addrlen; - if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { - prmsg(1, - "ISCAccept: failed to allocate memory for peer addr\n"); - close(str.fd); - *status = TRANS_ACCEPT_BAD_MALLOC; - return -1; - } - - memcpy(newciptr->addr,ciptr->addr,newciptr->addrlen); - - newciptr->peeraddrlen=newciptr->addrlen; - if( (newciptr->peeraddr=(char *)malloc(newciptr->peeraddrlen)) == NULL ) { - prmsg(1, - "ISCAccept: failed to allocate memory for peer addr\n"); - free(newciptr->addr); - close(str.fd); - *status = TRANS_ACCEPT_BAD_MALLOC; - return -1; - } - - memcpy(newciptr->peeraddr,newciptr->addr,newciptr->peeraddrlen); - - *status = 0; - - return(str.fd); -} - -#endif /* TRANS_SERVER */ -#endif /* !__SCO__ && !__UNIXWARE__ */ - - +#ifdef LOCAL_TRANS_SCO /* SCO */ /* @@ -1202,7 +1014,7 @@ TRANS(ISCAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) #ifdef TRANS_CLIENT static int -TRANS(SCOOpenClient)(XtransConnInfo ciptr, char *port) +TRANS(SCOOpenClient)(XtransConnInfo ciptr, const char *port) { #ifdef SCORNODENAME int fd, server, fl, ret; @@ -1290,7 +1102,7 @@ TRANS(SCOOpenClient)(XtransConnInfo ciptr, char *port) #ifdef TRANS_SERVER static int -TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) +TRANS(SCOOpenServer)(XtransConnInfo ciptr, const char *port) { #ifdef SCORNODENAME char serverR_path[64]; @@ -1318,6 +1130,10 @@ TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) if ((fds = open(DEV_SPX, O_RDWR)) < 0 || (fdr = open(DEV_SPX, O_RDWR)) < 0 ) { prmsg(1,"SCOOpenServer: failed to open %s\n", DEV_SPX); + if (fds >= 0) + close(fds); + if (fdr >= 0) + close(fdr); return -1; } @@ -1357,7 +1173,7 @@ TRANS(SCOOpenServer)(XtransConnInfo ciptr, char *port) } fdr = open (serverR_path, O_RDWR | O_NDELAY); - if (fds < 0) { + if (fdr < 0) { prmsg(1,"SCOOpenServer: failed to open %s\n", serverR_path); close (fds); return -1; @@ -1423,7 +1239,7 @@ TRANS(SCOAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) */ newciptr->addrlen=ciptr->addrlen; - if( (newciptr->addr=(char *)malloc(newciptr->addrlen)) == NULL ) { + if( (newciptr->addr = malloc(newciptr->addrlen)) == NULL ) { prmsg(1, "SCOAccept: failed to allocate memory for peer addr\n"); close(fd); @@ -1437,7 +1253,7 @@ TRANS(SCOAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) #endif newciptr->peeraddrlen=newciptr->addrlen; - if( (newciptr->peeraddr=(char *)malloc(newciptr->peeraddrlen)) == NULL ) { + if( (newciptr->peeraddr = malloc(newciptr->peeraddrlen)) == NULL ) { prmsg(1, "SCOAccept: failed to allocate memory for peer addr\n"); free(newciptr->addr); @@ -1454,15 +1270,15 @@ TRANS(SCOAccept)(XtransConnInfo ciptr, XtransConnInfo newciptr, int *status) } #endif /* TRANS_SERVER */ -#endif /* sun */ +#endif /* LOCAL_TRANS_SCO */ #ifdef TRANS_REOPEN -#ifndef sun +#ifdef LOCAL_TRANS_PTS static int -TRANS(PTSReopenServer)(XtransConnInfo ciptr, int fd, char *port) +TRANS(PTSReopenServer)(XtransConnInfo ciptr, int fd, const char *port) { #ifdef PTSNODENAME @@ -1477,12 +1293,14 @@ TRANS(PTSReopenServer)(XtransConnInfo ciptr, int fd, char *port) #else if (port && *port ) { if( *port == '/' ) { /* A full pathname */ - (void) sprintf(server_path, "%s", port); + snprintf(server_path, sizeof(server_path), "%s", port); } else { - (void) sprintf(server_path, "%s%s", PTSNODENAME, port); + snprintf(server_path, sizeof(server_path), "%s%s", + PTSNODENAME, port); } } else { - (void) sprintf(server_path, "%s%ld", PTSNODENAME, (long)getpid()); + snprintf(server_path, sizeof(server_path), "%s%ld", + PTSNODENAME, (long)getpid()); } if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) @@ -1496,10 +1314,12 @@ TRANS(PTSReopenServer)(XtransConnInfo ciptr, int fd, char *port) #endif /* !PTSNODENAME */ } -#endif /* !sun */ +#endif /* LOCAL_TRANS_PTS */ + +#ifdef LOCAL_TRANS_NAMED static int -TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd, char *port) +TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd _X_UNUSED, const char *port) { #ifdef NAMEDNODENAME @@ -1514,12 +1334,14 @@ TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd, char *port) #else if ( port && *port ) { if( *port == '/' ) { /* A full pathname */ - (void) sprintf(server_path, "%s", port); + snprintf(server_path, sizeof(server_path),"%s", port); } else { - (void) sprintf(server_path, "%s%s", NAMEDNODENAME, port); + snprintf(server_path, sizeof(server_path), "%s%s", + NAMEDNODENAME, port); } } else { - (void) sprintf(server_path, "%s%ld", NAMEDNODENAME, (long)getpid()); + snprintf(server_path, sizeof(server_path), "%s%ld", + NAMEDNODENAME, (long)getpid()); } if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) @@ -1533,39 +1355,12 @@ TRANS(NAMEDReopenServer)(XtransConnInfo ciptr, int fd, char *port) #endif /* !NAMEDNODENAME */ } -#ifndef sun -#if !defined(__SCO__) && !defined(__UNIXWARE__) -static int -TRANS(ISCReopenServer)(XtransConnInfo ciptr, int fd, char *port) - -{ -#ifdef ISCDEVNODENAME - char server_path[64], server_unix_path[64]; -#endif - - prmsg(2,"ISCReopenServer(%s)\n", port); - -#if !defined(ISCDEVNODENAME) - prmsg(1,"ISCReopenServer: Protocol is not supported by a ISC connection\n"); - return 0; -#else - (void) sprintf(server_path, ISCDEVNODENAME, port); - (void) sprintf(server_unix_path, ISCTMPNODENAME, port); - - if (TRANS(FillAddrInfo) (ciptr, server_path, server_path) == 0) - { - prmsg(1, "ISCReopenServer: failed to fill in addr info\n"); - return 0; - } +#endif /* LOCAL_TRANS_NAMED */ - return 1; - -#endif /* !ISCDEVNODENAME */ -} -#endif /* !__SCO__ && !__UNIXWARE__ */ +#ifdef LOCAL_TRANS_SCO static int -TRANS(SCOReopenServer)(XtransConnInfo ciptr, int fd, char *port) +TRANS(SCOReopenServer)(XtransConnInfo ciptr, int fd, const char *port) { #ifdef SCORNODENAME @@ -1597,7 +1392,7 @@ TRANS(SCOReopenServer)(XtransConnInfo ciptr, int fd, char *port) #endif /* SCORNODENAME */ } -#endif /* !sun */ +#endif /* LOCAL_TRANS_SCO */ #endif /* TRANS_REOPEN */ @@ -1609,12 +1404,12 @@ TRANS(SCOReopenServer)(XtransConnInfo ciptr, int fd, char *port) */ typedef struct _LOCALtrans2dev { - char *transname; + const char *transname; #ifdef TRANS_CLIENT int (*devcotsopenclient)( - XtransConnInfo, char * /*port*/ + XtransConnInfo, const char * /*port*/ ); #endif /* TRANS_CLIENT */ @@ -1622,7 +1417,7 @@ typedef struct _LOCALtrans2dev { #ifdef TRANS_SERVER int (*devcotsopenserver)( - XtransConnInfo, char * /*port*/ + XtransConnInfo, const char * /*port*/ ); #endif /* TRANS_SERVER */ @@ -1630,7 +1425,7 @@ typedef struct _LOCALtrans2dev { #ifdef TRANS_CLIENT int (*devcltsopenclient)( - XtransConnInfo, char * /*port*/ + XtransConnInfo, const char * /*port*/ ); #endif /* TRANS_CLIENT */ @@ -1638,7 +1433,7 @@ typedef struct _LOCALtrans2dev { #ifdef TRANS_SERVER int (*devcltsopenserver)( - XtransConnInfo, char * /*port*/ + XtransConnInfo, const char * /*port*/ ); #endif /* TRANS_SERVER */ @@ -1648,19 +1443,23 @@ typedef struct _LOCALtrans2dev { int (*devcotsreopenserver)( XtransConnInfo, int, /* fd */ - char * /* port */ + const char * /* port */ ); int (*devcltsreopenserver)( XtransConnInfo, int, /* fd */ - char * /* port */ + const char * /* port */ ); #endif /* TRANS_REOPEN */ #ifdef TRANS_SERVER + int (*devreset)( + XtransConnInfo /* ciptr */ +); + int (*devaccept)( XtransConnInfo, XtransConnInfo, int * ); @@ -1670,7 +1469,7 @@ typedef struct _LOCALtrans2dev { } LOCALtrans2dev; static LOCALtrans2dev LOCALtrans2devtab[] = { -#ifndef sun +#ifdef LOCAL_TRANS_PTS {"", #ifdef TRANS_CLIENT TRANS(PTSOpenClient), @@ -1689,6 +1488,7 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(ReopenFail), #endif #ifdef TRANS_SERVER + NULL, /* ResetListener */ TRANS(PTSAccept) #endif /* TRANS_SERVER */ }, @@ -1711,6 +1511,7 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(ReopenFail), #endif #ifdef TRANS_SERVER + NULL, /* ResetListener */ TRANS(PTSAccept) #endif /* TRANS_SERVER */ }, @@ -1733,10 +1534,11 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(ReopenFail), #endif #ifdef TRANS_SERVER + NULL, /* ResetListener */ TRANS(PTSAccept) #endif /* TRANS_SERVER */ }, -#else /* sun */ +#else /* !LOCAL_TRANS_PTS */ {"", #ifdef TRANS_CLIENT TRANS(NAMEDOpenClient), @@ -1755,6 +1557,7 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(ReopenFail), #endif #ifdef TRANS_SERVER + TRANS(NAMEDResetListener), TRANS(NAMEDAccept) #endif /* TRANS_SERVER */ }, @@ -1777,12 +1580,13 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(ReopenFail), #endif #ifdef TRANS_SERVER + TRANS(NAMEDResetListener), TRANS(NAMEDAccept) #endif /* TRANS_SERVER */ }, -#endif /* sun */ +#endif /* !LOCAL_TRANS_PTS */ -#ifdef SVR4 +#ifdef LOCAL_TRANS_NAMED {"named", #ifdef TRANS_CLIENT TRANS(NAMEDOpenClient), @@ -1801,19 +1605,18 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(ReopenFail), #endif #ifdef TRANS_SERVER + TRANS(NAMEDResetListener), TRANS(NAMEDAccept) #endif /* TRANS_SERVER */ }, -#endif /* SVR4 */ -#ifndef sun -#if !defined(__SCO__) && !defined(__UNIXWARE__) -{"isc", +#ifdef __sun /* Alias "pipe" to named, since that's what Solaris called it */ +{"pipe", #ifdef TRANS_CLIENT - TRANS(ISCOpenClient), + TRANS(NAMEDOpenClient), #endif /* TRANS_CLIENT */ #ifdef TRANS_SERVER - TRANS(ISCOpenServer), + TRANS(NAMEDOpenServer), #endif /* TRANS_SERVER */ #ifdef TRANS_CLIENT TRANS(OpenFail), @@ -1822,15 +1625,19 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(OpenFail), #endif /* TRANS_SERVER */ #ifdef TRANS_REOPEN - TRANS(ISCReopenServer), + TRANS(NAMEDReopenServer), TRANS(ReopenFail), #endif #ifdef TRANS_SERVER - TRANS(ISCAccept) + TRANS(NAMEDResetListener), + TRANS(NAMEDAccept) #endif /* TRANS_SERVER */ }, -#endif /* !__SCO__ && !__UNIXWARE__ */ +#endif /* __sun */ +#endif /* LOCAL_TRANS_NAMED */ + +#ifdef LOCAL_TRANS_SCO {"sco", #ifdef TRANS_CLIENT TRANS(SCOOpenClient), @@ -1849,15 +1656,16 @@ static LOCALtrans2dev LOCALtrans2devtab[] = { TRANS(ReopenFail), #endif #ifdef TRANS_SERVER + NULL, /* ResetListener */ TRANS(SCOAccept) #endif /* TRANS_SERVER */ }, -#endif /* sun */ +#endif /* LOCAL_TRANS_SCO */ }; #define NUMTRANSPORTS (sizeof(LOCALtrans2devtab)/sizeof(LOCALtrans2dev)) -static char *XLOCAL=NULL; +static const char *XLOCAL=NULL; static char *workingXLOCAL=NULL; static char *freeXLOCAL=NULL; @@ -1865,29 +1673,27 @@ static char *freeXLOCAL=NULL; #define DEF_XLOCAL "SCO:UNIX:PTS" #elif defined(__UNIXWARE__) #define DEF_XLOCAL "UNIX:PTS:NAMED:SCO" +#elif defined(__sun) +#define DEF_XLOCAL "UNIX:NAMED" #else -#define DEF_XLOCAL "UNIX:PTS:NAMED:ISC:SCO" +#define DEF_XLOCAL "UNIX:PTS:NAMED:SCO" #endif static void -TRANS(LocalInitTransports)(char *protocol) +TRANS(LocalInitTransports)(const char *protocol) { prmsg(3,"LocalInitTransports(%s)\n", protocol); if( strcmp(protocol,"local") && strcmp(protocol,"LOCAL") ) { - workingXLOCAL=freeXLOCAL=(char *)malloc (strlen (protocol) + 1); - if (workingXLOCAL) - strcpy (workingXLOCAL, protocol); + workingXLOCAL = freeXLOCAL = strdup (protocol); } else { XLOCAL=(char *)getenv("XLOCAL"); if(XLOCAL==NULL) XLOCAL=DEF_XLOCAL; - workingXLOCAL=freeXLOCAL=(char *)malloc (strlen (XLOCAL) + 1); - if (workingXLOCAL) - strcpy (workingXLOCAL, XLOCAL); + workingXLOCAL = freeXLOCAL = strdup (XLOCAL); } } @@ -1925,7 +1731,7 @@ TRANS(LocalGetNextTransport)(void) for(i=0;i%d,%s)\n",ciptr,ciptr->fd,port); + prmsg(2,"LocalCreateListener(%p->%d,%s)\n",ciptr,ciptr->fd,port); return 0; } +static int +TRANS(LocalResetListener)(XtransConnInfo ciptr) + +{ + LOCALtrans2dev *transptr; + + prmsg(2,"LocalResetListener(%p)\n",ciptr); + + transptr=(LOCALtrans2dev *)ciptr->priv; + if (transptr->devreset != NULL) { + return transptr->devreset(ciptr); + } + return TRANS_RESET_NOOP; +} + + static XtransConnInfo TRANS(LocalAccept)(XtransConnInfo ciptr, int *status) @@ -2295,13 +2120,13 @@ TRANS(LocalAccept)(XtransConnInfo ciptr, int *status) XtransConnInfo newciptr; LOCALtrans2dev *transptr; - prmsg(2,"LocalAccept(%x->%d)\n", ciptr, ciptr->fd); + prmsg(2,"LocalAccept(%p->%d)\n", ciptr, ciptr->fd); transptr=(LOCALtrans2dev *)ciptr->priv; - if( (newciptr=(XtransConnInfo)calloc(1,sizeof(struct _XtransConnInfo)))==NULL ) + if( (newciptr = calloc(1,sizeof(struct _XtransConnInfo)))==NULL ) { - prmsg(1,"LocalAccept: calloc(1,%d) failed\n", + prmsg(1,"LocalAccept: calloc(1,%lu) failed\n", sizeof(struct _XtransConnInfo)); *status = TRANS_ACCEPT_BAD_MALLOC; return NULL; @@ -2329,10 +2154,11 @@ TRANS(LocalAccept)(XtransConnInfo ciptr, int *status) #ifdef TRANS_CLIENT static int -TRANS(LocalConnect)(XtransConnInfo ciptr, char *host, char *port) +TRANS(LocalConnect)(XtransConnInfo ciptr, + const char *host _X_UNUSED, const char *port) { - prmsg(2,"LocalConnect(%x->%d,%s)\n", ciptr, ciptr->fd, port); + prmsg(2,"LocalConnect(%p->%d,%s)\n", ciptr, ciptr->fd, port); return 0; } @@ -2344,9 +2170,9 @@ static int TRANS(LocalBytesReadable)(XtransConnInfo ciptr, BytesReadable_t *pend ) { - prmsg(2,"LocalBytesReadable(%x->%d,%x)\n", ciptr, ciptr->fd, pend); + prmsg(2,"LocalBytesReadable(%p->%d,%p)\n", ciptr, ciptr->fd, pend); -#if defined(ISC) || defined(SCO325) +#if defined(SCO325) return ioctl(ciptr->fd, I_NREAD, (char *)pend); #else return ioctl(ciptr->fd, FIONREAD, (char *)pend); @@ -2357,7 +2183,7 @@ static int TRANS(LocalRead)(XtransConnInfo ciptr, char *buf, int size) { - prmsg(2,"LocalRead(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalRead(%d,%p,%d)\n", ciptr->fd, buf, size ); return read(ciptr->fd,buf,size); } @@ -2366,7 +2192,7 @@ static int TRANS(LocalWrite)(XtransConnInfo ciptr, char *buf, int size) { - prmsg(2,"LocalWrite(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalWrite(%d,%p,%d)\n", ciptr->fd, buf, size ); return write(ciptr->fd,buf,size); } @@ -2375,7 +2201,7 @@ static int TRANS(LocalReadv)(XtransConnInfo ciptr, struct iovec *buf, int size) { - prmsg(2,"LocalReadv(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalReadv(%d,%p,%d)\n", ciptr->fd, buf, size ); return READV(ciptr,buf,size); } @@ -2384,7 +2210,7 @@ static int TRANS(LocalWritev)(XtransConnInfo ciptr, struct iovec *buf, int size) { - prmsg(2,"LocalWritev(%d,%x,%d)\n", ciptr->fd, buf, size ); + prmsg(2,"LocalWritev(%d,%p,%d)\n", ciptr->fd, buf, size ); return WRITEV(ciptr,buf,size); } @@ -2393,7 +2219,7 @@ static int TRANS(LocalDisconnect)(XtransConnInfo ciptr) { - prmsg(2,"LocalDisconnect(%x->%d)\n", ciptr, ciptr->fd); + prmsg(2,"LocalDisconnect(%p->%d)\n", ciptr, ciptr->fd); return 0; } @@ -2405,7 +2231,7 @@ TRANS(LocalClose)(XtransConnInfo ciptr) struct sockaddr_un *sockname=(struct sockaddr_un *) ciptr->addr; int ret; - prmsg(2,"LocalClose(%x->%d)\n", ciptr, ciptr->fd ); + prmsg(2,"LocalClose(%p->%d)\n", ciptr, ciptr->fd ); ret=close(ciptr->fd); @@ -2427,7 +2253,7 @@ TRANS(LocalCloseForCloning)(XtransConnInfo ciptr) { int ret; - prmsg(2,"LocalCloseForCloning(%x->%d)\n", ciptr, ciptr->fd ); + prmsg(2,"LocalCloseForCloning(%p->%d)\n", ciptr, ciptr->fd ); /* Don't unlink path */ @@ -2448,15 +2274,15 @@ TRANS(LocalCloseForCloning)(XtransConnInfo ciptr) */ #ifdef TRANS_SERVER -static char * local_aliases[] = { -# ifndef sun +static const char * local_aliases[] = { +# ifdef LOCAL_TRANS_PTS "pts", # endif "named", -# ifndef sun -# if !defined(__SCO__) && !defined(__UNIXWARE__) - "isc", +# ifdef __sun + "pipe", /* compatibility with Solaris Xlib */ # endif +# ifdef LOCAL_TRANS_SCO "sco", # endif NULL }; @@ -2479,7 +2305,7 @@ Xtransport TRANS(LocalFuncs) = { TRANS(LocalSetOption), #ifdef TRANS_SERVER TRANS(LocalCreateListener), - NULL, /* ResetListener */ + TRANS(LocalResetListener), TRANS(LocalAccept), #endif /* TRANS_SERVER */ #ifdef TRANS_CLIENT @@ -2490,12 +2316,16 @@ Xtransport TRANS(LocalFuncs) = { TRANS(LocalWrite), TRANS(LocalReadv), TRANS(LocalWritev), +#if XTRANS_SEND_FDS + TRANS(LocalSendFdInvalid), + TRANS(LocalRecvFdInvalid), +#endif TRANS(LocalDisconnect), TRANS(LocalClose), TRANS(LocalCloseForCloning), }; -#ifndef sun +#ifdef LOCAL_TRANS_PTS Xtransport TRANS(PTSFuncs) = { /* Local Interface */ @@ -2514,7 +2344,7 @@ Xtransport TRANS(PTSFuncs) = { TRANS(LocalSetOption), #ifdef TRANS_SERVER TRANS(LocalCreateListener), - NULL, /* ResetListener */ + TRANS(LocalResetListener), TRANS(LocalAccept), #endif /* TRANS_SERVER */ #ifdef TRANS_CLIENT @@ -2525,12 +2355,18 @@ Xtransport TRANS(PTSFuncs) = { TRANS(LocalWrite), TRANS(LocalReadv), TRANS(LocalWritev), +#if XTRANS_SEND_FDS + TRANS(LocalSendFdInvalid), + TRANS(LocalRecvFdInvalid), +#endif TRANS(LocalDisconnect), TRANS(LocalClose), TRANS(LocalCloseForCloning), }; -#endif /* sun */ +#endif /* LOCAL_TRANS_PTS */ + +#ifdef LOCAL_TRANS_NAMED Xtransport TRANS(NAMEDFuncs) = { /* Local Interface */ @@ -2549,7 +2385,7 @@ Xtransport TRANS(NAMEDFuncs) = { TRANS(LocalSetOption), #ifdef TRANS_SERVER TRANS(LocalCreateListener), - NULL, /* ResetListener */ + TRANS(LocalResetListener), TRANS(LocalAccept), #endif /* TRANS_SERVER */ #ifdef TRANS_CLIENT @@ -2560,17 +2396,20 @@ Xtransport TRANS(NAMEDFuncs) = { TRANS(LocalWrite), TRANS(LocalReadv), TRANS(LocalWritev), +#if XTRANS_SEND_FDS + TRANS(LocalSendFdInvalid), + TRANS(LocalRecvFdInvalid), +#endif TRANS(LocalDisconnect), TRANS(LocalClose), TRANS(LocalCloseForCloning), }; -#ifndef sun -#if !defined(__SCO__) && !defined(__UNIXWARE__) -Xtransport TRANS(ISCFuncs) = { +#ifdef __sun +Xtransport TRANS(PIPEFuncs) = { /* Local Interface */ - "isc", - TRANS_LOCAL, + "pipe", + TRANS_ALIAS | TRANS_LOCAL, #ifdef TRANS_CLIENT TRANS(LocalOpenCOTSClient), #endif /* TRANS_CLIENT */ @@ -2584,7 +2423,7 @@ Xtransport TRANS(ISCFuncs) = { TRANS(LocalSetOption), #ifdef TRANS_SERVER TRANS(LocalCreateListener), - NULL, /* ResetListener */ + TRANS(LocalResetListener), TRANS(LocalAccept), #endif /* TRANS_SERVER */ #ifdef TRANS_CLIENT @@ -2595,11 +2434,19 @@ Xtransport TRANS(ISCFuncs) = { TRANS(LocalWrite), TRANS(LocalReadv), TRANS(LocalWritev), +#if XTRANS_SEND_FDS + TRANS(LocalSendFdInvalid), + TRANS(LocalRecvFdInvalid), +#endif TRANS(LocalDisconnect), TRANS(LocalClose), TRANS(LocalCloseForCloning), }; -#endif /* !__SCO__ && !__UNIXWARE__ */ +#endif /* __sun */ +#endif /* LOCAL_TRANS_NAMED */ + + +#ifdef LOCAL_TRANS_SCO Xtransport TRANS(SCOFuncs) = { /* Local Interface */ "sco", @@ -2617,7 +2464,7 @@ Xtransport TRANS(SCOFuncs) = { TRANS(LocalSetOption), #ifdef TRANS_SERVER TRANS(LocalCreateListener), - NULL, /* ResetListener */ + TRANS(LocalResetListener), TRANS(LocalAccept), #endif /* TRANS_SERVER */ #ifdef TRANS_CLIENT @@ -2628,8 +2475,12 @@ Xtransport TRANS(SCOFuncs) = { TRANS(LocalWrite), TRANS(LocalReadv), TRANS(LocalWritev), +#if XTRANS_SEND_FDS + TRANS(LocalSendFdInvalid), + TRANS(LocalRecvFdInvalid), +#endif TRANS(LocalDisconnect), TRANS(LocalClose), TRANS(LocalCloseForCloning), }; -#endif /* sun */ +#endif /* LOCAL_TRANS_SCO */ diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index ccfa0e13b..95db315f3 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -132,12 +132,9 @@ from the copyright holders. #include #endif -#if defined(MOTOROLA) && defined(SYSV) -#define NO_TCP_H -#endif #ifndef NO_TCP_H -#if defined(__osf__) || defined(linux) || defined(__GLIBC__) || defined(AIXV5) +#if defined(linux) || defined(__GLIBC__) #include #endif /* osf */ #if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) @@ -148,18 +145,10 @@ from the copyright holders. #endif /* !NO_TCP_H */ #include -#if defined(SVR4) && !defined(DGUX) && !defined(_SEQUENT_) +#if defined(SVR4) || defined(__SVR4) #include #endif -#if (defined(__i386__) && defined(SYSV)) && !defined(SCO325) && !defined(sun) -#include -#endif - -#if (defined(__i386__) && defined(SYSV)) && (!defined(ISC) || !defined(I_NREAD) || defined(SCO325)) || defined(_SEQUENT_) -#include -#endif - #include #else /* !WIN32 */ @@ -189,7 +178,7 @@ from the copyright holders. /* others don't need this */ #define SocketInitOnce() /**/ -#if defined(linux) +#ifdef linux #define HAVE_ABSTRACT_SOCKETS #endif @@ -212,7 +201,7 @@ from the copyright holders. */ typedef struct _Sockettrans2dev { - char *transname; + const char *transname; int family; int devcotsname; int devcltsname; @@ -263,14 +252,6 @@ static int TRANS(SocketINETClose) (XtransConnInfo ciptr); #define UNIX_PATH "/tmp/.ICE-unix/" #define UNIX_DIR "/tmp/.ICE-unix" #endif /* ICE_t */ -#if defined(TEST_t) -#define UNIX_PATH "/tmp/.Test-unix/test" -#define UNIX_DIR "/tmp/.Test-unix" -#endif -#if defined(LBXPROXY_t) -#define UNIX_PATH "/tmp/.X11-unix/X" -#define UNIX_DIR "/tmp/.X11-unix" -#endif #endif /* UNIXCONN */ @@ -281,17 +262,12 @@ static int TRANS(SocketINETClose) (XtransConnInfo ciptr); #define MAXHOSTNAMELEN 255 #endif -/* - * This provides compatibility for apps linked against system libraries - * that don't have IPv6 support. - */ -#if defined(IPv6) && defined(AF_INET6) -static const struct in6_addr local_in6addr_any = IN6ADDR_ANY_INIT; -#pragma weak in6addr_any = local_in6addr_any -#ifndef __USLC__ -#pragma weak getaddrinfo -#endif -static int haveIPv6 = 1; +#if defined HAVE_SOCKLEN_T || (defined(IPv6) && defined(AF_INET6)) +# define SOCKLEN_T socklen_t +#elif defined(SVR4) || defined(__SVR4) || defined(__SCO__) +# define SOCKLEN_T size_t +#else +# define SOCKLEN_T int #endif #ifndef X11_t @@ -307,6 +283,10 @@ static int haveIPv6 = 1; #ifdef NX_TRANS_SOCKET +#ifdef XTRANS_SEND_FDS + #error XTRANS_SEND_FDS is unsupported for NX! +#endif + #ifdef TRANS_CLIENT #include @@ -686,7 +666,7 @@ int TRANS(SocketCongestionChange) (XtransConnInfo ciptr, int *state) */ static int -TRANS(SocketSelectFamily) (int first, char *family) +TRANS(SocketSelectFamily) (int first, const char *family) { int i; @@ -714,34 +694,26 @@ TRANS(SocketINETGetAddr) (XtransConnInfo ciptr) { #if defined(IPv6) && defined(AF_INET6) struct sockaddr_storage socknamev6; -#endif - struct sockaddr_in socknamev4; - void *socknamePtr; -#if defined(SVR4) || defined(__SCO__) -# define SOCKLEN_T_PTR void* - size_t namelen; #else -# define SOCKLEN_T_PTR socklen_t* - socklen_t namelen; + struct sockaddr_in socknamev4; #endif + void *socknamePtr; + SOCKLEN_T namelen; prmsg (3,"SocketINETGetAddr(%p)\n", ciptr); #if defined(IPv6) && defined(AF_INET6) - if (haveIPv6) - { namelen = sizeof(socknamev6); socknamePtr = &socknamev6; - } - else -#endif - { +#else namelen = sizeof(socknamev4); socknamePtr = &socknamev4; - } +#endif + + bzero(socknamePtr, namelen); if (getsockname (ciptr->fd,(struct sockaddr *) socknamePtr, - (SOCKLEN_T_PTR)&namelen) < 0) + (void *)&namelen) < 0) { #ifdef WIN32 errno = WSAGetLastError(); @@ -755,7 +727,7 @@ TRANS(SocketINETGetAddr) (XtransConnInfo ciptr) * Everything looks good: fill in the XtransConnInfo structure. */ - if ((ciptr->addr = (char *) malloc (namelen)) == NULL) + if ((ciptr->addr = malloc (namelen)) == NULL) { prmsg (1, "SocketINETGetAddr: Can't allocate space for the addr\n"); @@ -763,15 +735,10 @@ TRANS(SocketINETGetAddr) (XtransConnInfo ciptr) } #if defined(IPv6) && defined(AF_INET6) - if (haveIPv6) - { ciptr->family = ((struct sockaddr *)socknamePtr)->sa_family; - } - else -#endif - { +#else ciptr->family = socknamev4.sin_family; - } +#endif ciptr->addrlen = namelen; memcpy (ciptr->addr, socknamePtr, ciptr->addrlen); @@ -793,14 +760,10 @@ TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr) #endif struct sockaddr_in socknamev4; void *socknamePtr; -#if defined(SVR4) || defined(__SCO__) - size_t namelen; -#else - int namelen; -#endif + SOCKLEN_T namelen; #if defined(IPv6) && defined(AF_INET6) - if (haveIPv6 && ciptr->family == AF_INET6) + if (ciptr->family == AF_INET6) { namelen = sizeof(socknamev6); socknamePtr = &socknamev6; @@ -812,6 +775,8 @@ TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr) socknamePtr = &socknamev4; } + bzero(socknamePtr, namelen); + prmsg (3,"SocketINETGetPeerAddr(%p)\n", ciptr); if (getpeername (ciptr->fd, (struct sockaddr *) socknamePtr, @@ -829,7 +794,7 @@ TRANS(SocketINETGetPeerAddr) (XtransConnInfo ciptr) * Everything looks good: fill in the XtransConnInfo structure. */ - if ((ciptr->peeraddr = (char *) malloc (namelen)) == NULL) + if ((ciptr->peeraddr = malloc (namelen)) == NULL) { prmsg (1, "SocketINETGetPeerAddr: Can't allocate space for the addr\n"); @@ -851,16 +816,7 @@ TRANS(SocketOpen) (int i, int type) prmsg (3,"SocketOpen(%d,%d)\n", i, type); -#if defined(IPv6) && defined(AF_INET6) - if (getaddrinfo == NULL) - haveIPv6 = 0; - - if (!haveIPv6 && Sockettrans2devtab[i].family == AF_INET6) - return NULL; -#endif - - if ((ciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) + if ((ciptr = calloc (1, sizeof(struct _XtransConnInfo))) == NULL) { prmsg (1, "SocketOpen: malloc failed\n"); return NULL; @@ -880,7 +836,7 @@ TRANS(SocketOpen) (int i, int type) prmsg (2, "SocketOpen: socket() failed for %s\n", Sockettrans2devtab[i].transname); - free ((char *) ciptr); + free (ciptr); return NULL; } @@ -901,6 +857,27 @@ TRANS(SocketOpen) (int i, int type) } #endif + /* + * Some systems provide a really small default buffer size for + * UNIX sockets. Bump it up a bit such that large transfers don't + * proceed at glacial speed. + */ +#ifdef SO_SNDBUF + if (Sockettrans2devtab[i].family == AF_UNIX) + { + SOCKLEN_T len = sizeof (int); + int val; + + if (getsockopt (ciptr->fd, SOL_SOCKET, SO_SNDBUF, + (char *) &val, &len) == 0 && val < 64 * 1024) + { + val = 64 * 1024; + setsockopt (ciptr->fd, SOL_SOCKET, SO_SNDBUF, + (char *) &val, sizeof (int)); + } + } +#endif + return ciptr; } @@ -908,22 +885,82 @@ TRANS(SocketOpen) (int i, int type) #ifdef TRANS_REOPEN static XtransConnInfo -TRANS(SocketReopen) (int i, int type, int fd, char *port) +TRANS(SocketReopen) (int i _X_UNUSED, int type, int fd, const char *port) { XtransConnInfo ciptr; + int portlen; + struct sockaddr *addr; + size_t addrlen; prmsg (3,"SocketReopen(%d,%d,%s)\n", type, fd, port); - if ((ciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) + if (port == NULL) { + prmsg (1, "SocketReopen: port was null!\n"); + return NULL; + } + + portlen = strlen(port) + 1; // include space for trailing null +#ifdef SOCK_MAXADDRLEN + if (portlen < 0 || portlen > (SOCK_MAXADDRLEN + 2)) { + prmsg (1, "SocketReopen: invalid portlen %d\n", portlen); + return NULL; + } + if (portlen < 14) portlen = 14; +#else + if (portlen < 0 || portlen > 14) { + prmsg (1, "SocketReopen: invalid portlen %d\n", portlen); + return NULL; + } +#endif /*SOCK_MAXADDRLEN*/ + + if ((ciptr = calloc (1, sizeof(struct _XtransConnInfo))) == NULL) { - prmsg (1, "SocketReopen: malloc failed\n"); + prmsg (1, "SocketReopen: malloc(ciptr) failed\n"); return NULL; } ciptr->fd = fd; + addrlen = portlen + offsetof(struct sockaddr, sa_data); + if ((addr = calloc (1, addrlen)) == NULL) { + prmsg (1, "SocketReopen: malloc(addr) failed\n"); + free (ciptr); + return NULL; + } + ciptr->addr = (char *) addr; + ciptr->addrlen = addrlen; + + if ((ciptr->peeraddr = calloc (1, addrlen)) == NULL) { + prmsg (1, "SocketReopen: malloc(portaddr) failed\n"); + free (addr); + free (ciptr); + return NULL; + } + ciptr->peeraddrlen = addrlen; + + /* Initialize ciptr structure as if it were a normally-opened unix socket */ + ciptr->flags = TRANS_LOCAL | TRANS_NOUNLINK; +#ifdef BSD44SOCKETS + addr->sa_len = addrlen; +#endif + addr->sa_family = AF_UNIX; +#if defined(HAVE_STRLCPY) || defined(HAS_STRLCPY) + strlcpy(addr->sa_data, port, portlen); +#else + strncpy(addr->sa_data, port, portlen); +#endif + ciptr->family = AF_UNIX; + memcpy(ciptr->peeraddr, ciptr->addr, addrlen); + ciptr->port = rindex(addr->sa_data, ':'); + if (ciptr->port == NULL) { + if (is_numeric(addr->sa_data)) { + ciptr->port = addr->sa_data; + } + } else if (ciptr->port[0] == ':') { + ciptr->port++; + } + /* port should now point to portnum or NULL */ return ciptr; } @@ -937,8 +974,8 @@ TRANS(SocketReopen) (int i, int type, int fd, char *port) #ifdef TRANS_CLIENT static XtransConnInfo -TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, - char *host, char *port, int previndex) +TRANS(SocketOpenCOTSClientBase) (const char *transname, const char *protocol, + const char *host, const char *port, int previndex) { XtransConnInfo ciptr; int i = previndex; @@ -973,7 +1010,10 @@ TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, #endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ if ((ciptr = TRANS(SocketOpen) ( - i, Sockettrans2devtab[i].devcotsname)) != NULL) + i, Sockettrans2devtab[i].devcotsname)) != NULL) { + /* Save the index for later use */ + + ciptr->index = i; break; } } @@ -993,16 +1033,12 @@ TRANS(SocketOpenCOTSClientBase) (char *transname, char *protocol, #endif - /* Save the index for later use */ - - ciptr->index = i; - return ciptr; } static XtransConnInfo -TRANS(SocketOpenCOTSClient) (Xtransport *thistrans, char *protocol, - char *host, char *port) +TRANS(SocketOpenCOTSClient) (Xtransport *thistrans, const char *protocol, + const char *host, const char *port) { return TRANS(SocketOpenCOTSClientBase)( thistrans->TransName, protocol, host, port, -1); @@ -1015,8 +1051,8 @@ TRANS(SocketOpenCOTSClient) (Xtransport *thistrans, char *protocol, #ifdef TRANS_SERVER static XtransConnInfo -TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, - char *host, char *port) +TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, const char *protocol, + const char *host, const char *port) { XtransConnInfo ciptr; @@ -1082,7 +1118,7 @@ TRANS(SocketOpenCOTSServer) (Xtransport *thistrans, char *protocol, #ifdef TRANS_REOPEN static XtransConnInfo -TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, char *port) +TRANS(SocketReopenCOTSServer) (Xtransport *thistrans, int fd, const char *port) { XtransConnInfo ciptr; @@ -1168,7 +1204,7 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, int socknamelen, unsigned int flags) { - int namelen = socknamelen; + SOCKLEN_T namelen = socknamelen; int fd = ciptr->fd; int retry; @@ -1248,7 +1284,8 @@ TRANS(SocketCreateListener) (XtransConnInfo ciptr, #ifdef TCPCONN static int -TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int flags) +TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, const char *port, + unsigned int flags) { #if defined(IPv6) && defined(AF_INET6) @@ -1257,7 +1294,7 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int struct sockaddr_in sockname; #endif unsigned short sport; - int namelen = sizeof(sockname); + SOCKLEN_T namelen = sizeof(sockname); int status; long tmpport; #ifdef XTHREADS_NEEDS_BYNAMEPARAMS @@ -1285,7 +1322,7 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int { /* fixup the server port address */ tmpport = X_TCP_PORT + strtol (port, (char**)NULL, 10); - sprintf (portbuf,"%lu", tmpport); + snprintf (portbuf, sizeof(portbuf), "%lu", tmpport); port = portbuf; } #endif @@ -1370,13 +1407,13 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port, unsigned int return 0; } -#endif /* SOCKCONN */ +#endif /* TCPCONN */ #ifdef UNIXCONN static int -TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, +TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, const char *port, unsigned int flags) { @@ -1426,28 +1463,23 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, snprintf (tmpport, sizeof(tmpport), "%s%ld", UNIX_PATH, (long)getpid()); port = tmpport; } - if (port && *port) { #ifdef NX_TRANS_SOCKET - if (set_sun_path(port, _NXGetUnixPath(UNIX_PATH), sockname.sun_path, abstract) != 0) { + if (set_sun_path(port, _NXGetUnixPath(UNIX_PATH), sockname.sun_path, abstract) != 0) { #else if (set_sun_path(port, UNIX_PATH, sockname.sun_path, abstract) != 0) { #endif prmsg (1, "SocketUNIXCreateListener: path too long\n"); return TRANS_CREATE_LISTENER_FAILED; } - } else { -#ifdef NX_TRANS_SOCKET - sprintf (sockname.sun_path, "%s%ld", _NXGetUnixPath(UNIX_PATH), (long)getpid()); -#else - sprintf (sockname.sun_path, "%s%ld", UNIX_PATH, (long)getpid()); -#endif - } #if (defined(BSD44SOCKETS) || defined(__UNIXWARE__)) sockname.sun_len = strlen(sockname.sun_path); +#endif + +#if defined(BSD44SOCKETS) || defined(SUN_LEN) namelen = SUN_LEN(&sockname); #else - namelen = strlen(sockname.sun_path) + sizeof(sockname.sun_family); + namelen = strlen(sockname.sun_path) + offsetof(struct sockaddr_un, sun_path); #endif #if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST) @@ -1479,7 +1511,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port, namelen = sizeof (sockname); /* this will always make it the same size */ - if ((ciptr->addr = (char *) malloc (namelen)) == NULL) + if ((ciptr->addr = malloc (namelen)) == NULL) { prmsg (1, "SocketUNIXCreateListener: Can't allocate space for the addr\n"); @@ -1522,11 +1554,12 @@ TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr) if (!abstract && ( stat (unsock->sun_path, &statb) == -1 || ((statb.st_mode & S_IFMT) != -#if (defined (sun) && defined(SVR4)) || defined(NCR) || defined(SCO325) || !defined(S_IFSOCK) - S_IFIFO)) +#if defined(NCR) || defined(SCO325) || !defined(S_IFSOCK) + S_IFIFO #else - S_IFSOCK))) + S_IFSOCK #endif + ))) { int oldUmask = umask (0); @@ -1594,12 +1627,11 @@ TRANS(SocketINETAccept) (XtransConnInfo ciptr, int *status) { XtransConnInfo newciptr; struct sockaddr_in sockname; - int namelen = sizeof(sockname); + SOCKLEN_T namelen = sizeof(sockname); prmsg (2, "SocketINETAccept(%p,%d)\n", ciptr, ciptr->fd); - if ((newciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) + if ((newciptr = calloc (1, sizeof(struct _XtransConnInfo))) == NULL) { prmsg (1, "SocketINETAccept: malloc failed\n"); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -1671,16 +1703,11 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) { XtransConnInfo newciptr; struct sockaddr_un sockname; -#if defined(SVR4) || defined(__SCO__) - size_t namelen = sizeof sockname; -#else - int namelen = sizeof sockname; -#endif + SOCKLEN_T namelen = sizeof sockname; prmsg (2, "SocketUNIXAccept(%p,%d)\n", ciptr, ciptr->fd); - if ((newciptr = (XtransConnInfo) calloc ( - 1, sizeof(struct _XtransConnInfo))) == NULL) + if ((newciptr = calloc (1, sizeof(struct _XtransConnInfo))) == NULL) { prmsg (1, "SocketUNIXAccept: malloc() failed\n"); *status = TRANS_ACCEPT_BAD_MALLOC; @@ -1696,12 +1723,13 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) return NULL; } + ciptr->addrlen = namelen; /* * Get the socket name and the peer name from the listener socket, * since this is unix domain. */ - if ((newciptr->addr = (char *) malloc (ciptr->addrlen)) == NULL) + if ((newciptr->addr = malloc (ciptr->addrlen)) == NULL) { prmsg (1, "SocketUNIXAccept: Can't allocate space for the addr\n"); @@ -1719,7 +1747,7 @@ TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) newciptr->addrlen = ciptr->addrlen; memcpy (newciptr->addr, ciptr->addr, newciptr->addrlen); - if ((newciptr->peeraddr = (char *) malloc (ciptr->addrlen)) == NULL) + if ((newciptr->peeraddr = malloc (ciptr->addrlen)) == NULL) { prmsg (1, "SocketUNIXAccept: Can't allocate space for the addr\n"); @@ -1761,7 +1789,8 @@ static struct addrlist *addrlist = NULL; static int -TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) +TRANS(SocketINETConnect) (XtransConnInfo ciptr, + const char *host, const char *port) { struct sockaddr * socketaddr = NULL; @@ -1771,20 +1800,20 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) struct addrinfo hints; char ntopbuf[INET6_ADDRSTRLEN]; int resetonce = 0; -#endif +#else struct sockaddr_in sockname; + struct hostent *hostp; + struct servent *servp; + unsigned long tmpaddr; +#endif #ifdef XTHREADS_NEEDS_BYNAMEPARAMS _Xgethostbynameparams hparams; _Xgetservbynameparams sparams; #endif - struct hostent *hostp; - struct servent *servp; - unsigned long tmpaddr; #ifdef X11_t char portbuf[PORTBUFSIZE]; #endif - long tmpport; char hostnamebuf[256]; /* tmp space */ prmsg (2,"SocketINETConnect(%d,%s,%s)\n", ciptr->fd, host, port); @@ -1808,14 +1837,14 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) if (is_numeric (port)) { - tmpport = X_TCP_PORT + strtol (port, (char**)NULL, 10); - sprintf (portbuf, "%lu", tmpport); + long tmpport = X_TCP_PORT + strtol (port, (char**)NULL, 10); + snprintf (portbuf, sizeof(portbuf), "%lu", tmpport); port = portbuf; } #endif #if defined(IPv6) && defined(AF_INET6) - if (haveIPv6) { + { if (addrlist != NULL) { if (strcmp(host,addrlist->host) || strcmp(port,addrlist->port)) { if (addrlist->firstaddr) @@ -1954,8 +1983,8 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) addrlist->addr = addrlist->addr->ai_next; } } - } else -#endif + } +#else { /* * Build the socket name. @@ -2018,7 +2047,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) } sockname.sin_port = htons (servp->s_port); } else { - tmpport = strtol (port, (char**)NULL, 10); + long tmpport = strtol (port, (char**)NULL, 10); if (tmpport < 1024 || tmpport > USHRT_MAX) return TRANS_CONNECT_FAILED; sockname.sin_port = htons (((unsigned short) tmpport)); @@ -2029,6 +2058,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) socketaddr = (struct sockaddr *) &sockname; socketaddrlen = sizeof(sockname); } +#endif /* * Turn on socket keepalive so the client process will eventually @@ -2079,7 +2109,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) if (olderrno == ECONNREFUSED || olderrno == EINTR #if defined(IPv6) && defined(AF_INET6) - || (haveIPv6 && ((addrlist->addr->ai_next != NULL) || + || (((addrlist->addr->ai_next != NULL) || (addrlist->addr != addrlist->firstaddr)) && (olderrno == ENETUNREACH || olderrno == EAFNOSUPPORT || olderrno == EADDRNOTAVAIL || olderrno == ETIMEDOUT @@ -2123,7 +2153,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) } #if defined(IPv6) && defined(AF_INET6) - if (haveIPv6 && res != 0) { + if (res != 0) { addrlist->addr = addrlist->addr->ai_next; } #endif @@ -2142,25 +2172,18 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port) */ static int -UnixHostReallyLocal (char *host) +UnixHostReallyLocal (const char *host) { char hostnamebuf[256]; -#if defined(IPv6) && defined(AF_INET6) - if (getaddrinfo == NULL) - haveIPv6 = 0; -#endif - TRANS(GetHostname) (hostnamebuf, sizeof (hostnamebuf)); if (strcmp (hostnamebuf, host) == 0) { return (1); - } + } else { #if defined(IPv6) && defined(AF_INET6) - else if (haveIPv6) - { struct addrinfo *localhostaddr; struct addrinfo *otherhostaddr; struct addrinfo *i, *j; @@ -2206,10 +2229,7 @@ UnixHostReallyLocal (char *host) freeaddrinfo(localhostaddr); freeaddrinfo(otherhostaddr); return equiv; - } -#endif - else - { +#else /* * A host may have more than one network address. If any of the * network addresses of 'host' (specified to the connect call) @@ -2278,15 +2298,17 @@ UnixHostReallyLocal (char *host) i++; } return (equiv); +#endif } } static int -TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) +TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, + const char *host, const char *port) { struct sockaddr_un sockname; - int namelen; + SOCKLEN_T namelen; int abstract = 0; @@ -2305,10 +2327,10 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) */ #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) - if (strcmp(host, "unix") != 0 && strcasecmp(host, "nx") != 0 && + if (host && *host && host[0]!='/' && strcmp(host, "unix") != 0 && strcasecmp(host, "nx") != 0 && strncasecmp(host, "nx,", 3) != 0 && !UnixHostReallyLocal (host)) #else - if (strcmp (host, "unix") != 0 && !UnixHostReallyLocal (host)) + if (host && *host && host[0]!='/' && strcmp (host, "unix") != 0 && !UnixHostReallyLocal (host)) #endif { prmsg (1, @@ -2345,9 +2367,12 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) #if (defined(BSD44SOCKETS) || defined(__UNIXWARE__)) sockname.sun_len = strlen (sockname.sun_path); +#endif + +#if defined(BSD44SOCKETS) || defined(SUN_LEN) namelen = SUN_LEN (&sockname); #else - namelen = strlen (sockname.sun_path) + sizeof (sockname.sun_family); + namelen = strlen (sockname.sun_path) + offsetof(struct sockaddr_un, sun_path); #endif @@ -2371,8 +2396,9 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) * Done here because otherwise all the strlen() calls above would fail. */ - if (abstract) + if (abstract) { sockname.sun_path[0] = '\0'; + } /* * Do the connect() @@ -2388,8 +2414,13 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) errno = olderrno; /* - * If the error was ENOENT, the server may be starting up - * and we should try again. + * If the error was ENOENT, the server may be starting up; we used + * to suggest to try again in this case with + * TRANS_TRY_CONNECT_AGAIN, but this introduced problems for + * processes still referencing stale sockets in their environment. + * Hence, we now return a hard error, TRANS_CONNECT_FAILED, and it + * is suggested that higher level stacks handle retries on their + * level when they face a slow starting server. * * If the error was EWOULDBLOCK or EINPROGRESS then the socket * was non-blocking and we should poll using select @@ -2402,13 +2433,14 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port) return TRANS_IN_PROGRESS; else if (olderrno == EINTR) return TRANS_TRY_CONNECT_AGAIN; - else if (olderrno == ENOENT || olderrno == ECONNREFUSED) - /* If opening as abstract failed, try again normally */ + else if (olderrno == ENOENT || olderrno == ECONNREFUSED) { + /* If opening as abstract socket failed, try again normally */ if (abstract) { ciptr->transptr->flags &= ~(TRANS_ABSTRACT); return TRANS_TRY_CONNECT_AGAIN; } else { return TRANS_CONNECT_FAILED; + } } else { prmsg (2,"SocketUNIXConnect: Can't connect: errno = %d\n", EGET()); @@ -2429,8 +2461,8 @@ SocketUNIXConnectPost: * since this is unix domain. */ - if ((ciptr->addr = (char *) malloc(namelen)) == NULL || - (ciptr->peeraddr = (char *) malloc(namelen)) == NULL) + if ((ciptr->addr = malloc(namelen)) == NULL || + (ciptr->peeraddr = malloc(namelen)) == NULL) { prmsg (1, "SocketUNIXCreateListener: Can't allocate space for the addr\n"); @@ -2512,24 +2544,123 @@ TRANS(SocketBytesReadable) (XtransConnInfo ciptr, BytesReadable_t *pend) #endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ -#if defined(QNX4) - *pend = 0L; /* FIONREAD only returns a short. Zero out upper bits */ -#endif #ifdef WIN32 { int ret = ioctlsocket ((SOCKET) ciptr->fd, FIONREAD, (u_long *) pend); - errno = WSAGetLastError(); + if (ret == SOCKET_ERROR) errno = WSAGetLastError(); return ret; } -#else -#if (defined(__i386__) && defined(SYSV) && !defined(SCO325)) || (defined(_SEQUENT_) && _SOCKET_VERSION == 1) - return ioctl (ciptr->fd, I_NREAD, (char *) pend); #else return ioctl (ciptr->fd, FIONREAD, (char *) pend); -#endif /* __i386__ && SYSV || _SEQUENT_ && _SOCKET_VERSION == 1 */ #endif /* WIN32 */ } +#if XTRANS_SEND_FDS + +static void +appendFd(struct _XtransConnFd **prev, int fd, int do_close) +{ + struct _XtransConnFd *cf, *new; + + new = malloc (sizeof (struct _XtransConnFd)); + if (!new) { + /* XXX mark connection as broken */ + close(fd); + return; + } + new->next = 0; + new->fd = fd; + new->do_close = do_close; + /* search to end of list */ + for (; (cf = *prev); prev = &(cf->next)); + *prev = new; +} + +static int +removeFd(struct _XtransConnFd **prev) +{ + struct _XtransConnFd *cf; + int fd; + + if ((cf = *prev)) { + *prev = cf->next; + fd = cf->fd; + free(cf); + } else + fd = -1; + return fd; +} + +static void +discardFd(struct _XtransConnFd **prev, struct _XtransConnFd *upto, int do_close) +{ + struct _XtransConnFd *cf, *next; + + for (cf = *prev; cf != upto; cf = next) { + next = cf->next; + if (do_close || cf->do_close) + close(cf->fd); + free(cf); + } + *prev = upto; +} + +static void +cleanupFds(XtransConnInfo ciptr) +{ + /* Clean up the send list but don't close the fds */ + discardFd(&ciptr->send_fds, NULL, 0); + /* Clean up the recv list and *do* close the fds */ + discardFd(&ciptr->recv_fds, NULL, 1); +} + +static int +nFd(struct _XtransConnFd **prev) +{ + struct _XtransConnFd *cf; + int n = 0; + + for (cf = *prev; cf; cf = cf->next) + n++; + return n; +} + +static int +TRANS(SocketRecvFd) (XtransConnInfo ciptr) +{ + prmsg (2, "SocketRecvFd(%d)\n", ciptr->fd); + return removeFd(&ciptr->recv_fds); +} + +static int +TRANS(SocketSendFd) (XtransConnInfo ciptr, int fd, int do_close) +{ + appendFd(&ciptr->send_fds, fd, do_close); + return 0; +} + +static int +TRANS(SocketRecvFdInvalid)(XtransConnInfo ciptr) +{ + errno = EINVAL; + return -1; +} + +static int +TRANS(SocketSendFdInvalid)(XtransConnInfo ciptr, int fd, int do_close) +{ + errno = EINVAL; + return -1; +} + +#define MAX_FDS 128 + +union fd_pass { + struct cmsghdr cmsghdr; + char buf[CMSG_SPACE(MAX_FDS * sizeof(int))]; +}; + +#endif /* XTRANS_SEND_FDS */ static int TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size) @@ -2567,7 +2698,41 @@ TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size) } else { + /* FIXME: same code as below, should be possible without duplication */ +#if XTRANS_SEND_FDS + struct iovec iov = { + .iov_base = buf, + .iov_len = size + }; + union fd_pass cmsgbuf; + struct msghdr msg = { + .msg_name = NULL, + .msg_namelen = 0, + .msg_iov = &iov, + .msg_iovlen = 1, + .msg_control = cmsgbuf.buf, + .msg_controllen = CMSG_LEN(MAX_FDS * sizeof(int)) + }; + + size = recvmsg(ciptr->fd, &msg, 0); + if (size >= 0) { + struct cmsghdr *hdr; + + for (hdr = CMSG_FIRSTHDR(&msg); hdr; hdr = CMSG_NXTHDR(&msg, hdr)) { + if (hdr->cmsg_level == SOL_SOCKET && hdr->cmsg_type == SCM_RIGHTS) { + int nfd = (hdr->cmsg_len - CMSG_LEN(0)) / sizeof (int); + int i; + int *fd = (int *) CMSG_DATA(hdr); + + for (i = 0; i < nfd; i++) + appendFd(&ciptr->recv_fds, fd[i], 0); + } + } + } + return size; +#else return read (ciptr->fd, buf, size); +#endif /* XTRANS_SEND_FDS */ } #else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ @@ -2576,137 +2741,323 @@ TRANS(SocketRead) (XtransConnInfo ciptr, char *buf, int size) { int ret = recv ((SOCKET)ciptr->fd, buf, size, 0); #ifdef WIN32 - errno = WSAGetLastError(); + if (ret == SOCKET_ERROR) errno = WSAGetLastError(); #endif return ret; } +#else +#if XTRANS_SEND_FDS + { + struct iovec iov = { + .iov_base = buf, + .iov_len = size + }; + union fd_pass cmsgbuf; + struct msghdr msg = { + .msg_name = NULL, + .msg_namelen = 0, + .msg_iov = &iov, + .msg_iovlen = 1, + .msg_control = cmsgbuf.buf, + .msg_controllen = CMSG_LEN(MAX_FDS * sizeof(int)) + }; + + size = recvmsg(ciptr->fd, &msg, 0); + if (size >= 0) { + struct cmsghdr *hdr; + + for (hdr = CMSG_FIRSTHDR(&msg); hdr; hdr = CMSG_NXTHDR(&msg, hdr)) { + if (hdr->cmsg_level == SOL_SOCKET && hdr->cmsg_type == SCM_RIGHTS) { + int nfd = (hdr->cmsg_len - CMSG_LEN(0)) / sizeof (int); + int i; + int *fd = (int *) CMSG_DATA(hdr); + + for (i = 0; i < nfd; i++) + appendFd(&ciptr->recv_fds, fd[i], 0); + } + } + } + return size; + } #else return read (ciptr->fd, buf, size); +#endif /* XTRANS_SEND_FDS */ #endif /* WIN32 */ #endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ } - static int -TRANS(SocketWrite) (XtransConnInfo ciptr, char *buf, int size) +TRANS(SocketReadv) (XtransConnInfo ciptr, struct iovec *buf, int size) { - prmsg (2,"SocketWrite(%d,%p,%d)\n", ciptr->fd, buf, size); + prmsg (2,"SocketReadv(%d,%p,%d)\n", ciptr->fd, buf, size); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) /* * If we have a valid priv pointer then this * is an internal connection to the proxy. - * In this case we should emulate the write. + * In this case we should emulate the readv. */ if (ciptr->priv) { - int result; - - result = NXTransWrite(ciptr->fd, buf, size); - -#ifdef NX_TRANS_DEBUG - if (result < 0 && EGET() == EAGAIN) - { - fprintf(stderr, "SocketWrite: Write on descriptor [%d] would block.\n", - ciptr->fd); - } - else - { - fprintf(stderr, "SocketWrite: Written [%d] bytes on descriptor [%d].\n", - result, ciptr->fd); - } -#endif - return result; + return NXTransReadVector(ciptr->fd, buf, size); } else { - return write (ciptr->fd, buf, size); + /* FIXME: same code as below, should be possible without duplication */ +#if XTRANS_SEND_FDS + union fd_pass cmsgbuf; + struct msghdr msg = { + .msg_name = NULL, + .msg_namelen = 0, + .msg_iov = buf, + .msg_iovlen = size, + .msg_control = cmsgbuf.buf, + .msg_controllen = CMSG_LEN(MAX_FDS * sizeof(int)) + }; + + size = recvmsg(ciptr->fd, &msg, 0); + if (size >= 0) { + struct cmsghdr *hdr; + + for (hdr = CMSG_FIRSTHDR(&msg); hdr; hdr = CMSG_NXTHDR(&msg, hdr)) { + if (hdr->cmsg_level == SOL_SOCKET && hdr->cmsg_type == SCM_RIGHTS) { + int nfd = (hdr->cmsg_len - CMSG_LEN(0)) / sizeof (int); + int i; + int *fd = (int *) CMSG_DATA(hdr); + + for (i = 0; i < nfd; i++) + appendFd(&ciptr->recv_fds, fd[i], 0); + } + } + } + return size; +#else + return READV (ciptr, buf, size); +#endif } #else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ -#if defined(WIN32) - { - int ret = send ((SOCKET)ciptr->fd, buf, size, 0); -#ifdef WIN32 - errno = WSAGetLastError(); -#endif - return ret; +#if XTRANS_SEND_FDS + { + union fd_pass cmsgbuf; + struct msghdr msg = { + .msg_name = NULL, + .msg_namelen = 0, + .msg_iov = buf, + .msg_iovlen = size, + .msg_control = cmsgbuf.buf, + .msg_controllen = CMSG_LEN(MAX_FDS * sizeof(int)) + }; + + size = recvmsg(ciptr->fd, &msg, 0); + if (size >= 0) { + struct cmsghdr *hdr; + + for (hdr = CMSG_FIRSTHDR(&msg); hdr; hdr = CMSG_NXTHDR(&msg, hdr)) { + if (hdr->cmsg_level == SOL_SOCKET && hdr->cmsg_type == SCM_RIGHTS) { + int nfd = (hdr->cmsg_len - CMSG_LEN(0)) / sizeof (int); + int i; + int *fd = (int *) CMSG_DATA(hdr); + + for (i = 0; i < nfd; i++) + appendFd(&ciptr->recv_fds, fd[i], 0); + } + } + } + return size; } #else - return write (ciptr->fd, buf, size); -#endif /* WIN32 */ + return READV (ciptr, buf, size); +#endif #endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ } static int -TRANS(SocketReadv) (XtransConnInfo ciptr, struct iovec *buf, int size) +TRANS(SocketWritev) (XtransConnInfo ciptr, struct iovec *buf, int size) { - prmsg (2,"SocketReadv(%d,%p,%d)\n", ciptr->fd, buf, size); + prmsg (2,"SocketWritev(%d,%p,%d)\n", ciptr->fd, buf, size); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) /* * If we have a valid priv pointer then this * is an internal connection to the proxy. - * In this case we should emulate the readv. + * In this case we should emulate the writev. */ if (ciptr->priv) { - return NXTransReadVector(ciptr->fd, buf, size); + return NXTransWriteVector(ciptr->fd, buf, size); } else { - return READV (ciptr, buf, size); + /* FIXME: same code as below, should be possible without duplication */ +#if XTRANS_SEND_FDS + if (ciptr->send_fds) + { + union fd_pass cmsgbuf; + int nfd = nFd(&ciptr->send_fds); + struct _XtransConnFd *cf = ciptr->send_fds; + struct msghdr msg = { + .msg_name = NULL, + .msg_namelen = 0, + .msg_iov = buf, + .msg_iovlen = size, + .msg_control = cmsgbuf.buf, + .msg_controllen = CMSG_LEN(nfd * sizeof(int)) + }; + struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); + int i; + int *fds; + + hdr->cmsg_len = msg.msg_controllen; + hdr->cmsg_level = SOL_SOCKET; + hdr->cmsg_type = SCM_RIGHTS; + + fds = (int *) CMSG_DATA(hdr); + /* Set up fds */ + for (i = 0; i < nfd; i++) { + fds[i] = cf->fd; + cf = cf->next; + } + + i = sendmsg(ciptr->fd, &msg, 0); + if (i > 0) + discardFd(&ciptr->send_fds, cf, 0); + return i; + } +#endif + return WRITEV (ciptr, buf, size); } #else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ - return READV (ciptr, buf, size); +#if XTRANS_SEND_FDS + if (ciptr->send_fds) + { + union fd_pass cmsgbuf; + int nfd = nFd(&ciptr->send_fds); + struct _XtransConnFd *cf = ciptr->send_fds; + struct msghdr msg = { + .msg_name = NULL, + .msg_namelen = 0, + .msg_iov = buf, + .msg_iovlen = size, + .msg_control = cmsgbuf.buf, + .msg_controllen = CMSG_LEN(nfd * sizeof(int)) + }; + struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); + int i; + int *fds; + + hdr->cmsg_len = msg.msg_controllen; + hdr->cmsg_level = SOL_SOCKET; + hdr->cmsg_type = SCM_RIGHTS; + + fds = (int *) CMSG_DATA(hdr); + /* Set up fds */ + for (i = 0; i < nfd; i++) { + fds[i] = cf->fd; + cf = cf->next; + } + + i = sendmsg(ciptr->fd, &msg, 0); + if (i > 0) + discardFd(&ciptr->send_fds, cf, 0); + return i; + } +#endif + return WRITEV (ciptr, buf, size); #endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ } static int -TRANS(SocketWritev) (XtransConnInfo ciptr, struct iovec *buf, int size) +TRANS(SocketWrite) (XtransConnInfo ciptr, char *buf, int size) { - prmsg (2,"SocketWritev(%d,%p,%d)\n", ciptr->fd, buf, size); + prmsg (2,"SocketWrite(%d,%p,%d)\n", ciptr->fd, buf, size); #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) /* * If we have a valid priv pointer then this * is an internal connection to the proxy. - * In this case we should emulate the writev. + * In this case we should emulate the write. */ if (ciptr->priv) { - return NXTransWriteVector(ciptr->fd, buf, size); + int result; + + result = NXTransWrite(ciptr->fd, buf, size); + +#ifdef NX_TRANS_DEBUG + if (result < 0 && EGET() == EAGAIN) + { + fprintf(stderr, "SocketWrite: Write on descriptor [%d] would block.\n", + ciptr->fd); + } + else + { + fprintf(stderr, "SocketWrite: Written [%d] bytes on descriptor [%d].\n", + result, ciptr->fd); + } +#endif + return result; } else { - return WRITEV (ciptr, buf, size); + /* FIXME: same code as below, should be possible without duplication */ +#if XTRANS_SEND_FDS + if (ciptr->send_fds) + { + struct iovec iov; + + iov.iov_base = buf; + iov.iov_len = size; + return TRANS(SocketWritev)(ciptr, &iov, 1); + } +#endif /* XTRANS_SEND_FDS */ + return write (ciptr->fd, buf, size); } #else /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ - return WRITEV (ciptr, buf, size); +#if defined(WIN32) + { + int ret = send ((SOCKET)ciptr->fd, buf, size, 0); +#ifdef WIN32 + if (ret == SOCKET_ERROR) errno = WSAGetLastError(); +#endif + return ret; + } +#else +#if XTRANS_SEND_FDS + if (ciptr->send_fds) + { + struct iovec iov; + + iov.iov_base = buf; + iov.iov_len = size; + return TRANS(SocketWritev)(ciptr, &iov, 1); + } +#endif /* XTRANS_SEND_FDS */ + return write (ciptr->fd, buf, size); +#endif /* WIN32 */ #endif /* #if defined(NX_TRANS_SOCKET) && defined(TRANS_CLIENT) */ } - static int TRANS(SocketDisconnect) (XtransConnInfo ciptr) @@ -2716,7 +3067,7 @@ TRANS(SocketDisconnect) (XtransConnInfo ciptr) #ifdef WIN32 { int ret = shutdown (ciptr->fd, 2); - errno = WSAGetLastError(); + if (ret == SOCKET_ERROR) errno = WSAGetLastError(); return ret; } #else @@ -2735,7 +3086,7 @@ TRANS(SocketINETClose) (XtransConnInfo ciptr) #ifdef WIN32 { int ret = close (ciptr->fd); - errno = WSAGetLastError(); + if (ret == SOCKET_ERROR) errno = WSAGetLastError(); return ret; } #else @@ -2769,6 +3120,9 @@ TRANS(SocketUNIXClose) (XtransConnInfo ciptr) #endif +#if XTRANS_SEND_FDS + cleanupFds(ciptr); +#endif ret = close(ciptr->fd); #if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST) @@ -2783,14 +3137,16 @@ TRANS(SocketUNIXClose) (XtransConnInfo ciptr) && sockname->sun_path[0]) { #if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST) - if (!(ciptr->flags & TRANS_NOUNLINK)) + if (!(ciptr->flags & TRANS_NOUNLINK + || ciptr->transptr->flags & TRANS_ABSTRACT)) { fprintf(stderr, "SocketUNIXClose: Unlinking path [%s] for ciptr at [%p].\n", sockname->sun_path, (void *) ciptr); unlink (sockname->sun_path); } #else - if (!(ciptr->flags & TRANS_NOUNLINK)) + if (!(ciptr->flags & TRANS_NOUNLINK + || ciptr->transptr->flags & TRANS_ABSTRACT)) unlink (sockname->sun_path); #endif } @@ -2820,6 +3176,9 @@ TRANS(SocketUNIXCloseForCloning) (XtransConnInfo ciptr) #endif +#if XTRANS_SEND_FDS + cleanupFds(ciptr); +#endif ret = close(ciptr->fd); return ret; @@ -2830,7 +3189,7 @@ TRANS(SocketUNIXCloseForCloning) (XtransConnInfo ciptr) #ifdef TCPCONN # ifdef TRANS_SERVER -static char* tcp_nolisten[] = { +static const char* tcp_nolisten[] = { "inet", #if defined(IPv6) && defined(AF_INET6) "inet6", @@ -2867,6 +3226,10 @@ Xtransport TRANS(SocketTCPFuncs) = { TRANS(SocketWrite), TRANS(SocketReadv), TRANS(SocketWritev), +#if XTRANS_SEND_FDS + TRANS(SocketSendFdInvalid), + TRANS(SocketRecvFdInvalid), +#endif TRANS(SocketDisconnect), TRANS(SocketINETClose), TRANS(SocketINETClose), @@ -2900,6 +3263,10 @@ Xtransport TRANS(SocketINETFuncs) = { TRANS(SocketWrite), TRANS(SocketReadv), TRANS(SocketWritev), +#if XTRANS_SEND_FDS + TRANS(SocketSendFdInvalid), + TRANS(SocketRecvFdInvalid), +#endif TRANS(SocketDisconnect), TRANS(SocketINETClose), TRANS(SocketINETClose), @@ -2934,6 +3301,10 @@ Xtransport TRANS(SocketINET6Funcs) = { TRANS(SocketWrite), TRANS(SocketReadv), TRANS(SocketWritev), +#if XTRANS_SEND_FDS + TRANS(SocketSendFdInvalid), + TRANS(SocketRecvFdInvalid), +#endif TRANS(SocketDisconnect), TRANS(SocketINETClose), TRANS(SocketINETClose), @@ -2975,6 +3346,10 @@ Xtransport TRANS(SocketLocalFuncs) = { TRANS(SocketWrite), TRANS(SocketReadv), TRANS(SocketWritev), +#if XTRANS_SEND_FDS + TRANS(SocketSendFd), + TRANS(SocketRecvFd), +#endif TRANS(SocketDisconnect), TRANS(SocketUNIXClose), TRANS(SocketUNIXCloseForCloning), @@ -2982,7 +3357,7 @@ Xtransport TRANS(SocketLocalFuncs) = { #endif /* !LOCALCONN */ # ifdef TRANS_SERVER # if !defined(LOCALCONN) -static char* unix_nolisten[] = { "local" , NULL }; +static const char* unix_nolisten[] = { "local" , NULL }; # endif # endif @@ -3022,6 +3397,10 @@ Xtransport TRANS(SocketUNIXFuncs) = { TRANS(SocketWrite), TRANS(SocketReadv), TRANS(SocketWritev), +#if XTRANS_SEND_FDS + TRANS(SocketSendFd), + TRANS(SocketRecvFd), +#endif TRANS(SocketDisconnect), TRANS(SocketUNIXClose), TRANS(SocketUNIXCloseForCloning), @@ -3029,7 +3408,6 @@ Xtransport TRANS(SocketUNIXFuncs) = { #endif /* UNIXCONN */ - #ifdef NX_TRANS_SOCKET /* * Override the UNIX_DIR and UNIX_PATH settings and diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 53fd7d75b..34abe836f 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -55,7 +55,11 @@ from The Open Group. */ #ifdef XTHREADS -#include +#include +#endif +#ifdef WIN32 +#include +#include #endif #ifdef X11_t @@ -193,11 +197,11 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) if (len > 0) { if (*addrp && *addrlenp < (len + 1)) { - free ((char *) *addrp); + free (*addrp); *addrp = NULL; } if (!*addrp) - *addrp = (Xtransaddr *) malloc (len + 1); + *addrp = malloc (len + 1); if (*addrp) { strcpy ((char *) *addrp, hostnamebuf); *addrlenp = len; @@ -208,7 +212,7 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) else { if (*addrp) - free ((char *) *addrp); + free (*addrp); *addrp = NULL; *addrlenp = 0; } @@ -221,6 +225,13 @@ TRANS(ConvertAddress)(int *familyp, int *addrlenp, Xtransaddr **addrp) #ifdef ICE_t +/* Needed for _XGethostbyaddr usage in TRANS(GetPeerNetworkId) */ +# if defined(TCPCONN) || defined(UNIXCONN) +# define X_INCLUDE_NETDB_H +# define XOS_USE_NO_LOCKING +# include +# endif + #include char * @@ -231,7 +242,7 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) char *addr = ciptr->addr; char hostnamebuf[256]; char *networkId = NULL; - char *transName = ciptr->transptr->TransName; + const char *transName = ciptr->transptr->TransName; if (gethostname (hostnamebuf, sizeof (hostnamebuf)) < 0) { @@ -244,7 +255,7 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) case AF_UNIX: { struct sockaddr_un *saddr = (struct sockaddr_un *) addr; - networkId = (char *) malloc (3 + strlen (transName) + + networkId = malloc (3 + strlen (transName) + strlen (hostnamebuf) + strlen (saddr->sun_path)); sprintf (networkId, "%s/%s:%s", transName, hostnamebuf, saddr->sun_path); @@ -273,8 +284,8 @@ TRANS(GetMyNetworkId) (XtransConnInfo ciptr) #endif portnum = ntohs (saddr->sin_port); - sprintf (portnumbuf, "%d", portnum); - networkId = (char *) malloc (3 + strlen (transName) + + snprintf (portnumbuf, sizeof(portnumbuf), "%d", portnum); + networkId = malloc (3 + strlen (transName) + strlen (hostnamebuf) + strlen (portnumbuf)); sprintf (networkId, "%s/%s:%s", transName, hostnamebuf, portnumbuf); break; @@ -295,24 +306,12 @@ static jmp_buf env; #ifdef SIGALRM static volatile int nameserver_timedout = 0; -static -#ifdef RETSIGTYPE /* set by autoconf AC_TYPE_SIGNAL */ -RETSIGTYPE -#else /* Imake */ -#ifdef SIGNALRETURNSINT -int -#else -void -#endif -#endif -nameserver_lost(int sig) +static void +nameserver_lost(int sig _X_UNUSED) { nameserver_timedout = 1; longjmp (env, -1); /* NOTREACHED */ -#ifdef SIGNALRETURNSINT - return -1; /* for picky compilers */ -#endif } #endif /* SIGALARM */ @@ -407,8 +406,7 @@ TRANS(GetPeerNetworkId) (XtransConnInfo ciptr) } - hostname = (char *) malloc ( - strlen (ciptr->transptr->TransName) + strlen (addr) + 2); + hostname = malloc (strlen (ciptr->transptr->TransName) + strlen (addr) + 2); strcpy (hostname, ciptr->transptr->TransName); strcat (hostname, "/"); if (addr) @@ -428,16 +426,16 @@ TRANS(WSAStartup) (void) prmsg (2,"WSAStartup()\n"); - if (!wsadata.wVersion && WSAStartup(0x0101, &wsadata)) + if (!wsadata.wVersion && WSAStartup(MAKEWORD(2,2), &wsadata)) return 1; return 0; } #endif +#include static int -is_numeric (char *str) - +is_numeric (const char *str) { int i; @@ -468,7 +466,7 @@ is_numeric (char *str) * bit cannot be set and fail. */ static int -trans_mkdir(char *path, int mode) +trans_mkdir(const char *path, int mode) { struct stat buf; @@ -480,7 +478,7 @@ trans_mkdir(char *path, int mode) } /* Dir doesn't exist. Try to create it */ -#ifndef WIN32 +#if !defined(WIN32) && !defined(__CYGWIN__) /* * 'sticky' bit requested: assume application makes * certain security implications. If effective user ID @@ -575,6 +573,7 @@ trans_mkdir(char *path, int mode) if (fstat(fd, &fbuf) == -1) { prmsg(1, "mkdir: ERROR: fstat failed for %s (%d)\n", path, errno); + close(fd); return -1; } /* @@ -586,6 +585,7 @@ trans_mkdir(char *path, int mode) buf.st_ino != fbuf.st_ino) { prmsg(1, "mkdir: ERROR: inode for %s changed\n", path); + close(fd); return -1; } if (updateOwner && fchown(fd, 0, 0) == 0) @@ -605,8 +605,10 @@ trans_mkdir(char *path, int mode) return -1; } #endif +#if !defined(__APPLE_CC__) && !defined(__CYGWIN__) prmsg(1, "mkdir: Owner of %s should be set to root\n", path); +#endif } if (updateMode && !updatedMode) { diff --git a/nx-X11/lib/xtrans/transport.c b/nx-X11/lib/xtrans/transport.c index 6632a88fb..b62fc7b64 100644 --- a/nx-X11/lib/xtrans/transport.c +++ b/nx-X11/lib/xtrans/transport.c @@ -47,18 +47,19 @@ from The Open Group. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ - -#ifdef XSERV_t -#include "os.h" -#else #include -#endif #define XTRANS_TRANSPORT_C /* used to flag Xtransint.h that it's being used here, not just #included in another file */ #include "Xtransint.h" +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wformat-nonliteral" +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +#endif + #ifdef LOCALCONN #include "Xtranslcl.c" #endif @@ -67,3 +68,7 @@ from The Open Group. #endif #include "Xtrans.c" #include "Xtransutil.c" + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif -- cgit v1.2.3 From 6a186b9217e0e3ca10f285f90e5afcdd22dc6c2e Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 2 Nov 2016 11:48:23 +0100 Subject: Whitespace fixes --- nx-X11/lib/xtrans/Xtrans.c | 2 +- nx-X11/lib/xtrans/Xtranssock.c | 2 +- nx-X11/lib/xtrans/Xtransutil.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'nx-X11/lib/xtrans') diff --git a/nx-X11/lib/xtrans/Xtrans.c b/nx-X11/lib/xtrans/Xtrans.c index 8a88cd4a6..16dd61155 100644 --- a/nx-X11/lib/xtrans/Xtrans.c +++ b/nx-X11/lib/xtrans/Xtrans.c @@ -965,7 +965,7 @@ TRANS(IsLocal) (XtransConnInfo ciptr) } #ifdef NX_TRANS_SOCKET -/* this is needed for pre-xcb X11 as we have in NX */ +/* this is needed for pre-xcb X11 as we have in NX */ int TRANS(GetMyAddr) (XtransConnInfo ciptr, int *familyp, int *addrlenp, Xtransaddr **addrp) diff --git a/nx-X11/lib/xtrans/Xtranssock.c b/nx-X11/lib/xtrans/Xtranssock.c index 95db315f3..62bfca734 100644 --- a/nx-X11/lib/xtrans/Xtranssock.c +++ b/nx-X11/lib/xtrans/Xtranssock.c @@ -1555,7 +1555,7 @@ TRANS(SocketUNIXResetListener) (XtransConnInfo ciptr) stat (unsock->sun_path, &statb) == -1 || ((statb.st_mode & S_IFMT) != #if defined(NCR) || defined(SCO325) || !defined(S_IFSOCK) - S_IFIFO + S_IFIFO #else S_IFSOCK #endif diff --git a/nx-X11/lib/xtrans/Xtransutil.c b/nx-X11/lib/xtrans/Xtransutil.c index 34abe836f..63f0fc355 100644 --- a/nx-X11/lib/xtrans/Xtransutil.c +++ b/nx-X11/lib/xtrans/Xtransutil.c @@ -606,7 +606,7 @@ trans_mkdir(const char *path, int mode) } #endif #if !defined(__APPLE_CC__) && !defined(__CYGWIN__) - prmsg(1, "mkdir: Owner of %s should be set to root\n", + prmsg(1, "mkdir: Owner of %s should be set to root\n", path); #endif } @@ -619,7 +619,7 @@ trans_mkdir(const char *path, int mode) return -1; } #endif - prmsg(1, "mkdir: Mode of %s should be set to %04o\n", + prmsg(1, "mkdir: Mode of %s should be set to %04o\n", path, mode); if (status & WARN_NO_ACCESS) { prmsg(1, "mkdir: this may cause subsequent errors\n"); -- cgit v1.2.3