On 18/11/10 07:58, Stefan Winter wrote:
Hi,
I'd re-visit the entire accounting table&& queries. Create a *new*
table, so that people don't have surprises when they upgrade.
Ideally, it should be robust in the face of duplicate packets, and
packets forwarded via 2 different paths (think radrelay + delays)
Okay, I'll see what I can do. One thing I noticed is that the default
schema has a column
xascendsessionsvrkey varchar(10) default NULL,
A VSA, of a vendor that's long dead? This is one column that I would
wipe out. If some people find they need it, they can always modify the
tables to their (peculiar ;-) ) needs. No reason to push this column
into every FreeRADIUS installation on the planet.
Another thing I miss very much is in radpostauth:
* some gear sends a different User-Name attribute in its reply than was
in the request. It would be good to have these two names correlated
easily, at least for forensics. Adding a column "reply-username" would
do a lot of good here.
* callingstationid would also be nice to have
* and an indication which NAS the user used to log in (and/or which
virtual server was used to handle the request)
All of that is info one typically has to dig out of detail files; which
is much more cumbersome than having it in SQL.
Any thoughts here?
I've made some pretty extensive modifications to the default SQL schemas
here (although we use postgresql).
We log:
CREATE TABLE radpostauth (
id serial,
authdate timestamptz,
authserver character varying(16),
virtualserver text,
reply text,
username text NOT NULL,
realm text,
callingstationid text,
framedipaddress inet,
nasipaddress inet,
nasport text,
replyclass text,
replymessage text
);
...and we use something like the following in radiusd.conf:
localopts {
hostname = "thehostname"
}
sql {
...
postauth_query = "insert into radpostauth (
authdate, authserver, virtualserver,
reply,
username, realm,
callingstationid, framedipaddress,
nasipaddress, nasport,
replyclass,
replymessage
) values (
now(), '${localopts.hostname}', '%{Virtual-Server}',
'%{reply:Packet-Type}',
'%{SQL-User-Name}', '%{Realm}',
'%{Calling-Station-Id}', '%{reply:Framed-IP-Address}',
'%{NAS-IP-Address}', '%{%{NAS-Port}:-%{NAS-Port-Id}}',
'%{reply:Class}',
'%{reply:Reply-Message}'
)
...it's actually a bit more complex than that, but you get the idea.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html