I am trying to write a query to look at peoples quota and change their speed biased on these details. So far I have:
if ("%{sql: SELECT radgroupcheck.value FROM radusergroup Inner Join radgroupcheck ON radusergroup.groupname = radgroupcheck.groupname WHERE radusergroup.username = '%{User-Name}' AND radgroupcheck.attribute = 'CS-Total-Octets-Monthly';}"<= "%{sql: SELECT SUM( AcctInputOctets + AcctOutputOctets) FROM radacct WHERE UserName='%{User-Name}' AND AcctStartTime > (DATE_SUB(CURDATE(),INTERVAL DAYOFMONTH(CURDATE())DAY));}"){
update reply {
Reply-Message := "You have reached your transfer limit. Limited bandwitch"
Cisco-AVPair := "lcp:interface-config#1=rate-limit output 524288 98304 196608 conform-action transmit exceed-action drop"
Cisco-AVPair := "lcp:interface-config#2=rate-limit input 524288 98304 196608 conform-action transmit exceed-action drop"
}
}
Issue I get is that I always get
Tue Oct 9 13:43:17 2012 : Info: ++- if ("%{sql: SELECT radgroupcheck.value FROM radusergroup Inner Join radgroupcheck ON radusergroup.groupname = radgroupcheck.groupname WHERE radusergroup.username = '%{User-Name}' AND radgroupcheck.attribute = 'CS-Total-Octets-Monthly';}"<= "%{sql: SELECT SUM( AcctInputOctets + AcctOutputOctets) FROM radacct WHERE UserName='%{User-Name}' AND AcctStartTime > (DATE_SUB(CURDATE(),INTERVAL DAYOFMONTH(CURDATE())DAY));}") returns ok
It doesn’t actualy update the reply biased on what the outcome is of the SQL query. Any help would be very much appreciated.