Hello,
After much trying, I still cannot get sqlcounter to work.
##FROM RADIUSD.CONF
sqlcounter monthlycounter {
counter-name = Monthly-Session-Time
check-name = Max-Monthly-Session
sqlmod-inst = sql
key = User-Name
reset = 3m
(...comments)
query = "SELECT SUM(AcctSessionTime - GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)),
0)) FROM radacct WHERE UserName='%{%k}' AND
UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'"
(...blah)
authorize {
preprocess
suffix
sql
monthlycounter
}
### Finish of relevant stuff from radiusd.conf
Now, some interesting stuff from debug output:
rlm_sql: Driver rlm_sql_mysql loaded and linked
rlm_sql: Attempting to connect to root@localhost:/radius
rlm_sql: Connected new DB handle, #0
rlm_sql: Connected new DB handle, #1
rlm_sql: Connected new DB handle, #2
rlm_sql: Connected new DB handle, #3
rlm_sql: Connected new DB handle, #4
Module: Instantiated sql (sql)
Module: Loaded SQL Counter
sqlcounter: counter-name = "Monthly-Session-Time"
sqlcounter: check-name = "Max-Monthly-Session"
sqlcounter: key = "User-Name"
sqlcounter: sqlmod-inst = "sql"
sqlcounter: query = "SELECT SUM(AcctSessionTime - GREATEST((%b -
UNIX_TIMESTAMP(AcctStartTime)), 0)) FROM radacct WHERE UserName='%
{%k}' AND UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'"
sqlcounter: reset = "3m"
rlm_sqlcounter: Counter attribute Monthly-Session-Time is number 1060
rlm_sqlcounter: Check attribute Max-Monthly-Session is number 1061
rlm_sqlcounter: num=3, last=m
rlm_sqlcounter: Current Time: 1025127858, Next reset 1030849200
rlm_sqlcounter: num=3, last=m
rlm_sqlcounter: Current Time: 1025127858, Prev reset 1017630000
Module: Instantiated sqlcounter (monthlycounter)
########
Now some output from mysql:
mysql> select * from radcheck where username='surak';
+-----+----------+---------------------+------------------------------------+------+
| id | UserName | Attribute | Value | op |
+-----+----------+---------------------+------------------------------------+------+
| 164 | surak | Crypt-Password | ***************************** | := |
| 850 | surak | Max-Monthly-Session | 131321321321 | := |
+-----+----------+---------------------+------------------------------------+------+
##########
And now, again, from radius debug output:
###############
sql_set_user: escaped user --> 'surak'
radius_xlat: 'SELECT id,UserName,Attribute,Value FROM radcheck WHERE Username =
'surak' ORDER BY id'
rlm_sql: Reserving sql socket id: 4
radius_xlat: 'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value
FROM radgroupcheck,usergroup
WHERE usergroup.Username = 'surak' AND usergroup.GroupName = radgroupcheck.GroupName
ORDER BY radgroupcheck.id'
radius_xlat: 'SELECT id,UserName,Attribute,Value FROM radreply WHERE Username =
'surak' ORDER BY id'
radius_xlat: 'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value
FROM radgroupreply,usergroup WHERE
usergroup.Username = 'surak' AND usergroup.GroupName = radgroupreply.GroupName ORDER
BY radgroupreply.id'
rlm_sql: Pairs do not match [surak]
rlm_sql: Released sql socket id: 4
modcall[authorize]: module "sql" returns notfound
rlm_sqlcounter: Entering module authorize code
rlm_sqlcounter: Could not find Check item value pair
modcall[authorize]: module "monthlycounter" returns noop
modcall: group authorize returns ok
auth: No Auth-Type configuration for the request, rejecting the user
auth: Failed to validate the user.
Login incorrect: [surak/***********] (from client suporte port 0 cli 3112345678)
###############
Am I doing something wrong? Can someone help me?
(Oh yes, using 20020610 snapshot)
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html