AP posílají accounting na základě hodnoty atributu User-Name
v Access-Accept paketu
(viz RFC 2865). V případě, že není definován, použije se vnější identita. Protože není žádoucí aby se v accountingu objevovala vnější anonymní identita tak přepisuji v '§Access-Accept paketech hodnotu
User-Name'' na skutečnou identitu.
Tento skript je použit při zpracování požadavků tunelovaných skrz PEAP a TTLS, více informací viz popis konfigurace Radiatoru. Funkce skritpu také souvisí se skriptem search_hook.pl, který po užit při ověřování identity a oprávnění uživatele.
sub { my ($req, $rep, $handled, $reason) = @_; if (${$rep}->code() eq 'Access-Accept' ) { my $req_username = ${$req}->{EAPIdentity}; $req_username = ${$req}->getUserName() unless defined $req_username; if($req_username =~ m/^anonymous@(.*)$|^anonymous$/i) { # This is outer replay. # If we did have a realm, append it now. return unless (defined($1)); ${$rep}->changeUserName(${$rep}->getUserName() . "\@" . $1); } else { # Inner reply, copy the username to outer request (without realm). ${$rep}->changeUserName($req_username) if defined $req_username; } } }
— Jan Tomášek 15.09.2006 12:18 dokument převeden z www.eduroam.cz
CESNET, z. s. p. o.
Generála Píky 26
160 00 Praha 6
info@cesnet.cz
Tel: +420 234 680 222
GSM: +420 602 252 531
support@cesnet.cz