svn commit: r463982 - in head/net/xrdp-devel: . files
Tilman Keskinoz
arved at FreeBSD.org
Fri Mar 9 17:49:21 UTC 2018
Author: arved
Date: Fri Mar 9 17:49:19 2018
New Revision: 463982
URL: https://svnweb.freebsd.org/changeset/ports/463982
Log:
Backport patch from upstream issue #1030
PR: 225859
Submitted by: maintainer
Added:
head/net/xrdp-devel/files/patch-upstream-issue-1030 (contents, props changed)
Modified:
head/net/xrdp-devel/Makefile
Modified: head/net/xrdp-devel/Makefile
==============================================================================
--- head/net/xrdp-devel/Makefile Fri Mar 9 17:39:11 2018 (r463981)
+++ head/net/xrdp-devel/Makefile Fri Mar 9 17:49:19 2018 (r463982)
@@ -4,6 +4,7 @@
PORTNAME= xrdp
PORTVERSION= 0.9.5
DISTVERSIONPREFIX= v
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= net
PKGNAMESUFFIX= -devel
Added: head/net/xrdp-devel/files/patch-upstream-issue-1030
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/xrdp-devel/files/patch-upstream-issue-1030 Fri Mar 9 17:49:19 2018 (r463982)
@@ -0,0 +1,54 @@
+--- sesman/session.c.orig 2017-12-27 14:40:24 UTC
++++ sesman/session.c
+@@ -484,22 +484,40 @@ session_start_fork(tbus data, tui8 type,
+ * $OpenBSD: session.c,v 1.252 2010/03/07 11:57:13 dtucker Exp $
+ * with some ideas about BSD process grouping to xrdp
+ */
++ pid_t bsdsespid = g_fork();
+
+- /**
+- * Create a new session and process group since the 4.4BSD
+- * setlogin() affects the entire process group
+- */
+- if (g_setsid() < 0)
++ if (bsdsespid == -1)
+ {
+- log_message(LOG_LEVEL_ERROR,
+- "setsid failed - pid %d", g_getpid());
++ }
++ else if (bsdsespid == 0) /* BSD session leader */
++ {
++ /**
++ * Create a new session and process group since the 4.4BSD
++ * setlogin() affects the entire process group
++ */
++ if (g_setsid() < 0)
++ {
++ log_message(LOG_LEVEL_ERROR,
++ "setsid failed - pid %d", g_getpid());
++ }
++
++ if (g_setlogin(s->username) < 0)
++ {
++ log_message(LOG_LEVEL_ERROR,
++ "setlogin failed for user %s - pid %d", s->username,
++ g_getpid());
++ }
+ }
+
+- if (g_setlogin(s->username) < 0)
++ g_waitpid(bsdsespid);
++
++ if (bsdsespid > 0)
+ {
+- log_message(LOG_LEVEL_ERROR,
+- "setlogin failed for user %s - pid %d", s->username,
+- g_getpid());
++ g_exit(0);
++ /*
++ * intermediate sesman should exit here after WM exits.
++ * do not execure the following codes.
++ */
+ }
+ #endif
+ window_manager_pid = g_fork(); /* parent becomes X,
More information about the svn-ports-head
mailing list