Unlang Condition Wrong Value !

Suman Dash sumandash at gmail.com
Mon Aug 8 09:32:48 CEST 2011


So it is not possible to store values more than 32 bit in Tmp-Integer.
How about direct sql statements in Unlang not involving the
Tmp-Integer. It is also not working in my scenario.

Attached is the logs.


Going to the next request
Ready to process requests.
rad_recv: Access-Request packet from host xxx.xx.xx.xx port 60642,
id=55, length=132
        Service-Type = Framed-User
        Framed-Protocol = PPP
        NAS-Port = 60
        NAS-Port-Type = Ethernet
        User-Name = "10021"
        Calling-Station-Id = "F4:EC:38:BA:8A:3B"
        Called-Station-Id = "Internet"
        NAS-Port-Id = "LAN"
        User-Password = "10021"
        NAS-Identifier = "NTL.XXXXX"
        NAS-IP-Address = xxx.xx.xx.xx
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+- entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = "10021", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
[files] users: Matched entry DEFAULT at line 172
++[files] returns ok
[sql]   expand: %{User-Name} -> 10021
[sql] sql_set_user escaped user --> '10021'
rlm_sql (sql): Reserving sql socket id: 1
[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 = '10021'           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 = '10021'           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
= '10021'           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 =
'TEST-10G'           ORDER BY id
[sql] User found in group TEST-10G
[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 =
'TEST-10G'           ORDER BY id
rlm_sql (sql): Released sql socket id: 1
++[sql] returns ok
rlm_checkval: Item Name: Calling-Station-Id, Value: F4:EC:38:BA:8A:3B
rlm_checkval: Value Name: Calling-Station-Id, Value: F4:EC:38:BA:8A:3B
++[checkval] returns ok
[expiration] Checking Expiration time: '1 Sep 2011'
++[expiration] returns ok
++[logintime] returns noop
++[pap] returns updated
Found Auth-Type = PAP
# Executing group from file /etc/freeradius/sites-enabled/default
+- entering group PAP {...}
[pap] login attempt with password "xxxxx"
[pap] Using CRYPT password "Wh1vvjSX72NI6"
[pap] User authenticated successfully
++[pap] returns ok
# Executing section session from file /etc/freeradius/sites-enabled/default
+- entering group session {...}
[radutmp]       expand: /var/log/freeradius/radutmp ->
/var/log/freeradius/radutmp
[radutmp]       expand: %{User-Name} -> 10021
++[radutmp] returns ok
# Executing section post-auth from file /etc/freeradius/sites-enabled/default
+- entering group post-auth {...}
[sql]   expand: %{User-Name} -> 10021
[sql] sql_set_user escaped user --> '10021'
[sql]   expand: %{User-Password} -> xxxxx
[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 (                           '10021',
 '10021',                           'Access-Accept', '2011-08-08
01:31:49')
rlm_sql (sql) in sql_postauth: query is INSERT INTO tbl_postauth
                    (username, pass, reply, authdate)
         VALUES (                           '10021',
        '10021',                           'Access-Accept',
'2011-08-08 01:31:49')
rlm_sql (sql): Reserving sql socket id: 0
rlm_sql (sql): Released sql socket id: 0
++[sql] returns ok
++? if ("%{sql:SELECT tbl_groupcheck.value from tbl_groupcheck JOIN
tbl_usergroup on tbl_groupcheck.groupname = tbl_usergroup.groupname
WHERE tbl_usergroup.username = '%{User-Name}'}" > "%{sql:SELECT
IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0)
FROM tbl_acct WHERE UserName='%{User-Name}' AND MONTH(acctstoptime) =
MONTH(NOW()) AND YEAR(acctstoptime) = YEAR(NOW())}")
sql_xlat
        expand: %{User-Name} -> 10021
sql_set_user escaped user --> '10021'
        expand: SELECT tbl_groupcheck.value from tbl_groupcheck JOIN
tbl_usergroup on tbl_groupcheck.groupname = tbl_usergroup.groupname
		WHERE tbl_usergroup.username = '%{User-Name}' -> SELECT
tbl_groupcheck.value from tbl_groupcheck
		JOIN tbl_usergroup on tbl_groupcheck.groupname =
tbl_usergroup.groupname WHERE tbl_usergroup.username = '10021'
rlm_sql (sql): Reserving sql socket id: 4
sql_xlat finished
rlm_sql (sql): Released sql socket id: 4
        expand: %{sql:SELECT tbl_groupcheck.value from tbl_groupcheck
JOIN tbl_usergroup on tbl_groupcheck.groupname =
tbl_usergroup.groupname
		WHERE tbl_usergroup.username = '%{User-Name}'} -> 23737418240
sql_xlat
        expand: %{User-Name} -> 10021
sql_set_user escaped user --> '10021'
        expand: SELECT
IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0) FROM tbl_acct
		WHERE UserName='%{User-Name}' AND MONTH(acctstoptime) = MONTH(NOW())
AND YEAR(acctstoptime) = YEAR(NOW())
		-> SELECT IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0) FROM
tbl_acct WHERE UserName='10021'
		AND MONTH(acctstoptime) = MONTH(NOW()) AND YEAR(acctstoptime) = YEAR(NOW())
rlm_sql (sql): Reserving sql socket id: 3
sql_xlat finished
rlm_sql (sql): Released sql socket id: 3
        expand: %{sql:SELECT
IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0) FROM tbl_acct
WHERE UserName='%{User-Name}'
		AND MONTH(acctstoptime) = MONTH(NOW()) AND YEAR(acctstoptime) =
YEAR(NOW())} -> 21093361889
? Evaluating ("%{sql:SELECT tbl_groupcheck.value from tbl_groupcheck
JOIN tbl_usergroup on tbl_groupcheck.groupname =
tbl_usergroup.groupname
			WHERE tbl_usergroup.username = '%{User-Name}'}" > "%{sql:SELECT
IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0)
			FROM tbl_acct WHERE UserName='%{User-Name}' AND MONTH(acctstoptime)
