hostapd: add experimental radius server
[openwrt/openwrt.git] / package / network / services / hostapd / files / radius.init
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 }