diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-06-12 22:49:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-12 22:49:09 +0200 |
commit | 5d687daba3a33e7619d4ec8cc08792e6c2bfa0c7 (patch) | |
tree | 61934beb5625aae26bf93df10f0210d7a01398ee /src/etc/dhcp/dhclient-exit-hooks.d/ipsec-dhclient-hook.py | |
parent | 3a9041e2d4d4a48ba7c01439e69c5f86a4a850c2 (diff) | |
parent | 8ea648e482cfcb6e5dda945369ea10bb12dbdff7 (diff) | |
download | vyos-1x-5d687daba3a33e7619d4ec8cc08792e6c2bfa0c7.tar.gz vyos-1x-5d687daba3a33e7619d4ec8cc08792e6c2bfa0c7.zip |
Merge pull request #875 from sarthurdev/dhcp_address_wait
ipsec: T1501: T3617: Add handling for missing addresses on boot when using dhcp-interface
Diffstat (limited to 'src/etc/dhcp/dhclient-exit-hooks.d/ipsec-dhclient-hook.py')
-rw-r--r-- | src/etc/dhcp/dhclient-exit-hooks.d/ipsec-dhclient-hook.py | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/src/etc/dhcp/dhclient-exit-hooks.d/ipsec-dhclient-hook.py b/src/etc/dhcp/dhclient-exit-hooks.d/ipsec-dhclient-hook.py deleted file mode 100644 index 36edf04f3..000000000 --- a/src/etc/dhcp/dhclient-exit-hooks.d/ipsec-dhclient-hook.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys - -from vyos.util import call - -IPSEC_CONF="/etc/ipsec.conf" -IPSEC_SECRETS="/etc/ipsec.secrets" - -def getlines(file): - with open(file, 'r') as f: - return f.readlines() - -def writelines(file, lines): - with open(file, 'w') as f: - f.writelines(lines) - -if __name__ == '__main__': - interface = os.getenv('interface') - new_ip = os.getenv('new_ip_address') - old_ip = os.getenv('old_ip_address') - reason = os.getenv('reason') - - if (old_ip == new_ip and reason != 'BOUND') or reason in ['REBOOT', 'EXPIRE']: - sys.exit(0) - - conf_lines = getlines(IPSEC_CONF) - secrets_lines = getlines(IPSEC_SECRETS) - found = False - to_match = f'# dhcp:{interface}' - - for i, line in enumerate(conf_lines): - if line.find(to_match) > 0: - conf_lines[i] = line.replace(old_ip, new_ip) - found = True - - for i, line in enumerate(secrets_lines): - if line.find(to_match) > 0: - secrets_lines[i] = line.replace(old_ip, new_ip) - - if found: - writelines(IPSEC_CONF, conf_lines) - writelines(IPSEC_SECRETS, secrets_lines) - call('sudo /usr/sbin/ipsec rereadall') - call('sudo /usr/sbin/ipsec reload') |