Bump up to 0.9.4.

This commit is contained in:
Bojan Smojver 2017-10-06 14:36:47 +11:00
parent 39d1b75d13
commit ebf3964dd6
7 changed files with 55 additions and 168 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -1 +1 @@
SHA512 (xrdp-0.9.3.tar.gz) = 8f7d2f8bb992e00c4c88441c504574c5de6592382a6c3139b5c9499b0b61795c740a4570e6aff912c79a67f4ee9b08ce190b07dcddbef8e9b8fc81ff07297690
SHA512 (xrdp-0.9.4.tar.gz) = 25da1bf3a49c2d7fad3791a98fdaef2d5eeb1c7ce8f01b925dfd07803cd2b01d1ee5a97b63014865cf43be362bee576b2b9468391876a7ef9c95ca1c9cbdea1c

View File

@ -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;
}

View File

@ -1,104 +0,0 @@
From 46ffb9818eb51ce769b4747592bd60316e4ac2bd Mon Sep 17 00:00:00 2001
From: Koichiro IWAO <meta@vmeta.jp>
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

View File

@ -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

47
xrdp-0.9.4-service.patch Normal file
View File

@ -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

View File

@ -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 <bojan@rexurive.com> - 1:0.9.4-1
- Bump up to 0.9.4
* Tue Sep 19 2017 Bojan Smojver <bojan@rexurive.com> - 1:0.9.3-2
- Add patch to clean up sockets