Hi, I've reviewed those manuals (users and unlang) and I think I've got the same way. My script sets into radgroupreply 2 differents values Session-Timeout or Reply-Message, when the script or exec module is finished. Then, in Post-Auth section I do the "update", like this: post-auth{ ..... exec update reply { Session-Timeout:="%{reply:Session-Timeout}" } } Post-Auth-Type REJECT { attr_filter.access_reject update reply { Reply-Message := "%{reply:Reply-Message}" } sql } I've set in all places (op into radgroupreply and those sentences) with ":=" operator mysql> select * from radgroupreply; +----+---------------+---------------------+----+------------+------+ | id | GroupName | Attribute | op | Value | prio | +----+---------------+---------------------+----+------------+------+ | 1 | Navega Gratis | Idle-Timeout | := | 300 | 0 | | 2 | Navega Gratis | Mikrotik-Rate-Limit | := | 128k/512k | 0 | | 4 | Navega12meses | Idle-Timeout | := | 300 | 0 | | 5 | Navega12meses | Mikrotik-Rate-Limit | := | 128k/6M | 0 | | 7 | NavegaMes | Idle-Timeout | := | 300 | 0 | | 8 | NavegaMes | Mikrotik-Rate-Limit | := | 128k/3M | 0 | | 10 | Navega Hoy | Idle-Timeout | := | 300 | 0 | | 11 | Navega Hoy | Mikrotik-Rate-Limit | := | 128k/3M | 0 | | 13 | Navega24horas | Idle-Timeout | := | 300 | 0 | | 14 | Navega24horas | Mikrotik-Rate-Limit | := | 128k/3072k | 0 | | 3 | Navega Gratis | Session-Timeout | := | 1800 | 0 | | 15 | Navega24horas | Session-Timeout | := | 8938 | 0 | | 9 | NavegaMes | Reply-Message | := | NULL | 0 | | 16 | Navega24horas | Reply-Message | := | NULL | 0 | | 12 | Navega Gratis | Reply-Message | := | NULL | 0 | | 17 | Navega12meses | Reply-Message | := | NULL | 0 | | 18 | Navega Hoy | Reply-Message | := | NULL | 0 | +----+---------------+---------------------+----+------------+------+ but the value is the same, the before one I've got a dude.I've proved Reply-Message:="%{reply:Reply-Message}}" but "%{reply:Reply-Message}}" is not the new value in Reply-Message I think, my problem is the new value is being saved into database and it's impossible get it again without a "select" query and I don't know how I can exit the value out the script. I'm trying to salve this value into a variable "Reply-Message" (however into the script is REPLY_MESSAGE). Also I'm playing with the return value of the program run, ie:with exit 1 (reject), exit 2 (fail)...and then I'll do a conditional if with Exit-Program...but unsuccessfully too Alan DeKok escribió:
bLn wrote:
My script returns 2 possible values: a) If all is correct (ie: an user has time and money to connect) then I set in Session-Timeout with the time available to this user b) If not, then I set Reply-Message with the exactly error.
Both of them are in radgroupreply in my database. For that, the value is previously cached in auth section and I can't refresh or update the new value after, in post-auth section
Yes, you can. See the documentation on the operators in "man users", or "man unlang". The ":=" operator is likely what you want.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html