This is an automated email from the ASF dual-hosted git repository.

membphis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix.git


The following commit(s) were added to refs/heads/master by this push:
     new 7edf9d6  fix: correct the template of dns_resolver_valid (#3638)
7edf9d6 is described below

commit 7edf9d6ed49b35059fb966b54348e14029d0d9ba
Author: 罗泽轩 <spacewander...@gmail.com>
AuthorDate: Tue Feb 23 11:59:33 2021 +0800

    fix: correct the template of dns_resolver_valid (#3638)
---
 .travis/apisix_cli_test/test_dns.sh | 61 +++++++++++++++++++++++++++++++++++++
 apisix/cli/ngx_tpl.lua              |  4 +--
 2 files changed, 63 insertions(+), 2 deletions(-)

diff --git a/.travis/apisix_cli_test/test_dns.sh 
b/.travis/apisix_cli_test/test_dns.sh
new file mode 100755
index 0000000..d1aca15
--- /dev/null
+++ b/.travis/apisix_cli_test/test_dns.sh
@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# 'make init' operates scripts and related configuration files in the current 
directory
+# The 'apisix' command is a command in the /usr/local/apisix,
+# and the configuration file for the operation is in the /usr/local/apisix/conf
+
+. ./.travis/apisix_cli_test/common.sh
+
+# dns_resolver_valid
+echo '
+apisix:
+  dns_resolver:
+    - 127.0.0.1
+    - "[::1]:5353"
+  dns_resolver_valid: 30
+' > conf/config.yaml
+
+make init
+
+if ! grep "resolver 127.0.0.1 \[::1\]:5353 valid=30;" conf/nginx.conf > 
/dev/null; then
+    echo "failed: dns_resolver_valid doesn't take effect"
+    exit 1
+fi
+
+echo '
+apisix:
+  stream_proxy:
+    tcp:
+      - 9100
+  dns_resolver:
+    - 127.0.0.1
+    - "[::1]:5353"
+  dns_resolver_valid: 30
+' > conf/config.yaml
+
+make init
+
+count=$(grep -c "resolver 127.0.0.1 \[::1\]:5353 valid=30;" conf/nginx.conf)
+if [ "$count" -ne 2 ]; then
+    echo "failed: dns_resolver_valid doesn't take effect"
+    exit 1
+fi
+
+echo "pass: dns_resolver_valid takes effect"
diff --git a/apisix/cli/ngx_tpl.lua b/apisix/cli/ngx_tpl.lua
index cf0799f..b331b5f 100644
--- a/apisix/cli/ngx_tpl.lua
+++ b/apisix/cli/ngx_tpl.lua
@@ -65,7 +65,7 @@ stream {
 
     lua_shared_dict lrucache-lock-stream   10m;
 
-    resolver {% for _, dns_addr in ipairs(dns_resolver or {}) do %} 
{*dns_addr*} {% end %} {% if dns_resolver_valid then 
%}valid={*dns_resolver_valid*}{% end %};
+    resolver {% for _, dns_addr in ipairs(dns_resolver or {}) do %} 
{*dns_addr*} {% end %} {% if dns_resolver_valid then %} 
valid={*dns_resolver_valid*}{% end %};
     resolver_timeout {*resolver_timeout*};
 
     # stream configuration snippet starts
@@ -187,7 +187,7 @@ http {
 
     lua_socket_log_errors off;
 
-    resolver {% for _, dns_addr in ipairs(dns_resolver or {}) do %} 
{*dns_addr*} {% end %} {% if dns_resolver_valid then 
%}valid={*dns_resolver_valid*}{% end %};
+    resolver {% for _, dns_addr in ipairs(dns_resolver or {}) do %} 
{*dns_addr*} {% end %} {% if dns_resolver_valid then %} 
valid={*dns_resolver_valid*}{% end %};
     resolver_timeout {*resolver_timeout*};
 
     lua_http10_buffering off;

Reply via email to