]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
ovpnmain.cgi: Implement cipher negotiation for RW clients
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 19 Mar 2024 18:32:50 +0000 (19:32 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 23 Sep 2024 11:08:59 +0000 (13:08 +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/ovpnmain.cgi
langs/en/cgi-bin/en.pl

index ae97866213c995957150e26ca7b39a427bc66e1c..d3d12a50c7c57d3dfa753f2d2b5318b109d28836 100644 (file)
@@ -907,6 +907,11 @@ WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val vlan tag range error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: access point name = Access Point Name
 WARNING: untranslated string: access point name is invalid = Access Point Name is invalid
 WARNING: untranslated string: access point name is required = Access Point Name is required
@@ -982,9 +987,12 @@ WARNING: untranslated string: netbios nameserver daemon = NetBIOS Nameserver Dae
 WARNING: untranslated string: no entries = No entries at the moment.
 WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
 WARNING: untranslated string: optional = Optional
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pakfire invalid tree = Invalid repository selected
 WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS)
 WARNING: untranslated string: regenerate host certificate = Renew Host Certificate
index 75a9072057b668ff20a53bc3a2ca4785bb347d6b..a54b2f5f7b06884fe65a2504ede53e349672a731 100644 (file)
@@ -1,9 +1,14 @@
 WARNING: untranslated string: 24 hours = 24 Hours
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
 WARNING: untranslated string: Act as = Act as:
 WARNING: untranslated string: Add Level7 rule = Add Level7 rule
 WARNING: untranslated string: Add Port Rule = Add port rule
 WARNING: untranslated string: Add Rule = Add rule
 WARNING: untranslated string: Add a route = Add a route
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: Captive = Captive Portal
 WARNING: untranslated string: Captive ACTIVATE = unknown string
 WARNING: untranslated string: Captive GAIN ACCESS = GAIN ACCESS
@@ -1437,6 +1442,7 @@ WARNING: untranslated string: outgoing overhead in bytes per second = Outgoing O
 WARNING: untranslated string: outgoing traffic in bytes per second = Outgoing Traffic
 WARNING: untranslated string: ovpn = OpenVPN
 WARNING: untranslated string: ovpn add conf = Additional configuration
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn con stat = OpenVPN Connection Statistics
 WARNING: untranslated string: ovpn connection name = Connection Name
 WARNING: untranslated string: ovpn crypt options = Cryptographic options
@@ -1445,6 +1451,7 @@ WARNING: untranslated string: ovpn errmsg invalid ip or mask = Invalid network-a
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
 WARNING: untranslated string: ovpn ha = Hash algorithm
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn mgmt in root range = A port number of 1024 or higher is required.
 WARNING: untranslated string: ovpn no connections = No active OpenVPN connections
 WARNING: untranslated string: ovpn on blue = OpenVPN on BLUE:
@@ -1460,6 +1467,7 @@ WARNING: untranslated string: ovpn subnet = OpenVPN subnet:
 WARNING: untranslated string: ovpn subnet is invalid = OpenVPN subnet is invalid.
 WARNING: untranslated string: ovpn subnet overlap = OpenVPN Subnet overlaps with : 
 WARNING: untranslated string: ovpn tls auth = TLS Channel Protection:
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pagerefresh = Page is beeing refreshed, please wait.
 WARNING: untranslated string: pak update = Update
 WARNING: untranslated string: pakfire accept all = Do you want to install all packages?
index 5cb79aaa2a25a975fd235178b7b7f753163d251b..4babd80e750e73de83b741a6106e052757394d4f 100644 (file)
@@ -979,6 +979,11 @@ WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val vlan tag range error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: Captive ACTIVATE = unknown string
 WARNING: untranslated string: Captive clients = unknown string
 WARNING: untranslated string: Scan for Songs = unknown string
@@ -1043,9 +1048,12 @@ 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
 WARNING: untranslated string: openvpn cert has expired = Expired
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: processors = Processors
 WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS)
index 693fe5bbe29cb592145062423c89aee8774339f5..31f5a293ffeb2ad594024113360147a780514633 100644 (file)
@@ -948,6 +948,11 @@ WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val vlan tag range error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: core notice 3 = available.
 WARNING: untranslated string: data transfer = Data Transfer
 WARNING: untranslated string: enable disable client = unknown string
