====== Skript eap_acct_username.pl ====== AP posílají accounting na základě hodnoty atributu ''User-Name'' v ''Access-Accept paketu'' (viz [[http://www.faqs.org/rfcs/rfc2865.html|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 [[cs:spravce:pripojovani:radius:radiator#Požadavky domácích uživatelů|konfigurace Radiatoru]]. Funkce skritpu také souvisí se skriptem [[cs:spravce:pripojovani:radius:radiator:search_hook.pl|search_hook.pl]], který po užit při [[cs:spravce:pripojovani:radius:radiator#Ověření identity uživatele a jeho oprávnění používat eduroam|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; } } } ====== ====== --- //[[http://staff.cesnet.cz/~semik|Jan Tomášek]] 15.09.2006 12:18// dokument převeden z www.eduroam.cz