= MONTH(NOW()) AND YEAR(acctstoptime) = YEAR(NOW())}") -> FALSE
++? if ("%{sql:SELECT tbl_groupcheck.value from tbl_groupcheck JOIN
tbl_usergroup on tbl_groupcheck.groupname = tbl_usergroup.groupname
			WHERE tbl_usergroup.username = '%{User-Name}'}" > "%{sql:SELECT
IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0)
			FROM tbl_acct WHERE UserName='%{User-Name}' AND MONTH(acctstoptime)
= MONTH(NOW()) AND YEAR(acctstoptime) = YEAR(NOW())}") -> FALSE
++[exec] returns noop
Sending Access-Accept of id 55 to xxx.xx.xx.xx port 60642
        Framed-Protocol := PPP
        Framed-Compression := Van-Jacobson-TCP-IP
        Framed-MTU := 1472
        Idle-Timeout := 300
        Reply-Message := "Welcome to Internet Services"
        Mikrotik-Rate-Limit := "512K/2048K 512K/2048K 512K/2048K 180/180 8"
        Framed-Netmask := 255.255.255.0
        Session-Timeout = 2068091
Finished request 2.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host xxx.xx.xx.xx port 40276,
id=56, length=154
        Service-Type = Framed-User
        Framed-Protocol = PPP
        NAS-Port = 60
        NAS-Port-Type = Ethernet
        User-Name = "10021"
        Calling-Station-Id = "F4:EC:38:BA:8A:3B"
        Called-Station-Id = "iBroadNet Internet"
        NAS-Port-Id = "LAN"
        Acct-Session-Id = "81800038"
        Framed-IP-Address = 172.16.11.250
        Acct-Authentic = RADIUS
        Event-Timestamp = "Aug  8 2011 01:31:47 IST"
        Acct-Status-Type = Start
        NAS-Identifier = "NTL.xxxxx"
        NAS-IP-Address = xxx.xx.xx.xx
        Acct-Delay-Time = 0
