diff options
author | Todd C. Miller <Todd.Miller@courtesan.com> | 2007-08-13 16:30:02 +0000 |
---|---|---|
committer | Todd C. Miller <Todd.Miller@courtesan.com> | 2007-08-13 16:30:02 +0000 |
commit | f3490da0e48733bbc6b678ed942d2158f886f2cb (patch) | |
tree | 2dddc1ad2e77d4443ad617936b7824d066e5581e /parse.lex | |
parent | 66c57db39cf14d017e650cb18fd1451f2ee57025 (diff) | |
download | sudo-f3490da0e48733bbc6b678ed942d2158f886f2cb.tar.gz |
Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
Diffstat (limited to 'parse.lex')
-rw-r--r-- | parse.lex | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -83,8 +83,11 @@ extern void yyerror __P((char *)); #endif %} +HEXDIGIT [0-9A-Fa-f]{1,4} OCTET (1?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]) DOTTEDQUAD {OCTET}(\.{OCTET}){3} +IPV6ADDR \:\:|({HEXDIGIT}\:){7}{HEXDIGIT}|({HEXDIGIT}\:){5}{HEXDIGIT}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,7}\:|({HEXDIGIT}\:){1,6}(\:{HEXDIGIT}){1}|({HEXDIGIT}\:){1,5}(\:{HEXDIGIT}){2}|({HEXDIGIT}\:){1,2}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,4}(\:{HEXDIGIT}){3}|({HEXDIGIT}\:){1,4}(\:{HEXDIGIT}){1}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,3}(\:{HEXDIGIT}){4}|({HEXDIGIT}\:){1,3}(\:{HEXDIGIT}){2}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1,2}(\:{HEXDIGIT}){5}|({HEXDIGIT}\:){1,2}(\:{HEXDIGIT}){3}\:{DOTTEDQUAD}|({HEXDIGIT}\:){1}(\:{HEXDIGIT}){6}|({HEXDIGIT}\:){1}(\:{HEXDIGIT}){4}\:{DOTTEDQUAD}|\:(\:{HEXDIGIT}){1,7}|\:(\:{HEXDIGIT}){1,5}\:{DOTTEDQUAD} + HOSTNAME [[:alnum:]_-]+ WORD ([^#>@!=:,\(\) \t\n\\]|\\[^\n])+ ENVAR ([^#!=, \t\n\\]|\\[^\n])([^#=, \t\n\\]|\\[^\n])* @@ -265,6 +268,18 @@ NOSETENV[[:blank:]]*: { return(NTWKADDR); } +{IPV6ADDR}(\/{IPV6ADDR})? { + fill(yytext, yyleng); + LEXTRACE("NTWKADDR "); + return(NTWKADDR); + } + +{IPV6ADDR}\/([0-9]|[1-9][0-9]|1[01][0-9]|12[0-8]) { + fill(yytext, yyleng); + LEXTRACE("NTWKADDR "); + return(NTWKADDR); + } + <INITIAL>\( { BEGIN GOTRUNAS; LEXTRACE("RUNAS "); |