static void
do_pwchange(Session *s)
{
#ifdef WITH_SELINUX
pid_t pid;
#endif
fflush(NULL);
fprintf(stderr, "WARNING: Your password has expired.\n");
if (s->ttyfd != -1) {
fprintf(stderr,
"You must change your password now and login again!\n");
switch (pid = fork()) {
case -1:
fatal("cannot fork");
case 0:
setexeccon(NULL);
break;
default:
waitpid(pid, NULL, 0);
exit(0);
}
#ifdef PASSWD_NEEDS_USERNAME
execl(_PATH_PASSWD_PROG, "passwd", s->pw->pw_name,
(char *)NULL);