From 962f880554e70afc94f8902bb3742a8c0ef44fca Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Sat, 12 Jan 2019 10:49:42 +0100
Subject: T1041: make upstream DNS server optional

The name-server option under "service dns-forwarding" was never mandatory so
users never needed to specify an upstream server. With the recent switch to
PowerDNS recursor in VyOS 1.2.0 we will act as a full DNS recursor when
there is no upstream DNS server configured.

(cherry picked from commit 3c563b3ae8397da33a03c0429c17b97eb9625c5f)
---
 interface-definitions/dns-forwarding.xml | 2 +-
 src/conf_mode/dns_forwarding.py          | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/interface-definitions/dns-forwarding.xml b/interface-definitions/dns-forwarding.xml
index 88af5f4f9..b989434f2 100644
--- a/interface-definitions/dns-forwarding.xml
+++ b/interface-definitions/dns-forwarding.xml
@@ -135,7 +135,7 @@
               </leafNode>
               <leafNode name="name-server">
                 <properties>
-                  <help>Domain Name Servers (DNS) addresses</help>
+                  <help>Domain Name Servers (DNS) addresses [OPTIONAL]</help>
                   <valueHelp>
                     <format>ipv4</format>
                     <description>Domain Name Server (DNS) IPv4 address</description>
diff --git a/src/conf_mode/dns_forwarding.py b/src/conf_mode/dns_forwarding.py
index c21a91a30..135f6fec0 100755
--- a/src/conf_mode/dns_forwarding.py
+++ b/src/conf_mode/dns_forwarding.py
@@ -67,8 +67,12 @@ forward-zones={% for d in domains %}
 # dnssec
 dnssec={{ dnssec }}
 
+{% if name_servers -%}
 # name-server
 forward-zones-recurse=.={{ name_servers | join(';') }}
+{% else %}
+# no name-servers specified - start full recursor
+{% endif %}
 
 """
 
-- 
cgit v1.2.3