# Executing section preacct from file /etc/freeradius/sites-enabled/default
+- entering group preacct {...}
++[preprocess] returns ok
[acct_unique] Hashing 'NAS-Port = 60,Client-IP-Address =
xxx.xx.xx.xx,NAS-IP-Address = xxx.xx.xx.xx,Acct-Session-Id =
"81800038",User-Name = "10021"'
[acct_unique] Acct-Unique-Session-ID = "840514b78a2e0def".
++[acct_unique] returns ok
[suffix] No '@' in User-Name = "10021", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
++[files] returns noop
# Executing section accounting from file /etc/freeradius/sites-enabled/default
+- entering group accounting {...}
[detail]        expand:
/var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d ->
/var/log/freeradius/radacct/xxx.xx.xx.xx/detail-20110808
[detail] /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d
expands to /var/log/freeradius/radacct/xxx.xx.xx.xx/detail-20110808
[detail]        expand: %t -> Mon Aug  8 01:31:49 2011
++[detail] returns ok
++[unix] returns ok
[radutmp]       expand: /var/log/freeradius/radutmp ->
/var/log/freeradius/radutmp
[radutmp]       expand: %{User-Name} -> 10021
++[radutmp] returns ok
[sql]   expand: %{User-Name} -> 10021
[sql] sql_set_user escaped user --> '10021'
[sql]   expand: %{Acct-Delay-Time} -> 0
[sql]   expand:            INSERT INTO tbl_acct
(acctsessionid,    acctuniqueid,     username,              realm,
       nasipaddress,     nasportid,              nasporttype,
acctstarttime,    acctstoptime,              acctsessiontime,
acctauthentic,    connectinfo_start,              connectinfo_stop,
acctinputoctets,  acctoutputoctets,              calledstationid,
callingstationid, acctterminatecause,              servicetype,
framedprotocol,   framedipaddress,              acctstartdelay,
acctstopdelay,    xascendsessionsvrkey)           VALUES
('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',
'%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}',
'%{NAS-Port}',              '%{NAS-Port-Type}', '%S', NULL,
  '0', '%{Acct-Authentic}', '%{Connect-Info}',              '', '0',
'0',              '%{Called-Station-Id}', '%{Calling-Station-Id}', '',
             '%{Service-Type}', '%{Framed-Protocol}',
'%{Framed-IP-Address}',
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql (sql): Released sql socket id: 2
++[sql] returns ok
++[exec] returns noop
[attr_filter.accounting_response]       expand: %{User-Name} -> 10021
 attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] returns updated
Sending Accounting-Response of id 56 to xxx.xx.xx.xx port 40276
Finished request 3.
Cleaning up request 3 ID 56 with timestamp +17
Going to the next request
Waking up in 4.8 seconds.

The condition outputs 23737418240 > 21093361889 RETURNS FALSE .

