]> git.ipfire.org Git - people/mfischer/ipfire-2.x.git/commitdiff
wireguard.cgi: Add editor to create a new peer
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Apr 2024 20:15:33 +0000 (22:15 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Apr 2025 14:48:29 +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 12ccc22c8b25b50aaa8bbfee17022f5dcfa376ad..6c71ea8d0f24f2d18a93755c51d32ea385f88bf9 100644 (file)
@@ -961,6 +961,9 @@ WARNING: untranslated string: download apple profile = Download Apple Configurat
 WARNING: untranslated string: enable = Enable
 WARNING: untranslated string: enable disable client = unknown string
 WARNING: untranslated string: enable disable dyndns = unknown string
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
 WARNING: untranslated string: fwdfw syn flood protection = Enable SYN Flood Protection (TCP only)
@@ -1004,6 +1007,7 @@ WARNING: untranslated string: ipsec dns server address is invalid = Invalid DNS
 WARNING: untranslated string: ipsec invalid ip address or fqdn for rw endpoint = Invalid IP address or FQDN for Host-to-Net Endpoint
 WARNING: untranslated string: ipsec roadwarrior endpoint = Host-to-Net Endpoint
 WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
+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: netbios nameserver daemon = NetBIOS Nameserver Daemon
@@ -1012,13 +1016,15 @@ WARNING: untranslated string: oops something went wrong = Oops, something went w
 WARNING: untranslated string: optional = Optional
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
 WARNING: untranslated string: pakfire invalid tree = Invalid repository selected
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS)
 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: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: samba server role member = Domain Member
@@ -1027,6 +1033,15 @@ WARNING: untranslated string: show tls-auth key = Show tls-auth key
 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 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
+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 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
 WARNING: untranslated string: wio = unknown string
 WARNING: untranslated string: wio checked = unknown string
index ef477b13af6de9d6fd1ea2537efe1196ee6f0158..3fdabcea91bbbf6475b5b87596e1fdb7bf7338ee 100644 (file)
@@ -725,6 +725,9 @@ WARNING: untranslated string: enabled on = Enabled on
 WARNING: untranslated string: encapsulation = Encapsulation
 WARNING: untranslated string: encryption = Encryption:
 WARNING: untranslated string: end address = End address:
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: enter data = Enter your settings <br /> and then press <i>Save</i>.
 WARNING: untranslated string: error = Error
 WARNING: untranslated string: error message = unknown string
@@ -1218,6 +1221,7 @@ WARNING: untranslated string: local ip address = Local IP Address
 WARNING: untranslated string: local ntp server specified but not enabled = Local NTP server specified but not enabled
 WARNING: untranslated string: local subnet = Local subnet:
 WARNING: untranslated string: local subnet is invalid = Local subnet is invalid.
+WARNING: untranslated string: local subnets = Local Subnets
 WARNING: untranslated string: local vpn hostname/ip = Local VPN Hostname/IP
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
@@ -1533,7 +1537,7 @@ WARNING: untranslated string: proxy reports today = Today
 WARNING: untranslated string: proxy reports weekly = Weekly reports
 WARNING: untranslated string: ptr = PTR
 WARNING: untranslated string: ptr lookup failed = Reverse lookup failed
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: pulse = Pulse
 WARNING: untranslated string: pulse dial = Pulse dial:
 WARNING: untranslated string: qos enter bandwidths = You will need to enter your downstream and upstream bandwidth!
@@ -1570,6 +1574,7 @@ WARNING: untranslated string: remote host/ip = Remote host/IP
 WARNING: untranslated string: remote logging = Remote logging
 WARNING: untranslated string: remote subnet = Remote subnet:
 WARNING: untranslated string: remote subnet is invalid = Remote subnet is invalid.
+WARNING: untranslated string: remote subnets = Remote Subnets
 WARNING: untranslated string: remove = Remove
 WARNING: untranslated string: remove ca certificate = Remove CA certificate
 WARNING: untranslated string: remove x509 = Remove x509
@@ -1585,6 +1590,7 @@ WARNING: untranslated string: retbleed = Retbleed
 WARNING: untranslated string: reverse sort = Sort in reverse chronological order
 WARNING: untranslated string: root certificate = Root Certificate
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: routing table = unknown string
@@ -2134,6 +2140,15 @@ WARNING: untranslated string: web server = Web Server
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: whois results from = WHOIS results from
 WARNING: untranslated string: winbind daemon = Winbind Daemon
