cs:spravce:pripojovani:radius:radiator:eap_acct_username.pl

Skript eap_acct_username.pl

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

Last modified:: 2006/09/24 15:09