diff options
| author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2025-12-15 08:58:03 -0800 |
|---|---|---|
| committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2025-12-15 08:58:03 -0800 |
| commit | a23ca3aeae75ab9b7e90280c222882961a916a70 (patch) | |
| tree | 56587eb163b7cc7d1d0dc58d9230f288e059ecc0 | |
| parent | 33d416b313b0d18f333e1442ce6fece23effab33 (diff) | |
| download | wg-genconf-a23ca3aeae75ab9b7e90280c222882961a916a70.tar.gz wg-genconf-a23ca3aeae75ab9b7e90280c222882961a916a70.tar.xz | |
stricter regex for ipspecs
| -rwxr-xr-x | wg-genconf.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/wg-genconf.py b/wg-genconf.py index f94022d..b56347a 100755 --- a/wg-genconf.py +++ b/wg-genconf.py @@ -120,7 +120,7 @@ def deep_merge(d, src): # by default, this returns network addresses with host bits removed. # passing interface=True will maintain the host bits. def ipspec_to_ips(peer, ipspec, interface=False): - if not (m := re.fullmatch(r'\{peer(.)?(/.*)?\}', ipspec)): + if not (m := re.fullmatch(r'\{peer([46])?(/.+)?\}', ipspec)): return [ipspec] version = m[1] @@ -130,7 +130,7 @@ def ipspec_to_ips(peer, ipspec, interface=False): lambda x: ipaddress.ip_network(x, False)) return [ - str(f(x if subnet == '/-' else f'{x.ip}{subnet if subnet else ''}')) + str(f(x if subnet == '/-' else f'{x.ip}{subnet or ''}')) for x in peer.ip_interfaces(version)] def ipspecs_to_ips(peer, ipspecs, interface=False): |