index b77ea1e2545ac64d731ba70d300e507fbd58f5bb..3cf6bb6b954c3767cbdbf18731c710419fcff146 100644 (file)
@@ -1019,6 +1019,9 @@ WARNING: untranslated string: dns servers = DNS Servers
 WARNING: untranslated string: downfall gather data sampling = Downfall/Gather Data Sampling
 WARNING: untranslated string: enable disable client = unknown string
 WARNING: untranslated string: enable disable dyndns = unknown string
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: extrahd because it is outside the allowed mount path = unknown string
 WARNING: untranslated string: extrahd mounted = Mounted
@@ -1067,6 +1070,7 @@ WARNING: untranslated string: invalid ip or hostname = Invalid IP Address or Hos
 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: no data = unknown string
@@ -1077,12 +1081,14 @@ WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Serv
 WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: password has quotation mark = Password contains an illegal double quotation mark.
 WARNING: untranslated string: processors = Processors
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS)
 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: remote subnets = Remote Subnets
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: routing table = unknown string
@@ -1094,6 +1100,15 @@ WARNING: untranslated string: timeformat = %Y-%m-%d at %H:%M:%S %Z
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: wio = unknown string
 WARNING: untranslated string: wio checked = unknown string
index 0262b2e4bb3952149e3098a7be411e0f0e803b02..1b1f85ea07460c647beae80f99c44fc9ca4153c1 100644 (file)
@@ -981,6 +981,9 @@ WARNING: untranslated string: core notice 3 = available.
 WARNING: untranslated string: data transfer = Data Transfer
 WARNING: untranslated string: enable disable client = unknown string
 WARNING: untranslated string: enable disable dyndns = unknown string
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: extrahd because it is outside the allowed mount path = unknown string
 WARNING: untranslated string: fwdfw syn flood protection = Enable SYN Flood Protection (TCP only)
@@ -1020,13 +1023,16 @@ WARNING: untranslated string: ids rulesets = Rulesets
 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: oops something went wrong = Oops, something went wrong...
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
 WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: password has quotation mark = Password contains an illegal double quotation mark.
 WARNING: untranslated string: processors = Processors
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS)
+WARNING: untranslated string: remote subnets = Remote Subnets
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: scanned = Scanned
@@ -1034,6 +1040,15 @@ WARNING: untranslated string: system time = System Time (as of last page load)
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: wio = unknown string
 WARNING: untranslated string: wio checked = unknown string
index 459e8de869b0efa178ae64b8fb56890706da10ab..0d955ec18f7283441eb91d678941034ca1d52c60 100644 (file)
@@ -1064,6 +1064,9 @@ WARNING: untranslated string: enable disable client = unknown string
 WARNING: untranslated string: enable disable dyndns = unknown string
 WARNING: untranslated string: enable otp = Enable OTP
 WARNING: untranslated string: enable smt = Enable Simultaneous Multi-Threading (SMT)
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error = Error
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
@@ -1222,6 +1225,7 @@ WARNING: untranslated string: last updated = Last Updated
 WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: load average = Load Average
 WARNING: untranslated string: local ip address = Local IP Address
+WARNING: untranslated string: local subnets = Local Subnets
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
 WARNING: untranslated string: locationblock block countries = Block countries
@@ -1287,7 +1291,7 @@ WARNING: untranslated string: pptp route = PPTP Route
 WARNING: untranslated string: processor vulnerability mitigations = Processor Vulnerability Mitigations
 WARNING: untranslated string: processors = Processors
 WARNING: untranslated string: ptr = PTR
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: rdns = rDNS
 WARNING: untranslated string: reboot fsck = Reboot & run &lsquo;fsck&rsquo;
 WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
@@ -1297,10 +1301,12 @@ 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: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
 WARNING: untranslated string: retbleed = Retbleed
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: routing table = unknown string
@@ -1380,6 +1386,15 @@ WARNING: untranslated string: vpn weak = Weak
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: whois results from = WHOIS results from
 WARNING: untranslated string: winbind daemon = Winbind Daemon
