From owner-cvs-all Mon Feb 4 8:35: 4 2002 Delivered-To: cvs-all@freebsd.org Received: from muse.sanewo.dyn.to (p803d50.tokyjk17.ap.so-net.ne.jp [211.128.61.80]) by hub.freebsd.org (Postfix) with ESMTP id C602C37B41A; Mon, 4 Feb 2002 08:34:55 -0800 (PST) Received: from muse.sanewo.dyn.to (sanewo@localhost [127.0.0.1]) by muse.sanewo.dyn.to (8.11.6/8.11.6) with ESMTP id g14GSti07166; Tue, 5 Feb 2002 01:28:55 +0900 (JST) (envelope-from sanewo@muse.sanewo.dyn.to) Message-Id: <200202041628.g14GSti07166@muse.sanewo.dyn.to> To: Dag-Erling Smorgrav Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libpam/modules/pam_ssh pam_ssh.c References: <200201241726.g0OHQSN97700@freefall.freebsd.org> <200202041620.g14GK5R06184@muse.sanewo.dyn.to> Cc: Takanori Saneto From: Takanori Saneto In-Reply-To: <200202041620.g14GK5R06184@muse.sanewo.dyn.to> (Takanori Saneto's message of "Tue, 05 Feb 2002 01:20:05 +0900") MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII User-Agent: T-gnus/6.15.5 (based on Oort Gnus v0.05) (revision 01) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (=?ISO-8859-4?Q?Unebigory=F2mae?=) APEL/10.3 MULE XEmacs/21.5 (beta3) (asparagus) (i386-unknown-freebsd5.0) Date: Tue, 05 Feb 2002 01:28:55 +0900 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Oops, my previous patch was not correct. (the line saving the value of current environment was missing) Here's the correct one: >Instead of using putenv(), how about using temporaly environment >generated from pam's environment as in the following patch? Index: pam_ssh.c =================================================================== RCS file: /export/cvsup/cvs/src/lib/libpam/modules/pam_ssh/pam_ssh.c,v retrieving revision 1.24 diff -u -r1.24 pam_ssh.c --- pam_ssh.c 24 Jan 2002 18:37:16 -0000 1.24 +++ pam_ssh.c 4 Feb 2002 16:24:46 -0000 @@ -482,7 +482,16 @@ PAM_LOG("Environment saved"); /* connect to the agent */ + { + extern char **environ; + char **save, **evp; + save = environ; + environ = pam_getenvlist(pamh); ac = ssh_get_authentication_connection(); + for (evp = environ; *evp; evp++) (void)free(*evp); + (void)free(environ); + environ = save; + } if (!ac) { syslog(LOG_ERR, "%s: %s: %m", MODULE_NAME, agent_socket); PAM_RETURN(PAM_SESSION_ERR); -- sanewo To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message