From 60f61c8f0c33f6f33b40e59dba14d4448fa4fb18 Mon Sep 17 00:00:00 2001 From: Robert James Kaes Date: Mon, 22 Apr 2002 19:33:01 +0000 Subject: Added the "Bind" directive. --- src/grammar.y | 15 ++++++++++++--- src/scanner.l | 3 ++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/grammar.y b/src/grammar.y index 5cf245c..c8e42f6 100644 --- a/src/grammar.y +++ b/src/grammar.y @@ -1,4 +1,4 @@ -/* $Id: grammar.y,v 1.8 2002-04-12 16:59:37 rjkaes Exp $ +/* $Id: grammar.y,v 1.9 2002-04-22 19:33:01 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 @@ -47,7 +47,7 @@ int yylex(void); %token KW_USER KW_GROUP %token KW_ANONYMOUS KW_FILTER KW_XTINYPROXY %token KW_TUNNEL KW_UPSTREAM -%token KW_CONNECTPORT +%token KW_CONNECTPORT KW_BIND %token KW_ALLOW KW_DENY /* yes/no switches */ @@ -143,11 +143,20 @@ statement log_message(LOG_WARNING, "Upstream proxy support was not compiled in."); #endif } - | KW_LISTEN NUMERIC_ADDRESS { config.ipAddr = $2; } + | KW_LISTEN NUMERIC_ADDRESS + { + log_message(LOG_INFO, "Establishing listening socket on IP %s", $2); + config.ipAddr = $2; + } | KW_ALLOW network_address { insert_acl($2, ACL_ALLOW); } | KW_DENY network_address { insert_acl($2, ACL_DENY); } | KW_LOGLEVEL loglevels { set_log_level($2); } | KW_CONNECTPORT NUMBER { add_connect_port_allowed($2); } + | KW_BIND NUMERIC_ADDRESS + { + log_message(LOG_INFO, "Binding outgoing connections to %s", $2); + bind_address = $2; + } ; loglevels diff --git a/src/scanner.l b/src/scanner.l index 96e8dee..0b9bf2b 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -1,4 +1,4 @@ -/* $Id: scanner.l,v 1.9 2002-04-12 16:59:37 rjkaes Exp $ +/* $Id: scanner.l,v 1.10 2002-04-22 19:33:01 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 @@ -50,6 +50,7 @@ static struct keyword keywords[] = { { "allow", KW_ALLOW }, { "deny", KW_DENY }, { "connectport", KW_CONNECTPORT }, + { "bind", KW_BIND }, /* loglevel and the settings */ { "loglevel", KW_LOGLEVEL }, -- cgit v1.2.3