summaryrefslogtreecommitdiff
path: root/Xtranssock.c
AgeCommit message (Collapse)Author
2023-03-19Remove "All rights reserved" from Oracle copyright noticesAlan Coopersmith
Oracle no longer includes this term in our copyright & license notices. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-08-20move is_numeric to Xtranssock.c and only define for TCPCONN or TRANS_REOPENKeith Packard
Don't define this function unless it is actually going to be used. Signed-off-by: Keith Packard <keithp@keithp.com>
2022-05-10Automatically disable inet6 transport if ipv6 is disabled on machineRay Strode
If a machine is booted with ipv6.disable=1, trying to bind to an AF_INET6 socket will fail with AFNOSUPPORT. The tcp transport automatically falls back to ipv4 in this case, but the more specific inet6 transport just fails. This failure leads to MakeAllCOTSServerListeners returning a partial success. Unfortunately, the X server can't really contiue with partial successes from this function if -displayfd is in use, since that would, in other cases, potentially lead to the -displayfd electing a display number that is potentially partially in use by a rogue program. This commit addresses the issue by automatically disabling transports when they fail with AFNOSUPPORT, leading them to get ignored, rather than proceeding and ultimately returning from MakeAllCOTSServerListerns with partial=TRUE.
2019-09-30Delete SCO supportAdam Jackson
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-09-30unifdef USG and NCRAdam Jackson
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-03-24avoid -Wformat errors from clangRin Okuyama
https://bugs.freedesktop.org/show_bug.cgi?id=99882 Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2016-09-10Update strlcpy macro check to also check HAVE_STRLCPYJeremy Huddleston Sequoia
xorg-server moved from HAS_STRLCPY to HAVE_STRLCPY in 2011 cf-xserver: d829a7c5cb42c979b58f3547136df5b05d906423 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2016-05-19unifdef LBXPROXY_t and TEST_tAdam Jackson
LBX is dead, and TEST_t is unused. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2016-05-19Remove CLTS codeAdam Jackson
Never been used, as far as I can tell. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2015-12-03Remove support for SysV on x86 platforms other than Solaris & SCOAlan Coopersmith
No other x86 SysV platforms have ever been supported in the modular build systems, so we don't need to keep carrying around a bunch of ifdef's for them. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
2015-11-28Replace 'sun' with '__sun'Richard PALO
Globally replace #ifdef and #if defined usage of 'sun' with '__sun' such that strict ISO compiler modes such as -ansi or -std=c99 can be used. Signed-off-by: Richard PALO <richard@NetBSD.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2014-08-24Add const qualifiers to TRANS(OpenC{L,O}TS{Server,Client}) argsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2014-08-24Add const qualifiers to TRANS(Connect) argsAlan Coopersmith
Also required constifying UnixHostReallyLocal, since SocketUNIXConnect passes the host arg through to it. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2014-08-23Add const qualifiers to TRANS(CreateListener) port argsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2014-08-23Add const qualifiers to TRANS(Reopen...) port argsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2014-03-31Increase UNIX socket buffer sizeMark Kettenis
Some systems provide a really small default buffer size for UNIX sockets. Bump it up to 64k if necessary such that large transfers (such as XGetImage() on a 8-megapixel image) don't take tens of seconds. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2013-11-21Fix alignment issues in FD passing codeMark Kettenis
A char array on the stack is not guaranteed to have more than byte alignment. This means that casting it to a 'struct cmsghdr' and accessing its members may result in unaligned access. This will generate SIGBUS on strict alignment architectures like OpenBSD/sparc64. The solution is to use a union to force proper alignment. Signed-off-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
2013-11-21Remove unused static inlinesMark Kettenis
Signed-off-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
2013-11-07Switch to CMSG_* macros for FD passingKeith Packard
This should be portable to non-Linux systems Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-11-07Actually disable all of the FD passing code unless XTRANS_SEND_FDS is setKeith Packard
Stick all of the functions relating to FD passing inside Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-02Add SEND_FDS version of ReadvKeith Packard
Now that we've found that libFS uses readv, we can test whether this readv implementation works correctly. Signed-off-by: Keith Packard <keithp@keithp.com>
2013-10-31Add APIs to send file descriptors through the networkKeith Packard
Exposes new TRANS(SendFd)/TRANS(RecvFd) APIs. Signed-off-by: Keith Packard <keithp@keithp.com>
2013-07-09Add const qualifier to unix_nolistenŁukasz Stelmach
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-12-13Xtranssock.c: avoid buffer overrun in SocketReopenRobert Bragg
This function was constructing an address from a port string allocating a buffer according to the size of the string but then later copying the address according to sizeof(struct sockaddr). This patch ensures that we allocate a struct sockaddr buffer with enough space for the port string to be copied into sa_data[] and uses that combined length to determine how much should be copied at the end of the function. This fixes a crash when using xwayland which uses ListenOnOpenFD() that will call _XSERVTransReopenCOTSServer() with a short port string like ":1". Signed-off-by: Robert Bragg <robert@linux.intel.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-12-06Remove unnecessary casts on malloc, calloc & free callsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
2011-12-05Finish conversion to standard C allocation functionsAlan Coopersmith
Commit 4ac40cd5451 started this, by no longer special casing the xserver to include it's former custom allocation functions, this just takes the remaining #defines and pre-substitutes them into the code. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-12-05Fix some resource & memory leaks in libxtrans.Alan Hourihane
Signed-off-by: Alan Hourihane <alanh@vmware.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-10-01Convert a bunch of sprintf calls to snprintfAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-01Add const attributes to fix gcc -Wwrite-strings warningsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-01Fix warning: unused variable 'tmpport' with various configurationsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-01Add _X_UNUSED attributes to silence unused parameter warningsAlan Coopersmith
Not all the transport variants use all the arguments to every function, but as long as one transport type needs it, they all get the args passed. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-01Fix unused variable warningsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-01Fix printf format string warningsAlan Coopersmith
Now that prmsg lets arguments types actually be checked, fix the warnings found. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-01Convert PRMSG macro to prmsg inline functionAlan Coopersmith
Allows using varargs to have the correct number of arguments passed to get rid of the many gcc warnings about variable printf format strings, and to reduce the duplication from having 5 implementations of the PRMSG macro depending on the debug options defined & output method used. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-09-16Strip trailing whitespaceAlan Coopersmith
Performed with: find * -type f | xargs perl -i -p -e 's{[ \t]+$}{}' git diff -w & git diff -b show no diffs from this change Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-10-29Sun's copyrights now belong to OracleAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-01-14Update Sun license notices to current X.Org standard formAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-10-15Xtranssock: assume that we have getaddrinfo if ipv6 is enabledJulien Cristau
If IPv6 is enabled at build time, assume that the C library will have getaddrinfo at runtime. Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-07-30Fix ifdef checks for SVR4 to do the right thing on SolarisAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-05-18xfs segfaults in _FontTransSocketReopen when cloning itselfAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-01-30Janitor: Correct make distcheck and compiler warnings.Paulo Cesar Pereira de Andrade
Compiler warnings are spread on other packages, with a warning in the format: /usr/include/X11/Xtrans/Xtranssock.c:548: warning: 'ciptr' may be used uninitialized in this function so the code was slightly changed so that the compiler would not "think" it could be used without initialization.
2008-08-07Drastically simplify TRANS_OPEN_MAX.Adam Jackson
If your OS doesn't have sysconf(3), then life is already hard for you.
2008-08-07Massive ifdef cleanup, dropping a ton of unsupported platform code.Adam Jackson
2008-06-24Clear some pointer type mismatch warningsAlan Coopersmith
2008-05-12Connection failure for abstract socket is ECONNREFUSED, not ENOENT.Adam Jackson
Apropos of bug #15884.
2008-05-12Ignore mkdir() errors when creating the abstract socket.Bill Nottingham
Red Hat bug #445303.
2008-04-25Fix length calculation for the path for abstract unix domain socketsJames Cloos
Since the struct has a fixed-lenght char[] its sizeof() contains trailing NUL octets which results in corrupt abstract sockets. Instead, take the strlen(3) of the path, plus the single NUL octet (which identifies the path as an abstract path rather than a file- system path) plus the offset from the start of the struct to the start of the char array. This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=15677
2008-04-23Only call WSAGetLastError() if there has been anColin Harrison
error condition.
2008-04-15Sun bug #6688467: _X11TransConvertAddress: Unknown family type on 64-bit SPARCAlan Coopersmith
Check for socklen_t definition and if found use it instead of size_t or int for the length argument to getpeername/getsockname/etc. <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6688467>
2008-03-24Bug #10489: Don't retry unix socket connect()s on ENOENT.Loïc Minier
If the socket isn't there, it's not gonna magically appear. Either it's a server socket and you should have just waited for the SIGUSR1 from the server, or it's a stale reference to an ICE socket. However, do retry once, so fallback from abstract to filesystem namespace works. Originally Debian bug #385976.