Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#925890: xrdp: session doesn't start correctly after sesman got SIGUP

247 views
Skip to first unread message

Koichiro Iwao

unread,
Mar 27, 2019, 11:30:03 PM3/27/19
to
Package: xrdp
Version: 0.9.9-1
Severity: normal
Tags: patch upstream

Hi,

I'm a xrdp upstream developer. A debian user reported a issue to we
upstream [1]. The issue is new session doesn't start correctly after
sesman got SIGUP due to sesman bug.

When sesman got SIGHUP, sesman reloads config but reloaded differently
on startup and HUP reload. I've already fixed the issue in upstream [2].
I'd appreciate if you test & backport the patch. It should help Debian
xrdp users.

[1] https://github.com/neutrinolabs/xrdp/issues/1315
[2] https://github.com/neutrinolabs/xrdp/pull/1318

-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8), LANGUAGE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages xrdp depends on:
ii adduser 3.118
ii libc6 2.28-8
ii libfuse2 2.9.9-1
ii libjpeg62-turbo 1:1.5.2-2+b1
ii libopus0 1.3-1
ii libpam0g 1.3.1-5
ii libssl1.1 1.1.1b-1
ii libx11-6 2:1.6.7-1
ii libxfixes3 1:5.0.3-1
ii libxrandr2 2:1.5.1-1
ii lsb-base 10.2019031300
ii ssl-cert 1.0.39

Versions of packages xrdp recommends:
ii fuse 2.9.9-1
ii xorgxrdp 1:0.2.9-1

Versions of packages xrdp suggests:
pn guacamole <none>
pn xrdp-pulseaudio-installer <none>

Versions of packages xorgxrdp depends on:
ii libc6 2.28-8
pn xorg-input-abi-24 <none>
ii xserver-xorg-core [xorg-video-abi-24] 2:1.20.3-1

Versions of packages xorgxrdp recommends:
ii xorg 1:7.7+19

Versions of packages xrdp is related to:
pn vnc-server <none>
ii xserver-xorg-legacy 2:1.20.3-1

-- Configuration Files:
/etc/xrdp/sesman.ini changed:
;; See `man 5 sesman.ini` for details
[Globals]
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
DefaultWindowManager=startwm.sh
; Give in full path or relative path to /etc/xrdp
ReconnectScript=reconnectwm.sh
[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false
[Sessions]
;; X11DisplayOffset - x11 display number offset
; Type: integer
; Default: 10
X11DisplayOffset=10
;; MaxSessions - maximum number of connections to an xrdp server
; Type: integer
; Default: 0
MaxSessions=50
;; KillDisconnected - kill disconnected sessions
; Type: boolean
; Default: false
; if 1, true, or yes, kill session after 60 seconds
KillDisconnected=false
;; DisconnectedTimeLimit - when to kill idle sessions
; Type: integer
; Default: 0
; if not zero, the seconds before a disconnected session is killed
; min 60 seconds
DisconnectedTimeLimit=0
;; IdleTimeLimit (specify in second) - wait before disconnect idle sessions
; Type: integer
; Default: 0
; Set to 0 to disable idle disconnection.
IdleTimeLimit=0
;; Policy - session allocation policy
; Type: enum [ "Default" | "UBD" | "UBI" | "UBC" | "UBDI" | "UBDC" ]
; Default: Xrdp:<User,BitPerPixel> and Xvnc:<User,BitPerPixel,DisplaySize>
; "UBD" session per <User,BitPerPixel,DisplaySize>
; "UBI" session per <User,BitPerPixel,IPAddr>
; "UBC" session per <User,BitPerPixel,Connection>
; "UBDI" session per <User,BitPerPixel,DisplaySize,IPAddr>
; "UBDC" session per <User,BitPerPixel,DisplaySize,Connection>
Policy=Default
[Logging]
LogFile=xrdp-sesman.log
LogLevel=TRACE
EnableSyslog=1
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=/usr/lib/xorg/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
[Xvnc]
param=Xvnc
param=-bs
param=-nolisten
param=tcp
param=-localhost
param=-dpi
param=96
[Chansrv]
; drive redirection, defaults to xrdp_client if not set
FuseMountName=thinclient_drives
[SessionVariables]
PULSE_SCRIPT=/etc/xrdp/pulse/default.pa


-- no debconf information

Koichiro Iwao

unread,
Apr 10, 2019, 11:20:03 PM4/10/19
to
I think you'll need some more information. v0.9.7, v0.9.8, v0.9.9 have
this bug. The upcoming v0.9.10 includes this fix. I know Debian hardly
apply version update except unstable so I want you to consider applying
this fix to the branches such as stable-bpo. The original issue #1315 is
reported by a Debian user. At least a Debian user is annoyed because of
our bug.

This issue is a kind of availability. New sessions cannot be started
after xrdp-sesman caught SIGUP unless DefaultWindowManager in sesman.ini
is specified in full path. Same with ReconnectScript. It won't be
executed unless it is specified in full path.

I'm not sure Debian rotates xrdp log, the major scenario that
xrdp-sesman catch SIGUP is log rotation.

--
meta <me...@FreeBSD.org>
0 new messages