Development
This commit is contained in:
parent
4f5f2a8071
commit
0d096a0d99
6 changed files with 175 additions and 33 deletions
|
|
@ -829,9 +829,14 @@
|
|||
"vlan": "vpn"
|
||||
}
|
||||
],
|
||||
"radius_options": {
|
||||
"mac_format": "aabbccddeeff",
|
||||
"apply_to": "all",
|
||||
"logging": false
|
||||
"free_radius": {
|
||||
"general": {
|
||||
"logging": false,
|
||||
"log_max_kb": 1024
|
||||
},
|
||||
"options": {
|
||||
"mac_format": "aabbccddeeff",
|
||||
"apply_to": "all"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1898,7 +1898,7 @@ def build_radius_users(data):
|
|||
Generate freeradius users file.
|
||||
Each MAC reservation across all VLANs gets an entry mapping it to its VLAN ID.
|
||||
Unknown MACs fall through to DEFAULT which returns the radius_default VLAN.
|
||||
MAC format and DEFAULT rule scope are read from radius_options in config.
|
||||
MAC format and DEFAULT rule scope are read from free_radius.options in config.
|
||||
"""
|
||||
default_vlan = next(
|
||||
(v for v in data["vlans"] if v.get("radius_default") is True), None
|
||||
|
|
@ -1906,9 +1906,9 @@ def build_radius_users(data):
|
|||
if default_vlan is None:
|
||||
die("No VLAN has radius_default: true. Cannot generate RADIUS users file.")
|
||||
|
||||
opts = data.get('radius_options', {})
|
||||
mac_fmt = opts.get('mac_format', 'aabbccddeeff')
|
||||
apply_to = opts.get('apply_to', 'all')
|
||||
fr_opts = data.get('free_radius', {}).get('options', {})
|
||||
mac_fmt = fr_opts.get('mac_format', 'aabbccddeeff')
|
||||
apply_to = fr_opts.get('apply_to', 'all')
|
||||
|
||||
lines = [
|
||||
"# Generated by core.py -- do not edit manually.",
|
||||
|
|
@ -1979,8 +1979,7 @@ def apply_radius(data):
|
|||
clients_content = build_radius_clients_conf(data, secret)
|
||||
users_content = build_radius_users(data)
|
||||
|
||||
opts = data.get('radius_options', {})
|
||||
logging = opts.get('logging', False)
|
||||
logging = data.get('free_radius', {}).get('general', {}).get('logging', False)
|
||||
|
||||
changed = _set_freeradius_log(logging)
|
||||
for path, content in [(RADIUS_CLIENTS_CONF, clients_content),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue