From 2c1c3613567e23e14ce89bbf872e6e9dee16badb Mon Sep 17 00:00:00 2001 From: aapostoliuk Date: Fri, 24 Nov 2023 16:21:37 +0200 Subject: wireguard: T5413: Blocked adding the peer with the router's public key Disabled adding the peer with the same public key as the router has. Backport from current https://github.com/vyos/vyos-1x/pull/2122 --- python/vyos/validate.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'python') diff --git a/python/vyos/validate.py b/python/vyos/validate.py index 83862b722..a28cbc3d4 100644 --- a/python/vyos/validate.py +++ b/python/vyos/validate.py @@ -1,4 +1,4 @@ -# Copyright 2018-2021 VyOS maintainers and contributors +# Copyright 2018-2023 VyOS maintainers and contributors # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -297,3 +297,20 @@ def has_vrf_configured(conf, intf): conf.set_level(old_level) return ret + +def is_wireguard_key_pair(private_key: str, public_key:str) -> bool: + """ + Checks if public/private keys are keypair + :param private_key: Wireguard private key + :type private_key: str + :param public_key: Wireguard public key + :type public_key: str + :return: If public/private keys are keypair returns True else False + :rtype: bool + """ + from vyos.util import cmd + gen_public_key = cmd('wg pubkey', input=private_key) + if gen_public_key == public_key: + return True + else: + return False \ No newline at end of file -- cgit v1.2.3