summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/interfaces-pppoe.py2
-rwxr-xr-xsrc/conf_mode/ssh.py4
-rwxr-xr-xsrc/op_mode/enter_config_mode.sh18
-rwxr-xr-xsrc/op_mode/lldp_op.py21
4 files changed, 34 insertions, 11 deletions
diff --git a/src/conf_mode/interfaces-pppoe.py b/src/conf_mode/interfaces-pppoe.py
index b9a88a949..928113b49 100755
--- a/src/conf_mode/interfaces-pppoe.py
+++ b/src/conf_mode/interfaces-pppoe.py
@@ -108,7 +108,7 @@ def generate(pppoe):
if tmp and len(tmp) > 0:
# ipv6.tmpl relies on ifname - this should be made consitent in the
# future better then double key-ing the same value
- render(config_wide_dhcp6c, 'dhcp-client/ipv6_new.tmpl', pppoe, trim_blocks=True)
+ render(config_wide_dhcp6c, 'dhcp-client/ipv6.tmpl', pppoe, trim_blocks=True)
return None
diff --git a/src/conf_mode/ssh.py b/src/conf_mode/ssh.py
index ffb0b700d..7b262565a 100755
--- a/src/conf_mode/ssh.py
+++ b/src/conf_mode/ssh.py
@@ -28,7 +28,7 @@ from vyos.xml import defaults
from vyos import airbag
airbag.enable()
-config_file = r'/etc/ssh/sshd_config'
+config_file = r'/run/ssh/sshd_config'
systemd_override = r'/etc/systemd/system/ssh.service.d/override.conf'
def get_config():
@@ -42,6 +42,8 @@ def get_config():
# options which we need to update into the dictionary retrived.
default_values = defaults(base)
ssh = dict_merge(default_values, ssh)
+ # pass config file path - used in override template
+ ssh['config_file'] = config_file
return ssh
diff --git a/src/op_mode/enter_config_mode.sh b/src/op_mode/enter_config_mode.sh
new file mode 100755
index 000000000..082800ce4
--- /dev/null
+++ b/src/op_mode/enter_config_mode.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [ `id -u` == 0 ]; then
+ echo "You are attempting to enter configuration mode as root."
+ echo "It may have unintended consequences and render your system"
+ echo "unusable until restart."
+ echo "Please do it as an administrator level VyOS user instead."
+else
+ if grep -q -e '^overlay.*/filesystem.squashfs' /proc/mounts; then
+ echo "WARNING: You are currently configuring a live-ISO environment, changes will not persist until installed"
+ fi
+ history -w
+ export _OFR_CONFIGURE=ok
+ newgrp vyattacfg
+ unset _OFR_CONFIGURE
+ _vyatta_op_do_key_bindings
+ history -r
+fi
diff --git a/src/op_mode/lldp_op.py b/src/op_mode/lldp_op.py
index 5d48e3210..0df6749aa 100755
--- a/src/op_mode/lldp_op.py
+++ b/src/op_mode/lldp_op.py
@@ -14,19 +14,19 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
import argparse
import jinja2
-from xml.dom import minidom
from sys import exit
from tabulate import tabulate
+from xml.dom import minidom
-from vyos.util import popen
+from vyos.util import cmd
from vyos.config import Config
parser = argparse.ArgumentParser()
parser.add_argument("-a", "--all", action="store_true", help="Show LLDP neighbors on all interfaces")
+parser.add_argument("-d", "--detail", action="store_true", help="Show detailes LLDP neighbor information on all interfaces")
parser.add_argument("-i", "--interface", action="store", help="Show LLDP neighbors on specific interface")
# Please be careful if you edit the template.
@@ -40,10 +40,8 @@ Device ID Local Proto Cap Platform Port ID
{% endfor -%}
"""
-def _get_neighbors():
- command = '/usr/sbin/lldpcli -f xml show neighbors'
- out,_ = popen(command)
- return out
+def get_neighbors():
+ return cmd('/usr/sbin/lldpcli -f xml show neighbors')
def extract_neighbor(neighbor):
"""
@@ -148,12 +146,17 @@ if __name__ == '__main__':
exit(0)
if args.all:
- neighbors = minidom.parseString(_get_neighbors())
+ neighbors = minidom.parseString(get_neighbors())
for neighbor in neighbors.getElementsByTagName('interface'):
tmp['neighbors'].append( extract_neighbor(neighbor) )
+ elif args.detail:
+ out = cmd('/usr/sbin/lldpctl -f plain')
+ print(out)
+ exit(0)
+
elif args.interface:
- neighbors = minidom.parseString(_get_neighbors())
+ neighbors = minidom.parseString(get_neighbors())
for neighbor in neighbors.getElementsByTagName('interface'):
# check if neighbor appeared on proper interface
if neighbor.getAttribute('name') == args.interface: