Summarily enable YP as soon as any a '+' is detected instead of generating
special values when +user substitutions are in effect. The new getpwent code can handle all the special cases itself now.
This commit is contained in:
parent
a1c6084710
commit
34876b9137
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=7277
@ -179,13 +179,8 @@ main(argc, argv)
|
||||
data.data = (u_char *)buf;
|
||||
key.data = (u_char *)tbuf;
|
||||
for (cnt = 1; scan(fp, &pwd); ++cnt) {
|
||||
if(pwd.pw_name[0] == '+') {
|
||||
if(pwd.pw_name[1] && !yp_enabled) {
|
||||
yp_enabled = 1;
|
||||
} else if(!pwd.pw_name[1]) {
|
||||
yp_enabled = -1;
|
||||
}
|
||||
}
|
||||
if(pwd.pw_name[0] == '+')
|
||||
yp_enabled = 1;
|
||||
#define COMPACT(e) t = e; while (*p++ = *t++);
|
||||
/* Create insecure data. */
|
||||
p = buf;
|
||||
@ -231,7 +226,7 @@ main(argc, argv)
|
||||
|
||||
/* Store insecure special plus and special minus */
|
||||
if ((pwd.pw_name[0] == '+' || pwd.pw_name[0] == '-')
|
||||
&& pwd.pw_name[1] == '@') {
|
||||
&& pwd.pw_name[1]) {
|
||||
tbuf[0] = (pwd.pw_name[0] == '+') ?
|
||||
_PW_KEYPLUSBYNUM : _PW_KEYMINUSBYNUM;
|
||||
memmove(tbuf + 1, (pwd.pw_name[0] == '+') ?
|
||||
@ -341,7 +336,7 @@ main(argc, argv)
|
||||
|
||||
/* Store secure special plus and special minus */
|
||||
if ((pwd.pw_name[0] == '+' || pwd.pw_name[0] == '-')
|
||||
&& pwd.pw_name[1] == '@') {
|
||||
&& pwd.pw_name[1]) {
|
||||
tbuf[0] = (pwd.pw_name[0] == '+') ?
|
||||
_PW_KEYPLUSBYNUM : _PW_KEYMINUSBYNUM;
|
||||
memmove(tbuf + 1, (pwd.pw_name[0] == '+') ?
|
||||
|
Loading…
Reference in New Issue
Block a user