From add2fe02408b399e2b2334337d9bc001dbad1685 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Wed, 22 Aug 2007 22:23:59 +0000 Subject: [PATCH] Replace RUNAS token with '(' and ')' tokens to make the runas portion of the grammar more natural. --- gram.y | 4 ++-- toke.l | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gram.y b/gram.y index 83dfc6242..4f46444fb 100644 --- a/gram.y +++ b/gram.y @@ -122,7 +122,6 @@ yyerror(s) %token DEFAULTS_USER /* User-specific defaults entry */ %token DEFAULTS_RUNAS /* Runas-specific defaults entry */ %token DEFAULTS_CMND /* Command-specific defaults entry */ -%token RUNAS /* ( runas_list ) */ %token NOPASSWD /* no passwd req for command */ %token PASSWD /* passwd req for command (default) */ %token NOEXEC /* preload dummy execve() for cmnd */ @@ -136,6 +135,7 @@ yyerror(s) %token USERALIAS /* User_Alias keyword */ %token RUNASALIAS /* Runas_Alias keyword */ %token ':' '=' ',' '!' '+' '-' /* union member tokens */ +%token '(' ')' /* runas tokens */ %token ERROR %type cmndspec @@ -319,7 +319,7 @@ opcmnd : cmnd { runasspec : /* empty */ { $$ = NULL; } - | RUNAS runaslist { + | '(' runaslist ')' { $$ = $2; } ; diff --git a/toke.l b/toke.l index 856bdb05b..0f306aa3d 100644 --- a/toke.l +++ b/toke.l @@ -94,6 +94,7 @@ IPV6ADDR \:\:|({HEXDIGIT}\:){7}{HEXDIGIT}|({HEXDIGIT}\:){5}{HEXDIGIT}\:{DOTTEDQ HOSTNAME [[:alnum:]_-]+ WORD ([^#>!=:,\(\) \t\n\\]|\\[^\n])+ +ID #-?[0-9]+ PATH \/(\\[\,:= \t#]|[^\,:=\\ \t\n#])+ ENVAR ([^#!=, \t\n\\\"]|\\[^\n])([^#=, \t\n\\\"]|\\[^\n])* DEFVAR [a-z_]+ @@ -359,7 +360,7 @@ NOSETENV[[:blank:]]*: { \( { BEGIN GOTRUNAS; - LEXTRACE("RUNAS "); + LEXTRACE("( "); return (RUNAS); } @@ -375,7 +376,7 @@ NOSETENV[[:blank:]]*: { } } -(#[0-9-]+|{WORD}) { +({ID}|{WORD}) { /* username/uid that user can run command as */ if (!fill(yytext, yyleng)) yyterminate(); @@ -392,6 +393,7 @@ NOSETENV[[:blank:]]*: { \) { BEGIN INITIAL; + LEXTRACE(") "); } ({PATH}|sudoedit) { -- 2.40.0