From 32323d34b46223d4ceadbe1b61618e5bfa48d855 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 15 Dec 2020 09:20:16 +0100 Subject: [PATCH] net/freeradius: Fix DHCP support (#2135) --- net/freeradius/Makefile | 2 +- net/freeradius/pkg-descr | 4 +++ .../templates/OPNsense/Freeradius/+TARGETS | 1 + .../Freeradius/mods-enabled-dhcp_sqlippool | 6 ++-- .../OPNsense/Freeradius/mods-enabled-mac2ip | 29 +++++++++++++++++++ 5 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-mac2ip diff --git a/net/freeradius/Makefile b/net/freeradius/Makefile index ca1e699b5..a473a81ae 100644 --- a/net/freeradius/Makefile +++ b/net/freeradius/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= freeradius -PLUGIN_VERSION= 1.9.8 +PLUGIN_VERSION= 1.9.9 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 3c64880be..994b2632d 100644 --- a/net/freeradius/pkg-descr +++ b/net/freeradius/pkg-descr @@ -15,6 +15,10 @@ The server is fast, feature-rich, modular, and scalable. Plugin Changelog ================ +1.9.9 + +* Fix DHCP support + 1.9.8 * Add support for checking TLS certificate names diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/+TARGETS b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/+TARGETS index 4de8793c1..815e084f2 100644 --- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/+TARGETS +++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/+TARGETS @@ -5,6 +5,7 @@ mods-enabled-counter:/usr/local/etc/raddb/mods-enabled/counter mods-enabled-dhcp_sqlippool:/usr/local/etc/raddb/mods-enabled/dhcp_sqlippool mods-enabled-eap:/usr/local/etc/raddb/mods-enabled/eap mods-enabled-ldap:/usr/local/etc/raddb/mods-enabled/ldap +mods-enabled-mac2ip:/usr/local/etc/raddb/mods-enabled/mac2ip mods-enabled-sql:/usr/local/etc/raddb/mods-enabled/sql mods-enabled-sqlippool:/usr/local/etc/raddb/mods-enabled/sqlippool queries.conf:/usr/local/etc/raddb/mods-config/sql/main/sqlite/queries.conf diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-dhcp_sqlippool b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-dhcp_sqlippool index de614dcf2..d3313e0a3 100644 --- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-dhcp_sqlippool +++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-dhcp_sqlippool @@ -24,13 +24,13 @@ sqlippool dhcp_sqlippool { sqlippool_log_exists = "DHCP: Existing IP: %{reply:Framed-IP-Address} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" - sqlippool_log_success = "DHCP: Allocated IP: %{reply:Framed-IP-Address} from %{control:${..pool_name}} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" + sqlippool_log_success = "DHCP: Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" sqlippool_log_clear = "DHCP: Released IP %{Framed-IP-Address} (did %{Called-Station-Id} cli %{Calling-Station-Id} user %{User-Name})" - sqlippool_log_failed = "DHCP: IP Allocation FAILED from %{control:${..pool_name}} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" + sqlippool_log_failed = "DHCP: IP Allocation FAILED from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" - sqlippool_log_nopool = "DHCP: No ${..pool_name} defined (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" + sqlippool_log_nopool = "DHCP: No Pool-Name defined (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name})" } diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-mac2ip b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-mac2ip new file mode 100644 index 000000000..de2620bb7 --- /dev/null +++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-mac2ip @@ -0,0 +1,29 @@ +{% if helpers.exists('OPNsense.freeradius.general.dhcpenabled') and OPNsense.freeradius.general.dhcpenabled == '1' %} + +# -*- text -*- +# +# $Id: a4ead1d64e8220344b483718ece4712bef5e9e36 $ + +###################################################################### +# +# This next section is a sample configuration for the "passwd" +# module, that reads flat-text files. +# +# The file is in the format , +# +# 00:01:02:03:04:05,192.0.2.100 +# 01:01:02:03:04:05,192.0.2.101 +# 02:01:02:03:04:05,192.0.2.102 +# +# This lets you perform simple static IP assignments from a flat-text +# file. You will have to define lease times yourself. +# +###################################################################### + +passwd mac2ip { + filename = ${modconfdir}/${.:name}/${.:instance} + format = "*DHCP-Client-Hardware-Address:=DHCP-Your-IP-Address" + delimiter = "," +} + +{% endif %}