So In the authorize section i tried to add an update directive where i define a variable which has the result of the sql query as value. Then i want to concatenate this variable with the value of the Pool-Name attribute as defined in the users file and set it as the new value of Pool-Name. I think this would work for what i want to do. update control { "%{MANA-DSL-Type}" = mysqldb:"SELECT value FROM radcheck WHERE attribute='Subscription-Type' AND username='%{User-Name}'" if ("%{MANA-DSL-Type}") { Pool-Name := "%{Pool-Name}""%{ADSL-Type}" } }Ugh.
good1. Forget custom dictionaries. Use already defined temporary attributes from freeradius internal dictionary (ie. Tmp-String-0,..., Tmp-Integer-0, ... etc.)
2. "%{}" goes around the value not attribute name:
Tmp-String-0 = "%{mysqldb:SELECT value FROM...}"
3. You can't put if inside the control section. You can put update
control inside if section.
update control {
read temporary value from the database
}
if(whatever) {
update control { ...
Ivan Kalik Kalik Informatika ISP - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html