@@ -989,9 +994,12 @@ WARNING: untranslated string: hostile networks total = Total Hostile Networks
 WARNING: untranslated string: ids provider eol = (EOL)
 WARNING: untranslated string: load average = Load Average
 WARNING: untranslated string: oops something went wrong = Oops, something went wrong...
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: processors = Processors
 WARNING: untranslated string: reg_file_data_sampling = Register File Data Sampling (RFDS)
index 1a31b76861520902a96ac31f08657edc48ddbce2..456260cdd456ae5aafaef5c5f66178ff3b7e84cb 100644 (file)
@@ -883,6 +883,11 @@ WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: 24 hours = 24 Hours
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: Captive = Captive Portal
 WARNING: untranslated string: Captive ACTIVATE = unknown string
 WARNING: untranslated string: Captive GAIN ACCESS = GAIN ACCESS
@@ -1230,12 +1235,15 @@ WARNING: untranslated string: otp qrcode = OTP QRCode
 WARNING: untranslated string: outgoing compression in bytes per second = Outgoing compression
 WARNING: untranslated string: outgoing overhead in bytes per second = Outgoing Overhead
 WARNING: untranslated string: ovpn add conf = Additional configuration
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn connection name = Connection Name
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
 WARNING: untranslated string: ovpn rw connection log = OpenVPN Roadwarrior Connections Log
 WARNING: untranslated string: ovpn tls auth = TLS Channel Protection:
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pak update = Update
 WARNING: untranslated string: pakfire already busy = Pakfire is already performing a task. Please try again later.
 WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
index df4b3aa6610a598304187e7e0ffbc9165a443511..cef2d9b4d57d606fd9a6ed1adac9225488d48638 100644 (file)
@@ -884,6 +884,11 @@ WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: 24 hours = 24 Hours
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: Captive = Captive Portal
 WARNING: untranslated string: Captive ACTIVATE = unknown string
 WARNING: untranslated string: Captive GAIN ACCESS = GAIN ACCESS
@@ -1254,14 +1259,17 @@ WARNING: untranslated string: otp qrcode = OTP QRCode
 WARNING: untranslated string: outgoing compression in bytes per second = Outgoing compression
 WARNING: untranslated string: outgoing overhead in bytes per second = Outgoing Overhead
 WARNING: untranslated string: ovpn add conf = Additional configuration
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn connection name = Connection Name
 WARNING: untranslated string: ovpn crypt options = Cryptographic options
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
 WARNING: untranslated string: ovpn ha = Hash algorithm
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
 WARNING: untranslated string: ovpn rw connection log = OpenVPN Roadwarrior Connections Log
 WARNING: untranslated string: ovpn tls auth = TLS Channel Protection:
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pakfire already busy = Pakfire is already performing a task. Please try again later.
 WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
 WARNING: untranslated string: pakfire finished error = Pakfire has finished! Errors occurred, please check the log output before proceeding.
index 648cb87ebbe48f9750c450edcce00287d8b5c259..0c3a1763428f0876d418628c092f64c1acbabd78 100644 (file)
@@ -794,6 +794,11 @@ WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: 24 hours = 24 Hours
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: Captive = Captive Portal
 WARNING: untranslated string: Captive ACTIVATE = unknown string
 WARNING: untranslated string: Captive GAIN ACCESS = GAIN ACCESS
@@ -1416,6 +1421,7 @@ WARNING: untranslated string: outgoing compression in bytes per second = Outgoin
 WARNING: untranslated string: outgoing firewall access = Outgoing Firewall Access
 WARNING: untranslated string: outgoing overhead in bytes per second = Outgoing Overhead
 WARNING: untranslated string: ovpn add conf = Additional configuration
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn connection name = Connection Name
 WARNING: untranslated string: ovpn crypt options = Cryptographic options
 WARNING: untranslated string: ovpn errmsg green already pushed = Route for green network is always set
@@ -1423,6 +1429,7 @@ WARNING: untranslated string: ovpn errmsg invalid ip or mask = Invalid network-a
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
 WARNING: untranslated string: ovpn ha = Hash algorithm
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn mgmt in root range = A port number of 1024 or higher is required.
 WARNING: untranslated string: ovpn no connections = No active OpenVPN connections
 WARNING: untranslated string: ovpn port in root range = A port number of 1024 or higher is required.
