(RADIATOR) delete_attr('User-Name') in PreClientHook
Toomas Kärner
tomkar at estpak.ee
Wed Feb 22 09:15:41 CST 2006
Hello all,
This is exactly what I'm trying to do, Camilo... that table being sessionDB.
I what to rewrite accounting records every time they come based on
SessionDB.
Frank Danielson,
Using ChangeUserName() is well known to me. But it does not solve my
problem because I want to completely remove it from the request and
add "real" username back with this configuration sample below.
I had my PrClientHook doing all that (fetching real username from
sessionDB and replacing it in request with ChangeUsername()) before
but I dont like having database transactions in a hook. Now, when
AuthenticateAccounting is also working I should have no problem doing
it all with config.
Rgds&Thnks
Toomas
Wednesday, February 22, 2006, 4:45:36 PM, you wrote:
> Hi Toomas
> when you rewrite the username, the NAS does not know about this, so
> in the accounting requests it sends the mac address again as username.
> one recomendation is to keep track of the MAC and username in a
> sepparate table and rewrite the accounting username based on that table.
> On 2/22/06, Toomas Kärner <tomkar at estpak.ee> wrote:
> Hi,
> For some reason I'm unable to remove User-Name attribute from incoming
> Acct-Request with PreClientHook:
> sub {
> my $p = ${$_[0]};
> my $mac_username = $p->getUserName;
> if ($mac_username) {
> $p->delete_attr('User-Name');
$p->>add_attr('ETC-Mac',$mac_username);
> &main::log($main::LOG_DEBUG,"Username attribute with value
> $mac_username stripped and put into ETC-Mac");
> }
> }
> Setup goes like this:
> Redback SE sends it CLIPS accounting :
> *** Received from x.x.x.x port 1812 ....
> Code: Accounting-Request
> Identifier: 177
> Authentic: p$<226>!G<226><17><249>81<18>5<202>Ho=
> Attributes:
> User-Name = "00:0b:cd:8c:61:ed"
> Acct-Status-Type = Stop
> Acct-Session-Id = "0001FFFF780001D3-43140C10"
> Class = "127828"
> .
> .
> For that NAS, MAC is the user since it does not know any better...
> Now I want to remove this username attribute and with PreClientHook
> and insert a real username based on information from sessionDB like
> this:
> <AuthBy SQL>
> Identifier GetDataFromSession
> DBSource dbi:mysql:xx:x.x.x.x
> DBUsername xxx
> DBAuth xxx
> AuthenticateAccounting
> AuthSelect SELECT \
> username \
> from wnsession where \
> class_id = '%{Class}'
> AuthColumnDef 0, User-Name, request
> NoDefault
> </AuthBy SQL>
> But for some reason I still get the MAC later into accounting as the
> username.
> I have some workarounds but I dont like them very much and I got
> interested what I'm doing wrong...
> Rgds.
> Toomas
> --
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
More information about the radiator
mailing list