Conditional statements in dialup.conf?
James Wood
james.wood at purplewifi.com
Wed Oct 22 17:21:16 CEST 2014
Thanks for the reply Alan. I understand the correct place to put it now.
Is there a reason you are setting a new variable and then assigning that to the next update request?
Would this not work?
if (Mikrotik-Host-IP) {
update request {
Acct-Input-Octets = "%{Acct-Output-Octets}"
Acct-Output-Octets = "%{Acct-Input-Octets}"
}
}
Thanks,
James
-----Original Message-----
From: freeradius-users-bounces+james.wood=purplewifi.com at lists.freeradius.org [mailto:freeradius-users-bounces+james.wood=purplewifi.com at lists.freeradius.org] On Behalf Of Alan DeKok
Sent: 22 October 2014 15:34
To: FreeRadius users mailing list
Subject: Re: Conditional statements in dialup.conf?
James Wood wrote:
> On all NAS’s apart from Mikrotik routers, when the radius accounting
> packets are sent, the correct figures are in the Acct-Input-Octets and
> Acct-Output-Octets respectively.
OK.
> When using Mikrotik, they switch those around (i.e. the download octets
> are upload and vice versa), and because I use an SQL DB, it means that
> the values are also stored the wrong way round, as the queries in
> dialup.conf are fixed to insert in to the same columns.
So... fix the values *before* you put them into SQL.
> So, I’m looking to detect a Mikrotik accounting request and then change
> the columns round so that the DB is always correct.
That is completely backwards. Don't fix the columns. Fix the
accounting packet in the "preacct" section:
if (Mikrotik-Host-IP) {
update request {
Tmp-Integer-0 := "%{Acct-Input-Octets}
Tmp-Integer-1 := "%{Acct-Output-Octets}
}
update request {
Acct-Input-Octets = "%{Tmp-Integer-0}"
Acct-Output-Octets = "%{Tmp-Integer-01}"
}
}
> I’ve tried doing this inside the dialup.conf but not sure it accepts
> conditional statements inside there.
It doesn't. See "man unlang". The documentation says where you can
put conditions.
Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list