The rshd started to crash on my system after the recent -current
upgrade. It does not dump core (why?), but with a lot of syslog() I
narrowed the trouble spot down to the pam_setenv() calls -- the very
first one of them, in rshd.c never returned... The libpam is:

/usr/lib/libpam.so.2:
     $FreeBSD: src/lib/csu/i386-elf/crti.S,v 1.6 2002/05/15 04:19:49 obrien 
Exp $
     $FreeBSD: src/lib/csu/i386-elf/crtn.S,v 1.5 2002/05/15 04:19:49 obrien 
Exp $
     $FreeBSD: src/lib/libpam/libpam/pam_std_option.c,v 1.10 2002/04/14 
18:30:03 des Exp $
     $FreeBSD: src/lib/libpam/libpam/pam_debug_log.c,v 1.8 2002/04/14 16:44:04 
des Exp $

The following patch fixes (works around?) the problem for me (pam_setenv
is rather inefficiently implemented by the vendor, BTW), but is probably
wrong in some other aspect. If it is not, it will probably make rshd a
bit cleaner and faster...

Please, review... Thanks!

        -mi

Index: rshd.c
===================================================================
RCS file: /home/ncvs/src/libexec/rshd/rshd.c,v
retrieving revision 1.46
diff -U2 -r1.46 rshd.c
--- rshd.c      2002/06/26 17:09:08     1.46
+++ rshd.c      2002/12/20 19:44:33
@@ -182,6 +182,4 @@
 }
 
-extern char **environ;
-
 void
 doit(struct sockaddr *fromp)
@@ -476,10 +474,9 @@
        if (*pwd->pw_shell == '\0')
                pwd->pw_shell = bshell;
-       (void) pam_setenv(pamh, "HOME", pwd->pw_dir, 1);
-       (void) pam_setenv(pamh, "SHELL", pwd->pw_shell, 1);
-       (void) pam_setenv(pamh, "USER", pwd->pw_name, 1);
-       (void) pam_setenv(pamh, "PATH", _PATH_DEFPATH, 1);
-       environ = pam_getenvlist(pamh);
        (void) pam_end(pamh, pam_err);
+       (void) setenv("HOME", pwd->pw_dir, 1);
+       (void) setenv("SHELL", pwd->pw_shell, 1);
+       (void) setenv("USER", pwd->pw_name, 1);
+       (void) setenv("PATH", _PATH_DEFPATH, 1);
        cp = strrchr(pwd->pw_shell, '/');
        if (cp)


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to