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