On 10 Jul 2013, at 16:29, Phil Mayers <[email protected]> wrote:

> On 10/07/13 15:43, Arran Cudbard-Bell wrote:
> 
>> Update sections may now also return fail.
> 
> Can you clarify - AIUI, sql xlat can now also distinguish between empty and 
> fail, so if I do this:
> 
> update {
>  request:Tmp-String-0 := "%{sql:...}"
> }
> 
> ...and the SQL server is down, the xlat will fail and the update section as a 
> whole will fail? If so - very very cool.
> -

Yes. Errors bubble from sql_xlat up to the update section. If the value 
returned from the SQL statement is empty, a zero length attribute will be 
created, as with 2.x.x, provided that the statement completed successfully.

To support the above, all xlat functions now return an ssize_t, where >= 0 is 
success (length of data written to buffer), and < 0 is failure.

As of a couple of minutes ago, an update section will now return two RLM_* 
codes, RLM_MODULE_FAIL if something has actually failed and RLM_MODULE_INVALID 
if an attribute or list was referenced that doesn't exist in the current 
request.

-Arran

Arran Cudbard-Bell <[email protected]>
FreeRADIUS Development Team

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to