Compile-time parsing of expansions
Alan DeKok
aland at deployingradius.com
Fri Mar 21 16:57:37 CET 2014
We now have more compile-time syntax checks. This means that the
server will complain if you get something wrong, and refuse to start.
Right now, it gets a run-time error when it parses the string. That is
rather hard to see when it's running as a daemon...
--------------------
https://github.com/FreeRADIUS/freeradius-server/commit/e4daaf2ceb58cb988492e602e7c2d399dd007fdd
Check RHS of update sections in pass2, for xlat syntax
so:
update reply {
Filter-Id := "%{foo: bar}"
}
Will now get:
...Failed parsing expanded string %{foo: bar}
^ Unknown module
---
MUCH nicer. And only ~50 lines of code, too.
The next set of changes cache the pre-compiled xlat structure. This
means that the run-time is slightly faster, as it doesn't have to
re-parse the "%{foo: bar}" string for every single packet.
Alan DeKok.
More information about the Freeradius-Devel
mailing list