aboutsummaryrefslogtreecommitdiff
path: root/package/network/services/hostapd/files/radius.init
blob: 4c562c2473877e687486bf43c95670067708d269 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh /etc/rc.common

START=30

USE_PROCD=1
NAME=radius

radius_start() {
	local cfg="$1"

	config_get_bool disabled "$cfg" disabled 0

	[ "$disabled" -gt 0 ] && return

	config_get ca "$cfg" ca_cert
	config_get key "$cfg" key
	config_get cert "$cfg" cert
	config_get users "$cfg" users
	config_get clients "$cfg" clients
	config_get auth_port "$cfg" auth_port 1812
	config_get acct_port "$cfg" acct_port 1813
	config_get identity "$cfg" identity "$(cat /proc/sys/kernel/hostname)"

	procd_open_instance $cfg
	procd_set_param command /usr/sbin/hostapd-radius \
		-C "$ca" \
		-c "$cert" -k "$key" \
		-s "$clients" -u "$users" \
		-p "$auth_port" -P "$acct_port" \
		-i "$identity"
	procd_close_instance
}

start_service() {
	config_load radius
	config_foreach radius_start radius
}

service_triggers()
{
	procd_add_reload_trigger "radius"
}