@@ -1431,6 +1438,7 @@ WARNING: untranslated string: ovpn routes push = Routes (one per line) e.g. 192.
 WARNING: untranslated string: ovpn routes push options = Route push options
 WARNING: untranslated string: ovpn rw connection log = OpenVPN Roadwarrior Connections Log
 WARNING: untranslated string: ovpn tls auth = TLS Channel Protection:
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pak update = Update
 WARNING: untranslated string: pakfire already busy = Pakfire is already performing a task. Please try again later.
 WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
index d7cc9da973c55cf9a3760a2320a0da6a4d691df4..be1b8d3e97f602dd5228774bc0def4ceddf6ee40 100644 (file)
@@ -787,7 +787,12 @@ WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: 24 hours = 24 Hours
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
 WARNING: untranslated string: Add a route = Add a route
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: Captive = Captive Portal
 WARNING: untranslated string: Captive ACTIVATE = unknown string
 WARNING: untranslated string: Captive GAIN ACCESS = GAIN ACCESS
@@ -1413,17 +1418,20 @@ WARNING: untranslated string: outgoing firewall access = Outgoing Firewall Acces
 WARNING: untranslated string: outgoing overhead in bytes per second = Outgoing Overhead
 WARNING: untranslated string: outgoing traffic in bytes per second = Outgoing Traffic
 WARNING: untranslated string: ovpn add conf = Additional configuration
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn connection name = Connection Name
 WARNING: untranslated string: ovpn crypt options = Cryptographic options
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
 WARNING: untranslated string: ovpn ha = Hash algorithm
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn mgmt in root range = A port number of 1024 or higher is required.
 WARNING: untranslated string: ovpn no connections = No active OpenVPN connections
 WARNING: untranslated string: ovpn port in root range = A port number of 1024 or higher is required.
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
 WARNING: untranslated string: ovpn rw connection log = OpenVPN Roadwarrior Connections Log
 WARNING: untranslated string: ovpn tls auth = TLS Channel Protection:
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pak update = Update
 WARNING: untranslated string: pakfire already busy = Pakfire is already performing a task. Please try again later.
 WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
index ac48910d4e0b53454c57b384dc9d41ed20ec7a9c..61fd02a1a5a128b35ad6ab4d925ac39986c8c8a2 100644 (file)
@@ -911,6 +911,11 @@ WARNING: translation string unused: xtaccess all error
 WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
+WARNING: untranslated string: AES-128-CBC = AES - CBC Mode - 128 Bit
+WARNING: untranslated string: AES-128-GCM = AES - GCM Mode - 128 Bit
+WARNING: untranslated string: AES-256-CBC = AES - CBC Mode - 256 Bit
+WARNING: untranslated string: AES-256-GCM = AES - GCM Mode - 256 Bit
+WARNING: untranslated string: CHACHA20-POLY1305 = ChaCha20-Poly1305
 WARNING: untranslated string: Captive clients = unknown string
 WARNING: untranslated string: Captive delete logo = Delete Logo
 WARNING: untranslated string: Disabled = Disabled
@@ -1144,12 +1149,15 @@ WARNING: untranslated string: openvpn cert expires soon = Expires Soon
 WARNING: untranslated string: openvpn cert has expired = Expired
 WARNING: untranslated string: optional = Optional
 WARNING: untranslated string: otp qrcode = OTP QRCode
+WARNING: untranslated string: ovpn ciphers = Ciphers
 WARNING: untranslated string: ovpn connection name = Connection Name
 WARNING: untranslated string: ovpn fallback cipher = Fallback Cipher
 WARNING: untranslated string: ovpn fallback cipher help = This cipher is being used by clients that do not support cipher negotiation.
+WARNING: untranslated string: ovpn if ncp is disabled we must have cipher = If you want to disable cipher negotiation, you will have to select a fallback cipher.
 WARNING: untranslated string: ovpn roadwarrior server = OpenVPN Roadwarrior Server
 WARNING: untranslated string: ovpn rw connection log = OpenVPN Roadwarrior Connections Log
 WARNING: untranslated string: ovpn tls auth = TLS Channel Protection:
+WARNING: untranslated string: ovpn unsupported cipher selected = Unknown cipher selected
 WARNING: untranslated string: pak update = Update
 WARNING: untranslated string: pakfire already busy = Pakfire is already performing a task. Please try again later.
 WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
