From 604c6f95a51c23ab77cc08f8c60c296af64bc7fd Mon Sep 17 00:00:00 2001 From: Russell King Date: Sun, 5 Jun 2016 14:43:34 +0100 Subject: Re-allow wildcarded hosts in connect blocks Wildcarded host blocks allow us to permit a server to connect from unknown IPs, such as is used for ols.ca.linuxnet.org. This feature was broken when upgrading from the hybrid 8.0 to hybrid 8.1 code base. Fix this. --- src/conf_parser.y | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/conf_parser.y') diff --git a/src/conf_parser.y b/src/conf_parser.y index e91f79d..a15eb6a 100644 --- a/src/conf_parser.y +++ b/src/conf_parser.y @@ -2103,8 +2103,7 @@ connect_entry: CONNECT !block_state.cert.buf[0]) break; - if (has_wildcards(block_state.name.buf) || - has_wildcards(block_state.host.buf)) + if (has_wildcards(block_state.name.buf)) break; conf = conf_make(CONF_SERVER); @@ -2128,6 +2127,10 @@ connect_entry: CONNECT dlinkMoveList(&block_state.leaf.list, &conf->leaf_list); dlinkMoveList(&block_state.hub.list, &conf->hub_list); + /* if the host has wildcards, we can't connect */ + if (has_wildcards(block_state.host.buf)) + conf->flags &= ~CONF_FLAGS_ALLOW_AUTO_CONN; + if (block_state.bind.buf[0]) { memset(&hints, 0, sizeof(hints)); -- cgit