index 999097cca11cb4c8b5fe1ca129c1761187d35256..a3a4bd3aaf344d6627235f8b5dabbac5943e0312 100644 (file)
@@ -1069,6 +1069,9 @@ WARNING: untranslated string: enable disable client = unknown string
 WARNING: untranslated string: enable disable dyndns = unknown string
 WARNING: untranslated string: enable otp = Enable OTP
 WARNING: untranslated string: enable smt = Enable Simultaneous Multi-Threading (SMT)
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error = Error
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
@@ -1229,6 +1232,7 @@ WARNING: untranslated string: last updated = Last Updated
 WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: load average = Load Average
 WARNING: untranslated string: local ip address = Local IP Address
+WARNING: untranslated string: local subnets = Local Subnets
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
 WARNING: untranslated string: locationblock block countries = Block countries
@@ -1310,7 +1314,7 @@ WARNING: untranslated string: pptp route = PPTP Route
 WARNING: untranslated string: processor vulnerability mitigations = Processor Vulnerability Mitigations
 WARNING: untranslated string: processors = Processors
 WARNING: untranslated string: ptr = PTR
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: rdns = rDNS
 WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
 WARNING: untranslated string: received = Received
@@ -1318,10 +1322,12 @@ 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: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
 WARNING: untranslated string: retbleed = Retbleed
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: routing table = unknown string
@@ -1401,6 +1407,15 @@ WARNING: untranslated string: vpn weak = Weak
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: whois results from = WHOIS results from
 WARNING: untranslated string: winbind daemon = Winbind Daemon
index a47f83697dbe9a5075e43be15cc52435612dfab2..5c2bdbbdfe219e581c90058ab910ac8a08379555 100644 (file)
@@ -1055,6 +1055,9 @@ WARNING: untranslated string: enable disable dyndns = unknown string
 WARNING: untranslated string: enable otp = Enable OTP
 WARNING: untranslated string: enable smt = Enable Simultaneous Multi-Threading (SMT)
 WARNING: untranslated string: encryption = Encryption:
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error = Error
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
@@ -1376,6 +1379,7 @@ WARNING: untranslated string: lifetime = Lifetime:
 WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: load average = Load Average
 WARNING: untranslated string: local ip address = Local IP Address
+WARNING: untranslated string: local subnets = Local Subnets
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
 WARNING: untranslated string: locationblock block countries = Block countries
@@ -1486,7 +1490,7 @@ WARNING: untranslated string: proxy reports monthly = Monthly reports
 WARNING: untranslated string: proxy reports today = Today
 WARNING: untranslated string: proxy reports weekly = Weekly reports
 WARNING: untranslated string: ptr = PTR
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: qos enter bandwidths = You will need to enter your downstream and upstream bandwidth!
 WARNING: untranslated string: rdns = rDNS
 WARNING: untranslated string: reboot fsck = Reboot & run &lsquo;fsck&rsquo;
@@ -1498,10 +1502,12 @@ 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: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
 WARNING: untranslated string: retbleed = Retbleed
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: routing table = unknown string
@@ -1643,6 +1649,15 @@ WARNING: untranslated string: vpn weak = Weak
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: whois results from = WHOIS results from
 WARNING: untranslated string: winbind daemon = Winbind Daemon
index 5cb6b64744eec8a39df4464438ddc7036fdd2eb7..96a6a5f8938e02ca6dafaf9def9cb424bfb0deb2 100644 (file)
@@ -1050,6 +1050,9 @@ WARNING: untranslated string: enable disable dyndns = unknown string
 WARNING: untranslated string: enable otp = Enable OTP
 WARNING: untranslated string: enable smt = Enable Simultaneous Multi-Threading (SMT)
 WARNING: untranslated string: encryption = Encryption:
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error = Error
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
@@ -1372,6 +1375,7 @@ WARNING: untranslated string: lifetime = Lifetime:
 WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: load average = Load Average
 WARNING: untranslated string: local ip address = Local IP Address
+WARNING: untranslated string: local subnets = Local Subnets
 WARNING: untranslated string: location = Location
 WARNING: untranslated string: locationblock = Location Block
 WARNING: untranslated string: locationblock block countries = Block countries