index 2cf48062066741de7a1c4053d67e7931018b16c1..1a4a5fc3fc31c5b93e9d4268aaa2f50ee405e471 100644 (file)
@@ -5,6 +5,10 @@
 < access point name is invalid
 < access point name is required
 < advproxy update information
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
 < aliases default interface
 < ansi t1.483
 < backup archive
@@ -43,6 +47,7 @@
 < Captive heading voucher
 < Captive invalid coupon
 < Captive please enter a coupon code
+< CHACHA20-POLY1305
 < choose media
 < could not connect to www ipfire org
 < cryptographic settings
 < okay
 < oops something went wrong
 < optional
+< ovpn ciphers
 < ovpn fallback cipher
 < ovpn fallback cipher help
+< ovpn if ncp is disabled we must have cipher
 < ovpn roadwarrior server
+< ovpn unsupported cipher selected
 < quick control
 < random number generator daemon
 < regenerate host certificate
 < access point name is invalid
 < access point name is required
 < addon
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
+< CHACHA20-POLY1305
 < cpu frequency
 < data transfer
 < dhcp fixed ip address in dynamic range
 < oops something went wrong
 < openvpn cert expires soon
 < openvpn cert has expired
+< ovpn ciphers
 < ovpn fallback cipher
 < ovpn fallback cipher help
+< ovpn if ncp is disabled we must have cipher
 < ovpn roadwarrior server
+< ovpn unsupported cipher selected
 < processors
 < regenerate host certificate
 < reg_file_data_sampling
 ############################################################################
 # Checking cgi-bin translations for language: fr                           #
 ############################################################################
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
 < ansi t1.483
 < bewan adsl pci st
 < bewan adsl usb
+< CHACHA20-POLY1305
 < data transfer
 < extrahd because it it outside the allowed mount path
 < fwdfw syn flood protection
 < ids unsupported provider
 < load average
 < oops something went wrong
+< ovpn ciphers
 < ovpn fallback cipher
 < ovpn fallback cipher help
+< ovpn if ncp is disabled we must have cipher
 < ovpn roadwarrior server
+< ovpn unsupported cipher selected
 < processors
 < reg_file_data_sampling
 < system time
 < advproxy wpad label dst_noproxy_url
 < advproxy wpad title
 < advproxy wpad view pac
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
 < aliases default interface
 < asn lookup failed
 < autonomous system
 < Captive vout
 < Captive WiFi coupon
 < Captive wrong ext
+< CHACHA20-POLY1305
 < check all
 < core update
 < cpu frequency
 < outgoing compression in bytes per second
 < outgoing overhead in bytes per second
 < ovpn add conf
+< ovpn ciphers
 < ovpn connection name
 < ovpn error md5
 < ovpn fallback cipher
 < ovpn fallback cipher help
+< ovpn if ncp is disabled we must have cipher
 < ovpn roadwarrior server
 < ovpn rw connection log
 < ovpn tls auth
+< ovpn unsupported cipher selected
 < ovpn warning rfc3280
 < pakfire already busy
 < pakfire finished
 < advproxy wpad label dst_noproxy_url
 < advproxy wpad title
 < advproxy wpad view pac
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
 < aliases default interface
 < asn lookup failed
 < atm device
 < Captive vout
 < Captive WiFi coupon
 < Captive wrong ext
+< CHACHA20-POLY1305
 < check all
 < cpu frequency
 < crypto error
 < outgoing compression in bytes per second
 < outgoing overhead in bytes per second
 < ovpn add conf
+< ovpn ciphers
 < ovpn connection name
 < ovpn crypt options
 < ovpn engines
 < ovpn fallback cipher help
 < ovpn generating the root and host certificates
 < ovpn ha
+< ovpn if ncp is disabled we must have cipher
 < ovpn reneg sec
 < ovpn roadwarrior server
 < ovpn rw connection log
 < ovpn tls auth
+< ovpn unsupported cipher selected
 < ovpn warning rfc3280
 < pakfire already busy
 < pakfire finished
 < advproxy wpad label dst_noproxy_url
 < advproxy wpad title
 < advproxy wpad view pac
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
 < age second
 < age seconds
 < age shour
 < ccd routes
 < ccd subnet
 < ccd used
