termux-packages/x11-packages/xrdp/fix-configs.patch

358 lines
8.5 KiB
Diff

diff -uNr xrdp-0.9.8/instfiles/xrdp.sh xrdp-0.9.8.mod/instfiles/xrdp.sh
--- xrdp-0.9.8/instfiles/xrdp.sh 2017-06-26 16:09:39.000000000 +0300
+++ xrdp-0.9.8.mod/instfiles/xrdp.sh 2018-12-28 23:50:07.097044009 +0200
@@ -17,9 +17,9 @@
# Description: starts xrdp
### END INIT INFO
-SBINDIR=/usr/local/sbin
+SBINDIR=@TERMUX_PREFIX@/bin
LOG=/dev/null
-CFGDIR=/etc/xrdp
+CFGDIR=@TERMUX_PREFIX@/etc/xrdp
if ! test -x $SBINDIR/xrdp
then
@@ -84,18 +84,18 @@
is_sesman_running
if test $? -eq 0
then
- if test -e /var/run/xrdp-sesman.pid
+ if test -e @TERMUX_PREFIX@/var/run/xrdp-sesman.pid
then
- rm /var/run/xrdp-sesman.pid
+ rm @TERMUX_PREFIX@/var/run/xrdp-sesman.pid
fi
fi
# Cleanup : If xrdp isn't running, but the pid exists, erase it.
is_xrdp_running
if test $? -eq 0
then
- if test -e /var/run/xrdp.pid
+ if test -e @TERMUX_PREFIX@/var/run/xrdp.pid
then
- rm /var/run/xrdp.pid
+ rm @TERMUX_PREFIX@/var/run/xrdp.pid
fi
fi
return 0;
diff -uNr xrdp-0.9.8/sesman/sesman.ini xrdp-0.9.8.mod/sesman/sesman.ini
--- xrdp-0.9.8/sesman/sesman.ini 2018-09-25 09:19:28.000000000 +0300
+++ xrdp-0.9.8.mod/sesman/sesman.ini 2018-12-28 23:50:35.690747248 +0200
@@ -4,11 +4,14 @@
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
+
; Give in relative path to user's home directory
UserWindowManager=startwm.sh
-; Give in full path or relative path to /etc/xrdp
+
+; Give in full path or relative path to @TERMUX_PREFIX@/etc/xrdp
DefaultWindowManager=startwm.sh
-; Give in full path or relative path to /etc/xrdp
+
+; Give in full path or relative path to @TERMUX_PREFIX@/etc/xrdp
ReconnectScript=reconnectwm.sh
[Security]
@@ -16,6 +19,7 @@
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
+
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false
@@ -57,40 +61,13 @@
[Logging]
LogFile=xrdp-sesman.log
LogLevel=DEBUG
-EnableSyslog=1
+EnableSyslog=0
SyslogLevel=DEBUG
;
; Session definitions - startup command-line parameters for each session type
;
-[Xorg]
-; Specify the path of non-suid Xorg executable. It might differ depending
-; on your distribution and version. The typical path is shown as follows:
-;
-; Fedora 26 or later : param=/usr/libexec/Xorg
-; Debian 9 or later : param=/usr/lib/xorg/Xorg
-; Ubuntu 16.04 or later : param=/usr/lib/xorg/Xorg
-; Arch Linux : param=/usr/lib/xorg-server/Xorg
-; CentOS 7 : param=/usr/bin/Xorg or param=Xorg
-;
-param=Xorg
-; Leave the rest paramaters as-is unless you understand what will happen.
-param=-config
-param=xrdp/xorg.conf
-param=-noreset
-param=-nolisten
-param=tcp
-param=-logfile
-param=.xorgxrdp.%s.log
-
-[X11rdp]
-param=X11rdp
-param=-bs
-param=-nolisten
-param=tcp
-param=-uds
-
[Xvnc]
param=Xvnc
param=-bs
@@ -105,4 +82,4 @@
FuseMountName=thinclient_drives
[SessionVariables]
-PULSE_SCRIPT=/etc/xrdp/pulse/default.pa
+PULSE_SCRIPT=@TERMUX_PREFIX@/etc/xrdp/pulse/default.pa
diff -uNr xrdp-0.9.8/sesman/startwm.sh xrdp-0.9.8.mod/sesman/startwm.sh
--- xrdp-0.9.8/sesman/startwm.sh 2018-03-27 17:15:16.000000000 +0300
+++ xrdp-0.9.8.mod/sesman/startwm.sh 2018-12-28 23:50:07.097044009 +0200
@@ -4,12 +4,12 @@
# depending on your distro if it doesn't work for you.
#
# Uncomment the following line for debug:
-# exec xterm
+# exec aterm
# Execution sequence for interactive login shell - pseudocode
#
-# IF /etc/profile is readable THEN
+# IF @TERMUX_PREFIX@/etc/profile is readable THEN
# execute ~/.bash_profile
# END IF
# IF ~/.bash_profile is readable THEN
@@ -25,8 +25,8 @@
# END IF
pre_start()
{
- if [ -r /etc/profile ]; then
- . /etc/profile
+ if [ -r @TERMUX_PREFIX@/etc/profile ]; then
+ . @TERMUX_PREFIX@/etc/profile
fi
if [ -r ~/.bash_profile ]; then
. ~/.bash_profile
@@ -58,53 +58,13 @@
#start the window manager
wm_start()
{
- if [ -r /etc/default/locale ]; then
- . /etc/default/locale
- export LANG LANGUAGE
- fi
-
- # debian
- if [ -r /etc/X11/Xsession ]; then
- pre_start
- . /etc/X11/Xsession
- post_start
- exit 0
- fi
-
- # el
- if [ -r /etc/X11/xinit/Xsession ]; then
- pre_start
- . /etc/X11/xinit/Xsession
- post_start
- exit 0
- fi
-
- # suse
- if [ -r /etc/X11/xdm/Xsession ]; then
- # since the following script run a user login shell,
- # do not execute the pseudo login shell scripts
- . /etc/X11/xdm/Xsession
- exit 0
- fi
-
pre_start
- xterm
+ aterm
post_start
}
-#. /etc/environment
+#PATH="@TERMUX_PREFIX@/bin:@TERMUX_PREFIX@/bin/applets"
#export PATH=$PATH
-#export LANG=$LANG
-
-# change PATH to be what your environment needs usually what is in
-# /etc/environment
-#PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
-#export PATH=$PATH
-
-# for PATH and LANG from /etc/environment
-# pam will auto process the environment file if /etc/pam.d/xrdp-sesman
-# includes
-# auth required pam_env.so readenv=1
wm_start
diff -uNr xrdp-0.9.8/xrdp/xrdp.ini xrdp-0.9.8.mod/xrdp/xrdp.ini
--- xrdp-0.9.8/xrdp/xrdp.ini 2018-09-25 09:19:28.000000000 +0300
+++ xrdp-0.9.8.mod/xrdp/xrdp.ini 2018-12-28 23:51:21.074665937 +0200
@@ -4,13 +4,17 @@
; fork a new process for each incoming connection
fork=true
+
; tcp port to listen
port=3389
+
; 'port' above should be connected to with vsock instead of tcp
use_vsock=false
+
; regulate if the listening socket use socket option tcp_nodelay
; no buffering will be performed in the TCP stack
tcp_nodelay=true
+
; regulate if the listening socket use socket option keepalive
; if the network connection disappear without close messages the connection will be closed
tcp_keepalive=true
@@ -20,16 +24,20 @@
; security layer can be 'tls', 'rdp' or 'negotiate'
; for client compatible layer
security_layer=negotiate
+
; minimum security level allowed for client
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high
+
; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
certificate=
key_file=
+
; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1.2, TLSv1.3
+
; set TLS cipher suites
#tls_ciphers=HIGH
@@ -47,12 +55,12 @@
#hidelogwindow=true
max_bpp=32
new_cursors=true
+
; fastpath - can be 'input', 'output', 'both', 'none'
use_fastpath=both
+
; when true, userid/password *must* be passed on cmd line
#require_credentials=true
-; You can set the PAM error text in a gateway setup (MAX 256 chars)
-#pamerrortxt=change your password according to policy at http://url
;
; colors used by windows in RGB format
@@ -120,7 +128,7 @@
[Logging]
LogFile=xrdp.log
LogLevel=DEBUG
-EnableSyslog=true
+EnableSyslog=false
SyslogLevel=DEBUG
; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug
@@ -140,86 +148,29 @@
tcutils=true
; for debugging xrdp, in section xrdp1, change port=-1 to this:
-#port=/tmp/.xrdp/xrdp_display_10
+#port=@TERMUX_PREFIX@/tmp/.xrdp/xrdp_display_10
; for debugging xrdp, add following line to section xrdp1
-#chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210
+#chansrvport=@TERMUX_PREFIX@/tmp/.xrdp/xrdp_chansrv_socket_7210
;
; Session types
;
-; Some session types such as Xorg, X11rdp and Xvnc start a display server.
+; Some session types such as Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
-[Xorg]
-name=Xorg
-lib=libxup.so
-username=ask
-password=ask
-ip=127.0.0.1
-port=-1
-code=20
-
-[X11rdp]
-name=X11rdp
-lib=libxup.so
-username=ask
-password=ask
-ip=127.0.0.1
-port=-1
-xserverbpp=24
-code=10
-
[Xvnc]
-name=Xvnc
+name=Xvnc (TigerVNC)
lib=libvnc.so
-username=ask
+username=na
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000
-[console]
-name=console
-lib=libvnc.so
-ip=127.0.0.1
-port=5900
-username=na
-password=ask
-#delay_ms=2000
-
-[vnc-any]
-name=vnc-any
-lib=libvnc.so
-ip=ask
-port=ask5900
-username=na
-password=ask
-#pamusername=asksame
-#pampassword=asksame
-#pamsessionmng=127.0.0.1
-#delay_ms=2000
-
-[sesman-any]
-name=sesman-any
-lib=libvnc.so
-ip=ask
-port=-1
-username=ask
-password=ask
-#delay_ms=2000
-
-[neutrinordp-any]
-name=neutrinordp-any
-lib=libxrdpneutrinordp.so
-ip=ask
-port=ask3389
-username=ask
-password=ask
-
; You can override the common channel settings for each session type
#channel.rdpdr=true
#channel.rdpsnd=true