@@ -1479,7 +1483,7 @@ WARNING: untranslated string: proxy reports monthly = Monthly reports
 WARNING: untranslated string: proxy reports today = Today
 WARNING: untranslated string: proxy reports weekly = Weekly reports
 WARNING: untranslated string: ptr = PTR
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: qos enter bandwidths = You will need to enter your downstream and upstream bandwidth!
 WARNING: untranslated string: rdns = rDNS
 WARNING: untranslated string: reboot fsck = Reboot & run &lsquo;fsck&rsquo;
@@ -1491,10 +1495,12 @@ 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: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: required field = Required field
 WARNING: untranslated string: retbleed = Retbleed
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: routing table = unknown string
@@ -1636,6 +1642,15 @@ WARNING: untranslated string: vpn weak = Weak
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: whois results from = WHOIS results from
 WARNING: untranslated string: winbind daemon = Winbind Daemon
index f2136be156bbfba36c22551f6b876ff263074735..78986e2967e79bf62e0e506d22ba390c181969bd 100644 (file)
@@ -1026,6 +1026,9 @@ WARNING: untranslated string: enable disable client = unknown string
 WARNING: untranslated string: enable disable dyndns = unknown string
 WARNING: untranslated string: enable otp = Enable OTP
 WARNING: untranslated string: enable smt = Enable Simultaneous Multi-Threading (SMT)
+WARNING: untranslated string: endpoint = Endpoint
+WARNING: untranslated string: endpoint address = Endpoint Address
+WARNING: untranslated string: endpoint port = Endpoint Port
 WARNING: untranslated string: error = Error
 WARNING: untranslated string: error message = unknown string
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
@@ -1158,6 +1161,7 @@ WARNING: untranslated string: last updated = Last Updated
 WARNING: untranslated string: link-layer encapsulation = Link-Layer Encapsulation
 WARNING: untranslated string: load average = Load Average
 WARNING: untranslated string: local ip address = Local IP Address
+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
@@ -1197,7 +1201,7 @@ WARNING: untranslated string: please reboot to apply your changes = Please reboo
 WARNING: untranslated string: processor vulnerability mitigations = Processor Vulnerability Mitigations
 WARNING: untranslated string: processors = Processors
 WARNING: untranslated string: ptr = PTR
-WARNING: untranslated string: public key = unknown string
+WARNING: untranslated string: public key = Public Key
 WARNING: untranslated string: reboot fsck = Reboot & run &lsquo;fsck&rsquo;
 WARNING: untranslated string: rebooting ipfire fsck = Rebooting IPFire, forcing filesystem check
 WARNING: untranslated string: received = Received
@@ -1206,9 +1210,11 @@ 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: remote subnets = Remote Subnets
 WARNING: untranslated string: required = Required
 WARNING: untranslated string: retbleed = Retbleed
 WARNING: untranslated string: route config changed = unknown string
+WARNING: untranslated string: routing = Routing
 WARNING: untranslated string: routing config added = unknown string
 WARNING: untranslated string: routing config changed = unknown string
 WARNING: untranslated string: routing table = unknown string
@@ -1263,6 +1269,15 @@ WARNING: untranslated string: vpn wait = WAITING
 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 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
+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 no local subnets = No local subnets given
+WARNING: untranslated string: wg no remote subnets = No remote subnets given
 WARNING: untranslated string: whitelisted = Whitelisted
 WARNING: untranslated string: whois results from = WHOIS results from
 WARNING: untranslated string: winbind daemon = Winbind Daemon
index 58191cfe3526d5021d966be96b18a6be4dfa7686..da9f3d3e8f68d20c79954a24216861f75b06e31c 100644 (file)
@@ -56,6 +56,9 @@
 < done
 < download apple profile
 < enable
+< endpoint
+< endpoint address
+< endpoint port
 < error the to date has to be later than the from date
 < extrahd because it it outside the allowed mount path
 < fwdfw syn flood protection
@@ -73,6 +76,7 @@
 < ipsec invalid ip address or fqdn for rw endpoint
 < ipsec roadwarrior endpoint
 < link-layer encapsulation
+< local subnets
 < log drop hostile in
 < log drop hostile out
 < netbios nameserver daemon
 < pakfire dependencies found
 < pakfire no dependencies found
 < pakfire resolvedeps wait
+< public key
 < quick control
 < random number generator daemon
 < regenerate host certificate
 < reg_file_data_sampling
 < reiserfs warning1
 < reiserfs warning2
+< remote subnets
 < required
