disappearing configuration items in unlang
Hugh Messenger
hugh at alaweb.com
Wed Jul 4 18:25:25 CEST 2007
Alan DeKok <aland at deployingradius.com> wrote
> Hugh Messenger wrote:
> > If I wrap an 'if' statement round something (in this case a query in
> > mysql_dialup.conf), any config items seem to get blown away.
>
> You can't. "if" is a processing directive that is valid only when
> packets are being processed. The configuration items are parsed once
> when the server starts, and don't change after that.
>
> > So for instance:
>
> It would be very nice to be able to do that, but it would also be very
> difficult to implement.
It would be very nice, and very intuitive. How hard would it be to just
provide that one simple construct ("if <config item related condition> {}")
during parsing of the startup config? No need for the whole of unlang.
More of an 'ifdef' style pre-processing directive than an integrated part of
the language.
I know you have bigger fish to fry at the moment, just a thought for the
future.
> The solution is to add a layer of indirection:
>
> authorize_reply_query = "%{control:Tmp-String-0}"
>
> Then, while processing the request, set:
>
> update control {
> Tmp-String-0 = "..."
> }
>
> That *should* work, I think.
I'll let you know.
> Alan DeKok.
-- hugh
More information about the Freeradius-Users
mailing list