-diff -ur xrdp-0.10.0.orig/sesman/sesman.ini xrdp-0.10.0/sesman/sesman.ini
---- xrdp-0.10.0.orig/sesman/sesman.ini 2024-05-10 16:14:05.000000000 +0200
-+++ xrdp-0.10.0/sesman/sesman.ini 2024-06-13 19:35:30.492411263 +0200
+diff -ur xrdp-0.10.4.1.orig/sesman/sesman.ini.in xrdp-0.10.4.1/sesman/sesman.ini.in
+--- xrdp-0.10.4.1.orig/sesman/sesman.ini.in 2025-07-07 14:37:24.000000000 +0200
++++ xrdp-0.10.4.1/sesman/sesman.ini.in 2026-01-15 19:45:52.724760339 +0100
@@ -12,13 +12,13 @@
ReconnectScript=reconnectwm.sh
; When RestrictOutboundClipboard=all clipboard from the
; server is not pushed to the client.
; In addition, you can control text/file/image transfer restrictions
-@@ -109,13 +109,13 @@
+@@ -112,13 +112,13 @@
[Logging]
; Note: Log levels can be any of: core, error, warning, info, debug, or trace
[LoggingPerLogger]
; Note: per logger configuration is only used if xrdp is built with
-@@ -147,8 +147,8 @@
+@@ -150,8 +150,8 @@
param=-noreset
param=-nolisten
param=tcp
[Xvnc]
param=Xvnc
-diff -ur xrdp-0.10.0.orig/xrdp/xrdp.ini xrdp-0.10.0/xrdp/xrdp.ini
---- xrdp-0.10.0.orig/xrdp/xrdp.ini 2024-05-10 16:14:05.000000000 +0200
-+++ xrdp-0.10.0/xrdp/xrdp.ini 2024-06-13 19:36:33.477301111 +0200
+diff -ur xrdp-0.10.4.1.orig/xrdp/xrdp.ini.in xrdp-0.10.4.1/xrdp/xrdp.ini.in
+--- xrdp-0.10.4.1.orig/xrdp/xrdp.ini.in 2025-07-07 14:37:24.000000000 +0200
++++ xrdp-0.10.4.1/xrdp/xrdp.ini.in 2026-01-15 19:47:52.393189859 +0100
@@ -5,6 +5,9 @@
; fork a new process for each incoming connection
fork=true
; ports to listen on, number alone means listen on all interfaces
; 0.0.0.0 or :: if ipv6 is configured
; space between multiple occurrences
-@@ -195,13 +198,13 @@
+@@ -201,13 +204,13 @@
[Logging]
; Note: Log levels can be any of: core, error, warning, info, debug, or trace
[LoggingPerLogger]
; Note: per logger configuration is only used if xrdp is built with
-@@ -234,13 +237,13 @@
+@@ -240,17 +243,17 @@
; Some session types such as Xorg and 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
+-lib=libxup.@lib_extension@
-username=ask
-password=ask
-port=-1
-code=20
+#[Xorg]
+#name=Xorg
-+#lib=libxup.so
++#lib=libxup.@lib_extension@
+#username=ask
+#password=ask
+#port=-1
+#code=20
+ ; Frame capture interval (milliseconds)
+-h264_frame_interval=16
+-rfx_frame_interval=32
+-normal_frame_interval=40
++#h264_frame_interval=16
++#rfx_frame_interval=32
++#normal_frame_interval=40
[Xvnc]
name=Xvnc
-@@ -262,13 +265,13 @@
+@@ -286,13 +289,13 @@
; Generic VNC Proxy
; Tailor this to specific hosts and VNC instances by specifying an ip
; and port and setting a suitable name.
-[vnc-any]
-name=vnc-any
--lib=libvnc.so
+-lib=libvnc.@lib_extension@
-ip=ask
-port=ask5900
-username=na
-password=ask
+#[vnc-any]
+#name=vnc-any
-+#lib=libvnc.so
++#lib=libvnc.@lib_extension@
+#ip=ask
+#port=ask5900
+#username=na
#pamusername=asksame
#pampassword=asksame
#delay_ms=2000
-@@ -276,15 +279,15 @@
+@@ -309,15 +312,15 @@
; Generic RDP proxy using NeutrinoRDP
; Tailor this to specific hosts by specifying an ip and port and setting
; a suitable name.
+#name=neutrinordp-any
; To use this section, you should build xrdp with configure option
; --enable-neutrinordp.
--lib=libxrdpneutrinordp.so
+-lib=libxrdpneutrinordp.@lib_extension@
-ip=ask
-port=ask3389
-username=ask
-password=ask
-+#lib=libxrdpneutrinordp.so
++#lib=libxrdpneutrinordp.@lib_extension@
+#ip=ask
+#port=ask3389
+#username=ask
-diff -ur xrdp-0.10.0.orig/xrdp/xrdp.c xrdp-0.10.0/xrdp/xrdp.c
---- xrdp-0.10.0.orig/xrdp/xrdp.c 2024-05-10 16:13:36.000000000 +0200
-+++ xrdp-0.10.0/xrdp/xrdp.c 2024-06-13 21:48:24.249262920 +0200
-@@ -368,7 +368,7 @@
-
- if (startup_params.kill)
+diff -ur xrdp-0.10.4.1.orig/xrdp/xrdp.c xrdp-0.10.4.1/xrdp/xrdp.c
+--- xrdp-0.10.4.1.orig/xrdp/xrdp.c 2025-07-07 14:37:24.000000000 +0200
++++ xrdp-0.10.4.1/xrdp/xrdp.c 2026-01-15 20:05:09.096910305 +0100
+@@ -483,20 +483,14 @@
+ {
+ int status = 1;
+ int pid;
+- if (g_getuid() != 0)
+- {
+- g_writeln("Must be root");
+- }
+- else if ((pid = read_pid_file(pid_file)) > 0)
++ if ((pid = read_pid_file(pid_file)) > 0)
{
-- g_writeln("stopping xrdp");
-+ /*g_writeln("stopping xrdp");*/
- /* read the xrdp.pid file */
- fd = -1;
-
-@@ -386,7 +386,7 @@
- g_memset(text, 0, 32);
- g_file_read(fd, text, 31);
- pid = g_atoi(text);
+ if (!g_pid_is_active(pid))
+ {
+- g_writeln("Daemon not active");
+ status = 0;
+ }
+ else
+ {
- g_writeln("stopping process id %d", pid);
-+ /*g_writeln("stopping process id %d", pid);*/
+ int i;
+ g_sigterm(pid);
+ g_sleep(100);
+@@ -507,11 +501,7 @@
+ --i;
+ }
- if (pid > 0)
+- if (g_pid_is_active(pid))
+- {
+- g_writeln("Can't stop process");
+- }
+- else
++ if (!g_pid_is_active(pid))
{
+ status = 0;
+ }
Summary: Remote desktop server
Summary(pl.UTF-8): Serwer remote desktop
Name: xrdp
-Version: 0.10.1
-Release: 2
+Version: 0.10.4.1
+Release: 1
License: Apache v2.0
Group: X11/Applications/Networking
#Source0Download: https://github.com/neutrinolabs/xrdp/releases
Source0: https://github.com/neutrinolabs/xrdp/releases/download/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 65edae2e80bcaa9b8fa6b8abd60fbe0e
+# Source0-md5: 0da8c16ade55010f786ea4ca1627235a
Source1: %{name}.init
Source2: %{name}.pamd
Source3: %{name}.README.TLD
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+%patch -P0 -p1
+%patch -P1 -p1
+%patch -P2 -p1
install %{SOURCE3} README.TLD
install %{SOURCE4} README.TLD.pl
%dir %{_libexecdir}/xrdp
%endif
%attr(755,root,root) %{_libexecdir}/xrdp/waitforx
+%attr(755,root,root) %{_libexecdir}/xrdp/xrdp-droppriv
%attr(755,root,root) %{_libexecdir}/xrdp/xrdp-sesexec
%dir %{_datadir}/xrdp
+%attr(755,root,root) %{_datadir}/xrdp/xrdp-chkpriv
%{_datadir}/xrdp/ad24b.bmp
%{_datadir}/xrdp/ad256.bmp
%{_datadir}/xrdp/cursor0.cur
%{_datadir}/xrdp/xrdp_logo.png
%{_datadir}/xrdp/README.logo
%{_mandir}/man1/xrdp-dis.1*
+%{_mandir}/man5/gfx.toml.5*
%{_mandir}/man5/sesman.ini.5*
%{_mandir}/man5/xrdp.ini.5*
%{_mandir}/man8/xrdp-chansrv.8*