]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
wireguard.cgi: Implement launching the editor for editing a connection
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Apr 2024 21:03:48 +0000 (23:03 +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 6c71ea8d0f24f2d18a93755c51d32ea385f88bf9..6986474c7a6efa2fb253c0bd190d0bbb499071f2 100644 (file)
@@ -1021,6 +1021,7 @@ WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampli
 WARNING: untranslated string: regenerate host certificate = Renew Host Certificate
 WARNING: untranslated string: reiserfs warning1 = Reiserfs is deprecated and scheduled to be removed from the kernel in 2025.
 WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is made using either ext4 or xfs filesystems before that date.
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: route config changed = unknown string
@@ -1034,6 +1035,7 @@ WARNING: untranslated string: smb daemon = SMB Daemon
 WARNING: untranslated string: subscription code = Subscription code
 WARNING: untranslated string: user management = User Management
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index 3fdabcea91bbbf6475b5b87596e1fdb7bf7338ee..2fa6540977e8e31f58c1e4255bda00518d19f0a4 100644 (file)
@@ -1567,6 +1567,7 @@ WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is
 WARNING: untranslated string: release = Release
 WARNING: untranslated string: remark = Remark
 WARNING: untranslated string: remark title = Remark:
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote access = Remote access
 WARNING: untranslated string: remote announce = Remote Announce
 WARNING: untranslated string: remote browse sync = Remote Browse Sync
@@ -2141,6 +2142,7 @@ WARNING: untranslated string: website = Website
 WARNING: untranslated string: wednesday = Wednesday
 WARNING: untranslated string: weeks = Weeks
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index 3cf6bb6b954c3767cbdbf18731c710419fcff146..586daeaa2df2a1b9018de0a13b70f6da01c8b3f8 100644 (file)
@@ -1086,6 +1086,7 @@ WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampli
 WARNING: untranslated string: regenerate host certificate = Renew Host Certificate
 WARNING: untranslated string: reiserfs warning1 = Reiserfs is deprecated and scheduled to be removed from the kernel in 2025.
 WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is made using either ext4 or xfs filesystems before that date.
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: route config changed = unknown string
 WARNING: untranslated string: routing = Routing
@@ -1101,6 +1102,7 @@ WARNING: untranslated string: total = Total
 WARNING: untranslated string: transport mode does not support vti = VTI is not support in transport mode
 WARNING: untranslated string: warning = Warning
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index 1b1f85ea07460c647beae80f99c44fc9ca4153c1..cb97dff1a38a994c69a5c53105c327b8313e486d 100644 (file)
@@ -1031,6 +1031,7 @@ WARNING: untranslated string: password has quotation mark = Password contains an
 WARNING: untranslated string: processors = Processors
 WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS)
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
@@ -1041,6 +1042,7 @@ WARNING: untranslated string: timeformat = %Y-%m-%d at %H:%M:%S %Z
 WARNING: untranslated string: total = Total
 WARNING: untranslated string: warning = Warning
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index 0d955ec18f7283441eb91d678941034ca1d52c60..553cc5700e638a6d9a5e874f58c99a22cd8343f3 100644 (file)
@@ -1301,6 +1301,7 @@ WARNING: untranslated string: regenerate host certificate = Renew Host Certifica
 WARNING: untranslated string: reiserfs warning1 = Reiserfs is deprecated and scheduled to be removed from the kernel in 2025.
 WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is made using either ext4 or xfs filesystems before that date.
 WARNING: untranslated string: release = Release
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
@@ -1387,6 +1388,7 @@ WARNING: untranslated string: vulnerability = Vulnerability
 WARNING: untranslated string: vulnerable = Vulnerable
 WARNING: untranslated string: warning = Warning
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index a3a4bd3aaf344d6627235f8b5dabbac5943e0312..9a2243c2113853c951e1ab2373f71fada68f7be9 100644 (file)
@@ -1322,6 +1322,7 @@ WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampli
 WARNING: untranslated string: regenerate host certificate = Renew Host Certificate
 WARNING: untranslated string: reiserfs warning1 = Reiserfs is deprecated and scheduled to be removed from the kernel in 2025.
 WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is made using either ext4 or xfs filesystems before that date.
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
@@ -1408,6 +1409,7 @@ WARNING: untranslated string: vulnerability = Vulnerability
 WARNING: untranslated string: vulnerable = Vulnerable
 WARNING: untranslated string: warning = Warning
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index 5c2bdbbdfe219e581c90058ab910ac8a08379555..e840ae388bfa9ca87a8a1e8bae738cb4c70902e0 100644 (file)
@@ -1502,6 +1502,7 @@ WARNING: untranslated string: regenerate host certificate = Renew Host Certifica
 WARNING: untranslated string: reiserfs warning1 = Reiserfs is deprecated and scheduled to be removed from the kernel in 2025.
 WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is made using either ext4 or xfs filesystems before that date.
 WARNING: untranslated string: release = Release
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
@@ -1650,6 +1651,7 @@ WARNING: untranslated string: vulnerability = Vulnerability
 WARNING: untranslated string: vulnerable = Vulnerable
 WARNING: untranslated string: warning = Warning
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index 96a6a5f8938e02ca6dafaf9def9cb424bfb0deb2..4f7d57976d9befd9e92d7d896b8cc335478c1a33 100644 (file)
@@ -1495,6 +1495,7 @@ WARNING: untranslated string: regenerate host certificate = Renew Host Certifica
 WARNING: untranslated string: reiserfs warning1 = Reiserfs is deprecated and scheduled to be removed from the kernel in 2025.
 WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is made using either ext4 or xfs filesystems before that date.
 WARNING: untranslated string: release = Release
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
@@ -1643,6 +1644,7 @@ WARNING: untranslated string: vulnerability = Vulnerability
 WARNING: untranslated string: vulnerable = Vulnerable
 WARNING: untranslated string: warning = Warning
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index 78986e2967e79bf62e0e506d22ba390c181969bd..7a80ce399e646290b16029a01b4f8218c7cf4130 100644 (file)
@@ -1210,6 +1210,7 @@ WARNING: untranslated string: regenerate host certificate = Renew Host Certifica
 WARNING: untranslated string: reiserfs warning1 = Reiserfs is deprecated and scheduled to be removed from the kernel in 2025.
 WARNING: untranslated string: reiserfs warning2 = Ensure a fresh installation is made using either ext4 or xfs filesystems before that date.
 WARNING: untranslated string: release = Release
