From: Michael Tremer Date: Sun, 29 Sep 2024 12:17:10 +0000 (+0200) Subject: wireguard.cgi: Implement a way to import a connection X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09901bae0a8cffdd9f8d77eaac6a1c114723e32b;p=people%2Fstevee%2Fipfire-2.x.git wireguard.cgi: Implement a way to import a connection Signed-off-by: Michael Tremer --- diff --git a/config/cfgroot/wireguard-functions.pl b/config/cfgroot/wireguard-functions.pl index 8cc0861ed..fe3abb719 100644 --- a/config/cfgroot/wireguard-functions.pl +++ b/config/cfgroot/wireguard-functions.pl @@ -359,4 +359,128 @@ sub generate_peer_configuration($) { return join("\n", @conf); } +sub parse_configuration($) { + my $fh = shift; + + my %peer = (); + + # Collect any errors + my @errormessages = (); + + my $section = undef; + my $key = undef; + my $val = undef; + + while (<$fh>) { + # Remove line breaks + chomp; + + # Search for section headers + if ($_ =~ m/^\[(\w+)\]$/) { + $section = $1; + next; + + # Search for key = value lines + } elsif ($_ =~ m/^(\w+)\s+=\s+(.*)$/) { + # Skip anything before the first section header + next unless (defined $section); + + # Store keys and values + $key = $1; + $val = $2; + + # Skip any unhandled lines + } else { + next; + } + + # Interface section + if ($section eq "Interface") { + # Address + if ($key eq "Address") { + if (&Network::check_ip_address($val)) { + $peer{'CLIENT_ADDRESS'} = $val; + } else { + push(@errormessages, $Lang::tr{'invalid ip address'}); + } + + # PrivateKey + } elsif ($key eq "PrivateKey") { + if (&key_is_valid($val)) { + $peer{'PRIVATE_KEY'} = $val; + } else { + push(@errormessages, $Lang::tr{'malformed private key'}); + } + } + + # Peer section + } elsif ($section eq "Peer") { + # PublicKey + if ($key eq "PublicKey") { + if (&key_is_valid($val)) { + $peer{'PUBLIC_KEY'} = $val; + } else { + push(@errormessages, $Lang::tr{'malformed public key'}); + } + + # PresharedKey + } elsif ($key eq "PresharedKey") { + if (&key_is_valid($val)) { + $peer{'PSK'} = $val; + } else { + push(@errormessages, $Lang::tr{'malformed preshared key'}); + } + + # AllowedIPs + } elsif ($key eq "AllowedIPs") { + my @networks = split(/,/, $val); + + # Check if all networks are valid + foreach my $network (@networks) { + unless (&Network::check_subnet($network)) { + push(@errormessages, $Lang::tr{'invalid network'} . " $network"); + } + } + + $peer{'REMOTE_SUBNETS'} = join(/, /, @networks); + # Endpoint + } elsif ($key eq "Endpoint") { + my $address = $val; + my $port = $DEFAULT_PORT; + + # Try to separate the port (if any) + if ($val =~ m/^(.*):(\d+)$/) { + $address = $1; + $port = $2; + } + + # Check if we have a valid IP address + if (&Network::check_ip_address($address)) { + # nothing + + # Otherwise this fails + } else { + push(@errormessages, $Lang::tr{'invalid endpoint address'}); + next; + } + + # Store the values + $peer{'ENDPOINT_ADDRESS'} = $address; + $peer{'ENDPOINT_PORT'} = $port; + + # PersistentKeepalive + } elsif ($key eq "PersistentKeepalive") { + # Must be an integer + if ($val =~ m/^(\d+)$/) { + $peer{'KEEPALIVE'} = $1; + } else { + push(@errormessages, $Lang::tr{'invalid keepalive interval'}); + } + } + } + } + + return %peer, @errormessages; +} + 1; diff --git a/doc/language_issues.en b/doc/language_issues.en index 8268b9e8a..efad13f10 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -1076,6 +1076,7 @@ WARNING: untranslated string: iface = Iface WARNING: untranslated string: ignore filter = Ignore filter WARNING: untranslated string: ike lifetime should be between 1 and 24 hours = IKE lifetime should be between 1 and 24 hours. WARNING: untranslated string: imei = IMEI +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: imsi = IMSI WARNING: untranslated string: include logfiles = Include logfiles WARNING: untranslated string: incoming compression in bytes per second = Incoming Compression @@ -1100,6 +1101,7 @@ WARNING: untranslated string: invalid default lease time = Invalid default lease WARNING: untranslated string: invalid domain name = Invalid domain name. WARNING: untranslated string: invalid end address = Invalid end address. WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address WARNING: untranslated string: invalid fixed ip address = Invalid fixed IP address WARNING: untranslated string: invalid fixed mac address = Invalid fixed MAC address WARNING: untranslated string: invalid hostname = Invalid hostname. @@ -1134,8 +1136,10 @@ WARNING: untranslated string: invalid input for state or province = Invalid inpu WARNING: untranslated string: invalid input for subscription code = Invalid input for subscription code WARNING: untranslated string: invalid input for valid till days = Invalid input for Valid till (days). WARNING: untranslated string: invalid ip = Invalid IP Address +WARNING: untranslated string: invalid ip address = Invalid IP Address WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname WARNING: untranslated string: invalid keep time = Keep time must be a valid number +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval WARNING: untranslated string: invalid key = Invalid key. WARNING: untranslated string: invalid local-remote id = local & remote id must not be equal and begin with a "@" sign. These are leftid and rightid in strongswan terminology. WARNING: untranslated string: invalid logserver address = Invalid syslogd server address @@ -1148,6 +1152,7 @@ WARNING: untranslated string: invalid maximum outgoing size = Invalid maximum ou WARNING: untranslated string: invalid minimum object size = Invalid minimum object size. WARNING: untranslated string: invalid mtu input = Invalid MTU WARNING: untranslated string: invalid netmask = Invalid netmask +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: invalid port = Invalid port. Must be a valid port number. WARNING: untranslated string: invalid primary dns = Invalid primary DNS. WARNING: untranslated string: invalid primary ntp = Invalid Primary NTP server address @@ -1268,6 +1273,9 @@ WARNING: untranslated string: mac1 new = new MAC address 1 (vdsl-inet): WARNING: untranslated string: mac2 new = new MAC address 2 (vdsl-iptv): WARNING: untranslated string: magic packet send to: = Magic packet send to: WARNING: untranslated string: main page = Main page +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: manage shares = Manage Shares WARNING: untranslated string: manually = Manually WARNING: untranslated string: map to guest = Map to Guest diff --git a/doc/language_issues.es b/doc/language_issues.es index 23da45c89..de41b16ac 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -1066,15 +1066,23 @@ WARNING: untranslated string: hostile networks out = To Hostile Networks WARNING: untranslated string: hostile networks total = Total Hostile Networks WARNING: untranslated string: ids provider eol = (EOL) WARNING: untranslated string: ids rulesets = Rulesets +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: info messages = unknown string WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address +WARNING: untranslated string: invalid ip address = Invalid IP Address WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: last updated = Last Updated WARNING: untranslated string: load average = Load Average WARNING: untranslated string: local subnets = Local Subnets WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hostile networks WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: no data = unknown string WARNING: untranslated string: oops something went wrong = Oops, something went wrong... WARNING: untranslated string: openvpn cert expires soon = Expires Soon diff --git a/doc/language_issues.fr b/doc/language_issues.fr index c1baa4abc..96c7f9f55 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -1021,11 +1021,19 @@ WARNING: untranslated string: guardian service = unknown string WARNING: untranslated string: hostile networks total = Total Hostile Networks WARNING: untranslated string: ids provider eol = (EOL) WARNING: untranslated string: ids rulesets = Rulesets +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address +WARNING: untranslated string: invalid ip address = Invalid IP Address +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: ips throughput = Throughput WARNING: untranslated string: last updated = Last Updated WARNING: untranslated string: load average = Load Average WARNING: untranslated string: local subnets = Local Subnets +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: oops something went wrong = Oops, something went wrong... WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server WARNING: untranslated string: pakfire ago = ago. diff --git a/doc/language_issues.it b/doc/language_issues.it index c6a5b17fc..e2568c347 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -1175,6 +1175,7 @@ WARNING: untranslated string: ids the choosen provider is already in use = The c WARNING: untranslated string: ids unable to download the ruleset = Unable to download the ruleset WARNING: untranslated string: ids visit provider website = Visit provider website WARNING: untranslated string: ids working = Changes are being applied. Please wait until all operations have completed successfully... +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: incoming compression in bytes per second = Incoming Compression WARNING: untranslated string: incoming overhead in bytes per second = Incoming Overhead WARNING: untranslated string: info messages = unknown string @@ -1182,6 +1183,7 @@ WARNING: untranslated string: inodes = Index-Nodes WARNING: untranslated string: interface mode = Interface WARNING: untranslated string: intrusion prevention system = Intrusion Prevention System WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address WARNING: untranslated string: invalid input for inactivity timeout = Invalid input for Inactivity Timeout WARNING: untranslated string: invalid input for interface address = Invalid input for interface address WARNING: untranslated string: invalid input for interface mode = Invalid input for interface mode @@ -1190,8 +1192,11 @@ WARNING: untranslated string: invalid input for local ip address = Invalid input WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid input for subscription code = Invalid input for subscription code WARNING: untranslated string: invalid input for valid till days = Invalid input for Valid till (days). +WARNING: untranslated string: invalid ip address = Invalid IP Address WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: ip basic info = Basic IP information WARNING: untranslated string: ip info for = IP information for WARNING: untranslated string: ipblocklist = IP Address Blocklists @@ -1239,6 +1244,9 @@ WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hos WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks WARNING: untranslated string: log dropped conntrack invalids = Log dropped packets classified as INVALID by connection tracking WARNING: untranslated string: log server protocol = protocol: +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: masquerade blue = Masquerade BLUE WARNING: untranslated string: masquerade green = Masquerade GREEN WARNING: untranslated string: masquerade orange = Masquerade ORANGE diff --git a/doc/language_issues.nl b/doc/language_issues.nl index f040045b3..49be29522 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -1181,6 +1181,7 @@ WARNING: untranslated string: ids unable to download the ruleset = Unable to dow WARNING: untranslated string: ids visit provider website = Visit provider website WARNING: untranslated string: ids working = Changes are being applied. Please wait until all operations have completed successfully... WARNING: untranslated string: imei = IMEI +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: imsi = IMSI WARNING: untranslated string: incoming compression in bytes per second = Incoming Compression WARNING: untranslated string: incoming overhead in bytes per second = Incoming Overhead @@ -1189,6 +1190,7 @@ WARNING: untranslated string: inodes = Index-Nodes WARNING: untranslated string: interface mode = Interface WARNING: untranslated string: intrusion prevention system = Intrusion Prevention System WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address WARNING: untranslated string: invalid input for inactivity timeout = Invalid input for Inactivity Timeout WARNING: untranslated string: invalid input for interface address = Invalid input for interface address WARNING: untranslated string: invalid input for interface mode = Invalid input for interface mode @@ -1197,8 +1199,11 @@ WARNING: untranslated string: invalid input for local ip address = Invalid input WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid input for subscription code = Invalid input for subscription code WARNING: untranslated string: invalid input for valid till days = Invalid input for Valid till (days). +WARNING: untranslated string: invalid ip address = Invalid IP Address WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: ip basic info = Basic IP information WARNING: untranslated string: ip info for = IP information for WARNING: untranslated string: ipblocklist = IP Address Blocklists @@ -1246,6 +1251,9 @@ WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hos WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks WARNING: untranslated string: log dropped conntrack invalids = Log dropped packets classified as INVALID by connection tracking WARNING: untranslated string: log server protocol = protocol: +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: masquerade blue = Masquerade BLUE WARNING: untranslated string: masquerade green = Masquerade GREEN WARNING: untranslated string: masquerade orange = Masquerade ORANGE diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 8663a1d6f..832fb403f 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -1319,6 +1319,7 @@ WARNING: untranslated string: ids unable to download the ruleset = Unable to dow WARNING: untranslated string: ids visit provider website = Visit provider website WARNING: untranslated string: ids working = Changes are being applied. Please wait until all operations have completed successfully... WARNING: untranslated string: imei = IMEI +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: imsi = IMSI WARNING: untranslated string: incoming compression in bytes per second = Incoming Compression WARNING: untranslated string: incoming firewall access = Incoming Firewall Access @@ -1329,6 +1330,7 @@ WARNING: untranslated string: integrity = Integrity: WARNING: untranslated string: interface mode = Interface WARNING: untranslated string: intrusion prevention system = Intrusion Prevention System WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address WARNING: untranslated string: invalid input for dpd delay = Invalid input for DPD delay WARNING: untranslated string: invalid input for dpd timeout = Invalid input for DPD timeout WARNING: untranslated string: invalid input for inactivity timeout = Invalid input for Inactivity Timeout @@ -1339,8 +1341,11 @@ WARNING: untranslated string: invalid input for local ip address = Invalid input WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid input for subscription code = Invalid input for subscription code WARNING: untranslated string: invalid input for valid till days = Invalid input for Valid till (days). +WARNING: untranslated string: invalid ip address = Invalid IP Address WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: ip basic info = Basic IP information WARNING: untranslated string: ip info for = IP information for WARNING: untranslated string: ipblocklist = IP Address Blocklists @@ -1393,6 +1398,9 @@ WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hos WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks WARNING: untranslated string: log dropped conntrack invalids = Log dropped packets classified as INVALID by connection tracking WARNING: untranslated string: log server protocol = protocol: +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: masquerade blue = Masquerade BLUE WARNING: untranslated string: masquerade green = Masquerade GREEN WARNING: untranslated string: masquerade orange = Masquerade ORANGE diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 133b71e4c..96832e9ff 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -1314,6 +1314,7 @@ WARNING: untranslated string: ids unable to download the ruleset = Unable to dow WARNING: untranslated string: ids visit provider website = Visit provider website WARNING: untranslated string: ids working = Changes are being applied. Please wait until all operations have completed successfully... WARNING: untranslated string: imei = IMEI +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: imsi = IMSI WARNING: untranslated string: incoming compression in bytes per second = Incoming Compression WARNING: untranslated string: incoming firewall access = Incoming Firewall Access @@ -1325,6 +1326,7 @@ WARNING: untranslated string: integrity = Integrity: WARNING: untranslated string: interface mode = Interface WARNING: untranslated string: intrusion prevention system = Intrusion Prevention System WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address WARNING: untranslated string: invalid input for dpd delay = Invalid input for DPD delay WARNING: untranslated string: invalid input for dpd timeout = Invalid input for DPD timeout WARNING: untranslated string: invalid input for inactivity timeout = Invalid input for Inactivity Timeout @@ -1335,8 +1337,11 @@ WARNING: untranslated string: invalid input for local ip address = Invalid input WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid input for subscription code = Invalid input for subscription code WARNING: untranslated string: invalid input for valid till days = Invalid input for Valid till (days). +WARNING: untranslated string: invalid ip address = Invalid IP Address WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval WARNING: untranslated string: invalid logserver protocol = Invalid syslogd server protocol +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: ip basic info = Basic IP information WARNING: untranslated string: ip info for = IP information for WARNING: untranslated string: ipblocklist = IP Address Blocklists @@ -1389,6 +1394,9 @@ WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hos WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks WARNING: untranslated string: log dropped conntrack invalids = Log dropped packets classified as INVALID by connection tracking WARNING: untranslated string: log server protocol = protocol: +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: masquerade blue = Masquerade BLUE WARNING: untranslated string: masquerade green = Masquerade GREEN WARNING: untranslated string: masquerade orange = Masquerade ORANGE diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 844f4835f..860580123 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -1116,18 +1116,23 @@ WARNING: untranslated string: ids the choosen provider is already in use = The c WARNING: untranslated string: ids unable to download the ruleset = Unable to download the ruleset WARNING: untranslated string: ids visit provider website = Visit provider website WARNING: untranslated string: ids working = Changes are being applied. Please wait until all operations have completed successfully... +WARNING: untranslated string: import connection = Import a Connection WARNING: untranslated string: info messages = unknown string WARNING: untranslated string: inodes = Index-Nodes WARNING: untranslated string: interface mode = Interface WARNING: untranslated string: intrusion prevention system = Intrusion Prevention System WARNING: untranslated string: invalid endpoint = Invalid Endpoint +WARNING: untranslated string: invalid endpoint address = Invalid Endpoint Address WARNING: untranslated string: invalid input for interface address = Invalid input for interface address WARNING: untranslated string: invalid input for interface mode = Invalid input for interface mode WARNING: untranslated string: invalid input for interface mtu = Invalid input to interface MTU WARNING: untranslated string: invalid input for local ip address = Invalid input for local IP address WARNING: untranslated string: invalid input for mode = Invalid input for mode WARNING: untranslated string: invalid input for subscription code = Invalid input for subscription code +WARNING: untranslated string: invalid ip address = Invalid IP Address WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hostname +WARNING: untranslated string: invalid keepalive interval = Invalid Keepalive Interval +WARNING: untranslated string: invalid network = Invalid Network WARNING: untranslated string: ip basic info = Basic IP information WARNING: untranslated string: ip info for = IP information for WARNING: untranslated string: ipblocklist = IP Address Blocklists @@ -1167,6 +1172,9 @@ WARNING: untranslated string: local subnets = Local Subnets WARNING: untranslated string: log drop hostile in = Log dropped packets FROM hostile networks WARNING: untranslated string: log drop hostile out = Log dropped packets TO hostile networks WARNING: untranslated string: log dropped conntrack invalids = Log dropped packets classified as INVALID by connection tracking +WARNING: untranslated string: malformed preshared key = Malformed Pre-Shared Key +WARNING: untranslated string: malformed private key = Malformed Private Key +WARNING: untranslated string: malformed public key = Malformed Public Key WARNING: untranslated string: meltdown = Meltdown WARNING: untranslated string: mitigated = Mitigated WARNING: untranslated string: mmio stale data = MMIO Stale Data diff --git a/doc/language_missings b/doc/language_missings index 459be4689..b97d8ca9c 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -187,14 +187,22 @@ < ids provider eol < ids rulesets < ids unsupported provider +< import connection < invalid endpoint +< invalid endpoint address +< invalid ip address < invalid ip or hostname +< invalid keepalive interval +< invalid network < ips throughput < last updated < load average < local subnets < log drop hostile in < log drop hostile out +< malformed preshared key +< malformed private key +< malformed public key < oops something went wrong < openvpn cert expires soon < openvpn cert has expired @@ -277,11 +285,19 @@ < ids provider eol < ids rulesets < ids unsupported provider +< import connection < invalid endpoint +< invalid endpoint address +< invalid ip address +< invalid keepalive interval +< invalid network < ips throughput < last updated < load average < local subnets +< malformed preshared key +< malformed private key +< malformed public key < oops something went wrong < ovpn roadwarrior server < password has quotation mark @@ -604,12 +620,14 @@ < ids unsupported provider < ids visit provider website < ids working +< import connection < incoming compression in bytes per second < incoming overhead in bytes per second < inodes < interface mode < intrusion prevention system < invalid endpoint +< invalid endpoint address < invalid input for inactivity timeout < invalid input for interface address < invalid input for interface mode @@ -618,8 +636,11 @@ < invalid input for mode < invalid input for subscription code < invalid input for valid till days +< invalid ip address < invalid ip or hostname +< invalid keepalive interval < invalid logserver protocol +< invalid network < ip basic info < ipblocklist < ipblocklist blocklist settings @@ -678,6 +699,9 @@ < log drop hostile out < log dropped conntrack invalids < log server protocol +< malformed preshared key +< malformed private key +< malformed public key < masquerade blue < masquerade green < masquerade orange @@ -1195,6 +1219,7 @@ < ids visit provider website < ids working < imei +< import connection < imsi < incoming compression in bytes per second < incoming overhead in bytes per second @@ -1202,6 +1227,7 @@ < interface mode < intrusion prevention system < invalid endpoint +< invalid endpoint address < invalid input for inactivity timeout < invalid input for interface address < invalid input for interface mode @@ -1210,8 +1236,11 @@ < invalid input for mode < invalid input for subscription code < invalid input for valid till days +< invalid ip address < invalid ip or hostname +< invalid keepalive interval < invalid logserver protocol +< invalid network < ip basic info < ipblocklist < ipblocklist blocklist settings @@ -1270,6 +1299,9 @@ < log drop hostile out < log dropped conntrack invalids < log server protocol +< malformed preshared key +< malformed private key +< malformed public key < masquerade blue < masquerade green < masquerade orange @@ -2089,6 +2121,7 @@ < ids visit provider website < ids working < imei +< import connection < imsi < incoming compression in bytes per second < incoming firewall access @@ -2098,6 +2131,7 @@ < interface mode < intrusion prevention system < invalid endpoint +< invalid endpoint address < invalid input for dpd delay < invalid input for dpd timeout < invalid input for inactivity timeout @@ -2108,8 +2142,11 @@ < invalid input for mode < invalid input for subscription code < invalid input for valid till days +< invalid ip address < invalid ip or hostname +< invalid keepalive interval < invalid logserver protocol +< invalid network < ip basic info < ipblocklist < ipblocklist blocklist settings @@ -2175,6 +2212,9 @@ < log dropped conntrack invalids < log server protocol < mac filter +< malformed preshared key +< malformed private key +< malformed public key < masquerade blue < masquerade green < masquerade orange @@ -3152,6 +3192,7 @@ < ids visit provider website < ids working < imei +< import connection < imsi < incoming compression in bytes per second < incoming firewall access @@ -3162,6 +3203,7 @@ < interface mode < intrusion prevention system < invalid endpoint +< invalid endpoint address < invalid input for dpd delay < invalid input for dpd timeout < invalid input for inactivity timeout @@ -3172,8 +3214,11 @@ < invalid input for mode < invalid input for subscription code < invalid input for valid till days +< invalid ip address < invalid ip or hostname +< invalid keepalive interval < invalid logserver protocol +< invalid network < ip basic info < ipblocklist < ipblocklist blocklist settings @@ -3239,6 +3284,9 @@ < log dropped conntrack invalids < log server protocol < mac filter +< malformed preshared key +< malformed private key +< malformed public key < masquerade blue < masquerade green < masquerade orange @@ -3806,17 +3854,22 @@ < ids unsupported provider < ids visit provider website < ids working +< import connection < inodes < interface mode < intrusion prevention system < invalid endpoint +< invalid endpoint address < invalid input for interface address < invalid input for interface mode < invalid input for interface mtu < invalid input for local ip address < invalid input for mode < invalid input for subscription code +< invalid ip address < invalid ip or hostname +< invalid keepalive interval +< invalid network < ip basic info < ipblocklist < ipblocklist blocklist settings @@ -3864,6 +3917,9 @@ < log drop hostile in < log drop hostile out < log dropped conntrack invalids +< malformed preshared key +< malformed private key +< malformed public key < meltdown < mitigated < mmio stale data diff --git a/html/cgi-bin/wireguard.cgi b/html/cgi-bin/wireguard.cgi index 6a2cc48c7..e46147240 100644 --- a/html/cgi-bin/wireguard.cgi +++ b/html/cgi-bin/wireguard.cgi @@ -32,14 +32,14 @@ require "${General::swroot}/header.pl"; require "${General::swroot}/location-functions.pl"; require "${General::swroot}/wireguard-functions.pl"; +my %cgiparams = (); my @errormessages = (); # Generate keys &Wireguard::generate_keys(); # Fetch CGI parameters -my %cgiparams = (); -&Header::getcgihash(\%cgiparams); +&Header::getcgihash(\%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'}); # Save on main page if ($cgiparams{"ACTION"} eq $Lang::tr{'save'}) { @@ -396,6 +396,14 @@ if ($cgiparams{"ACTION"} eq $Lang::tr{'save'}) { } elsif ($cgiparams{"TYPE"} eq "host") { goto EDITHOST; + } elsif ($cgiparams{"TYPE"} eq "import") { + # Parse the configuration file + (%cgiparams, @errormessages) = &Wireguard::parse_configuration($cgiparams{'FH'}); + + # We basically don't support importing RW connections, so we always + # need to go and show the N2N editor. + goto EDITNET; + # Ask the user what type they want } else { goto ADD; @@ -723,6 +731,15 @@ ADD: $Lang::tr{'net to net vpn'} + +
  • + + + +
  • diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index b175f4f6c..cc5fcf3a9 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1431,6 +1431,7 @@ 'ike lifetime should be between 1 and 24 hours' => 'IKE Lebensdauer sollte zwischen 1 und 24 Stunden betragen.', 'imei' => 'IMEI', 'import' => 'Import', +'import connection' => 'Eine Verbindung importieren', 'importkey' => 'PSK importieren', 'imsi' => 'IMSI', 'in' => 'Ein', @@ -1472,6 +1473,7 @@ 'invalid downlink speed' => 'Ungültige Downlink-Gerschwindigkeit.', 'invalid end address' => 'Ungültige Endadresse.', 'invalid endpoint' => 'Ungültige Gegenstelle', +'invalid endpoint address' => 'Ungültige Endpoint-Adresse', 'invalid fixed ip address' => 'Ungültige feste IP-Adresse', 'invalid fixed mac address' => 'Ungültige feste MAC-Adresse', 'invalid hostname' => 'Ungültiger Hostname.', @@ -1506,8 +1508,10 @@ 'invalid input for state or province' => 'Ungültige Eingabe für Bundesstaat oder Provinz.', 'invalid input for valid till days' => 'Ungültige Eingabe für Gültig bis (Tage).', 'invalid ip' => 'Ungültige IP-Adresse', +'invalid ip address' => 'Ungültige IP-Adresse', 'invalid ip or hostname' => 'Ungültige IP-Addresse oder Hostname', 'invalid keep time' => 'Die Aufbewahrungszeit muss eine gültige Zahl sein', +'invalid keepalive interval' => 'Ungültiges Keepalive-Interval', 'invalid key' => 'Ungültiger Schlüssel.', 'invalid loaded file' => 'Ungültige geladene Datei', 'invalid local-remote id' => 'Local-Id und Remote-Id dürfen nicht gleich sein, und müssen einem "@"-Zeichen beginnen (in der strongSwan-Terminologie handelt es sich dabei um leftid und rightid).', @@ -1522,6 +1526,7 @@ 'invalid minimum object size' => 'Ungültige min. Objektgröße.', 'invalid mtu input' => 'Ungültige MTU', 'invalid netmask' => 'Ungültige Netzwerkmaske', +'invalid network' => 'Ungültiges Netzwerk', 'invalid port' => 'Ungültiger Port. Bitte gültige Portnummer eingeben.', 'invalid port list' => 'Portlisten-Syntax lautet: port[,port]... wobei port in /etc/services enthalten ist, alternativ Portnummer', 'invalid primary dns' => 'Ungültiger primärer DNS.', @@ -1694,6 +1699,9 @@ 'mailmethod' => 'Mail Methode', 'mailprogramm' => 'Mail Programm', 'main page' => 'Startseite', +'malformed preshared key' => 'Ungültiger Pre-Shared Key', +'malformed private key' => 'Ungültiger privater Schlüssel', +'malformed public key' => 'Ungültiger öffentlicher Schlüssel', 'manage ovpn' => '5. Tunnel Management', 'manage printers' => 'Drucker verwalten', 'manage shares' => 'Freigaben verwalten', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 93479b820..79634e90b 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1489,6 +1489,7 @@ 'ike lifetime should be between 1 and 24 hours' => 'IKE lifetime should be between 1 and 24 hours.', 'imei' => 'IMEI', 'import' => 'Import', +'import connection' => 'Import a Connection', 'importkey' => 'Import PSK', 'imsi' => 'IMSI', 'in' => 'In', @@ -1530,6 +1531,7 @@ 'invalid downlink speed' => 'Invalid downlink speed.', 'invalid end address' => 'Invalid end address.', 'invalid endpoint' => 'Invalid Endpoint', +'invalid endpoint address' => 'Invalid Endpoint Address', 'invalid fixed ip address' => 'Invalid fixed IP address', 'invalid fixed mac address' => 'Invalid fixed MAC address', 'invalid hostname' => 'Invalid hostname.', @@ -1564,8 +1566,10 @@ 'invalid input for subscription code' => 'Invalid input for subscription code', 'invalid input for valid till days' => 'Invalid input for Valid till (days).', 'invalid ip' => 'Invalid IP Address', +'invalid ip address' => 'Invalid IP Address', 'invalid ip or hostname' => 'Invalid IP Address or Hostname', 'invalid keep time' => 'Keep time must be a valid number', +'invalid keepalive interval' => 'Invalid Keepalive Interval', 'invalid key' => 'Invalid key.', 'invalid loaded file' => 'Invalid loaded file', 'invalid local-remote id' => 'local & remote id must not be equal and begin with a "@" sign. These are leftid and rightid in strongswan terminology.', @@ -1580,6 +1584,7 @@ 'invalid minimum object size' => 'Invalid minimum object size.', 'invalid mtu input' => 'Invalid MTU', 'invalid netmask' => 'Invalid netmask', +'invalid network' => 'Invalid Network', 'invalid port' => 'Invalid port. Must be a valid port number.', 'invalid port list' => 'Port list syntax is: port[,port]... where port is in /etc/services or number', 'invalid primary dns' => 'Invalid primary DNS.', @@ -1759,6 +1764,9 @@ 'mailmethod' => 'Mailmethod', 'mailprogramm' => 'Mailprogramm', 'main page' => 'Main page', +'malformed preshared key' => 'Malformed Pre-Shared Key', +'malformed private key' => 'Malformed Private Key', +'malformed public key' => 'Malformed Public Key', 'manage ovpn' => '5. Tunnel Management:', 'manage printers' => 'manage printers', 'manage shares' => 'Manage Shares',