+< CHACHA20-POLY1305
 < check all
 < community rules
 < ConnSched dial
 < outgoing firewall access
 < outgoing overhead in bytes per second
 < ovpn add conf
+< ovpn ciphers
 < ovpn connection name
 < ovpn crypt options
 < ovpn engines
 < ovpn fallback cipher help
 < ovpn generating the root and host certificates
 < ovpn ha
+< ovpn if ncp is disabled we must have cipher
 < ovpn mgmt in root range
 < ovpn mtu-disc
 < ovpn mtu-disc and mtu not 1500
 < ovpn routes push options
 < ovpn rw connection log
 < ovpn tls auth
+< ovpn unsupported cipher selected
 < ovpn warning rfc3280
 < pakfire already busy
 < pakfire finished
 < advproxy wpad label dst_noproxy_url
 < advproxy wpad title
 < advproxy wpad view pac
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
 < age second
 < age seconds
 < age shour
 < ccd routes
 < ccd subnet
 < ccd used
+< CHACHA20-POLY1305
 < check all
 < community rules
 < ConnSched dial
 < outgoing overhead in bytes per second
 < outgoing traffic in bytes per second
 < ovpn add conf
+< ovpn ciphers
 < ovpn connection name
 < ovpn crypt options
 < ovpn engines
 < ovpn fallback cipher help
 < ovpn generating the root and host certificates
 < ovpn ha
+< ovpn if ncp is disabled we must have cipher
 < ovpn mgmt in root range
 < ovpn mtu-disc
 < ovpn mtu-disc and mtu not 1500
 < ovpn roadwarrior server
 < ovpn rw connection log
 < ovpn tls auth
+< ovpn unsupported cipher selected
 < ovpn warning rfc3280
 < pakfire already busy
 < pakfire finished
 < advproxy wpad label dst_noproxy_url
 < advproxy wpad title
 < advproxy wpad view pac
+< AES-128-CBC
+< AES-128-GCM
+< AES-256-CBC
+< AES-256-GCM
 < aliases default interface
 < asn lookup failed
 < autonomous system
 < cake profile pppoe-vcmux 32
 < cake profile raw 0
 < Captive delete logo
+< CHACHA20-POLY1305
 < core update
 < cpu frequency
 < crypto error
 < openvpn cert has expired
 < optional
 < otp qrcode
+< ovpn ciphers
 < ovpn connection name
 < ovpn error md5
 < ovpn fallback cipher
 < ovpn fallback cipher help
+< ovpn if ncp is disabled we must have cipher
 < ovpn roadwarrior server
 < ovpn rw connection log
 < ovpn tls auth
+< ovpn unsupported cipher selected
 < ovpn warning rfc3280
 < pakfire already busy
 < pakfire finished
index ca13c86d55e4aa4b87e313b722335eb888288cfd..975b7258f305868a7f59fe47c06fd813949840aa 100755 (executable)
@@ -47,6 +47,29 @@ use CGI::Carp 'fatalsToBrowser';
 my %mainsettings = ();
 &General::readhash("${General::swroot}/main/settings", \%mainsettings);
 
+# Supported ciphers for NCP
+my @SUPPORTED_CIPHERS = (
+       "AES-256-GCM",
+       "AES-128-GCM",
+       "AES-256-CBC",
+       "AES-128-CBC",
+       "CHACHA20-POLY1305",
+);
+
+my $DEFAULT_CIPHERS = "AES-256-GCM|AES-128-GCM|CHACHA20-POLY1305";
+
+# Translations for the cipher selection
+my %CIPHERS = (
+       # AES
+       "AES-256-GCM" => $Lang::tr{'AES-256-GCM'},
+       "AES-128-GCM" => $Lang::tr{'AES-128-GCM'},
+       "AES-256-CBC" => $Lang::tr{'AES-256-CBC'},
+       "AES-128-CBC" => $Lang::tr{'AES-128-CBC'},
+
+       # ChaCha20-Poly1305
+       "CHACHA20-POLY1305" => $Lang::tr{'CHACHA20-POLY1305'},
+);
+
 ###
 ### Initialize variables
 ###
@@ -235,8 +258,19 @@ sub writeserverconf {
     }
     print CONF "status-version 1\n";
     print CONF "status /var/run/ovpnserver.log 30\n";
