'(' only starts a 'runas' if in the initial state to avoid
collision with command args
} /* return comments */
<GOTCMND>\"[^\n]*\" {
- /* XXX - should be able to span lines? */
+ /* XXX - this should go away */
LEXTRACE("ARG ");
fill_args(yytext+1, yyleng-2, sawspace);
sawspace = FALSE;
return('.');
}
-NOPASSWD: {
- /* XXX - is this the best way? */
+NOPASSWD[[:blank:]]*: {
/* cmnd does not require passwd for this user */
LEXTRACE("NOPASSWD ");
return(NOPASSWD);
return(FQHOST);
}
-\( {
- /* XXX - what about '(' in command args? */
+<INITIAL>\( {
BEGIN GOTRUNAS;
LEXTRACE("RUNAS ");
return (RUNAS);
return(NAME);
}
-<GOTRUNAS>\) BEGIN INITIAL; /* XXX - will newlines be treated correctly? */
+<GOTRUNAS>\) BEGIN INITIAL;
\/[^\,:=\\ \t\n#]+ {