diff options
author | Christian Breunig <christian@breunig.cc> | 2024-01-12 21:53:17 +0100 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-01-12 21:53:17 +0100 |
commit | 516c2c43392907493f4157ea7d6d2149b725688b (patch) | |
tree | 40f2dd0a7fea2ecee8e1685bf471cd8c8b341dec | |
parent | 344ecd468ff935661159849064bd60657235f00f (diff) | |
download | vyos-1x-516c2c43392907493f4157ea7d6d2149b725688b.tar.gz vyos-1x-516c2c43392907493f4157ea7d6d2149b725688b.zip |
wireguard: T5924: harden migration script logic 22-to-23
The original commit 2c1c36135 ("wireguard: T5413: Blocked adding the peer with
the router's public key") did not honor the fact that there might be no
private-key CLI node defined for a WireGuard interface. If this is the case,
private-key defaults to "default". This fact needs to be handled in the
migration script.
-rwxr-xr-x | src/migration-scripts/interfaces/22-to-23 | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/migration-scripts/interfaces/22-to-23 b/src/migration-scripts/interfaces/22-to-23 index c3c4ea366..a66bd303b 100755 --- a/src/migration-scripts/interfaces/22-to-23 +++ b/src/migration-scripts/interfaces/22-to-23 @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2023 VyOS maintainers and contributors +# Copyright (C) 2024 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as @@ -33,9 +33,11 @@ if __name__ == '__main__': if not config.exists(base): # Nothing to do sys.exit(0) + for interface in config.list_nodes(base): - private_key_name = config.return_value( - base + [interface, 'private-key']) + private_key_name = 'default' + if config.exists(base + [interface, 'private-key']): + private_key_name = config.return_value(base + [interface, 'private-key']) private_key_path = f'/config/auth/wireguard/{private_key_name}/private.key' with open(private_key_path, 'r') as file: private_key = file.read().rstrip() |