From 7642675ddf971bdaf958c560b6e39109cd317d9a Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Mon, 22 Feb 2016 22:11:57 -0800 Subject: [PATCH 1/3] Use "dist_" prefix to minimize use of EXTRA_DIST "dist" is ignored in presense of "noinst", so keep noinst_man_MANS. --- docs/man/Makefile.am | 4 ++-- instfiles/Makefile.am | 9 ++++----- instfiles/default/Makefile.am | 5 ++--- instfiles/init.d/Makefile.am | 6 ++---- instfiles/pulse/Makefile.am | 5 ++--- instfiles/rc.d/Makefile.am | 6 ++---- sesman/Makefile.am | 5 +---- xrdp/Makefile.am | 6 ++---- 8 files changed, 17 insertions(+), 29 deletions(-) diff --git a/docs/man/Makefile.am b/docs/man/Makefile.am index 507809bd..48c26559 100644 --- a/docs/man/Makefile.am +++ b/docs/man/Makefile.am @@ -1,4 +1,4 @@ -man_MANS = \ +dist_man_MANS = \ xrdp-dis.1 \ sesman.ini.5 \ xrdp.ini.5 \ @@ -14,4 +14,4 @@ man_MANS = \ noinst_man_MANS = \ xrdp-xcon.8 -EXTRA_DIST = $(man_MANS) $(noinst_man_MANS) +EXTRA_DIST = $(noinst_man_MANS) diff --git a/instfiles/Makefile.am b/instfiles/Makefile.am index 4ef77992..7a16457b 100644 --- a/instfiles/Makefile.am +++ b/instfiles/Makefile.am @@ -1,15 +1,14 @@ EXTRA_DIST = \ xrdp.sh \ xrdp-sesman.service \ - xrdp.service \ - $(startscript_DATA) + xrdp.service # # files for all platforms # startscriptdir=$(sysconfdir)/xrdp -startscript_DATA = \ +dist_startscript_DATA = \ km-0407.ini \ km-0409.ini \ km-040c.ini \ @@ -37,9 +36,9 @@ if LINUX SUBDIRS += \ pam.d \ pulse -startscript_DATA += xrdp.sh +dist_startscript_DATA += xrdp.sh if HAVE_SYSTEMD -systemdsystemunit_DATA = \ +dist_systemdsystemunit_DATA = \ xrdp-sesman.service \ xrdp.service else diff --git a/instfiles/default/Makefile.am b/instfiles/default/Makefile.am index 6a7f4f2b..f379a46d 100644 --- a/instfiles/default/Makefile.am +++ b/instfiles/default/Makefile.am @@ -1,3 +1,2 @@ -EXTRA_DIST = xrdp -startscriptdir=$(sysconfdir)/default -startscript_DATA = xrdp +startscriptdir = $(sysconfdir)/default +dist_startscript_DATA = xrdp diff --git a/instfiles/init.d/Makefile.am b/instfiles/init.d/Makefile.am index d9e43ecb..b76c8573 100644 --- a/instfiles/init.d/Makefile.am +++ b/instfiles/init.d/Makefile.am @@ -1,4 +1,2 @@ -EXTRA_DIST = xrdp -startscriptdir=$(sysconfdir)/init.d -startscript_DATA = xrdp - +startscriptdir = $(sysconfdir)/init.d +dist_startscript_DATA = xrdp diff --git a/instfiles/pulse/Makefile.am b/instfiles/pulse/Makefile.am index fcd9ee4b..72b80d10 100644 --- a/instfiles/pulse/Makefile.am +++ b/instfiles/pulse/Makefile.am @@ -1,3 +1,2 @@ -EXTRA_DIST = default.pa -pulsedir=$(sysconfdir)/xrdp/pulse -pulse_DATA = default.pa +pulsedir = $(sysconfdir)/xrdp/pulse +dist_pulse_DATA = default.pa diff --git a/instfiles/rc.d/Makefile.am b/instfiles/rc.d/Makefile.am index 5edb8ccc..62c7d330 100644 --- a/instfiles/rc.d/Makefile.am +++ b/instfiles/rc.d/Makefile.am @@ -1,4 +1,2 @@ -EXTRA_DIST = xrdp -startscriptdir=$(sysconfdir)/rc.d -startscript_DATA = xrdp - +startscriptdir = $(sysconfdir)/rc.d +dist_startscript_DATA = xrdp diff --git a/sesman/Makefile.am b/sesman/Makefile.am index c40112aa..5f22d379 100644 --- a/sesman/Makefile.am +++ b/sesman/Makefile.am @@ -1,6 +1,3 @@ - -EXTRA_DIST = sesman.ini startwm.sh - AM_CPPFLAGS = \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \ @@ -67,7 +64,7 @@ xrdp_sesman_LDADD = \ sesmansysconfdir=$(sysconfdir)/xrdp -sesmansysconf_DATA = \ +dist_sesmansysconf_DATA = \ sesman.ini \ startwm.sh diff --git a/xrdp/Makefile.am b/xrdp/Makefile.am index d9fc2a67..67ff4df8 100644 --- a/xrdp/Makefile.am +++ b/xrdp/Makefile.am @@ -1,5 +1,3 @@ -EXTRA_DIST = $(xrdpsysconf_DATA) $(xrdppkgdata_DATA) - EXTRA_INCLUDES = EXTRA_LIBS = EXTRA_FLAGS = @@ -60,13 +58,13 @@ xrdp_LDFLAGS = \ xrdpsysconfdir=$(sysconfdir)/xrdp -xrdpsysconf_DATA = \ +dist_xrdpsysconf_DATA = \ xrdp.ini \ xrdp_keyboard.ini xrdppkgdatadir=$(datadir)/xrdp -xrdppkgdata_DATA = \ +dist_xrdppkgdata_DATA = \ ad24b.bmp \ ad256.bmp \ xrdp24b.bmp \ From 22e6f3e2f75f0e33650c057a11f865a9fd18f15f Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Mon, 22 Feb 2016 23:13:16 -0800 Subject: [PATCH 2/3] Use SCRIPTS for executable scripts, don't use "chmod 755" --- instfiles/Makefile.am | 5 +---- instfiles/init.d/Makefile.am | 2 +- instfiles/rc.d/Makefile.am | 2 +- sesman/Makefile.am | 8 +++----- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/instfiles/Makefile.am b/instfiles/Makefile.am index 7a16457b..f32eb639 100644 --- a/instfiles/Makefile.am +++ b/instfiles/Makefile.am @@ -36,7 +36,7 @@ if LINUX SUBDIRS += \ pam.d \ pulse -dist_startscript_DATA += xrdp.sh +dist_startscript_SCRIPTS = xrdp.sh if HAVE_SYSTEMD dist_systemdsystemunit_DATA = \ xrdp-sesman.service \ @@ -61,9 +61,7 @@ endif if LINUX # must be tab below install-data-hook: - chmod 755 $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh if [ -f $(DESTDIR)$(sysconfdir)/init.d/xrdp ]; then \ - chmod 755 $(DESTDIR)$(sysconfdir)/init.d/xrdp; \ sed -i 's|__BASE__|$(prefix)|' $(DESTDIR)$(sysconfdir)/init.d/xrdp; \ fi endif @@ -71,6 +69,5 @@ endif if FREEBSD # must be tab below install-data-hook: - chmod 755 $(DESTDIR)$(sysconfdir)/rc.d/xrdp sed -i '' 's|%%PREFIX%%|$(prefix)|g' $(DESTDIR)$(sysconfdir)/rc.d/xrdp endif diff --git a/instfiles/init.d/Makefile.am b/instfiles/init.d/Makefile.am index b76c8573..2ffff4fe 100644 --- a/instfiles/init.d/Makefile.am +++ b/instfiles/init.d/Makefile.am @@ -1,2 +1,2 @@ startscriptdir = $(sysconfdir)/init.d -dist_startscript_DATA = xrdp +dist_startscript_SCRIPTS = xrdp diff --git a/instfiles/rc.d/Makefile.am b/instfiles/rc.d/Makefile.am index 62c7d330..17993232 100644 --- a/instfiles/rc.d/Makefile.am +++ b/instfiles/rc.d/Makefile.am @@ -1,2 +1,2 @@ startscriptdir = $(sysconfdir)/rc.d -dist_startscript_DATA = xrdp +dist_startscript_SCRIPTS = xrdp diff --git a/sesman/Makefile.am b/sesman/Makefile.am index 5f22d379..68dba28e 100644 --- a/sesman/Makefile.am +++ b/sesman/Makefile.am @@ -65,7 +65,9 @@ xrdp_sesman_LDADD = \ sesmansysconfdir=$(sysconfdir)/xrdp dist_sesmansysconf_DATA = \ - sesman.ini \ + sesman.ini + +dist_sesmansysconf_SCRIPTS = \ startwm.sh SUBDIRS = \ @@ -73,7 +75,3 @@ SUBDIRS = \ tools \ sessvc \ chansrv - -# must be tab below -install-data-hook: - chmod 755 $(DESTDIR)$(sysconfdir)/xrdp/startwm.sh From b63575cebc2b4c4c6b0188cc376cf623b3fc0d8e Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Fri, 19 Feb 2016 23:38:49 -0800 Subject: [PATCH 3/3] Create and install rsakeys.ini Use install-data-hook to ensure restrictive permissions on rsakeys.ini. Don't create rsakeys.ini in init scripts. This makes xrdp functional upon "make install" without relying on the init scripts. Packagers should not package rsakeys.ini, it should be created when the package is installed. --- instfiles/init.d/xrdp | 13 ------------- instfiles/rc.d/xrdp | 4 ---- keygen/Makefile.am | 9 +++++++++ 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/instfiles/init.d/xrdp b/instfiles/init.d/xrdp index 8e5f42d1..f64e5965 100644 --- a/instfiles/init.d/xrdp +++ b/instfiles/init.d/xrdp @@ -23,7 +23,6 @@ SESMAN_START=yes #USERID=xrdp # the X11rdp backend only works as root at the moment - GH 20/03/2013 USERID=root -RSAKEYS=/etc/xrdp/rsakeys.ini NAME=xrdp DESC="Remote Desktop Protocol server" @@ -67,18 +66,6 @@ if [ "$(id -u)" = "0" ]; then mkdir $PIDDIR fi chown $USERID:$USERID $PIDDIR - - # Check for rsa key - if [ ! -f $RSAKEYS ] ; then - log_action_begin_msg "Generating xrdp RSA keys..." - (umask 077 ; xrdp-keygen xrdp $RSAKEYS) - chown $USERID:$USERID $RSAKEYS - if [ ! -f $RSAKEYS ] ; then - log_action_end_msg 1 "could not create $RSAKEYS" - exit 1 - fi - log_action_end_msg 0 "done" - fi fi diff --git a/instfiles/rc.d/xrdp b/instfiles/rc.d/xrdp index d20f8108..9dec649e 100644 --- a/instfiles/rc.d/xrdp +++ b/instfiles/rc.d/xrdp @@ -61,10 +61,6 @@ xrdp_cmd() { if [ "${rc_arg}" = "stop" ] ; then xrdp_daemons=$(reverse_list ${xrdp_daemons}) fi - # Generate rsakeys.ini on start - if [ "${rc_arg}" = "start" -a ! -f %%PREFIX%%/etc/xrdp/rsakeys.ini ] ; then - %%PREFIX%%/bin/xrdp-keygen xrdp %%PREFIX%%/etc/xrdp/rsakeys.ini - fi # Apply to all the daemons. for name in ${xrdp_daemons}; do diff --git a/keygen/Makefile.am b/keygen/Makefile.am index 353f74df..25e20d50 100644 --- a/keygen/Makefile.am +++ b/keygen/Makefile.am @@ -13,3 +13,12 @@ xrdp_keygen_SOURCES = keygen.c xrdp_keygen_LDADD = \ $(top_builddir)/common/libcommon.la + +xrdpsysconfdir = $(sysconfdir)/xrdp + +install-data-hook: + umask 077 && \ + ./xrdp-keygen xrdp $(DESTDIR)$(xrdpsysconfdir)/rsakeys.ini + +uninstall-hook: + rm -f $(DESTDIR)$(xrdpsysconfdir)/rsakeys.ini