diff options
author | John Estabrook <jestabro@vyos.io> | 2022-11-20 15:00:22 -0600 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2022-11-20 16:12:14 -0600 |
commit | 97771d427c1660f16122da1260bf28e22e12612d (patch) | |
tree | 823ae5952786e3f5d7bdcd3f84b903b57d612f7d /src | |
parent | 11273157f6511d49c24d14516a44d581e9f3c126 (diff) | |
download | vyos-1x-97771d427c1660f16122da1260bf28e22e12612d.tar.gz vyos-1x-97771d427c1660f16122da1260bf28e22e12612d.zip |
IPsec: T4829: use type hint Optional for arg tunnel in reset_peer
Diffstat (limited to 'src')
-rwxr-xr-x | src/op_mode/ipsec.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/op_mode/ipsec.py b/src/op_mode/ipsec.py index 3389254e3..e0d204a0a 100755 --- a/src/op_mode/ipsec.py +++ b/src/op_mode/ipsec.py @@ -17,6 +17,7 @@ import os import re import sys +import typing from collections import OrderedDict from hurry import filesize @@ -403,23 +404,27 @@ def _get_formatted_output_conections(data): # Connections block end -def get_peer_connections(peer, tunnel, return_all = False): +def get_peer_connections(peer, tunnel): search = rf'^[\s]*({peer}-(tunnel-[\d]+|vti)).*' matches = [] if not os.path.exists(SWANCTL_CONF): raise vyos.opmode.UnconfiguredSubsystem("IPsec not initialized") + suffix = None if tunnel is None else (f'tunnel-{tunnel}' if + tunnel.isnumeric() else tunnel) with open(SWANCTL_CONF, 'r') as f: for line in f.readlines(): result = re.match(search, line) if result: - suffix = f'tunnel-{tunnel}' if tunnel.isnumeric() else tunnel - if return_all or (result[2] == suffix): + if tunnel is None: matches.append(result[1]) + else: + if result[2] == suffix: + matches.append(result[1]) return matches -def reset_peer(peer: str, tunnel:str): - conns = get_peer_connections(peer, tunnel, return_all = (not tunnel or tunnel == 'all')) +def reset_peer(peer: str, tunnel:typing.Optional[str]): + conns = get_peer_connections(peer, tunnel) if not conns: raise vyos.opmode.IncorrectValue('Peer or tunnel(s) not found, aborting') |