On Mon, Aug 8, 2011 at 12:51 PM, Arran Cudbard-Bell
<a.cudbardb at freeradius.org> wrote:
> RFC 2865:
>
>      integer   32 bit unsigned value, most significant octet first.
>
> FreeRADIUS is just a RADIUS server, and the temporary integer attributes are just RADIUS attributes.
>
> -Arran
>
>
>
> On 8 Aug 2011, at 09:11, Suman Dash wrote:
>
>> I am trying to replace sqlcounter with Unland expression in Post Auth
>> Section. The values are successfully called but while storing in
>> Tmp-Interger those are stripped. Below are the logs .
>> As you can see from the logs that Mysql returns a value of 20989570594
>> But it's stored as 3557549056 for Tmp-Integer-0
>>
>> The same happens to Tmp-Integer-1 due to which the expression output
>> becomes FALSE instead of TRUE.
>>
>> Is this the limitation of Tmp-Integer as it is an 32bit int ?
>>
>> ##Post-Auth Section
>>
>> sql
>> update control    {
>>                            Tmp-Integer-0 := "%{sql:SELECT
>> IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0) \
>>                                                FROM tbl_acct WHERE
>> UserName='%{User-Name}' \
>>                                                AND
>> MONTH(acctstoptime) = MONTH(NOW()) \
>>                                                AND YEAR(acctstoptime)
>> = YEAR(NOW())}"
>>                            Tmp-Integer-1 := "%{sql:SELECT
>> tbl_groupcheck.value from tbl_groupcheck \
>>                                                JOIN tbl_usergroup on
>> tbl_groupcheck.groupname = tbl_usergroup.groupname \
>>                                                where
>> tbl_usergroup.username = '%{User-Name}'}"
>>                          }
>>                if ("%{control:Tmp-Integer-1}" > "%{control:Tmp-Integer-0}") {
>>                                update reply {
>>                                        Mikrotik-Recv-Limit :=
>> "%{control:Tmp-Integer-1}" - "%{control:Tmp-Integer-0}"
>>                                             }
>>                                                                             }
>>                if ("%{control:Tmp-Integer-1}" <= "%{control:Tmp-Integer-0}") {
>>                                update reply {
>>                                        Reply-Message := "Fair Usage
>> Policy Enforced, Bandwidth Limited"
>>                                        Mikrotik-Rate-Limit :=
>> "128K/256K 128K/256K 128K/256K 180/180 8"
>>                                             }
>>                                                                              }
>> ##MySQL Table
>>
>> mysql> SELECT IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0)
>> ->     FROM tbl_acct WHERE UserName='10021'
>> ->     AND MONTH(acctstoptime) = MONTH(NOW())
>> ->     AND YEAR(acctstoptime) = YEAR(NOW());
>>
>> +------------------------------------------------------+
>> | IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0) |
>> +------------------------------------------------------+
>> |                                          20989570594 |
>> +------------------------------------------------------+
>> 1 row in set (0.00 sec)
>>
>> mysql> SELECT tbl_groupcheck.value from tbl_groupcheck
>> ->            JOIN tbl_usergroup on tbl_groupcheck.groupname = tbl_usergroup.groupname
>> ->            where tbl_usergroup.username = '10021';
>>
>> +-------------+
>> | value       |
>> +-------------+
>> | 20737418240 |
>> +-------------+
>> 1 row in set (0.00 sec)
>>
>>
>> ##RADIUS DEBUG LOG
>>
>>
>> Finished request 4.
>> Cleaning up request 4 ID 176 with timestamp +15
>> Going to the next request
>> Ready to process requests.
>> rad_recv: Access-Request packet from host XXX.XX.XX.86 port 44198,
>> id=236, length=132
>>        Service-Type = Framed-User
>>        Framed-Protocol = PPP
>>        NAS-Port = 56
>>        NAS-Port-Type = Ethernet
>>        User-Name = "10021"
>>        Calling-Station-Id = "XX:XX:XX:XX:XX:XX"
>>        Called-Station-Id = "Internet"
>>        NAS-Port-Id = "LAN"
>>        User-Password = "10021"
>>        NAS-Identifier = "XXX.XXXXXXX"
>>        NAS-IP-Address = XXX.XX.XX.86
>> # Executing section authorize from file /etc/freeradius/sites-enabled/default
>> +- entering group authorize {...}
>> ++[preprocess] returns ok
>> ++[chap] returns noop
>> ++[mschap] returns noop
>> ++[digest] returns noop
>> [suffix] No '@' in User-Name = "10021", looking up realm NULL
>> [suffix] No such realm "NULL"
>> ++[suffix] returns noop
>> [eap] No EAP-Message, not doing EAP
>> ++[eap] returns noop
>> [files] users: Matched entry DEFAULT at line 172
>> ++[files] returns ok
>> [sql]   expand: %{User-Name} -> 10021
>> [sql] sql_set_user escaped user --> '10021'
>> 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 = '10021'           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 = '10021'           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
>> = '10021'           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 =
>> 'TEST-10G'           ORDER BY id
>> [sql] User found in group TEST-10G
>> [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 =
>> 'TEST-10G'           ORDER BY id
>> rlm_sql (sql): Released sql socket id: 3
>> ++[sql] returns ok
>> rlm_checkval: Item Name: Calling-Station-Id, Value: XX:XX:XX:BA:8A:3B
>> rlm_checkval: Value Name: Calling-Station-Id, Value: XX:XX:XX:BA:8A:3B
>> ++[checkval] returns ok
>> [expiration] Checking Expiration time: '1 Sep 2011'
>> ++[expiration] returns ok
>> ++[logintime] returns noop
>> ++[pap] returns updated
>> Found Auth-Type = PAP
>> # Executing group from file /etc/freeradius/sites-enabled/default
>> +- entering group PAP {...}
>> [pap] login attempt with password "XXXXX"
>> [pap] Using CRYPT password "XXXXXXXXXXXXXX"
>> [pap] User authenticated successfully
>> ++[pap] returns ok
>> # Executing section session from file /etc/freeradius/sites-enabled/default
>> +- entering group session {...}
>> [radutmp]       expand: /var/log/freeradius/radutmp ->
>> /var/log/freeradius/radutmp
>> [radutmp]       expand: %{User-Name} -> 10021
>> ++[radutmp] returns ok
>> # Executing section post-auth from file /etc/freeradius/sites-enabled/default
>> +- entering group post-auth {...}
>> [sql]   expand: %{User-Name} -> 10021
>> [sql] sql_set_user escaped user --> '10021'
>> [sql]   expand: %{User-Password} -> XXXXX
>> [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 (                           '10021',
>> '10021',                           'Access-Accept', '2011-08-08
>> 00:27:25')
>> rlm_sql (sql) in sql_postauth: query is INSERT INTO tbl_postauth
>>                    (username, pass, reply, authdate)
>>         VALUES (                           '10021',
>>        '10021',                           'Access-Accept',
>> '2011-08-08 00:27:25')
>> rlm_sql (sql): Reserving sql socket id: 2
>> rlm_sql (sql): Released sql socket id: 2
>> ++[sql] returns ok
>> sql_xlat
>>        expand: %{User-Name} -> 10021
>> sql_set_user escaped user --> '10021'
>>        expand: SELECT
>> IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0)
>>               FROM tbl_acct WHERE UserName='%{User-Name}'
>>               AND MONTH(acctstoptime) = MONTH(NOW())
>>               AND YEAR(acctstoptime) = YEAR(NOW()) -> SELECT
>> IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0)
>>               FROM tbl_acct WHERE UserName='10021'
>>               AND MONTH(acctstoptime) = MONTH(NOW())
>>               AND YEAR(acctstoptime) = YEAR(NOW())
>> rlm_sql (sql): Reserving sql socket id: 1
>> sql_xlat finished
>> rlm_sql (sql): Released sql socket id: 1
>>        expand: %{sql:SELECT
>> IFNULL(SUM(AcctInputOctets)+SUM(AcctOutputOctets),0)
>>               FROM tbl_acct WHERE UserName='%{User-Name}'
>>               AND MONTH(acctstoptime) = MONTH(NOW())
>>               AND YEAR(acctstoptime) = YEAR(NOW())} -> 20989570594
>> sql_xlat
>>        expand: %{User-Name} -> 10021
>> sql_set_user escaped user --> '10021'
>>        expand: SELECT tbl_groupcheck.value from tbl_groupcheck
>>               JOIN tbl_usergroup on tbl_groupcheck.groupname = tbl_usergroup.groupname
>>               where tbl_usergroup.username = '%{User-Name}' -> SELECT
>> tbl_groupcheck.value from tbl_groupcheck
>>               JOIN tbl_usergroup on tbl_groupcheck.groupname = tbl_usergroup.groupname
>>               where tbl_usergroup.username = '10021'
>> rlm_sql (sql): Reserving sql socket id: 0
>> sql_xlat finished
>> rlm_sql (sql): Released sql socket id: 0
>>        expand: %{sql:SELECT tbl_groupcheck.value from tbl_groupcheck
>>               JOIN tbl_usergroup on tbl_groupcheck.groupname = tbl_usergroup.groupname
>>               where tbl_usergroup.username = '%{User-Name}'} -> 20737418240
>> ++[control] returns ok
>> ++? if ("%{control:Tmp-Integer-1}" > "%{control:Tmp-Integer-0}")
>>        expand: %{control:Tmp-Integer-1} -> 3557549056
>>        expand: %{control:Tmp-Integer-0} -> 3809701410
>> ? Evaluating ("%{control:Tmp-Integer-1}" > "%{control:Tmp-Integer-0}") -> FALSE
>> ++? if ("%{control:Tmp-Integer-1}" > "%{control:Tmp-Integer-0}") -> FALSE
>> ++? if ("%{control:Tmp-Integer-1}" <= "%{control:Tmp-Integer-0}")
>>        expand: %{control:Tmp-Integer-1} -> 3557549056
>>        expand: %{control:Tmp-Integer-0} -> 3809701410
>> ? Evaluating ("%{control:Tmp-Integer-1}" <= "%{control:Tmp-Integer-0}") -> TRUE
>> ++? if ("%{control:Tmp-Integer-1}" <= "%{control:Tmp-Integer-0}") -> TRUE
>> ++- entering if ("%{control:Tmp-Integer-1}" <= "%{control:Tmp-Integer-0}") {...}
>> +++[reply] returns ok
>> ++- if ("%{control:Tmp-Integer-1}" <= "%{control:Tmp-Integer-0}") returns ok
>> ++[exec] returns noop
>> Sending Access-Accept of id 236 to XXX.XX.XX.86 port 44198
>>        Framed-Protocol = PPP
>>        Framed-Compression = Van-Jacobson-TCP-IP
>>        Framed-MTU = 1472
>>        Idle-Timeout = 300
>>        Reply-Message = "Fair Usage Policy Enforced, Bandwidth Limited"
>>        Mikrotik-Rate-Limit = "128K/256K 128K/256K 128K/256K 180/180 8"
>>        Framed-Netmask = 255.255.255.0
>>        Session-Timeout = 2071955
>> Finished request 5.
>> Going to the next request
>> Waking up in 4.9 seconds.
>> rad_recv: Accounting-Request packet from host XXX.XX.XX.86 port 45096,
>> id=237, length=154
>>        Service-Type = Framed-User
>>        Framed-Protocol = PPP
>>        NAS-Port = 56
>>        NAS-Port-Type = Ethernet
>>        User-Name = "10021"
>>        Calling-Station-Id = "XX:XX:XX:BA:8A:3B"
>>        Called-Station-Id = " Internet"
>>        NAS-Port-Id = "LAN"
>>        Acct-Session-Id = "81800034"
>>        Framed-IP-Address = XXX.XX.XX.250
>>        Acct-Authentic = RADIUS
>>        Event-Timestamp = "Aug  8 2011 00:27:23 IST"
>>        Acct-Status-Type = Start
>>        NAS-Identifier = "XXX.XXXXXXX"
>>        NAS-IP-Address = XXX:XX:XX.86
>>        Acct-Delay-Time = 0
>> # Executing section preacct from file /etc/freeradius/sites-enabled/default
>> +- entering group preacct {...}
>> ++[preprocess] returns ok
>> [acct_unique] Hashing 'NAS-Port = 56,Client-IP-Address =
>> XXX.XX.XX.86,NAS-IP-Address = XXX.XX.XX.86,Acct-Session-Id =
>> "81800034",User-Name = "10021"'
>> [acct_unique] Acct-Unique-Session-ID = "e99f1594c7c50876".
>> ++[acct_unique] returns ok
>> [suffix] No '@' in User-Name = "10021", looking up realm NULL
>> [suffix] No such realm "NULL"
>> ++[suffix] returns noop
>> ++[files] returns noop
>> # Executing section accounting from file /etc/freeradius/sites-enabled/default
>> +- entering group accounting {...}
>> [detail]        expand:
>> /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d ->
>> /var/log/freeradius/radacct/125.20.80.86/detail-20110808
>> [detail] /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d
>> expands to /var/log/freeradius/radacct/125.20.80.86/detail-20110808
>> [detail]        expand: %t -> Mon Aug  8 00:27:25 2011
>> ++[detail] returns ok
>> ++[unix] returns ok
>> [radutmp]       expand: /var/log/freeradius/radutmp ->
>> /var/log/freeradius/radutmp
>> [radutmp]       expand: %{User-Name} -> 10021
>> ++[radutmp] returns ok
>> [sql]   expand: %{User-Name} -> 10021
>> [sql] sql_set_user escaped user --> '10021'
>> [sql]   expand: %{Acct-Delay-Time} -> 0
>> [sql]   expand:            INSERT INTO tbl_acct
>> (acctsessionid,    acctuniqueid,     username,              realm,
>>       nasipaddress,     nasportid,              nasporttype,
>> acctstarttime,    acctstoptime,              acctsessiontime,
>> acctauthentic,    connectinfo_start,              connectinfo_stop,
>> acctinputoctets,  acctoutputoctets,              calledstationid,
>> callingstationid, acctterminatecause,              servicetype,
>> framedprotocol,   framedipaddress,              acctstartdelay,
>> acctstopdelay,    xascendsessionsvrkey)           VALUES
>> ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',
>> '%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}',
>> '%{NAS-Port}',              '%{NAS-Port-Type}', '%S', NULL,
>>  '0', '%{Acct-Authentic}', '%{Connect-Info}',              '', '0',
>> '0',              '%{Called-Station-Id}', '%{Calling-Station-Id}', '',
>>             '%{Service-Type}', '%{Framed-Protocol}',
>> '%{Framed-IP-Address}',
>> rlm_sql (sql): Reserving sql socket id: 4
>> rlm_sql (sql): Released sql socket id: 4
>> ++[sql] returns ok
>> ++[exec] returns noop
>> [attr_filter.accounting_response]       expand: %{User-Name} -> 10021
>> attr_filter: Matched entry DEFAULT at line 12
>> ++[attr_filter.accounting_response] returns updated
>> Sending Accounting-Response of id 237 to XXX.XX.XX.86 port 45096
>> Finished request 6.
>> Cleaning up request 6 ID 237 with timestamp +18
>> Going to the next request
>> Waking up in 4.8 seconds.
>> -
>> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>>
>
> Arran Cudbard-Bell
> a.cudbardb at freeradius.org
>
> RADIUS - Half the complexity of Diameter
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>




More information about the Freeradius-Users mailing list