diff --git a/net/freeradius/Makefile b/net/freeradius/Makefile
index b9f22ddb8..eeaa9f080 100644
--- a/net/freeradius/Makefile
+++ b/net/freeradius/Makefile
@@ -1,5 +1,5 @@
PLUGIN_NAME= freeradius
-PLUGIN_VERSION= 1.9.15
+PLUGIN_VERSION= 1.9.16
PLUGIN_COMMENT= RADIUS Authentication, Authorization and Accounting Server
PLUGIN_DEPENDS= freeradius3
PLUGIN_MAINTAINER= m.muenz@gmail.com
diff --git a/net/freeradius/pkg-descr b/net/freeradius/pkg-descr
index 2ea2e9084..f79c4cfd2 100644
--- a/net/freeradius/pkg-descr
+++ b/net/freeradius/pkg-descr
@@ -15,6 +15,11 @@ The server is fast, feature-rich, modular, and scalable.
Plugin Changelog
================
+1.9.16
+
+* Allow user to choose Elliptic Curve in EAP
+* Allow client secrets starting with hash sign
+
1.9.15
* Fixed validation of CIDR for client network ranges
diff --git a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/eap.xml b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/eap.xml
index 531cc4fde..8747dd6aa 100644
--- a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/eap.xml
+++ b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/eap.xml
@@ -5,6 +5,12 @@
dropdown
Set the default EAP type.
+
+ eap.elliptic_curve
+
+ dropdown
+ Set the Elliptical cryptography configuration.
+
eap.enable_client_cert
diff --git a/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/Eap.xml b/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/Eap.xml
index 9ec71ef01..f4604c752 100644
--- a/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/Eap.xml
+++ b/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/Eap.xml
@@ -1,7 +1,7 @@
//OPNsense/freeradius/eap
EAP configuration
- 1.0.0
+ 1.9.16
md5
@@ -16,6 +16,15 @@
TTLS-GTC
+
+ prime256v1
+ Y
+ N
+
+ prime256v1
+ secp384r1
+
+
0
Y
diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf
index c7c2c3567..bac3ce8a1 100644
--- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf
+++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf
@@ -4,7 +4,7 @@
{% for client_list in helpers.toList('OPNsense.freeradius.client.clients.client') %}
{% if client_list.enabled == '1' %}
client "{{ client_list.name }}" {
- secret = {{ client_list.secret }}
+ secret = "{{ client_list.secret }}"
shortname = "{{ client_list.name }}"
{% if ':' in client_list.ip %}
ipv6addr = {{ client_list.ip }}
diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap
index 980a6ed09..ff98fca0b 100644
--- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap
+++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap
@@ -471,7 +471,7 @@ eap {
#
# openssl ecparam -list_curves
#
- ecdh_curve = "prime256v1"
+ ecdh_curve = "{{ OPNsense.freeradius.eap.elliptic_curve }}"
# Session resumption / fast reauthentication
# cache.