+WARNING: untranslated string: remarks = unknown string
 WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: retbleed = Retbleed
@@ -1270,6 +1271,7 @@ WARNING: untranslated string: vulnerability = Vulnerability
 WARNING: untranslated string: vulnerable = Vulnerable
 WARNING: untranslated string: warning = Warning
 WARNING: untranslated string: wg create peer = Create A New Peer
+WARNING: untranslated string: wg edit peer = Edit Peer
 WARNING: untranslated string: wg invalid endpoint address = Invalid endpoint address
 WARNING: untranslated string: wg invalid endpoint port = Invalid endpoint port
 WARNING: untranslated string: wg invalid local subnet = Invalid local subnet
index da9f3d3e8f68d20c79954a24216861f75b06e31c..e39b0af19ae4cbceb89f2df9e95784d27a25ff18 100644 (file)
 < vpn configuration main
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
 < warning
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
 < warning
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
 < Weekly
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
 < Weekly
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
 < Weekly
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
 < Weekly
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
 < Weekly
 < wg
 < wg create peer
+< wg edit peer
 < wg invalid endpoint address
 < wg invalid endpoint port
 < wg invalid local subnet
index d81cbea8bdd7943c75b6e1e3d8d3dfc6248a0a75..312d21bf023dba6bdd7d78385f77737749ddb35a 100644 (file)
@@ -83,10 +83,44 @@ if ($cgiparams{"ACTION"} eq $Lang::tr{'save'}) {
                &General::system("/usr/local/bin/wireguardctrl", "stop");
        }
 
