I am facing some issues in making the rlm_sqlcounter worj with freeradius 2.1.9 . I am unable to understand that why the Wiki and the actual config files are different . The wiki link http://wiki.freeradius.org/Rlm_sqlcounter shows an example in which there is no Reply-Name whereas the sql/mysql/counter.conf shows a Reply-Name attribute.. The config part : radiusd.conf $INCLUDE ${confdir}/modules/ # Extensible Authentication Protocol # # For all EAP related authentications. # Now in another file, because it is very large. # $INCLUDE eap.conf # Include another file that has the SQL-related configuration. # This is another file only because it tends to be big. # $INCLUDE sql.conf # # This module is an SQL enabled version of the counter module. # # Rather than maintaining seperate (GDBM) databases of # accounting info for each counter, this module uses the data # stored in the raddacct table by the sql modules. This # module NEVER does any database INSERTs or UPDATEs. It is # totally dependent on the SQL module to process Accounting # packets. # $INCLUDE sql/mysql/counter.conf # # IP addresses managed in an SQL table. # $INCLUDE sqlippool.conf } instantiate { # # Allows the execution of external scripts. # The entire command line (and output) must fit into 253 bytes. # # e.g. Framed-Pool = `%{exec:/bin/echo foo}` exec # # The expression module doesn't do authorization, # authentication, or accounting. It only does dynamic # translation, of the form: # # Session-Timeout = `%{expr:2 + 3}` # # So the module needs to be instantiated, but CANNOT be # listed in any other section. See 'doc/rlm_expr' for # more information. # expr daily expiration logintime # # We add the counter module here so that it registers # the check-name attribute before any module which sets # it sql/mysql/counter.conf sqlcounter dailycounter { counter-name = Daily-Session-Time check-name = Max-Daily-Session reply-name = Session-Timeout sqlmod-inst = sql key = User-Name reset = daily query = "SELECT SUM(acctsessiontime - \ GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \ FROM radacct WHERE username = '%{%k}' AND \ UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'" } sqlcounter monthlycounter { counter-name = Monthly-Session-Time check-name = Max-Monthly-Session reply-name = Session-Timeout sqlmod-inst = sql key = User-Name reset = monthly query = "SELECT SUM(acctsessiontime - \ GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \ FROM radacct WHERE username='%{%k}' AND \ UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'" } sqlcounter noresetcounter { counter-name = Max-All-Session-Time check-name = Max-All-Session sqlmod-inst = sql key = User-Name reset = never query = "SELECT IFNULL(SUM(AcctSessionTime),0) FROM radacct WHERE UserName='%{%k}'" } sites-enabled/default authorize { .......... noresetcounter dailycounter monthlycounter daily } What bothers me is the Reply-Name defined is already instantiated by freeradius for daily counter. DB Scheme suman Max-Daily-Session := 10suman Expiration := 05 Mar 2012 23:59:59 NTRadPing Output Session-Timeour = 10 ( Which is Infact Correct ) But When i change the Max-Daily-Session to Max-Monthly-Session sumanMax-Monthly-Session:=10suman Expiration := 05 Mar 2012 23:59:59 NTRadPing Output Session-Timeour = 10 ( Which is Infact Correct ) But When i change the Max-Daily-Session to Max-Monthly-Session NTRadPing gives the total session timeout based on the user expiration date . Debug Log for Max-Daily-Session: Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 122.175.85.117 port 26130, id=39, length=59 User-Name = "suman" User-Password = "duman12" Calling-Station-Id = "001122334455" +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "suman", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] No EAP-Message, not doing EAP ++[eap] returns noop ++[unix] returns notfound ++[files] returns noop [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' rlm_sql (sql): Reserving sql socket id: 3 [sql] expand: SELECT id, username, attribute, value, op FROM tbl_check WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_check WHERE username = 'suman' ORDER BY id [sql] User found in radcheck table [sql] expand: SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = 'suman' ORDER BY id [sql] expand: SELECT groupname FROM tbl_usergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM tbl_usergroup WHERE username = 'suman' ORDER BY priority [sql] expand: SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = 'Biz1Mbps-UL' ORDER BY id [sql] User found in group Biz1Mbps-UL [sql] expand: SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = 'Biz1Mbps-UL' ORDER BY id rlm_sql (sql): Released sql socket id: 3 ++[sql] returns ok rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[noresetcounter] returns noop rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[monthlycounter] returns noop rlm_sqlcounter: Entering module authorize code sqlcounter_expand: 'SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = '%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200'' [dailycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = '%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' -> SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' sqlcounter_expand: '%{sql:SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200'}' [dailycounter] sql_xlat [dailycounter] expand: %{User-Name} -> suman [dailycounter] sql_set_user escaped user --> 'suman' [dailycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' -> SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' rlm_sql (sql): Reserving sql socket id: 2 rlm_sql_mysql: MYSQL check_error: 1146 received rlm_sql (sql): database query error, SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200': Table 'rdscrm.radacct' doesn't exist rlm_sql (sql): Released sql socket id: 2 [dailycounter] expand: %{sql:SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200'} -> rlm_sqlcounter: No integer found in string "" ++[dailycounter] returns noop rlm_counter: Entering module authorize code rlm_counter: Searching the database for key 'suman' rlm_counter: Could not find the requested key in the database. rlm_counter: Check item = 10, Count = 0 rlm_counter: res is greater than zero rlm_counter: (Check item - counter) is greater than zero rlm_counter: Authorized user suman, check_item=10, counter=0 rlm_counter: Sent Reply-Item for user suman, Type=Session-Timeout, value=10 ++[daily] returns ok rlm_checkval: Item Name: Calling-Station-Id, Value: 001122334455 rlm_checkval: Value Name: Calling-Station-Id, Value: 001122334455 ++[checkval] returns ok [expiration] Checking Expiration time: '05 Mar 2012 23:59:59' ++[expiration] returns ok ++[logintime] returns noop ++[pap] returns updated Found Auth-Type = PAP +- entering group PAP {...} [pap] login attempt with password "duman12" [pap] Using CRYPT encryption. [pap] User authenticated successfully ++[pap] returns ok +- entering group session {...} [radutmp] expand: /var/log/freeradius/radutmp -> /var/log/freeradius/radutmp [radutmp] expand: %{User-Name} -> suman ++[radutmp] returns ok +- entering group post-auth {...} rlm_sql (sql): Reserving sql socket id: 1 [sqlippool] expand: %{User-Name} -> suman [sqlippool] sql_set_user escaped user --> 'suman' [sqlippool] expand: START TRANSACTION -> START TRANSACTION [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '%{Nas-IP-Address}' -> UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '122.175.85.117' [sqlippool] expand: SELECT framedipaddress FROM tbl_ippool WHERE pool_name = '%{control:Pool-Name}' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE -> SELECT framedipaddress FROM tbl_ippool WHERE pool_name = 'main_pool' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '%{NAS-IP-Address}', pool_key = '%{NAS-Port}', callingstationid = '%{Calling-Station-Id}', username = '%{User-Name}', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.20' AND expiry_time IS NULL -> UPDATE tbl_ippool SET nasipaddress = '122.175.85.117', pool_key = '', callingstationid = '001122334455', username = 'suman', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.20' AND expiry_time IS NULL [sqlippool] Allocated IP 192.168.1.20 [1401a8c0] [sqlippool] expand: COMMIT -> COMMIT rlm_sql (sql): Released sql socket id: 1 [sqlippool] expand: Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name}) -> Allocated IP: 192.168.1.20 from main_pool (did cli 001122334455 port user suman) Allocated IP: 192.168.1.20 from main_pool (did cli 001122334455 port user suman) ++[sqlippool] returns ok [reply_log] expand: /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d -> /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d expands to /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] expand: %t -> Sat Mar 12 16:18:51 2011 ++[reply_log] returns ok [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' [sql] expand: %{User-Password} -> duman12 [sql] expand: INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( '%{User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S') -> INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:18:51') rlm_sql (sql) in sql_postauth: query is INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:18:51') rlm_sql (sql): Reserving sql socket id: 0 rlm_sql (sql): Released sql socket id: 0 ++[sql] returns ok ++[exec] returns noop Sending Access-Accept of id 39 to 122.175.85.117 port 26130 Framed-MTU := 1472 Reply-Message := "Welcome to Internet Services" Acct-Interim-Interval := 60 Framed-Compression := Van-Jacobson-TCP-IP Service-Type := Framed-User Framed-Protocol := PPP Idle-Timeout := 300 Mikrotik-Rate-Limit := "512k/1024k 1024k/2048k 512k/512k 30/30 1" Framed-IP-Netmask := 255.255.255.255 Session-Timeout = 10 Framed-IP-Address = 192.168.1.20 Finished request 0. Going to the next request Waking up in 4.9 seconds. Cleaning up request 0 ID 39 with timestamp +2 Ready to process requests. Debug Log for Max-Monthly-Session Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 122.175.85.117 port 26199, id=40, length=59 User-Name = "suman" User-Password = "duman12" Calling-Station-Id = "001122334455" +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "suman", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] No EAP-Message, not doing EAP ++[eap] returns noop ++[unix] returns notfound ++[files] returns noop [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' rlm_sql (sql): Reserving sql socket id: 3 [sql] expand: SELECT id, username, attribute, value, op FROM tbl_check WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_check WHERE username = 'suman' ORDER BY id [sql] User found in radcheck table [sql] expand: SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = 'suman' ORDER BY id [sql] expand: SELECT groupname FROM tbl_usergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM tbl_usergroup WHERE username = 'suman' ORDER BY priority [sql] expand: SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = 'Biz1Mbps-UL' ORDER BY id [sql] User found in group Biz1Mbps-UL [sql] expand: SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = 'Biz1Mbps-UL' ORDER BY id rlm_sql (sql): Released sql socket id: 3 ++[sql] returns ok rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[noresetcounter] returns noop rlm_sqlcounter: Entering module authorize code sqlcounter_expand: 'SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800'' [monthlycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' -> SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' sqlcounter_expand: '%{sql:SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800'}' [monthlycounter] sql_xlat [monthlycounter] expand: %{User-Name} -> suman [monthlycounter] sql_set_user escaped user --> 'suman' [monthlycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' -> SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' rlm_sql (sql): Reserving sql socket id: 2 rlm_sql_mysql: MYSQL check_error: 1146 received rlm_sql (sql): database query error, SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800': Table 'rdscrm.radacct' doesn't exist rlm_sql (sql): Released sql socket id: 2 [monthlycounter] expand: %{sql:SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800'} -> rlm_sqlcounter: No integer found in string "" ++[monthlycounter] returns noop rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[dailycounter] returns noop rlm_counter: Entering module authorize code rlm_counter: Could not find Check item value pair ++[daily] returns noop rlm_checkval: Item Name: Calling-Station-Id, Value: 001122334455 rlm_checkval: Value Name: Calling-Station-Id, Value: 001122334455 ++[checkval] returns ok [expiration] Checking Expiration time: '05 Mar 2012 23:59:59' ++[expiration] returns ok ++[logintime] returns noop ++[pap] returns updated Found Auth-Type = PAP +- entering group PAP {...} [pap] login attempt with password "duman12" [pap] Using CRYPT encryption. [pap] User authenticated successfully ++[pap] returns ok +- entering group session {...} [radutmp] expand: /var/log/freeradius/radutmp -> /var/log/freeradius/radutmp [radutmp] expand: %{User-Name} -> suman ++[radutmp] returns ok +- entering group post-auth {...} rlm_sql (sql): Reserving sql socket id: 1 [sqlippool] expand: %{User-Name} -> suman [sqlippool] sql_set_user escaped user --> 'suman' [sqlippool] expand: START TRANSACTION -> START TRANSACTION [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '%{Nas-IP-Address}' -> UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '122.175.85.117' [sqlippool] expand: SELECT framedipaddress FROM tbl_ippool WHERE pool_name = '%{control:Pool-Name}' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE -> SELECT framedipaddress FROM tbl_ippool WHERE pool_name = 'main_pool' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '%{NAS-IP-Address}', pool_key = '%{NAS-Port}', callingstationid = '%{Calling-Station-Id}', username = '%{User-Name}', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.28' AND expiry_time IS NULL -> UPDATE tbl_ippool SET nasipaddress = '122.175.85.117', pool_key = '', callingstationid = '001122334455', username = 'suman', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.28' AND expiry_time IS NULL [sqlippool] Allocated IP 192.168.1.28 [1c01a8c0] [sqlippool] expand: COMMIT -> COMMIT rlm_sql (sql): Released sql socket id: 1 [sqlippool] expand: Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name}) -> Allocated IP: 192.168.1.28 from main_pool (did cli 001122334455 port user suman) Allocated IP: 192.168.1.28 from main_pool (did cli 001122334455 port user suman) ++[sqlippool] returns ok [reply_log] expand: /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d -> /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d expands to /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] expand: %t -> Sat Mar 12 16:19:47 2011 ++[reply_log] returns ok [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' [sql] expand: %{User-Password} -> duman12 [sql] expand: INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( '%{User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S') -> INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:19:47') rlm_sql (sql) in sql_postauth: query is INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:19:47') rlm_sql (sql): Reserving sql socket id: 0 rlm_sql (sql): Released sql socket id: 0 ++[sql] returns ok ++[exec] returns noop Sending Access-Accept of id 40 to 122.175.85.117 port 26199 Framed-MTU := 1472 Reply-Message := "Welcome to Internet Services" Acct-Interim-Interval := 60 Framed-Compression := Van-Jacobson-TCP-IP Service-Type := Framed-User Framed-Protocol := PPP Idle-Timeout := 300 Mikrotik-Rate-Limit := "512k/1024k 1024k/2048k 512k/512k 30/30 1" Framed-IP-Netmask := 255.255.255.255 Session-Timeout = 31045212 Framed-IP-Address = 192.168.1.28 Finished request 0. Going to the next request Waking up in 4.9 seconds. Cleaning up request 0 ID 40 with timestamp +2 Ready to process requests.
Can anyone give me some pointers on how to get this work ? On Sat, Mar 12, 2011 at 4:24 PM, Suman Dash <sumandash@gmail.com> wrote:
I am facing some issues in making the rlm_sqlcounter worj with freeradius 2.1.9 . I am unable to understand that why the Wiki and the actual config files are different .
The wiki link http://wiki.freeradius.org/Rlm_sqlcounter shows an example in which there is no Reply-Name whereas the sql/mysql/counter.conf shows a Reply-Name attribute..
The config part :
radiusd.conf
$INCLUDE ${confdir}/modules/
# Extensible Authentication Protocol # # For all EAP related authentications. # Now in another file, because it is very large. # $INCLUDE eap.conf
# Include another file that has the SQL-related configuration. # This is another file only because it tends to be big. # $INCLUDE sql.conf
# # This module is an SQL enabled version of the counter module. # # Rather than maintaining seperate (GDBM) databases of # accounting info for each counter, this module uses the data # stored in the raddacct table by the sql modules. This # module NEVER does any database INSERTs or UPDATEs. It is # totally dependent on the SQL module to process Accounting # packets. # $INCLUDE sql/mysql/counter.conf
# # IP addresses managed in an SQL table. # $INCLUDE sqlippool.conf }
instantiate { # # Allows the execution of external scripts. # The entire command line (and output) must fit into 253 bytes. # # e.g. Framed-Pool = `%{exec:/bin/echo foo}` exec
# # The expression module doesn't do authorization, # authentication, or accounting. It only does dynamic # translation, of the form: # # Session-Timeout = `%{expr:2 + 3}` # # So the module needs to be instantiated, but CANNOT be # listed in any other section. See 'doc/rlm_expr' for # more information. # expr daily expiration logintime
# # We add the counter module here so that it registers # the check-name attribute before any module which sets # it
sql/mysql/counter.conf
sqlcounter dailycounter { counter-name = Daily-Session-Time check-name = Max-Daily-Session reply-name = Session-Timeout sqlmod-inst = sql key = User-Name reset = daily
query = "SELECT SUM(acctsessiontime - \ GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \ FROM radacct WHERE username = '%{%k}' AND \ UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'"
}
sqlcounter monthlycounter { counter-name = Monthly-Session-Time check-name = Max-Monthly-Session reply-name = Session-Timeout sqlmod-inst = sql key = User-Name reset = monthly
query = "SELECT SUM(acctsessiontime - \ GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \ FROM radacct WHERE username='%{%k}' AND \ UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'" }
sqlcounter noresetcounter { counter-name = Max-All-Session-Time check-name = Max-All-Session sqlmod-inst = sql key = User-Name reset = never query = "SELECT IFNULL(SUM(AcctSessionTime),0) FROM radacct WHERE UserName='%{%k}'" }
sites-enabled/default
authorize { .......... noresetcounter dailycounter monthlycounter daily } What bothers me is the Reply-Name defined is already instantiated by freeradius for daily counter.
DB Scheme
suman Max-Daily-Session := 10suman Expiration := 05 Mar 2012 23:59:59 NTRadPing Output
Session-Timeour = 10 ( Which is Infact Correct )
But When i change the Max-Daily-Session to Max-Monthly-Session
sumanMax-Monthly-Session:=10 suman Expiration := 05 Mar 2012 23:59:59 NTRadPing Output
Session-Timeour = 10 ( Which is Infact Correct )
But When i change the Max-Daily-Session to Max-Monthly-Session
NTRadPing gives the total session timeout based on the user expiration date .
Debug Log for Max-Daily-Session:
Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 122.175.85.117 port 26130, id=39, length=59 User-Name = "suman" User-Password = "duman12" Calling-Station-Id = "001122334455" +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "suman", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] No EAP-Message, not doing EAP ++[eap] returns noop ++[unix] returns notfound ++[files] returns noop [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' rlm_sql (sql): Reserving sql socket id: 3 [sql] expand: SELECT id, username, attribute, value, op FROM tbl_check WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_check WHERE username = 'suman' ORDER BY id [sql] User found in radcheck table [sql] expand: SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = 'suman' ORDER BY id [sql] expand: SELECT groupname FROM tbl_usergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM tbl_usergroup WHERE username = 'suman' ORDER BY priority [sql] expand: SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = 'Biz1Mbps-UL' ORDER BY id [sql] User found in group Biz1Mbps-UL [sql] expand: SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = 'Biz1Mbps-UL' ORDER BY id rlm_sql (sql): Released sql socket id: 3 ++[sql] returns ok rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[noresetcounter] returns noop rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[monthlycounter] returns noop rlm_sqlcounter: Entering module authorize code sqlcounter_expand: 'SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = '%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200'' [dailycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = '%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' -> SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' sqlcounter_expand: '%{sql:SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200'}' [dailycounter] sql_xlat [dailycounter] expand: %{User-Name} -> suman [dailycounter] sql_set_user escaped user --> 'suman' [dailycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' -> SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200' rlm_sql (sql): Reserving sql socket id: 2 rlm_sql_mysql: MYSQL check_error: 1146 received rlm_sql (sql): database query error, SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200': Table 'rdscrm.radacct' doesn't exist rlm_sql (sql): Released sql socket id: 2 [dailycounter] expand: %{sql:SELECT SUM(acctsessiontime - GREATEST((1299868200 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username = 'suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1299868200'} -> rlm_sqlcounter: No integer found in string "" ++[dailycounter] returns noop rlm_counter: Entering module authorize code rlm_counter: Searching the database for key 'suman' rlm_counter: Could not find the requested key in the database. rlm_counter: Check item = 10, Count = 0 rlm_counter: res is greater than zero rlm_counter: (Check item - counter) is greater than zero rlm_counter: Authorized user suman, check_item=10, counter=0 rlm_counter: Sent Reply-Item for user suman, Type=Session-Timeout, value=10 ++[daily] returns ok rlm_checkval: Item Name: Calling-Station-Id, Value: 001122334455 rlm_checkval: Value Name: Calling-Station-Id, Value: 001122334455 ++[checkval] returns ok [expiration] Checking Expiration time: '05 Mar 2012 23:59:59' ++[expiration] returns ok ++[logintime] returns noop ++[pap] returns updated Found Auth-Type = PAP +- entering group PAP {...} [pap] login attempt with password "duman12" [pap] Using CRYPT encryption. [pap] User authenticated successfully ++[pap] returns ok +- entering group session {...} [radutmp] expand: /var/log/freeradius/radutmp -> /var/log/freeradius/radutmp [radutmp] expand: %{User-Name} -> suman ++[radutmp] returns ok +- entering group post-auth {...} rlm_sql (sql): Reserving sql socket id: 1 [sqlippool] expand: %{User-Name} -> suman [sqlippool] sql_set_user escaped user --> 'suman' [sqlippool] expand: START TRANSACTION -> START TRANSACTION [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '%{Nas-IP-Address}' -> UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '122.175.85.117' [sqlippool] expand: SELECT framedipaddress FROM tbl_ippool WHERE pool_name = '%{control:Pool-Name}' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE -> SELECT framedipaddress FROM tbl_ippool WHERE pool_name = 'main_pool' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '%{NAS-IP-Address}', pool_key = '%{NAS-Port}', callingstationid = '%{Calling-Station-Id}', username = '%{User-Name}', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.20' AND expiry_time IS NULL -> UPDATE tbl_ippool SET nasipaddress = '122.175.85.117', pool_key = '', callingstationid = '001122334455', username = 'suman', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.20' AND expiry_time IS NULL [sqlippool] Allocated IP 192.168.1.20 [1401a8c0] [sqlippool] expand: COMMIT -> COMMIT rlm_sql (sql): Released sql socket id: 1 [sqlippool] expand: Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name}) -> Allocated IP: 192.168.1.20 from main_pool (did cli 001122334455 port user suman) Allocated IP: 192.168.1.20 from main_pool (did cli 001122334455 port user suman) ++[sqlippool] returns ok [reply_log] expand: /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d -> /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d expands to /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] expand: %t -> Sat Mar 12 16:18:51 2011 ++[reply_log] returns ok [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' [sql] expand: %{User-Password} -> duman12 [sql] expand: INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( '%{User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S') -> INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:18:51') rlm_sql (sql) in sql_postauth: query is INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:18:51') rlm_sql (sql): Reserving sql socket id: 0 rlm_sql (sql): Released sql socket id: 0 ++[sql] returns ok ++[exec] returns noop Sending Access-Accept of id 39 to 122.175.85.117 port 26130 Framed-MTU := 1472 Reply-Message := "Welcome to Internet Services" Acct-Interim-Interval := 60 Framed-Compression := Van-Jacobson-TCP-IP Service-Type := Framed-User Framed-Protocol := PPP Idle-Timeout := 300 Mikrotik-Rate-Limit := "512k/1024k 1024k/2048k 512k/512k 30/30 1" Framed-IP-Netmask := 255.255.255.255 Session-Timeout = 10 Framed-IP-Address = 192.168.1.20 Finished request 0. Going to the next request Waking up in 4.9 seconds. Cleaning up request 0 ID 39 with timestamp +2 Ready to process requests.
Debug Log for Max-Monthly-Session
Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 122.175.85.117 port 26199, id=40, length=59 User-Name = "suman" User-Password = "duman12" Calling-Station-Id = "001122334455" +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "suman", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] No EAP-Message, not doing EAP ++[eap] returns noop ++[unix] returns notfound ++[files] returns noop [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' rlm_sql (sql): Reserving sql socket id: 3 [sql] expand: SELECT id, username, attribute, value, op FROM tbl_check WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_check WHERE username = 'suman' ORDER BY id [sql] User found in radcheck table [sql] expand: SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM tbl_reply WHERE username = 'suman' ORDER BY id [sql] expand: SELECT groupname FROM tbl_usergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM tbl_usergroup WHERE username = 'suman' ORDER BY priority [sql] expand: SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, Value, op FROM tbl_groupcheck WHERE groupname = 'Biz1Mbps-UL' ORDER BY id [sql] User found in group Biz1Mbps-UL [sql] expand: SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, value, op FROM tbl_groupreply WHERE groupname = 'Biz1Mbps-UL' ORDER BY id rlm_sql (sql): Released sql socket id: 3 ++[sql] returns ok rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[noresetcounter] returns noop rlm_sqlcounter: Entering module authorize code sqlcounter_expand: 'SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800'' [monthlycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' -> SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' sqlcounter_expand: '%{sql:SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800'}' [monthlycounter] sql_xlat [monthlycounter] expand: %{User-Name} -> suman [monthlycounter] sql_set_user escaped user --> 'suman' [monthlycounter] expand: SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' -> SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800' rlm_sql (sql): Reserving sql socket id: 2 rlm_sql_mysql: MYSQL check_error: 1146 received rlm_sql (sql): database query error, SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800': Table 'rdscrm.radacct' doesn't exist rlm_sql (sql): Released sql socket id: 2 [monthlycounter] expand: %{sql:SELECT SUM(acctsessiontime - GREATEST((1298917800 - UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username='suman' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '1298917800'} -> rlm_sqlcounter: No integer found in string "" ++[monthlycounter] returns noop rlm_sqlcounter: Entering module authorize code rlm_sqlcounter: Could not find Check item value pair ++[dailycounter] returns noop rlm_counter: Entering module authorize code rlm_counter: Could not find Check item value pair ++[daily] returns noop rlm_checkval: Item Name: Calling-Station-Id, Value: 001122334455 rlm_checkval: Value Name: Calling-Station-Id, Value: 001122334455 ++[checkval] returns ok [expiration] Checking Expiration time: '05 Mar 2012 23:59:59' ++[expiration] returns ok ++[logintime] returns noop ++[pap] returns updated Found Auth-Type = PAP +- entering group PAP {...} [pap] login attempt with password "duman12" [pap] Using CRYPT encryption. [pap] User authenticated successfully ++[pap] returns ok +- entering group session {...} [radutmp] expand: /var/log/freeradius/radutmp -> /var/log/freeradius/radutmp [radutmp] expand: %{User-Name} -> suman ++[radutmp] returns ok +- entering group post-auth {...} rlm_sql (sql): Reserving sql socket id: 1 [sqlippool] expand: %{User-Name} -> suman [sqlippool] sql_set_user escaped user --> 'suman' [sqlippool] expand: START TRANSACTION -> START TRANSACTION [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '%{Nas-IP-Address}' -> UPDATE tbl_ippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE expiry_time <= NOW() - INTERVAL 1 SECOND AND nasipaddress = '122.175.85.117' [sqlippool] expand: SELECT framedipaddress FROM tbl_ippool WHERE pool_name = '%{control:Pool-Name}' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE -> SELECT framedipaddress FROM tbl_ippool WHERE pool_name = 'main_pool' AND expiry_time IS NULL ORDER BY RAND() LIMIT 1 FOR UPDATE [sqlippool] expand: UPDATE tbl_ippool SET nasipaddress = '%{NAS-IP-Address}', pool_key = '%{NAS-Port}', callingstationid = '%{Calling-Station-Id}', username = '%{User-Name}', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.28' AND expiry_time IS NULL -> UPDATE tbl_ippool SET nasipaddress = '122.175.85.117', pool_key = '', callingstationid = '001122334455', username = 'suman', expiry_time = NOW() + INTERVAL 180 SECOND WHERE framedipaddress = '192.168.1.28' AND expiry_time IS NULL [sqlippool] Allocated IP 192.168.1.28 [1c01a8c0] [sqlippool] expand: COMMIT -> COMMIT rlm_sql (sql): Released sql socket id: 1 [sqlippool] expand: Allocated IP: %{reply:Framed-IP-Address} from %{control:Pool-Name} (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} user %{User-Name}) -> Allocated IP: 192.168.1.28 from main_pool (did cli 001122334455 port user suman) Allocated IP: 192.168.1.28 from main_pool (did cli 001122334455 port user suman) ++[sqlippool] returns ok [reply_log] expand: /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d -> /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] /var/log/freeradius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d expands to /var/log/freeradius/radacct/122.175.85.117/reply-detail-20110312 [reply_log] expand: %t -> Sat Mar 12 16:19:47 2011 ++[reply_log] returns ok [sql] expand: %{User-Name} -> suman [sql] sql_set_user escaped user --> 'suman' [sql] expand: %{User-Password} -> duman12 [sql] expand: INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( '%{User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S') -> INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:19:47') rlm_sql (sql) in sql_postauth: query is INSERT INTO tbl_postauth (username, pass, reply, authdate) VALUES ( 'suman', 'duman12', 'Access-Accept', '2011-03-12 16:19:47') rlm_sql (sql): Reserving sql socket id: 0 rlm_sql (sql): Released sql socket id: 0 ++[sql] returns ok ++[exec] returns noop Sending Access-Accept of id 40 to 122.175.85.117 port 26199 Framed-MTU := 1472 Reply-Message := "Welcome to Internet Services" Acct-Interim-Interval := 60 Framed-Compression := Van-Jacobson-TCP-IP Service-Type := Framed-User Framed-Protocol := PPP Idle-Timeout := 300 Mikrotik-Rate-Limit := "512k/1024k 1024k/2048k 512k/512k 30/30 1" Framed-IP-Netmask := 255.255.255.255 Session-Timeout = 31045212 Framed-IP-Address = 192.168.1.28 Finished request 0. Going to the next request Waking up in 4.9 seconds. Cleaning up request 0 ID 40 with timestamp +2 Ready to process requests.
participants (1)
-
Suman Dash