summaryrefslogtreecommitdiff
path: root/python/vyos
diff options
context:
space:
mode:
authoraapostoliuk <a.apostoliuk@vyos.io>2023-11-24 16:21:37 +0200
committeraapostoliuk <a.apostoliuk@vyos.io>2023-11-24 16:57:10 +0200
commit2c1c3613567e23e14ce89bbf872e6e9dee16badb (patch)
tree0c24ff28f6bd22507cdce5c5234a68aacb5599a6 /python/vyos
parentd026297e12e097bc1d178e320fa4f1a93ee37926 (diff)
downloadvyos-1x-2c1c3613567e23e14ce89bbf872e6e9dee16badb.tar.gz
vyos-1x-2c1c3613567e23e14ce89bbf872e6e9dee16badb.zip
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
Diffstat (limited to 'python/vyos')
-rw-r--r--python/vyos/validate.py19
1 files changed, 18 insertions, 1 deletions
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 <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
@@ -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