From owner-freebsd-x11@FreeBSD.ORG Wed May 30 08:10:19 2007 Return-Path: X-Original-To: freebsd-x11@freebsd.org Delivered-To: freebsd-x11@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 99C9C16A468 for ; Wed, 30 May 2007 08:10:19 +0000 (UTC) (envelope-from thomas@hardy.tmseck.homedns.org) Received: from smtp4.netcologne.de (smtp4.netcologne.de [194.8.194.137]) by mx1.freebsd.org (Postfix) with ESMTP id 315C713C448 for ; Wed, 30 May 2007 08:10:18 +0000 (UTC) (envelope-from thomas@hardy.tmseck.homedns.org) Received: from laurel.tmseck.homedns.org (xdsl-81-173-171-35.netcologne.de [81.173.171.35]) by smtp4.netcologne.de (Postfix) with SMTP id DD171DA4E3 for ; Wed, 30 May 2007 09:37:45 +0200 (CEST) Received: (qmail 781 invoked from network); 30 May 2007 07:37:45 -0000 Received: from unknown (HELO hardy.tmseck.homedns.org) (192.168.1.2) by 0 with SMTP; 30 May 2007 07:37:45 -0000 Received: from hardy.tmseck.homedns.org (localhost [127.0.0.1]) by hardy.tmseck.homedns.org (8.14.1/8.14.1) with ESMTP id l4U7bi0W035917; Wed, 30 May 2007 09:37:44 +0200 (CEST) (envelope-from thomas@hardy.tmseck.homedns.org) Received: (from thomas@localhost) by hardy.tmseck.homedns.org (8.14.1/8.14.1/Submit) id l4U7bhnh035493; Wed, 30 May 2007 09:37:43 +0200 (CEST) (envelope-from thomas) Date: Wed, 30 May 2007 09:37:43 +0200 (CEST) Message-Id: <200705300737.l4U7bhnh035493@hardy.tmseck.homedns.org> From: tmseck-lists@netcologne.de (Thomas-Martin Seck) To: Szalai Andras In-Reply-To: <20070522091713.GB81200@tristania.kispest.home> X-Attribution: tms Cc: freebsd-x11@freebsd.org Subject: Re: Xorg 7.2 XDM ignores environment settings X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 May 2007 08:10:19 -0000 * Szalai Andras [gmane.os.freebsd.devel.x11]: > I have encountered a problem when using XDM from Xorg 7.2: > > When XDM is about to run /usr/local/lib/X11/xdm/Xsession, it doesn't > set environment variables that are present in /etc/login.conf > (e.g. setenv=..., path=...). > > I have discovered that XDM included with Xorg 7.2 doesn't contain a > patch (which is present in Xorg 6.9) which fixes the above problem: > > http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/ports/x11/xorg-clients/files/Attic/patch-xdm_session.c?rev=1.2;content-type=text%2Fplain Thanks for finding this -- I was just wondering what I possibly screwed up when upgrading from XFree86 to X.org 7.2. Could you open a PR -- if you have not already done so -- so this issue does not get lost in the noise? The updated patch I used is: --- session.c.orig Fri Feb 2 02:00:51 2007 +++ session.c Wed May 30 09:15:32 2007 @@ -543,6 +543,7 @@ StartClient ( pid_t pid; #ifdef HAS_SETUSERCONTEXT struct passwd* pwd; + extern char **environ; #endif #ifdef USE_PAM pam_handle_t *pamh = thepamh (); @@ -657,6 +658,8 @@ StartClient ( * Set the user's credentials: uid, gid, groups, * environment variables, resource limits, and umask. */ + /* destroy user environment before calling setusercontext */ + environ = verify->userEnviron; pwd = getpwnam(name); if (pwd) { if (setusercontext(NULL, pwd, pwd->pw_uid, LOGIN_SETALL) < 0) { @@ -664,6 +667,7 @@ StartClient ( errno); return (0); } + verify->userEnviron = environ; endpwent(); } else { LogError ("getpwnam for \"%s\" failed, errno=%d\n", name, errno);