+< routing
 < samba server role member
 < samba server role standalone
 < shaping add options
 < user management
 < vpn configuration main
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < winbind daemon
 < wireguard
 < wlanap 802.11w disabled
 < dhcp fixed ip address in dynamic range
 < dns servers
 < downfall gather data sampling
+< endpoint
+< endpoint address
+< endpoint port
 < extrahd because it it outside the allowed mount path
 < extrahd mounted
 < extrahd no mount point given
 < ips throughput
 < last updated
 < load average
+< local subnets
 < log drop hostile in
 < log drop hostile out
 < oops something went wrong
 < ovpn roadwarrior server
 < password has quotation mark
 < processors
+< public key
 < regenerate host certificate
 < reg_file_data_sampling
 < reiserfs warning1
 < reiserfs warning2
+< remote subnets
+< routing
 < scanned
 < service boot setting unavailable
 < spec rstack overflow
 < transport mode does not support vti
 < warning
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < whitelisted
 < wireguard
 < wlanap
 < bypassed
 < ca name must only contain characters or spaces
 < data transfer
+< endpoint
+< endpoint address
+< endpoint port
 < extrahd because it it outside the allowed mount path
 < fwdfw syn flood protection
 < g.dtm
 < ips throughput
 < last updated
 < load average
+< local subnets
 < oops something went wrong
 < ovpn roadwarrior server
 < password has quotation mark
 < processors
+< public key
 < reg_file_data_sampling
+< remote subnets
+< routing
 < scanned
 < system time
 < timeformat
 < upload fcdsl.o
 < warning
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < whitelisted
 < wireguard
 < wlanap hide ssid
 < enable
 < enable otp
 < enable smt
+< endpoint
+< endpoint address
+< endpoint port
 < eol architecture warning
 < error
 < error the to date has to be later than the from date
 < link-layer encapsulation
 < load average
 < local ip address
+< local subnets
 < location
 < locationblock
 < locationblock block countries
 < processors
 < processor vulnerability mitigations
 < ptr
+< public key
 < random number generator daemon
 < rdns
 < reboot fsck
 < reiserfs warning1
 < reiserfs warning2
 < release
+< remote subnets
 < required
 < required field
 < retbleed
+< routing
 < runmode
 < samba join a domain
 < samba join domain
 < warning
 < Weekly
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < whitelisted
 < whois results from
 < winbind daemon
 < enable
 < enable otp
 < enable smt
+< endpoint
+< endpoint address
+< endpoint port
 < eol architecture warning
 < error
 < error the to date has to be later than the from date
 < link-layer encapsulation
 < load average
 < local ip address
+< local subnets
 < location
 < locationblock
 < locationblock block countries
 < processors
 < processor vulnerability mitigations
 < ptr
+< public key
 < random number generator daemon
 < rdns
 < rebooting ipfire fsck
 < reg_file_data_sampling
 < reiserfs warning1
 < reiserfs warning2
+< remote subnets
 < required
 < required field
 < retbleed
+< routing
 < runmode
 < samba join a domain
 < samba join domain
 < warning
 < Weekly
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < whitelisted
 < whois results from
 < winbind daemon
 < enable otp
 < enable smt
 < encryption
+< endpoint
+< endpoint address
+< endpoint port
 < entropy
 < entropy graphs
 < eol architecture warning
 < link-layer encapsulation
 < load average
 < local ip address
+< local subnets
 < location
 < locationblock
 < locationblock block countries
 < proxy reports today
 < proxy reports weekly
 < ptr
+< public key
 < qos enter bandwidths
 < random number generator daemon
 < rdns
 < reiserfs warning1
 < reiserfs warning2
 < release
+< remote subnets
 < required
 < required field
 < retbleed
+< routing
 < runmode
 < samba join a domain
 < samba join domain
 < warning
 < Weekly
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < whitelisted
 < whois results from
 < winbind daemon
 < enable otp
 < enable smt
 < encryption
+< endpoint
+< endpoint address
+< endpoint port
 < entropy
 < entropy graphs
 < eol architecture warning
 < link-layer encapsulation
 < load average
 < local ip address
+< local subnets
 < location
 < locationblock
 < locationblock block countries
 < proxy reports today
 < proxy reports weekly
 < ptr
+< public key
 < qos enter bandwidths
 < random number generator daemon
 < rdns
 < reiserfs warning1
 < reiserfs warning2
 < release