-    print CONF "ncp-disable\n";
-    print CONF "cipher $sovpnsettings{DCIPHER}\n";
+
+       # Cryptography
+       if ($sovpnsettings{'DATACIPHERS'} eq '') {
+               print CONF "ncp-disable\n";
+       } else {
+               print CONF "data-ciphers " . $sovpnsettings{'DATACIPHERS'} =~ s/\|/:/gr . "\n";
+       }
+
+       # Enable fallback cipher?
+       if ($sovpnsettings{'DCIPHER'} ne '') {
+           print CONF "data-ciphers-fallback $sovpnsettings{'DCIPHER'}\n";
+       }
+
        print CONF "auth $sovpnsettings{'DAUTH'}\n";
     # Set TLSv2 as minimum
     print CONF "tls-version-min 1.2\n";
@@ -673,11 +707,29 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
     $vpnsettings{'DHCP_DNS'} = $cgiparams{'DHCP_DNS'};
     $vpnsettings{'DHCP_WINS'} = $cgiparams{'DHCP_WINS'};
     $vpnsettings{'ROUTES_PUSH'} = $cgiparams{'ROUTES_PUSH'};
+    $vpnsettings{'DATACIPHERS'} = $cgiparams{'DATACIPHERS'};
     $vpnsettings{'DCIPHER'} = $cgiparams{'DCIPHER'};
     $vpnsettings{'DAUTH'} = $cgiparams{'DAUTH'};
     $vpnsettings{'TLSAUTH'} = $cgiparams{'TLSAUTH'};
     my @temp=();
 
+       # If NCP is disabled, we need the fallback cipher
+       if ($cgiparams{'DATACIPHERS'} eq '' && $cgiparams{'DCIPHER'} eq '') {
+               $errormessage = $Lang::tr{'ovpn if ncp is disabled we must have cipher'};
+               goto ADV_ERROR;
+       }
+
+       # Split data ciphers
+       my @dataciphers = split(/\|/, $cgiparams{'DATACIPHERS'});
+
+       # Check if all ciphers are supported
+       foreach my $cipher (@dataciphers) {
+               if (!grep(/^$cipher$/, @SUPPORTED_CIPHERS)) {
+                       $errormessage = $Lang::tr{'ovpn unsupported cipher selected'};
+                       goto ADV_ERROR;
+               }
+       }
+
     if ($cgiparams{'FRAGMENT'} eq '') {
        delete $vpnsettings{'FRAGMENT'};
     } else {
@@ -2123,7 +2175,20 @@ else
        $zip->addFile( "${General::swroot}/ovpn/ca/cacert.pem", "cacert.pem")  or die "Can't add file cacert.pem\n";
        $zip->addFile( "${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem", "$confighash{$cgiparams{'KEY'}}[1]cert.pem") or die "Can't add file $confighash{$cgiparams{'KEY'}}[1]cert.pem\n";
     }
