unlang question
Enrik Berkhan
enrik#freeradius at planb.de
Wed Jul 4 18:01:05 CEST 2007
Hi,
Currently, I'm playing with freeradius 2 to evaluate the new unlang
features (using CVS source from today).
I figured out the following setup for an unlang if-else construct
matching on a module return. I'm just wondering if this is the most
elegant solution currently possible. Comments welcome.
> server {
>
> authorize {
> if ("%{NAS-IP-Address}" == '') {
> update request {
> NAS-IP-Address = "%{Client-IP-Address}"
> }
> }
> auth_log
> users
> pap
> }
>
> authenticate {
> Auth-Type PAP {
> pap {
> ok = 1 # don't stop processing
> reject = 1
> }
> if (reject) {
> ok = 1 # preserve PAP result in case the if-clause evaluates to false
> update reply {
> Reply-Message := "Wrong PAP password."
> }
> }
> elsif (ok) {
> update reply {
> Reply-Message := "Welcome."
> }
> }
> }
> }
>
> }
Enrik
More information about the Freeradius-Devel
mailing list