From dfcb0eb6ec11430e43af06c0de82aceaeadaafc7 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Sun, 9 Apr 1995 02:27:40 +0000 Subject: [PATCH] added stubs for User_Alias support --- parse.yacc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/parse.yacc b/parse.yacc index 13c342b0d..fbad974da 100644 --- a/parse.yacc +++ b/parse.yacc @@ -66,6 +66,7 @@ static int user_matched; */ #define HOST 1 #define CMND 2 +#define USER 3 /* * the matching stack @@ -125,6 +126,7 @@ char *s; %token ALL /* ALL keyword */ %token HOSTALIAS /* Host_Alias keyword */ %token CMNDALIAS /* Cmnd_Alias keyword */ +%token USERALIAS /* User_Alias keyword */ %token ':' '=' ',' '!' '.' /* union member tokens */ %token ERROR @@ -143,6 +145,8 @@ entry : COMMENT | NAME { user_matched = strcmp($1, user) == 0; } privileges + | USERALIAS useraliases + { ; } | HOSTALIAS hostaliases { ; } | CMNDALIAS cmndaliases @@ -258,6 +262,28 @@ cmndlist : cmnd | cmndlist ',' cmnd ; +useraliases : useralias + | useraliases ':' useralias + ; + +useralias : ALIAS { push; } '=' userlist { + if (user_matches == TRUE && !add_alias($1, CMND)) + YYERROR; + pop; + } + ; + +userlist : user + { ; } + | userlist ',' user + ; + +user : NAME { + /* XXX need to set user_matched */ + user_matches = strcmp($1, user) == 0; + } + ; + %% -- 2.40.0