22 lines
696 B
Diff
22 lines
696 B
Diff
diff -up openssh-5.8p1/session.c.pwchange openssh-5.8p1/session.c
|
|
--- openssh-5.8p1/session.c.pwchange 2011-03-31 17:54:18.637695183 +0200
|
|
+++ openssh-5.8p1/session.c 2011-03-31 17:56:12.281684766 +0200
|
|
@@ -1552,12 +1552,17 @@ do_pwchange(Session *s)
|
|
if (s->ttyfd != -1) {
|
|
fprintf(stderr,
|
|
"You must change your password now and login again!\n");
|
|
+#ifdef __linux__
|
|
+ execl("/bin/sh", "sh", "-c", "passwd", s->pw->pw_name,
|
|
+ (char *)NULL);
|
|
+#else
|
|
#ifdef PASSWD_NEEDS_USERNAME
|
|
execl(_PATH_PASSWD_PROG, "passwd", s->pw->pw_name,
|
|
(char *)NULL);
|
|
#else
|
|
execl(_PATH_PASSWD_PROG, "passwd", (char *)NULL);
|
|
#endif
|
|
+#endif
|
|
perror("passwd");
|
|
} else {
|
|
fprintf(stderr,
|