summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf-mode/vyos-config-bcast-relay.py2
-rwxr-xr-xsrc/conf-mode/vyos-config-dns-forwarding.py18
-rwxr-xr-xsrc/conf-mode/vyos-config-mdns-repeater.py2
-rwxr-xr-xsrc/conf-mode/vyos-config-ntp.py2
-rwxr-xr-xsrc/conf-mode/vyos-config-ssh.py2
-rwxr-xr-xsrc/conf-mode/vyos-update-crontab.py2
-rwxr-xr-xsrc/op-mode/vyos-list-dumpable-interfaces.py14
-rwxr-xr-xsrc/op-mode/vyos-list-interfaces.py8
-rwxr-xr-xsrc/op-mode/vyos-show-version.py2
9 files changed, 37 insertions, 15 deletions
diff --git a/src/conf-mode/vyos-config-bcast-relay.py b/src/conf-mode/vyos-config-bcast-relay.py
index f60664051..785690d9c 100755
--- a/src/conf-mode/vyos-config-bcast-relay.py
+++ b/src/conf-mode/vyos-config-bcast-relay.py
@@ -23,7 +23,7 @@ import time
import subprocess
from vyos.config import Config
-from vyos.util import ConfigError
+from vyos import ConfigError
config_file = r'/etc/default/udp-broadcast-relay'
diff --git a/src/conf-mode/vyos-config-dns-forwarding.py b/src/conf-mode/vyos-config-dns-forwarding.py
index df273b321..be48cde60 100755
--- a/src/conf-mode/vyos-config-dns-forwarding.py
+++ b/src/conf-mode/vyos-config-dns-forwarding.py
@@ -23,7 +23,7 @@ import netifaces
import jinja2
from vyos.config import Config
-from vyos.util import ConfigError
+from vyos import ConfigError
config_file = r'/etc/powerdns/recursor.conf'
@@ -31,7 +31,6 @@ config_file = r'/etc/powerdns/recursor.conf'
# especially in the semicolon-separated lists of name servers.
# Please be careful if you edit the template.
config_tmpl = """
-
### Autogenerated by vyos-config-dns-forwarding.py ###
# Non-configurable defaults
@@ -47,19 +46,20 @@ max-cache-entries={{ cache_size }}
export-etc-hosts={{ export_hosts_file }}
# listen-on
-local-address= {{ listen_on | join(',') }}
+local-address={{ listen_on | join(',') }}
# domain ... server ...
{% if domains -%}
-{% for d in domains -%}
-forward-zones = {{ d.name }} = {{ d.servers | join(";") }}
-{% endfor -%}
+forward-zones={% for d in domains %}
+{{ d.name }}={{ d.servers | join(";") }}
+{%- if loop.first %}, {% endif %}
+{% endfor %}
{% endif %}
# name-server
-forward-zones-recurse=.= {{ name_servers | join(';') }}
+forward-zones-recurse=.={{ name_servers | join(';') }}
"""
@@ -113,7 +113,7 @@ def get_config():
if conf.exists('name-server'):
name_servers = conf.return_values('name-server')
- dns.setdefault('name_servers', name_servers)
+ dns['name_servers'] = dns['name_servers'] + name_servers
if conf.exists('system'):
conf.set_level('system')
@@ -185,7 +185,7 @@ def generate(dns):
if dns is None:
return None
- tmpl = jinja2.Template(config_tmpl)
+ tmpl = jinja2.Template(config_tmpl, trim_blocks=True)
config_text = tmpl.render(dns)
with open(config_file, 'w') as f:
diff --git a/src/conf-mode/vyos-config-mdns-repeater.py b/src/conf-mode/vyos-config-mdns-repeater.py
index 3b8ca26ad..e648fd64f 100755
--- a/src/conf-mode/vyos-config-mdns-repeater.py
+++ b/src/conf-mode/vyos-config-mdns-repeater.py
@@ -22,7 +22,7 @@ import netifaces
import time
from vyos.config import Config
-from vyos.util import ConfigError
+from vyos import ConfigError
config_file = r'/etc/default/mdns-repeater'
diff --git a/src/conf-mode/vyos-config-ntp.py b/src/conf-mode/vyos-config-ntp.py
index 061e8760e..8be12e44e 100755
--- a/src/conf-mode/vyos-config-ntp.py
+++ b/src/conf-mode/vyos-config-ntp.py
@@ -23,7 +23,7 @@ import jinja2
import ipaddress
from vyos.config import Config
-from vyos.util import ConfigError
+from vyos import ConfigError
config_file = r'/etc/ntp.conf'
diff --git a/src/conf-mode/vyos-config-ssh.py b/src/conf-mode/vyos-config-ssh.py
index d09219caa..a7877eaeb 100755
--- a/src/conf-mode/vyos-config-ssh.py
+++ b/src/conf-mode/vyos-config-ssh.py
@@ -22,7 +22,7 @@ import os
import jinja2
from vyos.config import Config
-from vyos.util import ConfigError
+from vyos import ConfigError
config_file = r'/etc/ssh/sshd_config'
diff --git a/src/conf-mode/vyos-update-crontab.py b/src/conf-mode/vyos-update-crontab.py
index 2d15de8ea..c19b88007 100755
--- a/src/conf-mode/vyos-update-crontab.py
+++ b/src/conf-mode/vyos-update-crontab.py
@@ -21,7 +21,7 @@ import re
import sys
from vyos.config import Config
-from vyos.util import ConfigError
+from vyos import ConfigError
crontab_file = "/etc/cron.d/vyos-crontab"
diff --git a/src/op-mode/vyos-list-dumpable-interfaces.py b/src/op-mode/vyos-list-dumpable-interfaces.py
new file mode 100755
index 000000000..53ee89633
--- /dev/null
+++ b/src/op-mode/vyos-list-dumpable-interfaces.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python3
+
+# Extract the list of interfaces available for traffic dumps from tcpdump -D
+
+import re
+import subprocess
+
+if __name__ == '__main__':
+ out = subprocess.check_output(['/usr/sbin/tcpdump', '-D']).decode().strip()
+ out = out.split("\n")
+
+ intfs = " ".join(map(lambda s: re.search(r'\d+\.(\S+)\s', s).group(1), out))
+
+ print(intfs)
diff --git a/src/op-mode/vyos-list-interfaces.py b/src/op-mode/vyos-list-interfaces.py
new file mode 100755
index 000000000..59c9dffad
--- /dev/null
+++ b/src/op-mode/vyos-list-interfaces.py
@@ -0,0 +1,8 @@
+#!/usr/bin/env python3
+
+import netifaces
+
+if __name__ == '__main__':
+ interfaces = netifaces.interfaces()
+
+ print(" ".join(interfaces))
diff --git a/src/op-mode/vyos-show-version.py b/src/op-mode/vyos-show-version.py
index 0990dd648..ce3b3b54f 100755
--- a/src/op-mode/vyos-show-version.py
+++ b/src/op-mode/vyos-show-version.py
@@ -41,7 +41,7 @@ def read_file(name):
try:
with open (name, "r") as f:
data = f.read()
- return data.decode().strip()
+ return data.strip()
except:
# This works since we only read /sys/class/* stuff
# with this function