File xrdp-add-systemd-support.patch of Package xrdp.2184
Index: xrdp-0.6.1/configure.ac
===================================================================
--- xrdp-0.6.1.orig/configure.ac
+++ xrdp-0.6.1/configure.ac
@@ -8,6 +8,14 @@ AC_PROG_CC
AC_C_CONST
AC_PROG_LIBTOOL
PKG_CHECK_MODULES(AVAHI, avahi-client >= 0.6.4)
+AC_ARG_WITH([systemdsystemunitdir],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
+ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
+if test "x$with_systemdsystemunitdir" != xno; then
+ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+fi
+AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
+
AC_ARG_ENABLE(nopam, AS_HELP_STRING([--enable-nopam],
[Build no PAM support (default: no)]),
[nopam=true], [nopam=false])
Index: xrdp-0.6.1/instfiles/xrdp-sesman.service
===================================================================
--- /dev/null
+++ xrdp-0.6.1/instfiles/xrdp-sesman.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=xrdp session manager
+After=syslog.target network.target
+StopWhenUnneeded=true
+
+[Service]
+Type=forking
+PIDFile=/var/run/xrdp-sesman.pid
+EnvironmentFile=/etc/sysconfig/xrdp
+ExecStart=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS
+ExecStop=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS --kill
+
+[Install]
+WantedBy=multi-user.target
Index: xrdp-0.6.1/instfiles/xrdp.service
===================================================================
--- /dev/null
+++ xrdp-0.6.1/instfiles/xrdp.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=xrdp daemon
+Requires=xrdp-sesman.service
+After=syslog.target network.target xrdp-sesman.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/xrdp.pid
+EnvironmentFile=/etc/sysconfig/xrdp
+ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS
+ExecStop=/usr/sbin/xrdp $XRDP_OPTIONS --kill
+
+[Install]
+WantedBy=multi-user.target
Index: xrdp-0.6.1/instfiles/Makefile.am
===================================================================
--- xrdp-0.6.1.orig/instfiles/Makefile.am
+++ xrdp-0.6.1/instfiles/Makefile.am
@@ -1,8 +1,15 @@
-EXTRA_DIST = xrdp.sh km-0407.ini km-0409.ini km-040c.ini km-0410.ini km-0419.ini km-041d.ini
+EXTRA_DIST = xrdp.sh km-0407.ini km-0409.ini km-040c.ini km-0410.ini km-0419.ini km-041d.ini \
+xrdp-sesman.service xrdp.service
SUBDIRS = \
pam.d
+if HAVE_SYSTEMD
+systemdsystemunit_DATA = \
+ xrdp-sesman.service \
+ xrdp.service
+endif
+
startscriptdir=$(sysconfdir)/xrdp
startscript_DATA = \
Index: xrdp-0.6.1/instfiles/pam.d/xrdp-sesman
===================================================================
--- xrdp-0.6.1.orig/instfiles/pam.d/xrdp-sesman
+++ xrdp-0.6.1/instfiles/pam.d/xrdp-sesman
@@ -1,3 +1,6 @@
#%PAM-1.0
-auth include common-auth
-account include common-account
+auth include common-auth
+account include common-account
+password include common-password
+session required pam_loginuid.so
+session include common-session