do_pwchange() is broken on SCO UnixWare 7

ThirdType+dev2 at ThirdType+dev2 at
Thu Dec 9 14:07:23 EST 2004

The patch worked, thanks. Gotta love open source! Curious that it needs
the username. I do know that its running passwd as the user and I've
never had trouble with execl()'s terminator ending up as "" on SCO. Like
you say, it might be missing an environment variable at that point. I'll
try to look into that possibility Friday.

This might be related to some trouble I've had using Kermit95 (Windows
ssh client) to run a command instead of getting a shell. Commands fail
or, at best, have stair-stepped output. Seems like it has no tty? I
first suspected Kermit95 was to blame for not giving me a -t option for
ssh but maybe there is more to this.

On Mon, 06 Dec 2004 13:47:49 +1100, "Darren Tucker" <dtucker at>
> Mike Thompson wrote:
> > The do_pwchange() function in session.c needs to pass the username as an
> > argument to the passwd command. Without it, passwd always fails with
> > something like "passwd: unknown user" as if its getting a blank user
> > arg. It's strange but so are many other things in SCO, which BTW was NOT
> > my OS of choice :(
> > 
> > To make it work I simply changed line 1317 to this:
> > execl(_PATH_PASSWD_PROG, "passwd", s->pw->pw_name, (char*)NULL);
> Does the attached patch fix it properly?  (Note: you will need to run 
> "autoreconf" to rebuild configure after applying the patch, the rerun 
> ./configure && make).
> -- 
> Darren Tucker (dtucker at
> GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9 C982 80C7 8FF4 FA69
>      Good judgement comes with experience. Unfortunately, the experience
> usually comes from bad judgement.

More information about the openssh-unix-dev mailing list