arnold@emory.UUCP (Arnold D. Robbins {EUCC}) (10/23/86)
[ My apologies if this has been seen before. If so, please ignore it. ] Subject: 4.3 /bin/passwd does not deal with /etc/shells properly Index: /usr/src/bin/passwd.c 4.3BSD Description: It is possible to request a shell that is valid as a new shell, but /bin/passwd will claim it is no good. Repeat-By: Run passwd to request a new shell. Ask for a shell that is before your old shell in the list in /etc/shells. Fix: Apply the following patch: RCS file: RCS/passwd.c,v retrieving revision 1.1 diff -c -r1.1 passwd.c *** /tmp/,RCSt1007186 Wed Oct 22 18:05:08 1986 --- passwd.c Mon Aug 11 11:59:11 1986 *************** *** 1,9 **** #ifndef lint ! static char *RCSid = "$Header: passwd.c,v 1.1 86/08/11 11:27:00 root Exp $"; #endif /* * $Log: passwd.c,v $ * Revision 1.1 86/08/11 11:27:00 root * Initial revision * --- 1,12 ---- #ifndef lint ! static char *RCSid = "$Header: passwd.c,v 1.2 86/08/11 11:58:50 root Locked $"; #endif /* * $Log: passwd.c,v $ + * Revision 1.2 86/08/11 11:58:50 root + * Fixed a bug in change shell code which did not reset the shells file. + * * Revision 1.1 86/08/11 11:27:00 root * Initial revision * *************** *** 328,333 **** --- 331,337 ---- /* * Allow user to give shell name w/o preceding pathname. */ + endusershell (); if (u == 0) { valid = newshell; } else { *************** *** 345,350 **** --- 349,355 ---- break; } } + endusershell(); /* bug fix, was missing */ if (valid == 0) { printf("%s is unacceptable as a new shell.\n", newshell); -- Arnold Robbins CSNET: arnold@emory BITNET: arnold@emoryu1 ARPA: arnold%emory.csnet@csnet-relay.arpa UUCP: { akgua, decvax, gatech, sb1, sb6, sunatl }!emory!arnold