[PATCH] os: Don't listen to 'tcp' or 'unix' by default. Add '-listen' option.
Keith Packard
keithp at keithp.com
Fri Sep 12 11:35:41 PDT 2014
This disables tcp and unix listen ports by default (the unix port is
the non-abstract /tmp/.X11-unix port that xcb doesn't use). Then, it
uses a new xtrans interface, TRANS(Listen), to provide a command line
option to re-enable those if desired.
Signed-off-by: Keith Packard <keithp at keithp.com>
---
os/utils.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/os/utils.c b/os/utils.c
index c83f77d..ff1806b 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -646,6 +646,12 @@ VerifyDisplayName(const char *d)
return 1;
}
+static const char *defaultNoListenList[] = {
+ "tcp",
+ "unix",
+ NULL
+};
+
/*
* This function parses the command line. Handles device-independent fields
* and allows ddx to handle additional fields. It is not allowed to modify
@@ -664,6 +670,12 @@ ProcessCommandLine(int argc, char *argv[])
PartialNetwork = TRUE;
#endif
+ for (i = 0; defaultNoListenList[i] != NULL; i++) {
+ if (_XSERVTransNoListen(defaultNoListenList[i]))
+ ErrorF("Failed to disable listen for %s transport",
+ defaultNoListenList[i]);
+ }
+
for (i = 1; i < argc; i++) {
/* call ddx first, so it can peek/override if it wants */
if ((skip = ddxProcessArgument(argc, argv, i))) {
@@ -849,6 +861,15 @@ ProcessCommandLine(int argc, char *argv[])
else
UseMsg();
}
+ else if (strcmp(argv[i], "-listen") == 0) {
+ if (++i < argc) {
+ if (_XSERVTransListen(argv[i]))
+ ErrorF("Failed to enable listen for %s transport",
+ argv[i]);
+ }
+ else
+ UseMsg();
+ }
else if (strcmp(argv[i], "-noreset") == 0) {
dispatchExceptionAtReset = 0;
}
--
2.1.0
More information about the xorg-devel
mailing list