LINUX.ORG.RU
ФорумAdmin

lightsquid перестал формировать детализацию по пользователям.

 


0

1

После перехода на авторизацию по нескольким доменам на SQUID в логи стали писать имена пользователей в виде DOMAIN/username

Ну и соответственно если раньше lightsquid формировал детализацию пользователя в файле с именем username в каталоге report, то теперь он судя по всему не может сформировать файл DOMAIN/username

Как исправить чтобы он формировал файл например username@domain?

Проблема в чем-то схожа с этой: Lightsqud, отбросить доменную часть имени пользователя но тут обратное решение

там есть Ip2Name() которую можно переопределить на любой вкус и цвет (примеры есть в каталоге ip2name)

IMHO что-то типа

sub Ip2Name {
my ($Lhost,$user,$Lts) = @_;
$user = URLDecode($user);
$user =~ s,/,@,;
return $user;
}

в lightsquid.cfg указать в $ip2name

vel ★★★★★
()
Ответ на: комментарий от vel

O

Супер! Спасибо огромное. теперь выглядит норм и файлы формируются формата domain@user

Cheater_
() автор топика
Ответ на: комментарий от vel

Засада...

Все здорово, но теперь перестало показывать IP в случе если клиент идет без авторизации. Я так мыслю надо куда запихать следующую конструкцию: return $user if ($user ne "-"); #return user if defined !!!!! return $Lhost;

Куда не подскажете?

Cheater_
() автор топика
Ответ на: комментарий от vel

нарисовал вот так, но в случае IP без авторизации пользователь получает как знак минус

sub Ip2Name($$$) {
  my ($Lhost,$user,$Lts) = @_;
  if ($user != "-") {
    $res = $Lhost;
  } else {
    $user = URLDecode($user);
    $user =~ s,/,@,;
    $res = $user;
  }
return $res;
Cheater_
() автор топика
Ответ на: комментарий от Cheater_

Вместо IP все равно минус... Что не так?

sub Ip2Name($$$) {
  if ($user != "-") {
    my $Lhost=shift;
    my $user =shift;
    $res = $Lhost;
  } else {
    my ($Lhost,$user,$Lts) = @_;
    $user = URLDecode($user);
    $user =~ s,/,@,;
    $res = $user;
  }
return $res;
}

Cheater_
() автор топика
Ответ на: комментарий от Cheater_

Норм, починил

sub Ip2Name() {
  if ($user eq "-") {
    my $Lhost=shift;
    $res = $Lhost;
  } else {
    my ($Lhost,$user,$Lts) = @_;
    $user = URLDecode($user);
    $user =~ s,/,@,;
    $res = $user;
  }
return $res;
}
Cheater_
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.