From ad2662ed8d70ddc705975c788c64c0b5b41455aa Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Tue, 25 Jul 1995 00:01:34 +0000 Subject: [PATCH] added NETGROUP support --- parse.lex | 6 ++++++ parse.yacc | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/parse.lex b/parse.lex index e60e6772b..33e7b6597 100644 --- a/parse.lex +++ b/parse.lex @@ -90,6 +90,12 @@ N [0-9][0-9]?[0-9]? LEXTRACE("\n"); return COMMENT; } /* return comments */ + +\+[a-zA-Z][a-zA-Z0-9_-]* { + fill(); + return NETGROUP; + } + {N}\.{N}\.{N}\.{N} { fill(); return NTWKADDR; diff --git a/parse.yacc b/parse.yacc index 9cd4189e1..d9be2eeca 100644 --- a/parse.yacc +++ b/parse.yacc @@ -121,6 +121,7 @@ char *s; %start file /* special start symbol */ %token ALIAS /* an UPPERCASE alias name */ %token NTWKADDR /* w.x.y.z */ +%token NETGROUP /* +NAME */ %token PATH /* an absolute pathname */ %token NAME /* a mixed-case name */ %token COMMENT /* comment and/or carriage return */ @@ -176,6 +177,10 @@ hostspec : ALL { if (addr_matches($1)) host_matches = TRUE; } + | NETGROUP { + if (netgr_matches($1, host, NULL)) + host_matches = TRUE; + } | NAME { if (strcmp(host, $1) == 0) host_matches = TRUE; @@ -300,6 +305,10 @@ user : NAME { if (strcmp($1, user) == 0) user_matches = TRUE; } + | NETGROUP { + if (netgr_matches($1, NULL, user)) + user_matches = TRUE; + } | ALIAS { if (find_alias($1, USER)) user_matches = TRUE; -- 2.49.0