Hi: 2015-06-10 13:07 GMT+08:00 d tbsky <tbskyd@gmail.com>:
Hi:
2015-06-09 20:32 GMT+08:00 Alan DeKok <aland@deployingradius.com>:
On Jun 9, 2015, at 1:33 AM, d tbsky <tbskyd@gmail.com> wrote:
after some trying and testing, now I add "%l" to the last acct-unique-id, so it becomes:
Don't do that. That means the Acct-Unique-Id depends on the time the packet was received, which means it's always different.
The intention behind the attribute was to identify a user's session. Therefore, it is calculated from attributes which identify the user session. Like NAS-IP-Address, NAS-Port, etc.
Alan DeKok.
you are right. the Acct-Unique-Id will change for every accounting request. but in current freeradius "queries.conf" design, it seems works fine. because in "queries.conf", "Acct-Unique-Session-Id" is only used when creating new record. when freeradius need to update existing record, it only use "acctsessionid + username + nasipaddress", but not "acctuniqid". I don't know why freeradius create the id for every accounting request but only use it once. since it is only used once so my setting works. although I don't know this is a good thing or bad thing...
Regards, tbskyd
after checking the detail of "queries.conf". I found it is actually a bad thing. when updating it really only use "acctsessionid + username + nasipaddress" to locate existing record without other constraint. so in my case, even I create a unique 'acctuniqid', all the existing records with the same "acctsessionid" will be updated at once. maybe the whole update process in queries.conf should be modified to use "acctuniqid" when locate existing record?