2.2.1p1 / AIX 4.2.1.0.06 login nits

douglas.manton at uk.ibm.com douglas.manton at uk.ibm.com
Tue Jun 13 18:28:49 EST 2000



Matt,

When login is called in session.c the environment variables are not passed
to it.  AIX login expects environment variables to be passed on the command
line in the form:

           /usr/bin/login -h <remote ip> -p -f -- <username>
DISPLAY=host:10.0 TZ=GMT0BST ...

There are restrictions, for example you cannot set PATH.  When login is
called in session.c the variables are not passed.

           /* Launch login(1). */

           execl("/usr/bin/login", "login", "-h", get_remote_ipaddr(),
                 "-p", "-f", "--", pw->pw_name, NULL);

The NULL needs to be replaced with a string containing the variables.
Unfortunately using execve (instead of execl) and using the environment
pointer does not have any effect -- login does not inherit the variables
passed in that way.

Could whoever has been working on the revamped login code (Andre?) take a
look into this?  It effectively breaks X11 forwarding :-(

Many thanks,
--------------------------------------------------------
 Doug Manton, AT&T EMEA Firewall and Security Solutions

              douglas.manton at uk.ibm.com
--------------------------------------------------------
"If privacy is outlawed, only outlaws will have privacy"







More information about the openssh-unix-dev mailing list