diff options
author | aapostoliuk <a.apostoliuk@vyos.io> | 2023-07-31 16:24:54 +0300 |
---|---|---|
committer | aapostoliuk <a.apostoliuk@vyos.io> | 2023-08-02 12:46:50 +0300 |
commit | fee5669514492e9543b34b3e77e08d1552dee386 (patch) | |
tree | 30c111f60d3e98060fcc394867622dcd0d074643 /python/vyos/validate.py | |
parent | 1a44d8607f715934f2c03f28a9bf547321b26ed8 (diff) | |
download | vyos-1x-fee5669514492e9543b34b3e77e08d1552dee386.tar.gz vyos-1x-fee5669514492e9543b34b3e77e08d1552dee386.zip |
wireguard: T5413: Blocked adding the peer with the router's public key
Disabeled adding the peer with the same public key as the router has.
Added smoketest
Diffstat (limited to 'python/vyos/validate.py')
-rw-r--r-- | python/vyos/validate.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/python/vyos/validate.py b/python/vyos/validate.py index 567f4c972..b149b258f 100644 --- a/python/vyos/validate.py +++ b/python/vyos/validate.py @@ -1,4 +1,4 @@ -# Copyright 2018-2021 VyOS maintainers and contributors <maintainers@vyos.io> +# Copyright 2018-2023 VyOS maintainers and contributors <maintainers@vyos.io> # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -302,3 +302,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.utils.process import cmd + gen_public_key = cmd('wg pubkey', input=private_key) + if gen_public_key == public_key: + return True + else: + return False |