diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-09-24 22:15:22 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-09-24 22:15:22 +0200 |
commit | fc5e0d7ee59c6ca35c7cb53bb6ed9bcbdfb73034 (patch) | |
tree | b6c2a3a124441ab0d3d3a216638c803979cd1505 /src/conf_mode/interface-openvpn.py | |
parent | a7908d8340072d353e3bd75626a209f45e037989 (diff) | |
parent | fe8cd98c92b5f51fecace373ad18f8dfa3727f8b (diff) | |
download | vyos-1x-fc5e0d7ee59c6ca35c7cb53bb6ed9bcbdfb73034.tar.gz vyos-1x-fc5e0d7ee59c6ca35c7cb53bb6ed9bcbdfb73034.zip |
Merge branch 'current' of github.com:vyos/vyos-1x into equuleus
* 'current' of github.com:vyos/vyos-1x: (31 commits)
Jenkins: rely on the global defined label for Docker executors
Python/ifconfig: T1557: add STPIf class (spanning tree) bridge member
Python/ifconfig: T1557: bugfix removing Q-in-Q VLAN interfaces
openvpn: T1548: setup interface alias
Python/ifconfig: T1557: refactor BondIf 'mode' property to set_mode()
Python/ifconfig: T1557: refactor BondIf 'arp_interval' property to set_arp_interval()
Python/ifconfig: T1557: refactor BondIf 'arp_ip_target' property to set_arp_ip_target()/get_arp_ip_target()
Python/ifconfig: T1557: refactor BondIf 'arp_interval' property to set_arp_interval()
Python/ifconfig: T1557: refactor BondIf 'xmit_hash_policy' property to set_hash_policy()
Python/ifconfig: T1557: remove unused has_autoneg() from EthernetIf
Python/ifconfig: T1557: refactor Interface 'state' property to set_state()/get_state()
Python/ifconfig: T1557: refactor Interface 'arp_cache_tmo' property to set_set_arp_cache_tmo()
Python/ifconfig: T1557: refactor Interface 'proxy_arp_pvlan' property to set_proxy_arp_pvlan()
Python/ifconfig: T1557: refactor Interface 'proxy_arp' property to set_proxy_arp()
Python/ifconfig: T1557: loopback: implement derived remove()
Python/ifconfig: T1557: refactor Interface 'ifalias' property to set_alias()
Python/ifconfig: T1557: refactor Interface 'link_detect' property to set_link_detect()
Python/ifconfig: T1557: refactor BridgeIf 'stp_state' property to set_stp()
Python/ifconfig: T1557: refactor BridgeIf 'priority' property to set_priority()
Python/ifconfig: T1557: refactor BridgeIf 'ageing_time' property to set_ageing_time()
...
Diffstat (limited to 'src/conf_mode/interface-openvpn.py')
-rwxr-xr-x | src/conf_mode/interface-openvpn.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/conf_mode/interface-openvpn.py b/src/conf_mode/interface-openvpn.py index 35e7928c2..57d565749 100755 --- a/src/conf_mode/interface-openvpn.py +++ b/src/conf_mode/interface-openvpn.py @@ -13,8 +13,6 @@ # # 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 os import re @@ -31,8 +29,9 @@ from pwd import getpwnam from subprocess import Popen, PIPE from time import sleep -from vyos.config import Config from vyos import ConfigError +from vyos.config import Config +from vyos.ifconfig import Interface from vyos.validate import is_addr_assigned user = 'openvpn' @@ -580,7 +579,7 @@ def get_config(): # Minimum required TLS version if conf.exists('tls tls-version-min'): openvpn['tls_version_min'] = conf.return_value('tls tls-version-min') - + if conf.exists('shared-secret-key-file'): openvpn['shared_secret_file'] = conf.return_value('shared-secret-key-file') @@ -736,7 +735,7 @@ def verify(openvpn): if openvpn['tls_auth']: if not checkCertHeader('-----BEGIN OpenVPN Static key V1-----', openvpn['tls_auth']): raise ConfigError('Specified auth-file "{}" is invalid'.format(openvpn['tls_auth'])) - + if openvpn['tls_cert']: if not checkCertHeader('-----BEGIN CERTIFICATE-----', openvpn['tls_cert']): raise ConfigError('Specified cert-file "{}" is invalid'.format(openvpn['tls_cert'])) @@ -901,6 +900,13 @@ def apply(openvpn): # execute assembled command subprocess_cmd(cmd) + + # better late then sorry ... but we can only set interface alias after + # OpenVPN has been launched and created the interface + while openvpn['intf'] not in interfaces(): + sleep(0.250) # 250ms + Interface(openvpn['intf']).set_alias(openvpn['description']) + return None |