aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2020-10-17 22:02:41 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2020-10-17 22:02:41 +0200
commit05cb09a5f9edff28466c736dd4601d17068d4c12 (patch)
tree7dac005aeb478348ac3f92f02c1d72c64dfb4a16
parentd121f2a9c2cc156fa63bba83d2cbcb0c7fbb6631 (diff)
parent1215c36f77032ad4f08e1150d98101478a57cbf7 (diff)
downloadnx-libs-05cb09a5f9edff28466c736dd4601d17068d4c12.tar.gz
nx-libs-05cb09a5f9edff28466c736dd4601d17068d4c12.tar.bz2
nx-libs-05cb09a5f9edff28466c736dd4601d17068d4c12.zip
Merge branch 'uli42-pr/libNX_X11_defines' into 3.6.x
Attributes GH PR #787: https://github.com/ArcticaProject/nx-libs/pull/787
-rw-r--r--m4/nx-xtrans.m411
-rw-r--r--nx-X11/lib/configure.ac43
-rw-r--r--nx-X11/lib/src/Makefile.am2
3 files changed, 56 insertions, 0 deletions
diff --git a/m4/nx-xtrans.m4 b/m4/nx-xtrans.m4
index 1ac7b0e75..fb0b1f70e 100644
--- a/m4/nx-xtrans.m4
+++ b/m4/nx-xtrans.m4
@@ -166,3 +166,14 @@ AC_DEFUN([NX_XTRANS_SECURE_RPC_FLAGS],
fi
AC_MSG_RESULT($SECURE_RPC)
]) # NX_XTRANS_SECURE_RPC_FLAGS
+
+# the following originates from libxtrans/configure.ac
+
+# sticky bit
+#
+# if any system exists without sticky dir bits this
+# needs to be redone with a real autoconf test
+
+sticky_bit_define="-DHAS_STICKY_DIR_BIT"
+
+AC_SUBST(sticky_bit_define)
diff --git a/nx-X11/lib/configure.ac b/nx-X11/lib/configure.ac
index 025d27111..c616dab57 100644
--- a/nx-X11/lib/configure.ac
+++ b/nx-X11/lib/configure.ac
@@ -42,6 +42,19 @@ PKG_PROG_PKG_CONFIG
X11_REQUIRES='nx-xproto nx-xextproto nx-xtrans'
X11_EXTRA_DEPS=""
+X11_REQUIRES="${X11_REQUIRES} xau xcmiscproto bigreqsproto"
+X11_EXTRA_DEPS="xau"
+PKG_CHECK_MODULES(XDMCP, xdmcp,
+ AC_CHECK_LIB(Xdmcp, XdmcpWrap,
+ [
+ AC_CHECK_LIB(Xdmcp, XdmcpWrap, [xdmauth="yes"], [xdmauth="no"], [$XDMCP_LIBS])
+ X11_EXTRA_DEPS="$X11_EXTRA_DEPS xdmcp"
+ ],
+ [
+ XDMCP_CFLAGS=
+ XDMCP_LIBS=
+ ], [$XDMCP_LIBS]),
+ [AC_MSG_RESULT(no)])
AC_SUBST(X11_EXTRA_DEPS)
# Silence warning: ar: 'u' modifier ignored since 'D' is the default
@@ -54,6 +67,25 @@ m4_pattern_forbid([^NX_XTRANS_CONNECTION_FLAGS$])
# Transport selection macro from nx-xtrans.m4
NX_XTRANS_CONNECTION_FLAGS
+
+# Secure RPC detection macro from xtrans.m4
+NX_XTRANS_SECURE_RPC_FLAGS
+
+# Original comments regarding FAIL_HARD from libxtrans:
+# "fail hard if socket directories cannot be chowned to root or
+# chmod'ed to the requested mode if 'sticky' bit is requested for this
+# directory instead of just print a warning that will remain unnoticed
+# most of the times.
+# Set the define XtransFailSoft to restore the old
+# behavior to fail softly when socket directory cannot chowned/chmod
+# to correct user/group."
+#
+# -> we want to always fail in that scenario.
+AC_DEFINE(FAIL_HARD,1,[Fail if the xtrans socket directory cannot be chowned/chmod'ed])
+
+# Actually disable all of the FD passing code, NX does not support it.
+AC_DEFINE(XTRANS_SEND_FDS,0,[Disable xtrans FD passing code.])
+
# Check for dlopen
AC_MSG_CHECKING([if run-time linking is supported])
AC_SEARCH_LIBS(dlopen,[dl svld])
@@ -156,6 +188,17 @@ fi
AC_SUBST(XTHREADLIB)
AC_SUBST(XTHREAD_CFLAGS)
+case x$xdmauth in
+xyes)
+ XDMCP_CFLAGS="$XDMCP_CFLAGS -DHASXDMAUTH"
+ ;;
+xno)
+ XDMCP_LIBS=""
+ ;;
+esac
+AC_SUBST(XDMCP_CFLAGS)
+AC_SUBST(XDMCP_LIBS)
+
AC_CHECK_FUNC(poll, [has_poll="yes"], [has_poll="no"])
AC_ARG_ENABLE([poll],
diff --git a/nx-X11/lib/src/Makefile.am b/nx-X11/lib/src/Makefile.am
index 90011f602..016dbc5cf 100644
--- a/nx-X11/lib/src/Makefile.am
+++ b/nx-X11/lib/src/Makefile.am
@@ -28,6 +28,7 @@ AM_CPPFLAGS= \
AM_CFLAGS= \
$(X11_CFLAGS) \
$(BIGFONT_CFLAGS) \
+ $(XDMCP_CFLAGS) \
$(XMALLOC_ZERO_CFLAGS) \
$(CWARNFLAGS) \
$(NULL)
@@ -364,6 +365,7 @@ libNX_X11_la_LIBADD = \
$(USE_XCMS_LIBS) \
$(USE_XKB_LIBS) \
$(X11_LIBS) \
+ $(XDMCP_LIBS) \
-L$(top_srcdir)/../../nxcomp/src/.libs -lXcomp \
$(NULL)