I never found an easy solution to this, so I have a translation routine.
However, I never really tried one idea which was suggested, and I'm
still curious whether it would work: I would think that if you remove
the "VALUE" entries from you dictionary corresponding to the data you
want in integer form (rather than string), maybe Radiator will just log
the integer.
I'd like to know if this works! :)
Dave
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of Hugh Irvine
> Sent: Friday, May 19, 2000 7:40 PM
> To: Mike Nerone; [EMAIL PROTECTED]
> Subject: Re: (RADIATOR) Logging attributes by integer..
>
>
>
> Hello Mike -
>
> On Sat, 20 May 2000, Mike Nerone wrote:
> >
> > When using AcctColumnDef, you can tell Radiator to log a particular
> > attribute by its integer value, which is what I want to do.
> Unfortunately,
> > I'm not using AcctColumnDef, I'm using my own
> AcctSQLStatement for more
> > flexibility. Specifically, I'm using the following:
> > AcctSQLStatement \
> insert into
> > accounting set \ mailbox
> = '%U',
> > \ domain = '%R', \
> timestamp
> > = from_unixtime(%{Timestamp}), \ statustype =
> > '%{Acct-Status-Type}', \ ipaddress =
> > '%{Framed-IP-Address}', \ inputoctets =
> > '%{Acct-Input-Octets}', \ outputoctets =
> > '%{Acct-Output-Octets}', \ sessionid =
> > '%{Acct-Session-Id}', \ terminatecause =
> > '%{Acct-Terminate-Cause}', \ ascendcause =
> > '%{Ascend-Disconnect-Cause}', \ nasipaddress = '%N',
> > \ nasport = '%{NAS-Port}', \
> > nasporttype = '%{NAS-Port-Type}', \
> servicetype =
> > '%{Service-Type}', \ callednumber =
> > '%{Called-Station-Id}', \ callingnumber =
> > '%{Calling-Station-Id}'
> > I've omitted the rest of the config...it all works fine.
> Note that 1)
> > from_unixtime is a mysql function, so don't go looking for
> it, and 2) this
> > "insert into table SET" syntax is not standard SQL, but
> mysql supports it,
> > and this syntax works fine.
> >
> > My question is, how can I make certain attributes
> (specifically Status-Type,
> > Terminate-Cause, and Ascend-Disconnect-Cause) log as
> integers instead of
> > strings. Is there a corresponding %-substitution that would
> give me the
> > integer?
> >
> > If there's is no such %-substitution, then it occurred to
> me to use a
> > PreClientHook to add a pseudo-attribute containing the
> integer, and then log
> > that in the SQL statement (or with AcctColumnDef, for that
> matter), so that
> > no translation is done, with something like:
> > $request->changeattr('Acct-Terminate-Cause-Int',
> \
> > $request->getAttrByNum($Radius::Radius::ACCT_TERMINATE_CAUSE));
> > I believe this would work fine for the well-known
> attributes, but one of the
> > attributes I want to do this with is vendor-specific
> > (Ascend-Disconnect-Cause), and being the neophyte perl
> programmer I am, I
> > don't see a way to get to the integer information. Come to
> think of it, i
> > would PREFER this solution, because I'm then free to
> massage the data a bit
> > more and store either Acct-Terminate-Cause or
> Ascend-Disconnect-Cause in a
> > single field in the database, since each NAS only sends one
> or the other. To
> > tell them apart, I'd add 1000 to the value if its an
> > Ascend-Disconnect-Cause.
> >
> > So my question becomes: Within a hook, how do I get the
> integer value of a
> > vendor-specific-attribute instead of its string value from
> the dictionary?
> >
>
> Have a look at this and let me know how you get on:
>
> "goodies/extendedMacros.patch"
>
> This is in the "goodies" directory in the distribution.
>
> There was also a discussion about this same topic on the list
> about six months
> ago from memory - check the archive site and do a search:
>
> http://www.starport.net/~radiator
>
> On the topic of hooks, there is some example code here:
>
> http://www.open.com.au/radiator/downloads/patches-2.15/hooks.txt
> hth
>
> Hugh
>
>
> --
> Radiator: the most portable, flexible and configurable RADIUS server
> anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
> Platypus, Freeside, Interbiller, TACACS+, PAM, external, etc, etc.
> Available on Unix, Linux, FreeBSD, Windows 95/98/2000, NT, MacOS X.
>
>
>
> ===
> Archive at http://www.starport.net/~radiator/
> Announcements on [EMAIL PROTECTED]
> To unsubscribe, email '[EMAIL PROTECTED]' with
> 'unsubscribe radiator' in the body of the message.
>
===
Archive at http://www.starport.net/~radiator/
Announcements on [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.