From e2fff6bade92757beea90da5cc2d6ccc7dab6840 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Mon, 7 Oct 2019 20:22:47 +0200 Subject: [PATCH] tinc: replace subprocess.call, closes https://github.com/opnsense/core/issues/3574 --- security/tinc/Makefile | 2 +- .../src/opnsense/scripts/OPNsense/Tinc/tincd.py | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/security/tinc/Makefile b/security/tinc/Makefile index 56f55d65a..ce034c019 100644 --- a/security/tinc/Makefile +++ b/security/tinc/Makefile @@ -1,6 +1,6 @@ PLUGIN_NAME= tinc PLUGIN_VERSION= 1.4 -PLUGIN_REVISION= 4 +PLUGIN_REVISION= 5 PLUGIN_COMMENT= Tinc VPN PLUGIN_DEPENDS= tinc PLUGIN_MAINTAINER= ad@opnsense.org diff --git a/security/tinc/src/opnsense/scripts/OPNsense/Tinc/tincd.py b/security/tinc/src/opnsense/scripts/OPNsense/Tinc/tincd.py index 43d1097db..97745fb3b 100755 --- a/security/tinc/src/opnsense/scripts/OPNsense/Tinc/tincd.py +++ b/security/tinc/src/opnsense/scripts/OPNsense/Tinc/tincd.py @@ -59,7 +59,7 @@ def read_config(config_filename): return result def deploy(config_filename): - interfaces = (subprocess.check_output(['/sbin/ifconfig','-l'])).decode().split() + interfaces = subprocess.run(['/sbin/ifconfig','-l'], capture_output=True, text=True).stdout.split() networks = read_config(config_filename) # remove previous configuration os.system('rm -rf /usr/local/etc/tinc') @@ -91,9 +91,10 @@ def deploy(config_filename): # configure and rename new tun device, place all in group "tinc" symlink associated tun device if interface_name not in interfaces: - tundev = subprocess.check_output(['/sbin/ifconfig',interface_type,'create']).decode().split()[0] - subprocess.call(['/sbin/ifconfig',tundev,'name',interface_name]) - subprocess.call(['/sbin/ifconfig',interface_name,'group','tinc']) + tundev = subprocess.run(['/sbin/ifconfig', interface_type, 'create'], + capture_output=True, text=True).stdout.split()[0] + subprocess.run(['/sbin/ifconfig',tundev,'name',interface_name]) + subprocess.run(['/sbin/ifconfig',interface_name,'group','tinc']) if os.path.islink('/dev/%s' % interface_name): os.remove('/dev/%s' % interface_name) os.symlink('/dev/%s' % tundev, '/dev/%s' % interface_name) @@ -102,7 +103,7 @@ def deploy(config_filename): if len(sys.argv) > 1: if sys.argv[1] == 'stop': for instance in glob.glob('/usr/local/etc/tinc/*'): - subprocess.call(['/usr/local/sbin/tincd','-n',instance.split('/')[-1], '-k']) + subprocess.run(['/usr/local/sbin/tincd','-n',instance.split('/')[-1], '-k']) elif sys.argv[1] == 'start': for netwrk in deploy('/usr/local/etc/tinc_deploy.xml'): - subprocess.call(['/usr/local/sbin/tincd','-n',netwrk.get_network(), '-R', '-d', netwrk.get_debuglevel()]) + subprocess.run(['/usr/local/sbin/tincd','-n',netwrk.get_network(), '-R', '-d', netwrk.get_debuglevel()])