2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 01:49:11 +00:00
This commit is contained in:
Todd C. Miller 2014-06-27 14:56:27 -06:00
parent a8fa112a53
commit 6217df4c19

View File

@ -2055,7 +2055,7 @@ int (*trace_print)(const char *msg) = sudoers_trace_print;
#define WANTDIGEST 6
#line 2057 "lex.sudoers.c"
#line 2058 "lex.sudoers.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
@ -2209,9 +2209,9 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
#line 141 "toke.l"
#line 142 "toke.l"
#line 2213 "lex.sudoers.c"
#line 2214 "lex.sudoers.c"
if ( yy_init )
{
@ -2297,7 +2297,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 142 "toke.l"
#line 143 "toke.l"
{
LEXTRACE(", ");
LEXRETURN(',');
@ -2305,12 +2305,12 @@ YY_RULE_SETUP
YY_BREAK
case 2:
YY_RULE_SETUP
#line 147 "toke.l"
#line 148 "toke.l"
BEGIN STARTDEFS;
YY_BREAK
case 3:
YY_RULE_SETUP
#line 149 "toke.l"
#line 150 "toke.l"
{
BEGIN INDEFS;
LEXTRACE("DEFVAR ");
@ -2322,7 +2322,7 @@ YY_RULE_SETUP
case 4:
YY_RULE_SETUP
#line 158 "toke.l"
#line 159 "toke.l"
{
BEGIN STARTDEFS;
LEXTRACE(", ");
@ -2331,7 +2331,7 @@ YY_RULE_SETUP
YY_BREAK
case 5:
YY_RULE_SETUP
#line 164 "toke.l"
#line 165 "toke.l"
{
LEXTRACE("= ");
LEXRETURN('=');
@ -2339,7 +2339,7 @@ YY_RULE_SETUP
YY_BREAK
case 6:
YY_RULE_SETUP
#line 169 "toke.l"
#line 170 "toke.l"
{
LEXTRACE("+= ");
LEXRETURN('+');
@ -2347,7 +2347,7 @@ YY_RULE_SETUP
YY_BREAK
case 7:
YY_RULE_SETUP
#line 174 "toke.l"
#line 175 "toke.l"
{
LEXTRACE("-= ");
LEXRETURN('-');
@ -2355,7 +2355,7 @@ YY_RULE_SETUP
YY_BREAK
case 8:
YY_RULE_SETUP
#line 179 "toke.l"
#line 180 "toke.l"
{
LEXTRACE("BEGINSTR ");
sudoerslval.string = NULL;
@ -2365,7 +2365,7 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
#line 186 "toke.l"
#line 187 "toke.l"
{
LEXTRACE("WORD(2) ");
if (!fill(sudoerstext, sudoersleng))
@ -2377,7 +2377,7 @@ YY_RULE_SETUP
case 10:
YY_RULE_SETUP
#line 195 "toke.l"
#line 196 "toke.l"
{
/* Line continuation char followed by newline. */
sudolineno++;
@ -2386,7 +2386,7 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
#line 201 "toke.l"
#line 202 "toke.l"
{
LEXTRACE("ENDSTR ");
BEGIN prev_state;
@ -2421,7 +2421,7 @@ YY_RULE_SETUP
YY_BREAK
case 12:
YY_RULE_SETUP
#line 233 "toke.l"
#line 234 "toke.l"
{
LEXTRACE("BACKSLASH ");
if (!append(sudoerstext, sudoersleng))
@ -2430,7 +2430,7 @@ YY_RULE_SETUP
YY_BREAK
case 13:
YY_RULE_SETUP
#line 239 "toke.l"
#line 240 "toke.l"
{
LEXTRACE("STRBODY ");
if (!append(sudoerstext, sudoersleng))
@ -2441,7 +2441,7 @@ YY_RULE_SETUP
case 14:
YY_RULE_SETUP
#line 247 "toke.l"
#line 248 "toke.l"
{
/* quoted fnmatch glob char, pass verbatim */
LEXTRACE("QUOTEDCHAR ");
@ -2452,7 +2452,7 @@ YY_RULE_SETUP
YY_BREAK
case 15:
YY_RULE_SETUP
#line 255 "toke.l"
#line 256 "toke.l"
{
/* quoted sudoers special char, strip backslash */
LEXTRACE("QUOTEDCHAR ");
@ -2463,7 +2463,7 @@ YY_RULE_SETUP
YY_BREAK
case 16:
YY_RULE_SETUP
#line 263 "toke.l"
#line 264 "toke.l"
{
BEGIN INITIAL;
yyless(0);
@ -2472,7 +2472,7 @@ YY_RULE_SETUP
YY_BREAK
case 17:
YY_RULE_SETUP
#line 269 "toke.l"
#line 270 "toke.l"
{
LEXTRACE("ARG ");
if (!fill_args(sudoerstext, sudoersleng, sawspace))
@ -2483,7 +2483,7 @@ YY_RULE_SETUP
case 18:
YY_RULE_SETUP
#line 277 "toke.l"
#line 278 "toke.l"
{
/* Only return DIGEST if the length is correct. */
if (sudoersleng == digest_len * 2) {
@ -2499,7 +2499,7 @@ YY_RULE_SETUP
YY_BREAK
case 19:
YY_RULE_SETUP
#line 290 "toke.l"
#line 291 "toke.l"
{
/* Only return DIGEST if the length is correct. */
int len;
@ -2523,7 +2523,7 @@ YY_RULE_SETUP
YY_BREAK
case 20:
YY_RULE_SETUP
#line 311 "toke.l"
#line 312 "toke.l"
{
char *path;
@ -2544,7 +2544,7 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
#line 329 "toke.l"
#line 330 "toke.l"
{
char *path;
@ -2568,7 +2568,7 @@ YY_RULE_SETUP
YY_BREAK
case 22:
YY_RULE_SETUP
#line 350 "toke.l"
#line 351 "toke.l"
{
char deftype;
int n;
@ -2611,7 +2611,7 @@ YY_RULE_SETUP
YY_BREAK
case 23:
YY_RULE_SETUP
#line 390 "toke.l"
#line 391 "toke.l"
{
int n;
@ -2640,7 +2640,7 @@ YY_RULE_SETUP
YY_BREAK
case 24:
YY_RULE_SETUP
#line 416 "toke.l"
#line 417 "toke.l"
{
/* cmnd does not require passwd for this user */
LEXTRACE("NOPASSWD ");
@ -2649,7 +2649,7 @@ YY_RULE_SETUP
YY_BREAK
case 25:
YY_RULE_SETUP
#line 422 "toke.l"
#line 423 "toke.l"
{
/* cmnd requires passwd for this user */
LEXTRACE("PASSWD ");
@ -2658,7 +2658,7 @@ YY_RULE_SETUP
YY_BREAK
case 26:
YY_RULE_SETUP
#line 428 "toke.l"
#line 429 "toke.l"
{
LEXTRACE("NOEXEC ");
LEXRETURN(NOEXEC);
@ -2666,7 +2666,7 @@ YY_RULE_SETUP
YY_BREAK
case 27:
YY_RULE_SETUP
#line 433 "toke.l"
#line 434 "toke.l"
{
LEXTRACE("EXEC ");
LEXRETURN(EXEC);
@ -2674,7 +2674,7 @@ YY_RULE_SETUP
YY_BREAK
case 28:
YY_RULE_SETUP
#line 438 "toke.l"
#line 439 "toke.l"
{
LEXTRACE("SETENV ");
LEXRETURN(SETENV);
@ -2682,7 +2682,7 @@ YY_RULE_SETUP
YY_BREAK
case 29:
YY_RULE_SETUP
#line 443 "toke.l"
#line 444 "toke.l"
{
LEXTRACE("NOSETENV ");
LEXRETURN(NOSETENV);
@ -2690,7 +2690,7 @@ YY_RULE_SETUP
YY_BREAK
case 30:
YY_RULE_SETUP
#line 448 "toke.l"
#line 449 "toke.l"
{
LEXTRACE("LOG_OUTPUT ");
LEXRETURN(LOG_OUTPUT);
@ -2698,7 +2698,7 @@ YY_RULE_SETUP
YY_BREAK
case 31:
YY_RULE_SETUP
#line 453 "toke.l"
#line 454 "toke.l"
{
LEXTRACE("NOLOG_OUTPUT ");
LEXRETURN(NOLOG_OUTPUT);
@ -2706,7 +2706,7 @@ YY_RULE_SETUP
YY_BREAK
case 32:
YY_RULE_SETUP
#line 458 "toke.l"
#line 459 "toke.l"
{
LEXTRACE("LOG_INPUT ");
LEXRETURN(LOG_INPUT);
@ -2714,7 +2714,7 @@ YY_RULE_SETUP
YY_BREAK
case 33:
YY_RULE_SETUP
#line 463 "toke.l"
#line 464 "toke.l"
{
LEXTRACE("NOLOG_INPUT ");
LEXRETURN(NOLOG_INPUT);
@ -2722,7 +2722,7 @@ YY_RULE_SETUP
YY_BREAK
case 34:
YY_RULE_SETUP
#line 468 "toke.l"
#line 469 "toke.l"
{
/* empty group or netgroup */
LEXTRACE("ERROR ");
@ -2731,7 +2731,7 @@ YY_RULE_SETUP
YY_BREAK
case 35:
YY_RULE_SETUP
#line 474 "toke.l"
#line 475 "toke.l"
{
/* netgroup */
if (!fill(sudoerstext, sudoersleng))
@ -2742,7 +2742,7 @@ YY_RULE_SETUP
YY_BREAK
case 36:
YY_RULE_SETUP
#line 482 "toke.l"
#line 483 "toke.l"
{
/* group */
if (!fill(sudoerstext, sudoersleng))
@ -2753,7 +2753,7 @@ YY_RULE_SETUP
YY_BREAK
case 37:
YY_RULE_SETUP
#line 490 "toke.l"
#line 491 "toke.l"
{
if (!fill(sudoerstext, sudoersleng))
yyterminate();
@ -2763,7 +2763,7 @@ YY_RULE_SETUP
YY_BREAK
case 38:
YY_RULE_SETUP
#line 497 "toke.l"
#line 498 "toke.l"
{
if (!fill(sudoerstext, sudoersleng))
yyterminate();
@ -2773,7 +2773,7 @@ YY_RULE_SETUP
YY_BREAK
case 39:
YY_RULE_SETUP
#line 504 "toke.l"
#line 505 "toke.l"
{
if (!ipv6_valid(sudoerstext)) {
LEXTRACE("ERROR ");
@ -2787,7 +2787,7 @@ YY_RULE_SETUP
YY_BREAK
case 40:
YY_RULE_SETUP
#line 515 "toke.l"
#line 516 "toke.l"
{
if (!ipv6_valid(sudoerstext)) {
LEXTRACE("ERROR ");
@ -2801,7 +2801,7 @@ YY_RULE_SETUP
YY_BREAK
case 41:
YY_RULE_SETUP
#line 526 "toke.l"
#line 527 "toke.l"
{
LEXTRACE("ALL ");
LEXRETURN(ALL);
@ -2810,7 +2810,7 @@ YY_RULE_SETUP
YY_BREAK
case 42:
YY_RULE_SETUP
#line 532 "toke.l"
#line 533 "toke.l"
{
#ifdef HAVE_SELINUX
LEXTRACE("ROLE ");
@ -2822,7 +2822,7 @@ YY_RULE_SETUP
YY_BREAK
case 43:
YY_RULE_SETUP
#line 541 "toke.l"
#line 542 "toke.l"
{
#ifdef HAVE_SELINUX
LEXTRACE("TYPE ");
@ -2834,7 +2834,7 @@ YY_RULE_SETUP
YY_BREAK
case 44:
YY_RULE_SETUP
#line 549 "toke.l"
#line 550 "toke.l"
{
#ifdef HAVE_PRIV_SET
LEXTRACE("PRIVS ");
@ -2846,7 +2846,7 @@ YY_RULE_SETUP
YY_BREAK
case 45:
YY_RULE_SETUP
#line 558 "toke.l"
#line 559 "toke.l"
{
#ifdef HAVE_PRIV_SET
LEXTRACE("LIMITPRIVS ");
@ -2858,7 +2858,7 @@ YY_RULE_SETUP
YY_BREAK
case 46:
YY_RULE_SETUP
#line 567 "toke.l"
#line 568 "toke.l"
{
got_alias:
if (!fill(sudoerstext, sudoersleng))
@ -2869,7 +2869,7 @@ YY_RULE_SETUP
YY_BREAK
case 47:
YY_RULE_SETUP
#line 575 "toke.l"
#line 576 "toke.l"
{
/* XXX - no way to specify digest for command */
/* no command args allowed for Defaults!/path */
@ -2881,7 +2881,7 @@ YY_RULE_SETUP
YY_BREAK
case 48:
YY_RULE_SETUP
#line 584 "toke.l"
#line 585 "toke.l"
{
digest_len = SHA224_DIGEST_LENGTH;
BEGIN WANTDIGEST;
@ -2891,7 +2891,7 @@ YY_RULE_SETUP
YY_BREAK
case 49:
YY_RULE_SETUP
#line 591 "toke.l"
#line 592 "toke.l"
{
digest_len = SHA256_DIGEST_LENGTH;
BEGIN WANTDIGEST;
@ -2901,7 +2901,7 @@ YY_RULE_SETUP
YY_BREAK
case 50:
YY_RULE_SETUP
#line 598 "toke.l"
#line 599 "toke.l"
{
digest_len = SHA384_DIGEST_LENGTH;
BEGIN WANTDIGEST;
@ -2911,7 +2911,7 @@ YY_RULE_SETUP
YY_BREAK
case 51:
YY_RULE_SETUP
#line 605 "toke.l"
#line 606 "toke.l"
{
digest_len = SHA512_DIGEST_LENGTH;
BEGIN WANTDIGEST;
@ -2921,7 +2921,7 @@ YY_RULE_SETUP
YY_BREAK
case 52:
YY_RULE_SETUP
#line 612 "toke.l"
#line 613 "toke.l"
{
BEGIN GOTCMND;
LEXTRACE("COMMAND ");
@ -2931,7 +2931,7 @@ YY_RULE_SETUP
YY_BREAK
case 53:
YY_RULE_SETUP
#line 619 "toke.l"
#line 620 "toke.l"
{
/* directories can't have args... */
if (sudoerstext[sudoersleng - 1] == '/') {
@ -2949,7 +2949,7 @@ YY_RULE_SETUP
YY_BREAK
case 54:
YY_RULE_SETUP
#line 634 "toke.l"
#line 635 "toke.l"
{
LEXTRACE("BEGINSTR ");
sudoerslval.string = NULL;
@ -2959,7 +2959,7 @@ YY_RULE_SETUP
YY_BREAK
case 55:
YY_RULE_SETUP
#line 641 "toke.l"
#line 642 "toke.l"
{
/* a word */
if (!fill(sudoerstext, sudoersleng))
@ -2970,7 +2970,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
#line 649 "toke.l"
#line 650 "toke.l"
{
LEXTRACE("( ");
LEXRETURN('(');
@ -2978,7 +2978,7 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
#line 654 "toke.l"
#line 655 "toke.l"
{
LEXTRACE(") ");
LEXRETURN(')');
@ -2986,7 +2986,7 @@ YY_RULE_SETUP
YY_BREAK
case 58:
YY_RULE_SETUP
#line 659 "toke.l"
#line 660 "toke.l"
{
LEXTRACE(", ");
LEXRETURN(',');
@ -2994,7 +2994,7 @@ YY_RULE_SETUP
YY_BREAK
case 59:
YY_RULE_SETUP
#line 664 "toke.l"
#line 665 "toke.l"
{
LEXTRACE("= ");
LEXRETURN('=');
@ -3002,7 +3002,7 @@ YY_RULE_SETUP
YY_BREAK
case 60:
YY_RULE_SETUP
#line 669 "toke.l"
#line 670 "toke.l"
{
LEXTRACE(": ");
LEXRETURN(':');
@ -3010,7 +3010,7 @@ YY_RULE_SETUP
YY_BREAK
case 61:
YY_RULE_SETUP
#line 674 "toke.l"
#line 675 "toke.l"
{
if (sudoersleng & 1) {
LEXTRACE("!");
@ -3020,7 +3020,7 @@ YY_RULE_SETUP
YY_BREAK
case 62:
YY_RULE_SETUP
#line 681 "toke.l"
#line 682 "toke.l"
{
if (YY_START == INSTR) {
LEXTRACE("ERROR ");
@ -3035,14 +3035,14 @@ YY_RULE_SETUP
YY_BREAK
case 63:
YY_RULE_SETUP
#line 693 "toke.l"
#line 694 "toke.l"
{ /* throw away space/tabs */
sawspace = true; /* but remember for fill_args */
}
YY_BREAK
case 64:
YY_RULE_SETUP
#line 697 "toke.l"
#line 698 "toke.l"
{
sawspace = true; /* remember for fill_args */
sudolineno++;
@ -3051,7 +3051,7 @@ YY_RULE_SETUP
YY_BREAK
case 65:
YY_RULE_SETUP
#line 703 "toke.l"
#line 704 "toke.l"
{
if (sudoerstext[sudoersleng - 1] == '\n') {
/* comment ending in a newline */
@ -3068,7 +3068,7 @@ YY_RULE_SETUP
YY_BREAK
case 66:
YY_RULE_SETUP
#line 717 "toke.l"
#line 718 "toke.l"
{
LEXTRACE("ERROR ");
LEXRETURN(ERROR);
@ -3081,7 +3081,7 @@ case YY_STATE_EOF(STARTDEFS):
case YY_STATE_EOF(INDEFS):
case YY_STATE_EOF(INSTR):
case YY_STATE_EOF(WANTDIGEST):
#line 722 "toke.l"
#line 723 "toke.l"
{
if (YY_START != INITIAL) {
BEGIN INITIAL;
@ -3094,10 +3094,10 @@ case YY_STATE_EOF(WANTDIGEST):
YY_BREAK
case 67:
YY_RULE_SETUP
#line 732 "toke.l"
#line 733 "toke.l"
ECHO;
YY_BREAK
#line 3099 "lex.sudoers.c"
#line 3100 "lex.sudoers.c"
case YY_END_OF_BUFFER:
{
@ -3988,7 +3988,7 @@ int main()
return 0;
}
#endif
#line 732 "toke.l"
#line 733 "toke.l"
struct path_list {
SLIST_ENTRY(path_list) entries;