On 13/09/11 08:59, Fajar A. Nugraha wrote:


That's what we currently do (for another purpose, not for dynamic
client). However:
- I lost load-balancing feature that comes with redundant-load-balance
- imagine having to create 8 if-elsif block to properly catch error
when working with 8 sql nodes, and write the same sql query 8 times in
the configuration file. Works, but kinda messy.

With current sql module (that only reads nas list from sql during
startup/HUP) I can use one sql/mysql/*.conf to specify the query, and
have each sql instance $INCLUDE it. If we can do similar thing with
"%{sql:" expansion (e.g. store the query in some temporary internal
variable/attribute) it'd be reduce the measiness greatly, but I
haven't found out how to do it yet.

You can't. It's not currently possible, and would require changes to the source code.

Basically, the internal functions that handle xlat in FreeRADIUS do not have a way to signal error status, e.g. "notfound", "updated" etc. because they have a single integer return value that is the "length" of the xlat once done. 0 might mean "failed" or it might mean "empty string".

Changing this would involve a lot of (very small) source code changes. I'm sure a patch would be accepted if you would care to write one :o)
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to