diff options
-rw-r--r-- | doc/tinyproxy.conf | 10 | ||||
-rw-r--r-- | src/grammar.y | 21 | ||||
-rw-r--r-- | src/scanner.l | 4 |
3 files changed, 32 insertions, 3 deletions
diff --git a/doc/tinyproxy.conf b/doc/tinyproxy.conf index b8c20de..e104b58 100644 --- a/doc/tinyproxy.conf +++ b/doc/tinyproxy.conf @@ -124,6 +124,16 @@ Allow 192.168.1.0/25 #Filter "/etc/tinyproxy/filter" # +# Filter based on URLs rather than domains. +# +#FilterURLs On + +# +# Use POSIX Extended regular expressions rather than basic. +# +#FilterExtended On + +# # If an Anonymous keyword is present, then anonymous proxying is enabled. # The headers listed are allowed through, while all others are denied. If # no Anonymous keyword is present, then all header are allowed through. diff --git a/src/grammar.y b/src/grammar.y index da893a5..91a950f 100644 --- a/src/grammar.y +++ b/src/grammar.y @@ -1,4 +1,4 @@ -/* $Id: grammar.y,v 1.12 2002-05-26 18:54:27 rjkaes Exp $ +/* $Id: grammar.y,v 1.13 2002-05-27 01:52:44 rjkaes Exp $ * * This is the grammar for tinyproxy's configuration file. It needs to be * in sync with scanner.l. If you know more about yacc and lex than I do @@ -45,7 +45,8 @@ int yylex(void); %token KW_MAXREQUESTSPERCHILD %token KW_TIMEOUT %token KW_USER KW_GROUP -%token KW_ANONYMOUS KW_FILTER KW_XTINYPROXY +%token KW_ANONYMOUS KW_XTINYPROXY +%token KW_FILTER KW_FILTERURLS KW_FILTEREXTENDED %token KW_TUNNEL KW_UPSTREAM %token KW_CONNECTPORT KW_BIND %token KW_ALLOW KW_DENY @@ -117,6 +118,22 @@ statement log_message(LOG_WARNING, "Filter support was not compiled in."); #endif } + | KW_FILTERURLS yesno + { +#ifdef FILTER_ENABLE + config.filter_url = $2; +#else + log_message(LOG_WARNING, "Filter support wss not compiled in."); +#endif + } + | KW_FILTEREXTENDED yesno + { +#ifdef FILTER_ENABLE + config.filter_extended = $2; +#else + log_message(LOG_WARNING, "Filter support was not compiled in."); +#endif + } | KW_XTINYPROXY network_address { #ifdef XTINYPROXY_ENABLE diff --git a/src/scanner.l b/src/scanner.l index d49ed83..885d0a7 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -1,4 +1,4 @@ -/* $Id: scanner.l,v 1.12 2002-05-26 18:54:27 rjkaes Exp $ +/* $Id: scanner.l,v 1.13 2002-05-27 01:52:44 rjkaes Exp $ * * This builds the scanner for the tinyproxy configuration file. This * file needs to stay in sync with grammar.y. If someone knows lex and yacc @@ -44,6 +44,8 @@ static struct keyword keywords[] = { { "group", KW_GROUP }, { "anonymous", KW_ANONYMOUS }, { "filter", KW_FILTER }, + { "filterurls", KW_FILTERURLS }, + { "filterextended", KW_FILTEREXTENDED }, { "xtinyproxy", KW_XTINYPROXY }, { "tunnel", KW_TUNNEL }, { "upstream", KW_UPSTREAM }, |