1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2006-2011 OpenWrt.org
7 PROG=/usr/sbin/radsecproxy
8 CONFFILE=/var/etc/radsecproxy.conf
17 config_get value "$section" "$param"
19 param=$(echo $param | tr [A-Z] [a-z])
20 config_get value "$section" "$param"
23 for value in $value; do
24 [ -n "$value" ] && echo " $param '$value'" >> "$CONFFILE"
36 config_get_bool value "$section" "$param"
38 param=$(echo $param | tr [A-Z] [a-z])
39 config_get_bool value "$section" "$param"
42 [ "$value" -eq 0 ] && echo " $param off" >> "$CONFFILE"
43 [ "$value" -eq 1 ] && echo " $param on" >> "$CONFFILE"
48 radsecproxy_options() {
50 append_params "$cfg" \
51 Include PidFile LogLevel LogDestination FTicksReporting FTicksMAC FTicksKey \
52 FTicksSyslogFacility ListenUDP ListenTCP ListenTLS ListenDTLS SourceUDP \
53 SourceTCP SourceTLS SourceDTLS TTLAttribute AddTTL
55 LoopPrevention IPv4Only IPv6Only
61 config_get name "$cfg" name
62 echo "tls '$name' {" >> "$CONFFILE"
63 append_params "$cfg" \
64 Include CACertificateFile CACertificatePath certificateFile certificateKeyFile \
65 certificateKeyPassword cacheExpiry policyOID
68 echo "}" >> "$CONFFILE"
74 config_get name "$cfg" name
75 echo "rewrite '$name' {" >> "$CONFFILE"
76 append_params "$cfg" \
77 Include addAttribute addVendorAttribute removeAttribute removeVendorAttribute \
79 echo "}" >> "$CONFFILE"
85 config_get name "$cfg" name
86 echo "client '$name' {" >> "$CONFFILE"
87 append_params "$cfg" \
88 Include host type secret tls matchCertificateAttribute duplicateInterval \
89 AddTTL fticksVISCOUNTRY fticksVISINST rewrite rewriteIn rewriteOut \
92 IPv4Only IPv6Only certificateNameCheck
93 echo "}" >> "$CONFFILE"
99 config_get name "$cfg" name
100 echo "server '$name' {" >> "$CONFFILE"
101 append_params "$cfg" \
102 Include host port type secret tls matchCertificateAttribute \
103 AddTTL rewrite rewriteIn rewriteOut retryCount dynamicLookupCommand \
105 append_bools "$cfg" \
106 IPv4Only IPv6Only certificateNameCheck statusServer LoopPrevention
107 echo "}" >> "$CONFFILE"
113 config_get name "$cfg" name
114 echo "realm '$name' {" >> "$CONFFILE"
115 append_params "$cfg" \
116 Include server accountingServer replyMessage
117 append_bools "$cfg" \
119 echo "}" >> "$CONFFILE"
123 mkdir -p $(dirname $CONFFILE)
124 echo "# auto-generated config file from /etc/config/radsecproxy" > $CONFFILE
125 config_load 'radsecproxy'
126 config_foreach radsecproxy_options options
127 config_foreach tls_block tls
128 config_foreach rewrite_block rewrite
129 config_foreach client_block client
130 config_foreach server_block server
131 config_foreach realm_block realm
134 procd_set_param command $PROG -f -c $CONFFILE
135 procd_set_param file $CONFFILE
136 procd_set_param respawn
141 procd_add_reload_trigger 'radsecproxy'