b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | #!/bin/sh /etc/rc.common |
| 2 | |
| 3 | START=30 |
| 4 | |
| 5 | USE_PROCD=1 |
| 6 | NAME=radius |
| 7 | |
| 8 | radius_start() { |
| 9 | local cfg="$1" |
| 10 | |
| 11 | config_get_bool disabled "$cfg" disabled 0 |
| 12 | |
| 13 | [ "$disabled" -gt 0 ] && return |
| 14 | |
| 15 | config_get ca "$cfg" ca_cert |
| 16 | config_get key "$cfg" key |
| 17 | config_get cert "$cfg" cert |
| 18 | config_get users "$cfg" users |
| 19 | config_get clients "$cfg" clients |
| 20 | config_get auth_port "$cfg" auth_port 1812 |
| 21 | config_get acct_port "$cfg" acct_port 1813 |
| 22 | config_get identity "$cfg" identity "$(cat /proc/sys/kernel/hostname)" |
| 23 | |
| 24 | procd_open_instance $cfg |
| 25 | procd_set_param command /usr/sbin/hostapd-radius \ |
| 26 | -C "$ca" \ |
| 27 | -c "$cert" -k "$key" \ |
| 28 | -s "$clients" -u "$users" \ |
| 29 | -p "$auth_port" -P "$acct_port" \ |
| 30 | -i "$identity" |
| 31 | procd_close_instance |
| 32 | } |
| 33 | |
| 34 | start_service() { |
| 35 | config_load radius |
| 36 | config_foreach radius_start radius |
| 37 | } |
| 38 | |
| 39 | service_triggers() |
| 40 | { |
| 41 | procd_add_reload_trigger "radius" |
| 42 | } |