version 1.13, 2013/03/02 09:07:37 |
version 1.14, 2015/11/26 19:01:47 |
|
|
} |
} |
|
|
if (checker == NULL) { |
if (checker == NULL) { |
|
if (pledge("stdio", NULL) == -1) |
|
err(1, "pledge"); |
|
|
for (i = 0; i < sizeof(patterns) / sizeof(*patterns); i++) { |
for (i = 0; i < sizeof(patterns) / sizeof(*patterns); i++) { |
if (regcomp(&rgx, patterns[i].match, |
if (regcomp(&rgx, patterns[i].match, |
patterns[i].flags) != 0) |
patterns[i].flags) != 0) |
|
|
/* no external checker in use, accept the password */ |
/* no external checker in use, accept the password */ |
exit(0); |
exit(0); |
} |
} |
|
|
|
if (pledge("stdio exec", NULL) == -1) |
|
err(1, "pledge"); |
|
|
/* Otherwise, pass control to checker program */ |
/* Otherwise, pass control to checker program */ |
argp[2] = checker; |
argp[2] = checker; |