Control-c not work under openssh?

douglas.manton at uk.ibm.com douglas.manton at uk.ibm.com
Fri Aug 11 02:32:54 EST 2000




>This issue has actually cropped up again recently in my testing.  When I
>do use Solaris login (UseLogin yes),  a ton of the important environment
>variables  (like TERM, etc) don't get passed.    Is that normal behavior?

Looking at the source os session.c it is obvious that when you use login
the environment is not passed:

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

But when the shell is exec'd directly it is:

        execve(shell, argv, env);

Login can accept a list of environment variables in the format
VARIABLE=VALUE, but it refuses to accept PATH being passed (a good thing)
although this just gives a warning and the logon continues.  I did kludge
an earlier version to pass the env list in place of the NULL when using
login but lost it during a disk cleanup :-( .  BTW login ignores any env
passed by calling it with an execle.

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

                   demanton at att.com
--------------------------------------------------------
"If privacy is outlawed, only outlaws will have privacy"







More information about the openssh-unix-dev mailing list