summaryrefslogtreecommitdiff
path: root/src/conf-mode
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2018-04-15 18:54:31 +0200
committerChristian Poessinger <christian@poessinger.com>2018-04-15 18:54:31 +0200
commitded491574ed5d65e34368b979578a1e71f9d89fd (patch)
tree5711b42b6a8ed6529286799a1ed9bf8a0809c51c /src/conf-mode
parentaf31124beacb0c9f4c5798236376b0298a79f1fc (diff)
downloadvyos-1x-ded491574ed5d65e34368b979578a1e71f9d89fd.tar.gz
vyos-1x-ded491574ed5d65e34368b979578a1e71f9d89fd.zip
dns-forwarding.py: be more tolerant on missconfigured DHCP source
If a user configures 'set service dns forwarding dhcp <if>' and <if> is not a DHCP interface, this won't corrupt the recursor.conf. The missconfiguration is simply ignored.
Diffstat (limited to 'src/conf-mode')
-rwxr-xr-xsrc/conf-mode/vyos-config-dns-forwarding.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/conf-mode/vyos-config-dns-forwarding.py b/src/conf-mode/vyos-config-dns-forwarding.py
index 7a8aed75d..537e47d85 100755
--- a/src/conf-mode/vyos-config-dns-forwarding.py
+++ b/src/conf-mode/vyos-config-dns-forwarding.py
@@ -37,8 +37,8 @@ def get_resolvers(file):
if 'nameserver' in line:
resolvers.append(line.split()[1])
return resolvers
- except IOError as error:
- return error.strerror
+ except IOError:
+ return []
def get_config():
dns = {}
@@ -57,11 +57,12 @@ def get_config():
interfaces = conf.return_values('dhcp')
for interface in interfaces:
resolvers = get_resolvers("/etc/resolv.conf.dhclient-new-{0}".format(interface))
- dhcp = {
- "interface": interface,
- "resolvers": resolvers
- }
- dns['dhcp'].append(dhcp)
+ if len(resolvers) > 0:
+ dhcp = {
+ "interface": interface,
+ "resolvers": resolvers
+ }
+ dns['dhcp'].append(dhcp)
if conf.exists('domain'):
dns.setdefault('domain', [])