diff --git a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/dialogEditFreeRADIUSUser.xml b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/dialogEditFreeRADIUSUser.xml index c6f714a99..b92100f7a 100644 --- a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/dialogEditFreeRADIUSUser.xml +++ b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/forms/dialogEditFreeRADIUSUser.xml @@ -35,6 +35,20 @@ text Subnet to receive, e.g. 255.255.255.0 + + user.route + + + select_multiple + true + Add routes in CIDR notation, e.g. 192.168.2.0/24. Multiple entries are allowed + + + user.ip6 + + text + Set the IPv6 address the user should receive. + user.vlan diff --git a/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/User.xml b/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/User.xml index cc803cbb1..3951c3ab6 100644 --- a/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/User.xml +++ b/net/freeradius/src/opnsense/mvc/app/models/OPNsense/Freeradius/User.xml @@ -1,7 +1,7 @@ //OPNsense/freeradius/user FreeRADIUS user configuration - 1.0.0 + 1.0.1 @@ -28,6 +28,13 @@ N /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ + + N + /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2},)*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2})$/ + + + N + N 1 diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users index 188af107f..2e9272f1d 100644 --- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users +++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users @@ -5,19 +5,44 @@ {% if user_list.enabled == '1' %} {{ user_list.username }} Cleartext-Password := "{{ user_list.password }}"{% if user_list.sessionlimit_max_session_limit is defined %}, Max-Daily-Session := {{ user_list.sessionlimit_max_session_limit }}{% endif %} - Framed-Protocol = PPP{% if user_list.ip is defined %}, - Framed-IP-Address = {{ user_list.ip }}{% endif %}{% if user_list.subnet is defined %}, - Framed-IP-Netmask = {{ user_list.subnet }}{% endif %}{% if user_list.vlan is defined %}, +{% if user_list.ip is defined %} + Framed-IP-Address = {{ user_list.ip }}, +{% endif %} +{% if user_list.subnet is defined %} + Framed-IP-Netmask = {{ user_list.subnet }}, +{% endif %} +{% if user_list.route is defined %} +{% for network in user_list.route.split(',') %} + Framed-Route += "{{ network }}", +{% endfor %} +{% endif %} +{% if user_list.ip6 is defined %} + Framed-IPv6-Address = {{ user_list.ip6 }}, +{% endif %} +{% if user_list.vlan is defined %} Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, - Tunnel-Private-Group-Id = {{ user_list.vlan }}{% endif %}{% if user_list.wispr_bw_min_up is defined %}, - WISPr-Bandwidth-Min-Up = {{ user_list.wispr_bw_min_up }}{% endif %}{% if user_list.wispr_bw_max_up is defined %}, - WISPr-Bandwidth-Max-Up = {{ user_list.wispr_bw_max_up }}{% endif %}{% if user_list.wispr_bw_min_down is defined %}, - WISPr-Bandwidth-Min-Down = {{ user_list.wispr_bw_min_down }}{% endif %}{% if user_list.wispr_bw_max_down is defined %}, - WISPr-Bandwidth-Max-Down = {{ user_list.wispr_bw_max_down }}{% endif %}{% if user_list.chillispot_bw_max_up is defined %}, - ChilliSpot-Bandwidth-Max-Up = {{ user_list.chillispot_bw_max_up }}{% endif %}{% if user_list.chillispot_bw_max_down is defined %}, - ChilliSpot-Bandwidth-Max-Down = {{ user_list.chillispot_bw_max_down }} + Tunnel-Private-Group-Id = {{ user_list.vlan }}, {% endif %} +{% if user_list.wispr_bw_min_up is defined %} + WISPr-Bandwidth-Min-Up = {{ user_list.wispr_bw_min_up }}, +{% endif %} +{% if user_list.wispr_bw_max_up is defined %} + WISPr-Bandwidth-Max-Up = {{ user_list.wispr_bw_max_up }}, +{% endif %} +{% if user_list.wispr_bw_min_down is defined %} + WISPr-Bandwidth-Min-Down = {{ user_list.wispr_bw_min_down }}, +{% endif %} +{% if user_list.wispr_bw_max_down is defined %} + WISPr-Bandwidth-Max-Down = {{ user_list.wispr_bw_max_down }}, +{% endif %} +{% if user_list.chillispot_bw_max_up is defined %} + ChilliSpot-Bandwidth-Max-Up = {{ user_list.chillispot_bw_max_up }}, +{% endif %} +{% if user_list.chillispot_bw_max_down is defined %} + ChilliSpot-Bandwidth-Max-Down = {{ user_list.chillispot_bw_max_down }}, +{% endif %} + Framed-Protocol = PPP {% endif %}