]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
wireguard.cgi: Check for duplicate names
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Apr 2024 21:14:53 +0000 (23:14 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Apr 2025 14:48:31 +0000 (16:48 +0200)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
12 files changed:
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.it
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
html/cgi-bin/wireguard.cgi
langs/en/cgi-bin/en.pl

index 6986474c7a6efa2fb253c0bd190d0bbb499071f2..aab299e46a87671be40f548f9a90129248daa23e 100644 (file)
@@ -1042,6 +1042,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: winbind daemon = Winbind Daemon
index 2fa6540977e8e31f58c1e4255bda00518d19f0a4..e02932ddf9e19afff429345dfee24800ea8f2d45 100644 (file)
@@ -2149,6 +2149,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index 586daeaa2df2a1b9018de0a13b70f6da01c8b3f8..27a9e70ffda14b2adb3c314979374faf4b55e0a5 100644 (file)
@@ -1109,6 +1109,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index cb97dff1a38a994c69a5c53105c327b8313e486d..71ce590f6b6ceb8a491d88a349bf83bea488e966 100644 (file)
@@ -1049,6 +1049,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index 553cc5700e638a6d9a5e874f58c99a22cd8343f3..75805257591fa63ee6f4c144b1329599c55ac612 100644 (file)
@@ -1395,6 +1395,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index 9a2243c2113853c951e1ab2373f71fada68f7be9..3db8614722534425a7fe54313b587f3c85ad2bfa 100644 (file)
@@ -1416,6 +1416,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index e840ae388bfa9ca87a8a1e8bae738cb4c70902e0..5674d7be19356423791d8a30d95094c139aded6a 100644 (file)
@@ -1658,6 +1658,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index 4f7d57976d9befd9e92d7d896b8cc335478c1a33..795bfe79f6b85d1bab9dd95e93cf55e51ed86625 100644 (file)
@@ -1651,6 +1651,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index 7a80ce399e646290b16029a01b4f8218c7cf4130..c515f0af3360c3ab3698b41f238abac09f0cc0d4 100644 (file)
@@ -1278,6 +1278,7 @@ WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
 WARNING: untranslated string: wg invalid name = Invalid name (Only letters, numbers, space and hyphen are allowed)
 WARNING: untranslated string: wg invalid public key = Invalid public key
 WARNING: untranslated string: wg invalid remote subnet = Invalid remote subnet
+WARNING: untranslated string: wg name is already used = The name is already in use
 WARNING: untranslated string: wg no local subnets = No local subnets given
 WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
index e39b0af19ae4cbceb89f2df9e95784d27a25ff18..2c4b864aeb0b8418ce81c3a8f75b92c6db684c81 100644 (file)
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < winbind daemon
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < whitelisted
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < whitelisted
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < whitelisted
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < whitelisted
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < whitelisted
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < whitelisted
 < wg invalid name
 < wg invalid public key
 < wg invalid remote subnet
+< wg name is already used
 < wg no local subnets
 < wg no remote subnets
 < whitelisted
index 387e70300f24648e823e977cc227bdda4004fbe7..40ff611d7207d28bca2f82b32bb8e33299c67495 100644 (file)
@@ -126,6 +126,11 @@ if ($cgiparams{"ACTION"} eq $Lang::tr{'save'}) {
                push(@errormessages, $Lang::tr{'wg invalid name'});
        }
 
+       # Check if the name is free
+       unless (&name_is_free($cgiparams{"NAME"}, $key)) {
+               push(@errormessages, $Lang::tr{'wg name is already used'});
+       }
+
        # Check the public key
        unless (&publickey_is_valid($cgiparams{'PUBLIC_KEY'})) {
                push(@errormessages, $Lang::tr{'wg invalid public key'});
@@ -707,6 +712,21 @@ sub name_is_valid($) {
        return 1;
 }
 
+sub name_is_free($) {
+       my $name = shift;
+       my $key  = shift || 0;
+
+       foreach my $i (keys %peers) {
+               # Skip the connection with ID
+               next if ($key eq $i);
+
+               # Return if we found a match
+               return 0 if ($peers{$i}[2] eq $name);
+       }
+
+       return 1;
+}
+
 sub publickey_is_valid($) {
        my $key = shift;
 
index 353b9aaae767eec7fea6715b35923207f50b07c9..7b836f07a858b5d67b7514f810e4840e80ae7a73 100644 (file)
 'wg invalid name' => 'Invalid name (Only letters, numbers, space and hyphen are allowed)',
 'wg invalid public key' => 'Invalid public key',
 'wg invalid remote subnet' => 'Invalid remote subnet',
+'wg name is already used' => 'The name is already in use',
 'wg no local subnets' => 'No local subnets given',
 'wg no remote subnets' => 'No remote subnets given',
 'whitelisted' => 'Whitelisted',