+# Edit an existing peer
+} elsif ($cgiparams{"ACTION"} eq $Lang::tr{'edit'}) {
+       my $key = $cgiparams{'KEY'};
+
+       # Fail if the peer does not exist
+       unless (exists $peers{$key}) {
+               goto MAIN;
+       }
+
+       # Fetch type
+       my $type = $peers{$key}[1];
+
+       # Flush CGI parameters & load configuration
+       %cgiparams = (
+               "KEY"                           => $key,
+               "ENABLED"                       => $peers{$key}[0],
+               "TYPE"                          => $peers{$key}[1],
+               "NAME"                          => $peers{$key}[2],
+               "PUBLIC_KEY"            => $peers{$key}[3],
+               "ENDPOINT_ADDRESS"      => $peers{$key}[4],
+               "ENDPOINT_PORT"         => $peers{$key}[5],
+               "REMOTE_SUBNETS"        => $peers{$key}[6],
+               "REMARKS"                       => &MIME::Base64::decode_base64($peers{$key}[7]),
+               "LOCAL_SUBNETS"         => $peers{$key}[8],
+       );
+
+       # Jump to the editor
+       if ($type eq "net") {
+               goto EDITOR;
+       }
+
 } elsif ($cgiparams{"ACTION"} eq "SAVE-PEER-NET") {
        my @local_subnets = ();
        my @remote_subnets = ();
 
+       # Fetch or allocate a new key
+       my $key = $cgiparams{'KEY'} || &General::findhasharraykey(\%peers);
+
        # Check if the name is valid
        unless (&name_is_valid($cgiparams{"NAME"})) {
                push(@errormessages, $Lang::tr{'wg invalid name'});
@@ -137,11 +171,6 @@ if ($cgiparams{"ACTION"} eq $Lang::tr{'save'}) {
        goto EDITOR if (scalar @errormessages);
 
        # Save the connection
-
-       # Allocate a new key
-       my $key = &General::findhasharraykey(\%peers);
-
-       # Store all values
        $peers{$key} = [
                # 0 = Enabled
                "on",
@@ -447,20 +476,27 @@ EDITOR:
        # Show any error messages
        &Header::errorbox(@errormessages);
 
+       # Fetch the key
+       my $key = $cgiparams{'KEY'};
+
        # Open a new box
-       &Header::openbox('100%', '', $Lang::tr{'wg create peer'});
+       &Header::openbox('100%', '',
+               (defined $key) ? $Lang::tr{'wg edit peer'} : $Lang::tr{'wg create peer'});
 
        # Set defaults
-       &General::set_defaults(\%cgiparams, {
-               "ENDPOINT_PORT" => $DEFAULT_PORT,
-               "LOCAL_SUBNETS" =>
-                       $Network::ethernet{"GREEN_NETADDRESS"}
-                       . "/" . $Network::ethernet{"GREEN_NETMASK"},
-       });
+       unless (defined $key) {
+               &General::set_defaults(\%cgiparams, {
+                       "ENDPOINT_PORT" => $DEFAULT_PORT,
+                       "LOCAL_SUBNETS" =>
+                               $Network::ethernet{"GREEN_NETADDRESS"}
+                               . "/" . $Network::ethernet{"GREEN_NETMASK"},
+               });
+       }
 
        print <<END;
                <form method="POST" ENCTYPE="multipart/form-data">
                        <input type="hidden" name="ACTION" value="SAVE-PEER-NET">
+                       <input type="hidden" name="KEY" value="$cgiparams{'KEY'}">
 
                        <table class="form">
                                <tr>
index 72f8da3ad30a56ae8467a1523add181de386e764..353b9aaae767eec7fea6715b35923207f50b07c9 100644 (file)
 'weeks' => 'Weeks',
 'wg' => 'WireGuard',
 'wg create peer' => 'Create A New Peer',
+'wg edit peer' => 'Edit Peer',
 'wg invalid endpoint address' => 'Invalid endpoint address',
 'wg invalid endpoint port' => 'Invalid endpoint port',
 'wg invalid local subnet' => 'Invalid local subnet',