summaryrefslogtreecommitdiff
path: root/system/xrdp
diff options
context:
space:
mode:
Diffstat (limited to 'system/xrdp')
-rw-r--r--system/xrdp/README33
-rw-r--r--system/xrdp/doinst.sh7
-rw-r--r--system/xrdp/patches/Makefile.NOPAM.diff13
-rw-r--r--system/xrdp/patches/Makefile.PAM.diff22
-rw-r--r--system/xrdp/patches/sesman.ini.diff30
-rw-r--r--system/xrdp/sesman.ini.patch27
-rw-r--r--system/xrdp/xrdp-xwmconfig26
-rw-r--r--system/xrdp/xrdp.SlackBuild83
-rw-r--r--system/xrdp/xrdp.info6
9 files changed, 113 insertions, 134 deletions
diff --git a/system/xrdp/README b/system/xrdp/README
index 9786112f89..e34d803851 100644
--- a/system/xrdp/README
+++ b/system/xrdp/README
@@ -6,7 +6,7 @@ xrdp server machine in addition to the RDP server. Xrdp can also act as a
bridging server, allowing RDP clients to connect to other RDP or VNC servers
through the xrdp server.
-Xvnc can be installed by installing tightvnc (available on SlackBuilds.org).
+Xvnc is included with tightvnc (in Slackware /extra).
X11rdp can be compiled and installed by following the directions in the
thread at http://tinyurl.com/2ufoz2 (link to LinuxQuestions.org).
@@ -17,9 +17,14 @@ script as follows:
USE_PAM=YES ./xrdp.SlackBuild
After installing xrdp there are some configuration files in /etc/xrdp that
-can be modified. sesman.ini has some useful options to take note of such as
-the ability to allow xrdp use by only a certain group and to specify the log
-location (the default log location has been changed to /var/log/sesman.log).
+can be modified:
+
+** sesman.ini **
+sesman.ini has some useful options to take note of such as the ability to
+allow xrdp use by only a certain group and to specify the log location.
+*NOTE:* The default log location is now /var/log/xrdp-sesman.log.
+
+** xrdp.ini **
xrdp.ini should be modified so that you have the options you want at the
server login screen. For instance, if you want xrdp's default options to be
like those of a Windows RDP server then change xrdp.ini so that the default
@@ -28,11 +33,15 @@ might want to change the options (eg. port number) for VNC (listed as
"console" by default). The man page for xrdp.ini has more details on the
file.
-/etc/xrdp/xrdp-xinitrc by default loads KDE during a X11rdp session. Change
-this as desired to load a different DE/WM. A similar script can be executed
-on a per-user basis by creating an executable script at ~/.xrdp-xinitrc. A
-utility program, xrdp-xwmconfig, is included to allow you to use your xinit
-scripts during X11rdp sessions. It works just like xwmconfig, so run it as
-root to set the global default, or run it as a normal user to set only the
-default for that user. See the sesman.ini man page for details about
-defining different names or locations for the X11rdp startup scripts.
+** xrdp-xinitrc **
+xrdp-xinitrc by default tries to load one of several DE/WMs in order to
+start a X11rdp session. Change this as desired to load a specific DE/WM.
+A similar script can be executed on a per-user basis by creating an
+executable script at ~/.xrdp-xinitrc. A utility program, xrdp-xwmconfig,
+is included to allow you to use your xinit scripts during X11rdp sessions.
+It works just like xwmconfig, so run it as root to set the global default,
+or run it as a normal user to set only the default for that user. See the
+sesman.ini man page for details about defining different names or locations
+for the X11rdp startup scripts.
+
+FreeRDP is an optional dependency.
diff --git a/system/xrdp/doinst.sh b/system/xrdp/doinst.sh
index 19d3ab6ba6..fc2aca6ccd 100644
--- a/system/xrdp/doinst.sh
+++ b/system/xrdp/doinst.sh
@@ -23,4 +23,9 @@ config etc/xrdp/xrdp-xinitrc.new
config etc/xrdp/rsakeys.ini.new
config etc/xrdp/sesman.ini.new
config etc/xrdp/xrdp.ini.new
-
+config etc/xrdp/km-0407.ini.new
+config etc/xrdp/km-0409.ini.new
+config etc/xrdp/km-040c.ini.new
+config etc/xrdp/km-0410.ini.new
+config etc/xrdp/km-0419.ini.new
+config etc/xrdp/km-041d.ini.new
diff --git a/system/xrdp/patches/Makefile.NOPAM.diff b/system/xrdp/patches/Makefile.NOPAM.diff
deleted file mode 100644
index 0d63f34eee..0000000000
--- a/system/xrdp/patches/Makefile.NOPAM.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-Patch generated 20080922 by Phillip Warner <pc_warner@yahoo.com>
-Permission granted to use this patch as you see fit.
-
---- Makefile.orig 2008-09-22 11:57:24.000000000 -0500
-+++ Makefile 2008-09-22 11:57:51.000000000 -0500
-@@ -46,7 +46,6 @@
- make -C sesman install
- make -C xup install
- make -C docs install
-- if [ -d /etc/pam.d ]; then install instfiles/pam.d/sesman /etc/pam.d/sesman; fi
- install instfiles/xrdp_control.sh $(DESTDIR)/xrdp_control.sh
-
- installdeb:
diff --git a/system/xrdp/patches/Makefile.PAM.diff b/system/xrdp/patches/Makefile.PAM.diff
deleted file mode 100644
index adc2599739..0000000000
--- a/system/xrdp/patches/Makefile.PAM.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-Patch generated 20071215 by Phillip Warner <pc_warner@yahoo.com>
-Permission granted to use this patch as you see fit.
-
---- Makefile.orig 2007-12-15 00:22:34.000000000 -0600
-+++ Makefile 2007-12-15 00:15:13.000000000 -0600
-@@ -39,6 +39,7 @@
- mkdir -p $(PIDDIR)
- mkdir -p $(MANDIR)
- mkdir -p $(DOCDIR)
-+ mkdir -p $(PKGDIR)/etc/pam.d
- make -C vnc install
- make -C libxrdp install
- make -C xrdp install
-@@ -46,7 +47,7 @@
- make -C sesman install
- make -C xup install
- make -C docs install
-- if [ -d /etc/pam.d ]; then install instfiles/pam.d/sesman /etc/pam.d/sesman; fi
-+ install instfiles/pam.d/sesman $(PKGDIR)/etc/pam.d/sesman
- install instfiles/xrdp_control.sh $(DESTDIR)/xrdp_control.sh
-
- installdeb:
diff --git a/system/xrdp/patches/sesman.ini.diff b/system/xrdp/patches/sesman.ini.diff
deleted file mode 100644
index 4cbea3403f..0000000000
--- a/system/xrdp/patches/sesman.ini.diff
+++ /dev/null
@@ -1,30 +0,0 @@
-Patch generated 20080925 by Phillip Warner <pc_warner@yahoo.com>
-Permission granted to use this patch as you see fit.
-
---- sesman/sesman.ini.orig 2008-09-22 12:56:51.000000000 -0500
-+++ sesman/sesman.ini 2008-09-25 11:39:03.000000000 -0500
-@@ -2,11 +2,11 @@
- ListenAddress=127.0.0.1
- ListenPort=3350
- EnableUserWindowManager=1
--UserWindowManager=startwm.sh
-+UserWindowManager=.xrdp-xinitrc
- DefaultWindowManager=startwm.sh
-
- [Security]
--AllowRootLogin=1
-+AllowRootLogin=0
- MaxLoginRetry=4
- TerminalServerUsers=tsusers
- TerminalServerAdmins=tsadmins
-@@ -18,8 +18,8 @@
- DisconnectedTimeLimit=0
-
- [Logging]
--LogFile=./sesman.log
--LogLevel=DEBUG
-+LogFile=/var/log/sesman.log
-+LogLevel=INFO
- EnableSyslog=0
- SyslogLevel=DEBUG
-
diff --git a/system/xrdp/sesman.ini.patch b/system/xrdp/sesman.ini.patch
new file mode 100644
index 0000000000..b077cf53bf
--- /dev/null
+++ b/system/xrdp/sesman.ini.patch
@@ -0,0 +1,27 @@
+diff -Naur xrdp-v0.6.0-orig/sesman/sesman.ini xrdp-v0.6.0/sesman/sesman.ini
+--- xrdp-v0.6.0-orig/sesman/sesman.ini 2012-02-21 14:00:55.000000000 -0500
++++ xrdp-v0.6.0/sesman/sesman.ini 2013-09-07 18:48:37.377849867 -0400
+@@ -2,11 +2,11 @@
+ ListenAddress=127.0.0.1
+ ListenPort=3350
+ EnableUserWindowManager=1
+-UserWindowManager=startwm.sh
+-DefaultWindowManager=startwm.sh
++UserWindowManager=.xrdp-xinitrc
++DefaultWindowManager=xrdp-xinitrc
+
+ [Security]
+-AllowRootLogin=1
++AllowRootLogin=0
+ MaxLoginRetry=4
+ TerminalServerUsers=tsusers
+ TerminalServerAdmins=tsadmins
+@@ -20,7 +20,7 @@
+
+ [Logging]
+ LogFile=/var/log/xrdp-sesman.log
+-LogLevel=DEBUG
++LogLevel=INFO
+ EnableSyslog=0
+ SyslogLevel=DEBUG
+
diff --git a/system/xrdp/xrdp-xwmconfig b/system/xrdp/xrdp-xwmconfig
index b614ba6020..e94a908e72 100644
--- a/system/xrdp/xrdp-xwmconfig
+++ b/system/xrdp/xrdp-xwmconfig
@@ -20,14 +20,16 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Modified by Phillip Warner <pc_warner@yahoo.com>
-# for editing xrdp-xinitrc for use with xrdp
-
-# $DWM is the file under /usr/lib/xrdp that points to /etc/xrdp/xrdp-xinitrc.
-# /etc/xrdp/xrdp-xinitrc will be modified by this script if run by root.
-# $UWM is the file under $HOME that will be modified by this script.
+# for editing xrdp's xinit files (xrdp-xinitrc)
+#
+# $DWM under /etc/xrdp will be modified by this script if run by root.
+# Otherwise, $UWM in the user's folder will be modified.
+#
+# $DWM represents the default xrdp-xinit file for xrdp under /etc/xrdp.
+# $UWM is the xrdp-xinit file under $HOME that will be modified by this script.
# The values for DefaultWindowManager and UserWindowManager, respectively,
# in sesman.ini should match these.
-DWM=startwm.sh
+DWM=xrdp-xinitrc
UWM=.xrdp-xinitrc
# First, let's bail if our being here doesn't make sense:
@@ -42,12 +44,12 @@ if [ ! -d /etc/xrdp ]; then
fi
if [ $(grep -w DefaultWindowManager /etc/xrdp/sesman.ini | cut -f2 -d"=") != $DWM ]
then
- echo "DefaultWindowManager in sesman.ini MUST be $DWM to use this tool. Aborting..."
+ echo "DefaultWindowManager in sesman.ini MUST be set to $DWM to use this tool. Aborting..."
exit
fi
if [ $(grep -w UserWindowManager /etc/xrdp/sesman.ini | cut -f2 -d"=") != $UWM ]
then
- echo "UserWindowManager in sesman.ini MUST be $UWM to use this tool. Aborting..."
+ echo "UserWindowManager in sesman.ini MUST be set to $UWM to use this tool. Aborting..."
exit
fi
@@ -64,14 +66,14 @@ fi
# Do we already have an existing default?
unset PRESELECT
-if [ -L /etc/xrdp/xrdp-xinitrc ]; then
- CURRENT="$(basename $(/bin/ls -l /etc/xrdp/xrdp-xinitrc | cut -f 2 -d '>'))"
+if [ -L /etc/xrdp/$DWM ]; then
+ CURRENT="$(basename $(/bin/ls -l /etc/xrdp/$DWM | cut -f 2 -d '>'))"
PRESELECT=" --default-item $CURRENT "
fi
# Figure out who we are and set up some background information:
if [ "$USER" = "root" ]; then
- BACKTITLE="--backtitle \"Setting system-wide default xrdp window manager at /etc/xrdp/xrdp-xinitrc\""
+ BACKTITLE="--backtitle \"Setting system-wide default xrdp window manager at /etc/xrdp/$DWM\""
else
BACKTITLE="--backtitle \"Setting user default xrdp window manager in $HOME/$UWM\""
fi
@@ -195,7 +197,7 @@ OUTPUT=`cat $TMP/output`
# that do not have a $HOME/$UWM:
if [ "$USER" = "root" ]; then
if [ -r /etc/X11/xinit/$OUTPUT ]; then
- ( cd /etc/xrdp/ ; rm -f xrdp-xinitrc ; ln -sf /etc/X11/xinit/$OUTPUT xrdp-xinitrc )
+ ( cd /etc/xrdp/ ; rm -f $DWM ; ln -sf /etc/X11/xinit/$OUTPUT $DWM )
fi
fi
diff --git a/system/xrdp/xrdp.SlackBuild b/system/xrdp/xrdp.SlackBuild
index 85f6d7d630..c00d039c51 100644
--- a/system/xrdp/xrdp.SlackBuild
+++ b/system/xrdp/xrdp.SlackBuild
@@ -4,7 +4,7 @@
# Written by Phillip Warner <pc_warner@yahoo.com>
PRGNAM=xrdp
-VERSION=0.4.2
+VERSION=0.6.0
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -44,71 +44,72 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-v$VERSION
+tar xvf $CWD/$PRGNAM-v$VERSION.tar.gz
+cd $PRGNAM-v$VERSION
chown -R root:root .
chmod -R a-s,u+rw,go-w .
-if [ ! "$USE_PAM" = "NO" ]; then
- patch < $CWD/patches/Makefile.PAM.diff
- make
+# uses autoreconf now
+autoreconf -vfi
+
+if [ "$USE_PAM" = "NO" ]; then
+ NOPAM_OPT="--enable-nopam"
else
- patch < $CWD/patches/Makefile.NOPAM.diff
- make nopam
+ NOPAM_OPT=""
fi
+# Optional config options if built with FreeRDP:
+# --enable-freerdp Build freerdp module (default: no)
+# --enable-freerdp1 Build freerdp1 module (default: no)
+CFLAGS="$SLKCFLAGS" \
+CPPFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux \
+ $NOPAM_OPT
+
# Fix path in what will become the init script
-sed -i "s/XRDP_DIR=\/usr\/local\/xrdp\//XRDP_DIR=\/usr\/lib${LIBDIRSUFFIX}\/xrdp\//" instfiles/xrdp_control.sh
+sed -i "s/SBINDIR=\/usr\/local\/sbin/SBINDIR=\/usr\/sbin/" instfiles/xrdp.sh
+
+# Change xinit script name to xrdp-xinitrc
+sed -i "s/startwm.sh/xrdp-xinitrc/" instfiles/xrdp.sh
-# Set LogFile at /var/log/sesman.log
# Change LogLevel to INFO instead of DEBUG
# Disable Root logins by default
# Set user-specific RDP session script to ~/.xrdp-xinitrc
-patch -d sesman/ < $CWD/patches/sesman.ini.diff
+# Set default RDP session xinit script to /etc/xrdp/xrdp-xinitrc
+# Note: LogFile now at /var/log/xrdp-sesman.log
+patch -d sesman/ -p2 < $CWD/sesman.ini.patch
-make install \
- PKGDIR=$PKG \
- DESTDIR=$PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM \
- CFGDIR=$PKG/etc/$PRGNAM \
- PIDDIR=$PKG/var/run \
- MANDIR=$PKG/usr/man \
- DOCDIR=$PKG/usr/doc/$PRGNAM-$VERSION
+# Build fails if a copy of config.{c,h} is not in sesman/tools/
+cp -v sesman/config.{c,h} sesman/tools/
-# Install routines for man pages missing from Makefile
-mkdir -p $PKG/usr/man/man5 $PKG/usr/man/man8
-cp -a docs/man/*.5 $PKG/usr/man/man5
-cp -a docs/man/*.8 $PKG/usr/man/man8
+make
+make install DESTDIR=$PKG
# Make sure log directory is there
mkdir -p $PKG/var/log
-# Fix permissions from install
-chmod a-x $PKG/etc/$PRGNAM/*
-if [ -e $PKG/etc/pam.d/ ]; then
- chmod a-x $PKG/etc/pam.d/sesman
-fi
-chmod a-x $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/{Tahoma-10.fv1,*.bmp,*.cur}
-
# Let's make the xrdp_control.sh script the init script
mkdir -p $PKG/etc/rc.d
-mv $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/xrdp_control.sh $PKG/etc/rc.d/rc.$PRGNAM.new
-
-# Move startwm.sh to a more sane location with a name that makes more sense
-mv $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/startwm.sh $PKG/etc/$PRGNAM/xrdp-xinitrc.new
+mv $PKG/etc/$PRGNAM/xrdp.sh $PKG/etc/rc.d/rc.$PRGNAM.new
-# Unfortunately, sesman.ini seems to ignore absolute paths for
-# startwm.sh, so we need to leave a link where it expects to find
-# the file under the program directory.
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
- ln -s /etc/$PRGNAM/xrdp-xinitrc startwm.sh
-)
+# Change startwm.sh name for more consistency with previous SlackBuild
+# and corresponding user file name
+mv $PKG/etc/$PRGNAM/startwm.sh $PKG/etc/$PRGNAM/xrdp-xinitrc.new
# Let's not clobber existing configs
( cd $PKG/etc/$PRGNAM
mv rsakeys.ini rsakeys.ini.new
mv sesman.ini sesman.ini.new
mv xrdp.ini xrdp.ini.new
+ rename ini ini.new km-????.ini
)
# Install the xrdp-xwmconfig utility
@@ -121,7 +122,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a COPYING design.txt install.txt readme.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING design.txt install.txt readme.txt faq-*.txt $PKG/usr/doc/$PRGNAM-$VERSION
# Keep a backup copy of startwm.sh in the docs
cat sesman/startwm.sh > $PKG/usr/doc/$PRGNAM-$VERSION/startwm.sh-example
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/xrdp/xrdp.info b/system/xrdp/xrdp.info
index 403b976b01..a32b9c839a 100644
--- a/system/xrdp/xrdp.info
+++ b/system/xrdp/xrdp.info
@@ -1,8 +1,8 @@
PRGNAM="xrdp"
-VERSION="0.4.2"
+VERSION="0.6.0"
HOMEPAGE="http://xrdp.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/xrdp/xrdp-0.4.2.tar.gz"
-MD5SUM="e2eecc2a383e77e6cb087e837c4d4c10"
+DOWNLOAD="http://downloads.sourceforge.net/project/xrdp/xrdp/0.6.0/xrdp-v0.6.0.tar.gz"
+MD5SUM="b2577256b5a34bd72849cd40375c92de"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""