-    print CLIENTCONF "cipher $vpnsettings{DCIPHER}\r\n";
+
+       # Cryptography
+
+       # If no data ciphers have been selected, we try to use the fallback cipher
+       if ($vpnsettings{'DATACIPHERS'} eq '') {
+               print CLIENTCONF "ncp-disable\r\n";
+
+               if ($vpnsettings{'DCIPHER'} ne '') {
+                   print CLIENTCONF "cipher $vpnsettings{'DCIPHER'}\r\n";
+               }
+       } else {
+               # Otherwise we don't write anything because the server and client will negotiate
+       }
+
        print CLIENTCONF "auth $vpnsettings{'DAUTH'}\r\n";
 
     if ($vpnsettings{'TLSAUTH'} eq 'on') {
@@ -2475,6 +2540,9 @@ END
     read_routepushfile;
 
 ADV_ERROR:
+       if ($cgiparams{'DATACIPHERS'} eq '') {
+               $cgiparams{'DATACIPHERS'} = $DEFAULT_CIPHERS;
+       }
        if ($cgiparams{'DAUTH'} eq '') {
                $cgiparams{'DAUTH'} = 'SHA512';
        }
@@ -2522,6 +2590,15 @@ ADV_ERROR:
     $selected{'LOG_VERB'}{'11'} = '';
     $selected{'LOG_VERB'}{$cgiparams{'LOG_VERB'}} = 'SELECTED';
 
+       # Split data ciphers
+       my @data_ciphers = split(/\|/, $cgiparams{'DATACIPHERS'});
+
+       # Select the correct ones
+       $selected{'DATACIPHERS'} = ();
+       foreach my $cipher (@SUPPORTED_CIPHERS) {
+               $selected{'DATACIPHERS'}{$cipher} = grep(/^$cipher$/, @data_ciphers) ? "selected" : "";
+       }
+
     $selected{'DCIPHER'}{'AES-256-GCM'} = '';
     $selected{'DCIPHER'}{'AES-192-GCM'} = '';
     $selected{'DCIPHER'}{'AES-128-GCM'} = '';
@@ -2569,6 +2646,30 @@ ADV_ERROR:
                                        </td>
                                </tr>
 
+                               <tr>
+                                       <td width="25%">
+                                               $Lang::tr{'ovpn ciphers'}
+                                       </td>
+
+                                       <td>
+                                               <select name='DATACIPHERS' multiple>
+END
+
+       foreach my $cipher (@SUPPORTED_CIPHERS) {
+               my $name = $CIPHERS{$cipher} // $cipher;
+
+               print <<END;
+                                                       <option value='$cipher' $selected{'DATACIPHERS'}{$cipher}>
+                                                               $name
+                                                       </option>
+END
+       }
+
+       print <<END;
+                                               </select>
+                                       </td>
+                               </tr>
+
                                <tr>
                                        <td>
                                                $Lang::tr{'ovpn ha'}
@@ -2596,7 +2697,7 @@ ADV_ERROR:
                                </tr>
 
                                <tr>
-                                       <td width="25%">
+                                       <td>
                                                $Lang::tr{'ovpn fallback cipher'}
                                        </td>
 
index dfec9a880db0579101177c9c00be5186bef9bb97..e2a7393c43b395d7209b097086bce702ac2eecce 100644 (file)
@@ -2,12 +2,17 @@
 %tr,
 
 '24 hours' => '24 Hours',
+'AES-128-CBC' => 'AES - CBC Mode - 128 Bit',
+'AES-128-GCM' => 'AES - GCM Mode - 128 Bit',
+'AES-256-CBC' => 'AES - CBC Mode - 256 Bit',
+'AES-256-GCM' => 'AES - GCM Mode - 256 Bit',
 'Act as' => 'Act as:',
 'Add Level7 rule' => 'Add Level7 rule',
 'Add Port Rule' => 'Add port rule',
 'Add Rule' => 'Add rule',
 'Add a route' => 'Add a route',
 'Async logging enabled' => 'Enable asynchronous writing of the syslog file',
+'CHACHA20-POLY1305' => 'ChaCha20-Poly1305',
 'Captive' => 'Captive Portal',
 'Captive 1day' => '1 day',
 'Captive 1month' => '1 month',
 'override mtu' => 'Override default MTU',
 'ovpn' => 'OpenVPN',
 'ovpn add conf' => 'Additional configuration',
+'ovpn ciphers' => 'Ciphers',
 'ovpn con stat' => 'OpenVPN Connection Statistics',
 'ovpn config' => 'OVPN-Config',
 'ovpn connection name' => 'Connection Name',
 'ovpn fallback cipher help' => 'This cipher is being used by clients that do not support cipher negotiation.',
 'ovpn generating the root and host certificates' => 'Generating the root and host certificate can take a long time.',
 'ovpn ha' => 'Hash algorithm',
+'ovpn if ncp is disabled we must have cipher' => 'If you want to disable cipher negotiation, you will have to select a fallback cipher.',
 'ovpn log' => 'OVPN-Log',
 'ovpn mgmt in root range' => 'A port number of 1024 or higher is required.',
 'ovpn mtu-disc' => 'Path MTU Discovery',
 'ovpn subnet is invalid' => 'OpenVPN subnet is invalid.',
 'ovpn subnet overlap' => 'OpenVPN Subnet overlaps with : ',
 'ovpn tls auth' => 'TLS Channel Protection:',
+'ovpn unsupported cipher selected' => 'Unknown cipher selected',
 'ovpn warning rfc3280' => 'Your host certificate is not RFC3280 compliant. <br>Please update to the latest IPFire version and generate as soon as possible a new root and host certificate.</br><br>All OpenVPN clients needs then to be renewed!</br>',
 'ovpn_fastio' => 'Fast-IO',
 'ovpn_mssfix' => 'MSSFIX Size',