summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Mangin <thomas.mangin@exa.net.uk>2020-04-05 16:56:41 +0100
committerThomas Mangin <thomas.mangin@exa.net.uk>2020-04-06 20:22:35 +0100
commitc51b8f3e2fe1a8425fba2d3eb9c07049ef9b22bb (patch)
tree48514654e5b44b50002dbc4a0e0b70ce4e00cdd7
parent4b30d3d6545b108c0b043baae2d57a465a8c8999 (diff)
downloadvyos-1x-c51b8f3e2fe1a8425fba2d3eb9c07049ef9b22bb.tar.gz
vyos-1x-c51b8f3e2fe1a8425fba2d3eb9c07049ef9b22bb.zip
util: T2226: rewrite conf accel-ppp commands to use cmd
-rwxr-xr-xsrc/conf_mode/accel_l2tp.py24
-rwxr-xr-xsrc/conf_mode/service-ipoe.py16
-rwxr-xr-xsrc/conf_mode/service-pppoe.py16
-rwxr-xr-xsrc/conf_mode/vpn-pptp.py17
-rwxr-xr-xsrc/conf_mode/vpn_sstp.py51
5 files changed, 43 insertions, 81 deletions
diff --git a/src/conf_mode/accel_l2tp.py b/src/conf_mode/accel_l2tp.py
index 77e1ee874..4ca5a858a 100755
--- a/src/conf_mode/accel_l2tp.py
+++ b/src/conf_mode/accel_l2tp.py
@@ -17,7 +17,7 @@
import sys
import os
import re
-import subprocess
+import jinja2
import socket
import time
@@ -26,6 +26,8 @@ from jinja2 import FileSystemLoader, Environment
from vyos.config import Config
from vyos.defaults import directories as vyos_data_dir
from vyos import ConfigError
+from vyos.util import run
+
pidfile = r'/var/run/accel_l2tp.pid'
l2tp_cnf_dir = r'/etc/accel-ppp/l2tp'
@@ -61,17 +63,10 @@ def chk_con():
break
-def accel_cmd(cmd=''):
- if not cmd:
- return None
- try:
- ret = subprocess.check_output(
- ['/usr/bin/accel-cmd', '-p', '2004', cmd]).decode().strip()
- return ret
- except:
- return 1
+def _accel_cmd(command):
+ return run(f'/usr/bin/accel-cmd -p 2004 {command}')
-###
+###
# inline helper functions end
###
@@ -375,21 +370,20 @@ def generate(c):
def apply(c):
if c == None:
if os.path.exists(pidfile):
- accel_cmd('shutdown hard')
+ _accel_cmd('shutdown hard')
if os.path.exists(pidfile):
os.remove(pidfile)
return None
if not os.path.exists(pidfile):
- ret = subprocess.call(
- ['/usr/sbin/accel-pppd', '-c', l2tp_conf, '-p', pidfile, '-d'])
+ ret = run(f'/usr/sbin/accel-pppd -c {l2tp_conf} -p {pidfile} -d')
chk_con()
if ret != 0 and os.path.exists(pidfile):
os.remove(pidfile)
raise ConfigError('accel-pppd failed to start')
else:
# if gw ip changes, only restart doesn't work
- accel_cmd('restart')
+ _accel_cmd('restart')
if __name__ == '__main__':
diff --git a/src/conf_mode/service-ipoe.py b/src/conf_mode/service-ipoe.py
index dd9616a62..5bd4aea2e 100755
--- a/src/conf_mode/service-ipoe.py
+++ b/src/conf_mode/service-ipoe.py
@@ -16,7 +16,6 @@
import os
import re
-import subprocess
from jinja2 import FileSystemLoader, Environment
from socket import socket, AF_INET, SOCK_STREAM
@@ -26,6 +25,7 @@ from time import sleep
from vyos.config import Config
from vyos.defaults import directories as vyos_data_dir
from vyos import ConfigError
+from vyos.util import run
ipoe_cnf_dir = r'/etc/accel-ppp/ipoe'
ipoe_cnf = ipoe_cnf_dir + r'/ipoe.config'
@@ -64,15 +64,8 @@ def _chk_con():
break
-def _accel_cmd(cmd=''):
- if not cmd:
- return None
- try:
- ret = subprocess.check_output(
- ['/usr/bin/accel-cmd', '-p', cmd_port, cmd]).decode().strip()
- return ret
- except:
- return 1
+def _accel_cmd(command):
+ return run('/usr/bin/accel-cmd -p {cmd_port} {command}')
##### Inline functions end ####
@@ -306,8 +299,7 @@ def apply(c):
return None
if not os.path.exists(pidfile):
- ret = subprocess.call(
- ['/usr/sbin/accel-pppd', '-c', ipoe_cnf, '-p', pidfile, '-d'])
+ ret = run(f'/usr/sbin/accel-pppd -c {ipoe_cnf} -p {pidfile} -d')
_chk_con()
if ret != 0 and os.path.exists(pidfile):
os.remove(pidfile)
diff --git a/src/conf_mode/service-pppoe.py b/src/conf_mode/service-pppoe.py
index afcc5ba99..d3fc82406 100755
--- a/src/conf_mode/service-pppoe.py
+++ b/src/conf_mode/service-pppoe.py
@@ -16,7 +16,6 @@
import os
import re
-import subprocess
from jinja2 import FileSystemLoader, Environment
from socket import socket, AF_INET, SOCK_STREAM
@@ -26,6 +25,7 @@ from time import sleep
from vyos.config import Config
from vyos.defaults import directories as vyos_data_dir
from vyos import ConfigError
+from vyos.util import run
pidfile = r'/var/run/accel_pppoe.pid'
pppoe_cnf_dir = r'/etc/accel-ppp/pppoe'
@@ -57,15 +57,8 @@ def _chk_con():
raise("failed to start pppoe server")
-def _accel_cmd(cmd=''):
- if not cmd:
- return None
- try:
- ret = subprocess.check_output(
- ['/usr/bin/accel-cmd', cmd]).decode().strip()
- return ret
- except:
- return 1
+def _accel_cmd(command):
+ return run(f'/usr/bin/accel-cmd {command}')
def get_config():
@@ -426,8 +419,7 @@ def apply(c):
return None
if not os.path.exists(pidfile):
- ret = subprocess.call(
- ['/usr/sbin/accel-pppd', '-c', pppoe_conf, '-p', pidfile, '-d'])
+ ret = run(f'/usr/sbin/accel-pppd -c {pppoe_conf} -p {pidfile} -d')
_chk_con()
if ret != 0 and os.path.exists(pidfile):
os.remove(pidfile)
diff --git a/src/conf_mode/vpn-pptp.py b/src/conf_mode/vpn-pptp.py
index b1204a505..45b2c4b40 100755
--- a/src/conf_mode/vpn-pptp.py
+++ b/src/conf_mode/vpn-pptp.py
@@ -16,7 +16,6 @@
import os
import re
-import subprocess
from jinja2 import FileSystemLoader, Environment
from socket import socket, AF_INET, SOCK_STREAM
@@ -26,6 +25,7 @@ from time import sleep
from vyos.config import Config
from vyos.defaults import directories as vyos_data_dir
from vyos import ConfigError
+from vyos.util import run
pidfile = r'/var/run/accel_pptp.pid'
pptp_cnf_dir = r'/etc/accel-ppp/pptp'
@@ -50,17 +50,9 @@ def _chk_con():
raise("failed to start pptp server")
break
-# chap_secrets file if auth mode local
-def _accel_cmd(cmd=''):
- if not cmd:
- return None
- try:
- ret = subprocess.check_output(
- ['/usr/bin/accel-cmd', '-p', '2003', cmd]).decode().strip()
- return ret
- except:
- return 1
+def _accel_cmd(command):
+ return run('/usr/bin/accel-cmd -p 2003 {command}')
###
# inline helper functions end
@@ -256,8 +248,7 @@ def apply(c):
return None
if not os.path.exists(pidfile):
- ret = subprocess.call(
- ['/usr/sbin/accel-pppd', '-c', pptp_conf, '-p', pidfile, '-d'])
+ ret = run(f'/usr/sbin/accel-pppd -c {pptp_conf} -p {pidfile} -d')
_chk_con()
if ret != 0 and os.path.exists(pidfile):
os.remove(pidfile)
diff --git a/src/conf_mode/vpn_sstp.py b/src/conf_mode/vpn_sstp.py
index 66b1822df..d4fd0f4a3 100755
--- a/src/conf_mode/vpn_sstp.py
+++ b/src/conf_mode/vpn_sstp.py
@@ -18,16 +18,16 @@ import os
from time import sleep
from sys import exit
-from subprocess import check_output
from socket import socket, AF_INET, SOCK_STREAM
from copy import deepcopy
from stat import S_IRUSR, S_IWUSR, S_IRGRP
from jinja2 import FileSystemLoader, Environment
from vyos.config import Config
+from vyos import ConfigError
from vyos.defaults import directories as vyos_data_dir
from vyos.util import process_running, subprocess_cmd
-from vyos import ConfigError
+from vyos.util import process_running, cmd, run
pidfile = r'/var/run/accel_sstp.pid'
sstp_cnf_dir = r'/etc/accel-ppp/sstp'
@@ -53,16 +53,9 @@ def chk_con():
raise("failed to start sstp server")
break
-def accel_cmd(cmd):
- if not cmd:
- return None
-
- try:
- ret = check_output(['/usr/bin/accel-cmd', '-p', '2005', cmd])
- return ret.decode().strip()
- except:
- return 1
+def _accel_cmd(command):
+ return run(f'/usr/bin/accel-cmd -p 2005 {command}')
default_config_data = {
'local_users' : [],
@@ -363,12 +356,12 @@ def generate(sstp):
def apply(sstp):
if sstp is None:
if process_running(pidfile):
- cmd = 'start-stop-daemon'
- cmd += ' --stop '
- cmd += ' --quiet'
- cmd += ' --oknodo'
- cmd += ' --pidfile ' + pidfile
- subprocess_cmd(cmd)
+ command = 'start-stop-daemon'
+ command += ' --stop '
+ command += ' --quiet'
+ command += ' --oknodo'
+ command += ' --pidfile ' + pidfile
+ cmd(command)
if os.path.exists(pidfile):
os.remove(pidfile)
@@ -379,23 +372,23 @@ def apply(sstp):
if os.path.exists(pidfile):
os.remove(pidfile)
- cmd = 'start-stop-daemon'
- cmd += ' --start '
- cmd += ' --quiet'
- cmd += ' --oknodo'
- cmd += ' --pidfile ' + pidfile
- cmd += ' --exec /usr/sbin/accel-pppd'
+ command = 'start-stop-daemon'
+ command += ' --start '
+ command += ' --quiet'
+ command += ' --oknodo'
+ command += ' --pidfile ' + pidfile
+ command += ' --exec /usr/sbin/accel-pppd'
# now pass arguments to accel-pppd binary
- cmd += ' --'
- cmd += ' -c ' + sstp_conf
- cmd += ' -p ' + pidfile
- cmd += ' -d'
- subprocess_cmd(cmd)
+ command += ' --'
+ command += ' -c ' + sstp_conf
+ command += ' -p ' + pidfile
+ command += ' -d'
+ cmd(command)
chk_con()
else:
- accel_cmd('restart')
+ _accel_cmd('restart')
if __name__ == '__main__':