Date: Sun, 9 Sep 2012 22:20:18 +0000 (UTC) From: Steve Wills <swills@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r304005 - in head/net/xrdp: . files Message-ID: <201209092220.q89MKIqu046809@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: swills Date: Sun Sep 9 22:20:17 2012 New Revision: 304005 URL: http://svn.freebsd.org/changeset/ports/304005 Log: - Fix issue where effective login name is not set PR: ports/157282 Submitted by: "Iwao, Koichiro" <meta@club.kyutech.ac.jp> (maintainer, old email address) Added: head/net/xrdp/files/patch-sesman__session_1.patch (contents, props changed) Modified: head/net/xrdp/Makefile Modified: head/net/xrdp/Makefile ============================================================================== --- head/net/xrdp/Makefile Sun Sep 9 22:08:43 2012 (r304004) +++ head/net/xrdp/Makefile Sun Sep 9 22:20:17 2012 (r304005) @@ -7,7 +7,7 @@ PORTNAME= xrdp PORTVERSION= 0.6.0.20110117 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= net MASTER_SITES= http://www.club.kyutech.ac.jp/~meta/distfiles/ \ http://key2.jp/~meta/distfiles/ Added: head/net/xrdp/files/patch-sesman__session_1.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/xrdp/files/patch-sesman__session_1.patch Sun Sep 9 22:20:17 2012 (r304005) @@ -0,0 +1,85 @@ +--- sesman/session.c.orig 2011-03-12 16:10:35.000000000 +0900 ++++ sesman/session.c 2011-10-27 12:13:11.000000000 +0900 +@@ -16,7 +16,47 @@ + xrdp: A Remote Desktop Protocol server. + Copyright (C) Jay Sorg 2005-2008 + */ +- ++/* ++ * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland ++ * All rights reserved ++ * ++ * As far as I am concerned, the code I have written for this software ++ * can be used freely for any purpose. Any derived versions of this ++ * software must be clearly marked as such, and if the derived work is ++ * incompatible with the protocol description in the RFC file, it must be ++ * called by a name other than "ssh" or "Secure Shell". ++ * ++ * SSH2 support by Markus Friedl. ++ * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * Copyright (c) 2011 Iwao, Koichiro <meta@club.kyutech.ac.jp>, ++ * Kyushu Institute of Technology. ++ * All rights reserved. ++ * ++ * from: OpenBSD: session.c,v 1.252 2010/03/07 11:57:13 dtucker Exp ++ * with some ideas about process grouping from OpenSSH to xrdp ++ * ++ */ + /** + * + * @file session.c +@@ -373,6 +413,33 @@ + g_sprintf(geometry, "%dx%d", width, height); + g_sprintf(depth, "%d", bpp); + g_sprintf(screen, ":%d", display); ++#ifdef __FreeBSD__ ++ /* ++ * Create a new session and process group since 4.4BSD ++ * setlogin affects the entire process group. ++ */ ++ pid_t bsdsespid = g_fork(); ++ ++ if (bsdsespid == -1) ++ { ++ } ++ else if (bsdsespid == 0) /* BSD session leader */ ++ { ++ if (setsid() < 0) ++ { ++ log_message(&(g_cfg->log), LOG_LEVEL_ERROR, ++ "setsid failed: %.100s", strerror(errno)); ++ } ++ ++ if (setlogin(username) < 0) ++ { ++ log_message(&(g_cfg->log), LOG_LEVEL_ERROR, ++ "setlogin failed: %.100s", strerror(errno)); ++ } ++ } ++ ++ g_waitpid(bsdsespid); ++#endif + wmpid = g_fork(); + if (wmpid == -1) + {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209092220.q89MKIqu046809>