diff --git a/ChangeLog b/ChangeLog index 08106221..4924e91d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2012-05-20 Nicolas François + + * src/su.c: non PAM enabled versions: do not fail if su is called + without a controlling terminal. Ignore ENXIO errors when opening + /dev/tty. + +2012-05-20 Nicolas François + + * src/useradd.c: Cleanup, return code 13 no more used. + * man/useradd.8.xml: Document return code 14, and remove return + code 13. + 2012-05-20 Nicolas François * NEWS, man/generate_mans.mak: Generate manpages in man1, man3, diff --git a/NEWS b/NEWS index a4c2ce3e..56094326 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,9 @@ shadow-4.1.5 -> shadow-4.1.5.1 UNRELEASED - login * Log into utmp(x) when PAM is enabled, but do not log into wtmp. This complete pam_lastlog which logs into wtmp and in into utmp(x). +- su + * non PAM enabled versions: do not fail if su is called without a + controlling terminal. - userdel * Fix segfault when userdel removes the user's group. diff --git a/src/su.c b/src/su.c index f5946cc3..363a8b85 100644 --- a/src/su.c +++ b/src/su.c @@ -1092,6 +1092,9 @@ int main (int argc, char **argv) if (fd >= 0) { err = ioctl (fd, TIOCNOTTY, (char *) 0); (void) close (fd); + } else if (ENXIO == errno) { + /* There are no controlling terminal already */ + err = 0; } #endif /* USE_PAM */