diff --git a/.gitignore b/.gitignore index 0df20b0..cc5e865 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ xrdp-cvs-03-17-2010.tar.gz /xrdp-0.9.1.tar.gz /xrdp-0.9.2.tar.gz /xrdp-0.9.3.tar.gz +/xrdp-0.9.4.tar.gz diff --git a/sources b/sources index 42fb178..993460b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xrdp-0.9.3.tar.gz) = 8f7d2f8bb992e00c4c88441c504574c5de6592382a6c3139b5c9499b0b61795c740a4570e6aff912c79a67f4ee9b08ce190b07dcddbef8e9b8fc81ff07297690 +SHA512 (xrdp-0.9.4.tar.gz) = 25da1bf3a49c2d7fad3791a98fdaef2d5eeb1c7ce8f01b925dfd07803cd2b01d1ee5a97b63014865cf43be362bee576b2b9468391876a7ef9c95ca1c9cbdea1c diff --git a/xrdp-0.9.2-split-line.patch b/xrdp-0.9.2-split-line.patch deleted file mode 100644 index f8330c3..0000000 --- a/xrdp-0.9.2-split-line.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN xrdp-0.9.2-vanilla/common/file.c xrdp-0.9.2/common/file.c ---- xrdp-0.9.2-vanilla/common/file.c 2017-03-30 17:18:55.000000000 +1100 -+++ xrdp-0.9.2/common/file.c 2017-05-18 12:24:46.367133792 +1000 -@@ -213,7 +213,7 @@ - - for (i = 0; i < len; i++) - { -- if (text[i] == '=') -+ if (text[i] == '=' && !on_to) - { - on_to = 1; - } diff --git a/xrdp-0.9.3-clean-sockets.patch b/xrdp-0.9.3-clean-sockets.patch deleted file mode 100644 index 8c1cd37..0000000 --- a/xrdp-0.9.3-clean-sockets.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 46ffb9818eb51ce769b4747592bd60316e4ac2bd Mon Sep 17 00:00:00 2001 -From: Koichiro IWAO -Date: Wed, 12 Jul 2017 17:48:00 +0900 -Subject: [PATCH] sesman: delete socket files when session exits - ---- - sesman/session.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - sesman/session.h | 7 +++++++ - 2 files changed, 70 insertions(+) - -diff --git a/sesman/session.c b/sesman/session.c -index f2dc087d7..ae3194da0 100644 ---- a/sesman/session.c -+++ b/sesman/session.c -@@ -796,6 +796,7 @@ session_start_fork(tbus data, tui8 type, struct SCP_CONNECTION *c, - auth_end(data); - g_sigterm(display_pid); - g_sigterm(chansrv_pid); -+ cleanup_sockets(display); - g_deinit(); - g_exit(0); - } -@@ -1116,3 +1117,65 @@ session_get_byuser(const char *user, int *cnt, unsigned char flags) - (*cnt) = count; - return sess; - } -+ -+/******************************************************************************/ -+int -+cleanup_sockets(int display) -+{ -+ log_message(LOG_LEVEL_DEBUG, "cleanup_sockets:"); -+ char file[256]; -+ int error; -+ -+ error = 0; -+ -+ g_snprintf(file, 255, CHANSRV_PORT_OUT_STR, display); -+ if (g_file_exist(file)) -+ { -+ log_message(LOG_LEVEL_DEBUG, "cleanup_sockets: deleting %s", file); -+ if (g_file_delete(file) == 0) -+ { -+ log_message(LOG_LEVEL_DEBUG, -+ "cleanup_sockets: failed to delete %s", file); -+ error++; -+ } -+ } -+ -+ g_snprintf(file, 255, CHANSRV_PORT_IN_STR, display); -+ if (g_file_exist(file)) -+ { -+ log_message(LOG_LEVEL_DEBUG, "cleanup_sockets: deleting %s", file); -+ if (g_file_delete(file) == 0) -+ { -+ log_message(LOG_LEVEL_DEBUG, -+ "cleanup_sockets: failed to delete %s", file); -+ error++; -+ } -+ } -+ -+ g_snprintf(file, 255, XRDP_CHANSRV_STR, display); -+ if (g_file_exist(file)) -+ { -+ log_message(LOG_LEVEL_DEBUG, "cleanup_sockets: deleting %s", file); -+ if (g_file_delete(file) == 0) -+ { -+ log_message(LOG_LEVEL_DEBUG, -+ "cleanup_sockets: failed to delete %s", file); -+ error++; -+ } -+ } -+ -+ g_snprintf(file, 255, CHANSRV_API_STR, display); -+ if (g_file_exist(file)) -+ { -+ log_message(LOG_LEVEL_DEBUG, "cleanup_sockets: deleting %s", file); -+ if (g_file_delete(file) == 0) -+ { -+ log_message(LOG_LEVEL_DEBUG, -+ "cleanup_sockets: failed to delete %s", file); -+ error++; -+ } -+ } -+ -+ return error; -+ -+} -diff --git a/sesman/session.h b/sesman/session.h -index a9884a211..10cd4d572 100644 ---- a/sesman/session.h -+++ b/sesman/session.h -@@ -150,4 +150,11 @@ session_get_bypid(int pid); - struct SCP_DISCONNECTED_SESSION* - session_get_byuser(const char *user, int *cnt, unsigned char flags); - -+/** -+ * -+ * @brief delete socket files -+ * @param display number -+ * @return non-zero value (number of errors) if failed -+ */ -+int cleanup_sockets(int display); - #endif diff --git a/xrdp-0.9.3-service.patch b/xrdp-0.9.3-service.patch deleted file mode 100644 index e64968d..0000000 --- a/xrdp-0.9.3-service.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -ur xrdp-0.9.1/instfiles/xrdp.service xrdp-0.9.1.service/instfiles/xrdp.service ---- xrdp-0.9.1/instfiles/xrdp.service 2016-12-22 09:02:47.000000000 -0800 -+++ xrdp-0.9.1.service/instfiles/xrdp.service 2017-01-19 23:35:06.000000000 -0800 -@@ -1,15 +1,11 @@ - Description=xrdp daemon - Documentation=man:xrdp(8) man:xrdp.ini(5) - Requires=xrdp-sesman.service --After=network.target xrdp-sesman.service -+After=xrdp-sesman.service - - [Service] --Type=forking --PIDFile=/var/run/xrdp.pid --EnvironmentFile=-/etc/sysconfig/xrdp --EnvironmentFile=-/etc/default/xrdp --ExecStart=/usr/local/sbin/xrdp $XRDP_OPTIONS --ExecStop=/usr/local/sbin/xrdp $XRDP_OPTIONS --kill -+EnvironmentFile=/etc/sysconfig/xrdp -+ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS --nodaemon - - [Install] - WantedBy=multi-user.target -diff -ur xrdp-0.9.1/instfiles/xrdp-sesman.service xrdp-0.9.1.service/instfiles/xrdp-sesman.service ---- xrdp-0.9.1/instfiles/xrdp-sesman.service 2016-12-22 09:02:47.000000000 -0800 -+++ xrdp-0.9.1.service/instfiles/xrdp-sesman.service 2017-01-22 11:39:23.000000000 -0800 -@@ -2,16 +2,13 @@ - Description=xrdp session manager - Documentation=man:xrdp-sesman(8) man:sesman.ini(5) --After=network.target -+Wants=network-online.target nss-lookup.target nss-user-lookup.target -+After=network-online.target nss-lookup.target nss-user-lookup.target - StopWhenUnneeded=true - BindsTo=xrdp.service - - [Service] --Type=forking --PIDFile=/var/run/xrdp-sesman.pid --EnvironmentFile=-/etc/sysconfig/xrdp --EnvironmentFile=-/etc/default/xrdp --ExecStart=/usr/local/sbin/xrdp-sesman $SESMAN_OPTIONS --ExecStop=/usr/local/sbin/xrdp-sesman $SESMAN_OPTIONS --kill -+EnvironmentFile=/etc/sysconfig/xrdp -+ExecStart=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS --nodaemon - - [Install] - WantedBy=multi-user.target diff --git a/xrdp-0.9.4-service.patch b/xrdp-0.9.4-service.patch new file mode 100644 index 0000000..21c259d --- /dev/null +++ b/xrdp-0.9.4-service.patch @@ -0,0 +1,47 @@ +diff -ruN xrdp-0.9.4-v/instfiles/xrdp.service.in xrdp-0.9.4/instfiles/xrdp.service.in +--- xrdp-0.9.4-v/instfiles/xrdp.service.in 2017-07-19 14:23:49.000000000 +1000 ++++ xrdp-0.9.4/instfiles/xrdp.service.in 2017-10-06 14:29:13.910973750 +1100 +@@ -2,15 +2,11 @@ + Description=xrdp daemon + Documentation=man:xrdp(8) man:xrdp.ini(5) + Requires=xrdp-sesman.service +-After=network.target xrdp-sesman.service ++After=xrdp-sesman.service + + [Service] +-Type=forking +-PIDFile=@localstatedir@/run/xrdp.pid +-EnvironmentFile=-@sysconfdir@/sysconfig/xrdp +-EnvironmentFile=-@sysconfdir@/default/xrdp +-ExecStart=@sbindir@/xrdp $XRDP_OPTIONS +-ExecStop=@sbindir@/xrdp $XRDP_OPTIONS --kill ++EnvironmentFile=@sysconfdir@/sysconfig/xrdp ++ExecStart=@sbindir@/xrdp $XRDP_OPTIONS --nodaemon + + [Install] + WantedBy=multi-user.target +diff -ruN xrdp-0.9.4-v/instfiles/xrdp-sesman.service.in xrdp-0.9.4/instfiles/xrdp-sesman.service.in +--- xrdp-0.9.4-v/instfiles/xrdp-sesman.service.in 2017-07-19 14:23:49.000000000 +1000 ++++ xrdp-0.9.4/instfiles/xrdp-sesman.service.in 2017-10-06 14:29:13.910973750 +1100 +@@ -1,17 +1,14 @@ + [Unit] + Description=xrdp session manager + Documentation=man:xrdp-sesman(8) man:sesman.ini(5) +-After=network.target ++Wants=network-online.target nss-lookup.target nss-user-lookup.target ++After=network-online.target nss-lookup.target nss-user-lookup.target + StopWhenUnneeded=true + BindsTo=xrdp.service + + [Service] +-Type=forking +-PIDFile=@localstatedir@/run/xrdp-sesman.pid +-EnvironmentFile=-@sysconfdir@/sysconfig/xrdp +-EnvironmentFile=-@sysconfdir@/default/xrdp +-ExecStart=@sbindir@/xrdp-sesman $SESMAN_OPTIONS +-ExecStop=@sbindir@/xrdp-sesman $SESMAN_OPTIONS --kill ++EnvironmentFile=@sysconfdir@/sysconfig/xrdp ++ExecStart=@sbindir@/xrdp-sesman $SESMAN_OPTIONS --nodaemon + + [Install] + WantedBy=multi-user.target diff --git a/xrdp.spec b/xrdp.spec index 8a5a990..d0f9988 100644 --- a/xrdp.spec +++ b/xrdp.spec @@ -6,8 +6,8 @@ Summary: Open source remote desktop protocol (RDP) server Name: xrdp Epoch: 1 -Version: 0.9.3 -Release: 2%{?dist} +Version: 0.9.4 +Release: 1%{?dist} License: ASL 2.0 Group: Applications/Internet URL: http://www.xrdp.org/ @@ -20,11 +20,9 @@ Source5: README.Fedora Source6: xrdp.te Patch0: xrdp-0.9.2-sesman.patch Patch1: xrdp-0.9.2-xrdp-ini.patch -Patch2: xrdp-0.9.3-service.patch +Patch2: xrdp-0.9.4-service.patch Patch3: xrdp-0.9.2-setpriv.patch Patch4: xrdp-0.9.2-scripts-libexec.patch -Patch5: xrdp-0.9.2-split-line.patch -Patch6: xrdp-0.9.3-clean-sockets.patch BuildRequires: libX11-devel BuildRequires: libXfixes-devel @@ -260,6 +258,9 @@ fi %{_datadir}/selinux/*/%{name}.pp %changelog +* Fri Oct 6 2017 Bojan Smojver - 1:0.9.4-1 +- Bump up to 0.9.4 + * Tue Sep 19 2017 Bojan Smojver - 1:0.9.3-2 - Add patch to clean up sockets