From 13c71785b58fe542ca95eeed11dabf99f1be71fa Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 10 Nov 2012 14:55:41 +0100 Subject: Don't allow global config statements in peer groups --- src/config.y | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/config.y') diff --git a/src/config.y b/src/config.y index 5e3e837..d576b91 100644 --- a/src/config.y +++ b/src/config.y @@ -51,6 +51,7 @@ } %token START_CONFIG +%token START_PEER_GROUP_CONFIG %token START_PEER_CONFIG %token TOK_INTEGER @@ -131,6 +132,7 @@ %% start: START_CONFIG config + | START_PEER_GROUP_CONFIG peer_group_config | START_PEER_CONFIG peer_conf ; @@ -138,7 +140,13 @@ config: config statement | ; -statement: TOK_LOG log ';' +peer_group_config: + peer_group_config peer_group_statement + | + ; + +statement: peer_group_statement + | TOK_LOG log ';' | TOK_INTERFACE interface ';' | TOK_BIND bind ';' | TOK_MTU mtu ';' @@ -151,10 +159,13 @@ statement: TOK_LOG log ';' | TOK_ON TOK_DOWN on_down ';' | TOK_ON TOK_ESTABLISH on_establish ';' | TOK_ON TOK_DISESTABLISH on_disestablish ';' - | TOK_PEER peer '{' peer_conf '}' - | TOK_PEER TOK_GROUP peer_group '{' config '}' peer_group_after - | TOK_PEER TOK_LIMIT peer_limit ';' | TOK_FORWARD forward ';' + ; + +peer_group_statement: + TOK_PEER peer '{' peer_conf '}' + | TOK_PEER TOK_GROUP peer_group '{' peer_group_config '}' peer_group_after + | TOK_PEER TOK_LIMIT peer_limit ';' | TOK_INCLUDE include ';' ; -- cgit v1.2.3