+< remote subnets
 < required
 < required field
 < retbleed
+< routing
 < runmode
 < samba join a domain
 < samba join domain
 < week-graph
 < Weekly
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < whitelisted
 < whois results from
 < winbind daemon
 < enable
 < enable otp
 < enable smt
+< endpoint
+< endpoint address
+< endpoint port
 < eol architecture warning
 < error
 < error the to date has to be later than the from date
 < link-layer encapsulation
 < load average
 < local ip address
+< local subnets
 < log drop hostile in
 < log drop hostile out
 < log dropped conntrack invalids
 < processors
 < processor vulnerability mitigations
 < ptr
+< public key
 < random number generator daemon
 < reboot fsck
 < rebooting ipfire fsck
 < reiserfs warning1
 < reiserfs warning2
 < release
+< remote subnets
 < required
 < retbleed
+< routing
 < runmode
 < samba server role member
 < samba server role standalone
 < warning
 < Weekly
 < wg
+< wg create peer
+< wg invalid endpoint address
+< wg invalid endpoint port
+< wg invalid local subnet
+< wg invalid name
+< wg invalid public key
+< wg invalid remote subnet
+< wg no local subnets
+< wg no remote subnets
 < whitelisted
 < whois results from
 < winbind daemon
index 8ca149690f44bbf5e42da2e42a9300a942dfc515..6000d94f81f250102ffa3fea78d518ca270f13fe 100644 (file)
@@ -24,11 +24,14 @@ use strict;
 # enable only the following on debugging purpose
 use warnings;
 use CGI::Carp 'fatalsToBrowser';
+use MIME::Base64;
 
 require "/var/ipfire/general-functions.pl";
 require "${General::swroot}/header.pl";
 require "${General::swroot}/location-functions.pl";
 
+my $DEFAULT_PORT = 51820;
+
 my $INTF = "wg0";
 my @errormessages = ();
 
@@ -43,7 +46,7 @@ my %peers = ();
 # Set any defaults
 &General::set_defaults(\%settings, {
        "ENABLED" => "off",
-       "PORT"    => 51820,
+       "PORT"    => $DEFAULT_PORT,
 });
 
 # Generate keys
@@ -80,9 +83,102 @@ if ($cgiparams{"ACTION"} eq $Lang::tr{'save'}) {
                &General::system("/usr/local/bin/wireguardctrl", "stop");
        }
 
+} elsif ($cgiparams{"ACTION"} eq "CREATE-PEER-NET") {
+       my @local_subnets = ();
+       my @remote_subnets = ();
+
+       # Check if the name is valid
+       unless (&name_is_valid($cgiparams{"NAME"})) {
+               push(@errormessages, $Lang::tr{'wg invalid name'});
+       }
+
+       # Check the public key
+       unless (&publickey_is_valid($cgiparams{'PUBLIC_KEY'})) {
+               push(@errormessages, $Lang::tr{'wg invalid public key'});
+       }
+
+       # Check the endpoint address
+       unless (&Network::check_ip_address($cgiparams{'ENDPOINT_ADDRESS'})) {
+               push(@errormessages, $Lang::tr{'wg invalid endpoint address'});
+       }
+
+       # Check the endpoint port
+       unless (&General::validport($cgiparams{'ENDPOINT_PORT'})) {
+               push(@errormessages, $Lang::tr{'wg invalid endpoint port'});
+       }
+
+       # Check local subnets
+       if (defined $cgiparams{'LOCAL_SUBNETS'}) {
+               @local_subnets = split(/,/, $cgiparams{'LOCAL_SUBNETS'});
+
+               foreach my $subnet (@local_subnets) {
+                       unless (&Network::check_subnet($subnet)) {
+                               push(@errormessages, $Lang::tr{'wg invalid local subnet'} . ": ${subnet}");
+                       }
+               }
+       } else {
+               push(@errormessages, $Lang::tr{'wg no local subnets'});
+       }
+
+       # Check remote subnets
+       if (defined $cgiparams{'REMOTE_SUBNETS'}) {
+               @remote_subnets = split(/,/, $cgiparams{'REMOTE_SUBNETS'});
+
+               foreach my $subnet (@remote_subnets) {
+                       unless (&Network::check_subnet($subnet)) {
+                               push(@errormessages, $Lang::tr{'wg invalid remote subnet'} . ": ${subnet}");
+                       }
+               }
+       } else {
+               push(@errormessages, $Lang::tr{'wg no remote subnets'});
+       }
+
+       # If there are any errors, we go back to the editor
+       goto EDITOR if (scalar @errormessages);
+
+       # Save the connection
+
+       # Allocate a new key
+       my $key = &General::findhasharraykey(\%peers);
+
+       # Store all values
+       $peers{$key} = [
+               # 1 = Enabled
+               "on",
+               # 2 = Type
+               "net",
+               # 3 = Name
+               $cgiparams{"NAME"},
+               # 4 = Pubkey
+               $cgiparams{"PUBLIC_KEY"},
+               # 5 = Endpoint Address
+               $cgiparams{"ENDPOINT_ADDRESS"},
+               # 6 = Endpoint Port
+               $cgiparams{"ENDPORT_PORT"},
+               # 7 = Remote Subnets
+               join("|", @remote_subnets),
+               # 8 = Remark
+               "", # TODO
+               # 9 = Local Subnets
+               join("|", @local_subnets),
+       ];
+
+       # Store the configuration
+       &General::writehasharray("/var/ipfire/wireguard/peers", \%peers);
+
+       # Reload if enabled
+       if ($settings{'ENABLED'} eq "on") {
+               &General::system("/usr/local/bin/wireguardctrl", "reload");
+       }
+
 } elsif ($cgiparams{"ACTION"} eq $Lang::tr{'add'}) {
+       if ($cgiparams{"TYPE"} eq "net") {
+               goto EDITOR;
+
        # Ask the user what type they want
-       goto ADD;
+       } else {
+               goto ADD;
+       }
 }
 
 # The main page starts here
@@ -333,6 +429,118 @@ END
 
        exit(0);
 
+EDITOR:
+       # Send HTTP Headers
+       &Header::showhttpheaders();
+
+       # Open the page
+       &Header::openpage($Lang::tr{'wireguard'}, 1, '');
+
+       # Show any error messages
+       &Header::errorbox(@errormessages);
+
+       # Open a new box
+       &Header::openbox('100%', '', $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"},
+       });
+
+       print <<END;
+               <form method="POST" ENCTYPE="multipart/form-data">
+                       <input type="hidden" name="ACTION" value="CREATE-PEER-NET">
+
+                       <table class="form">
+                               <tr>
+                                       <td>
+                                               $Lang::tr{'name'}
+                                       </td>
+
+                                       <td>
+                                               <input type="text" name="NAME"
+                                                       value="$cgiparams{'NAME'}" required />
+                                       </td>
+                               </tr>
+                       </table>
+
+                       <h6>$Lang::tr{'endpoint'}</h6>
+
+                       <table class="form">
+                               <tr>
+                                       <td>$Lang::tr{'public key'}</td>
+                                       <td>
+                                               <input type="text" name="PUBLIC_KEY"
+                                                       value="$cgiparams{'PUBLIC_KEY'}" required />
+                                       </td>
+                               </tr>
+
+                               <tr>
+                                       <td>
+                                               $Lang::tr{'endpoint address'}
+                                       </td>
+
+                                       <td>
+                                               <input type="text" name="ENDPOINT_ADDRESS"
+                                                       value="$cgiparams{'ENDPOINT_ADDRESS'}" required />
+                                       </td>
+                               </tr>
+
+                               <tr>
+                                       <td>
+                                               $Lang::tr{'endpoint port'}
+                                       </td>
+
+                                       <td>
+                                               <input type="number" name="ENDPOINT_PORT"
+                                                       value="$cgiparams{'ENDPOINT_PORT'}" required
+                                                       min="1" max="65535" placeholder="${DEFAULT_PORT}"/>
+                                       </td>
+                               </tr>
+                       </table>
+
+                       <h6>$Lang::tr{'routing'}</h6>
+
+                       <table class="form">
+                               <tr>
+                                       <td>
+                                               $Lang::tr{'local subnets'}
+                                       </td>
+
+                                       <td>
+                                               <input type="text" name="LOCAL_SUBNETS"
+                                                       value="$cgiparams{'LOCAL_SUBNETS'}" required />
+                                       </td>
+                               </tr>
+
+                               <tr>
+                                       <td>
+                                               $Lang::tr{'remote subnets'}
+                                       </td>
+
+                                       <td>
+                                               <input type="text" name="REMOTE_SUBNETS"
+                                                       value="$cgiparams{'REMOTE_SUBNETS'}" required />
+                                       </td>
+                               </tr>
+
+                               <tr class="action">
+                                       <td colspan="2">
+                                               <input type='submit' value='$Lang::tr{'save'}' />
+                                       </td>
+                               </tr>
+                       </table>
+           </form>
+END
+
+       &Header::closebox();
+       &Header::closepage();
+
+       exit(0);
+
 # This function generates a set of keys for this host if none exist
 sub generate_keys($) {
        my $force = shift || 0;
@@ -430,3 +638,29 @@ sub dump($) {
 
        return %dump;
 }
+
+sub name_is_valid($) {
+       my $name = shift;
+
+       # The name must be between 1 and 63 characters
+       if (length ($name) < 1 || length ($name) > 63) {
+               return 0;
+       }
+
+       # Only valid characters are a-z, A-Z, 0-9, space and -
+       if ($name !~ /^[a-zA-Z0-9 -]*$/) {
+               return 0;
+       }
+
+       return 1;
+}
+
+sub publickey_is_valid($) {
+       my $key = shift;
+
+       # Try to decode the key
+       $key = &MIME::Base64::decode_base64($key);
+
+       # All keys must be 32 bytes long
+       return length($key) == 32;
+}
index bf7ea0c3b40e6ab7870ea91359979f9b576adbc2..72f8da3ad30a56ae8467a1523add181de386e764 100644 (file)
 'encrypted' => 'Encrypted',
 'encryption' => 'Encryption:',
 'end address' => 'End address:',
+'endpoint' => 'Endpoint',
+'endpoint address' => 'Endpoint Address',
+'endpoint port' => 'Endpoint Port',
 'enter ack class' => 'Enter the ACK- Class <br /> and then press <i>Save</i>.',
 'enter data' => 'Enter your settings <br /> and then press <i>Save</i>.',
 'entropy' => 'Entropy',
 'local ntp server specified but not enabled' => 'Local NTP server specified but not enabled',
 'local subnet' => 'Local subnet:',
 'local subnet is invalid' => 'Local subnet is invalid.',
+'local subnets' => 'Local Subnets',
 'local vpn hostname/ip' => 'Local VPN Hostname/IP',
 'localkey' => 'Localkey',
 'localkeyfile' => 'Localkeyfile',
 'psk' => 'PSK',
 'ptr' => 'PTR',
 'ptr lookup failed' => 'Reverse lookup failed',
+'public key' => 'Public Key',
 'pulse' => 'Pulse',
 'pulse dial' => 'Pulse dial:',
 'qos add subclass' => 'Add subclass',
 'remote logging' => 'Remote logging',
 'remote subnet' => 'Remote subnet:',
 'remote subnet is invalid' => 'Remote subnet is invalid.',
+'remote subnets' => 'Remote Subnets',
 'removable device advice' => 'Plug in a device, refresh, select and mount before usage. Umount before removal.',
 'remove' => 'Remove',
 'remove ca certificate' => 'Remove CA certificate',
 'root user password' => 'Root password',
 'route subnet is invalid' => 'Additional push route subnet is invalid',
 'router ip' => 'Router IP address:',
+'routing' => 'Routing',
 'routing table entries' => 'Routing Table Entries',
 'rsvd dst port overlap' => 'Destination Port Range overlaps a port reserved for IPFire:',
 'rsvd src port overlap' => 'Source Port Range overlaps a port reserved for IPFire:',
 'weekly firewallhits' => 'weekly firewallhits',
 'weeks' => 'Weeks',
 'wg' => 'WireGuard',
+'wg create peer' => 'Create A New Peer',
+'wg invalid endpoint address' => 'Invalid endpoint address',
+'wg invalid endpoint port' => 'Invalid endpoint port',
+'wg invalid local subnet' => 'Invalid local subnet',
+'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 no local subnets' => 'No local subnets given',
+'wg no remote subnets' => 'No remote subnets given',
 'whitelisted' => 'Whitelisted',
 'whois results from' => 'WHOIS results from',
 'wildcards' => 'Wildcards',