Тоже проблема с CHAP.
Radius передает от клиента данные - я добавил в файл Auth.pm
для отладки
#*******************************************************************
# Check chap password
# check_chap($given_password,$want_password,$given_chap_challenge,$debug)
#*******************************************************************
sub check_chap {
eval { require Digest::MD5; };
# log_print('LOG_ERR', "go-go-go");
if (! $@) {
Digest::MD5->import();
}
else {
log_print('LOG_ERR', "Can't load 'Digest::MD5' check
http://www.cpan.org");
}
my ($given_password,$want_password,$given_chap_challenge,$debug) = @_;
$given_password =~ s/^0x//;
$given_chap_challenge =~ s/^0x//;
my $chap_password = pack("H*", $given_password);
my $chap_challenge = pack("H*", $given_chap_challenge);
my $md5 = new Digest::MD5;
$md5->reset;
$md5->add(substr($chap_password, 0, 1));
$md5->add($want_password);
$md5->add($chap_challenge);
my $digest = $md5->digest();
#####################
open(FILESS, ">> /usr/abills/var/log/bills.log") || die "Can't open filen";
print FILESS " $given_password $given_chap_challenge $chap_password $digest $want_pas
close(FILESS);
########################
В файл падают такие строки: b92e2a41e18368679e7855f4909ad29810 187de03826cf2fea22869b19eaefa9be ..*A..hg.xU...Ҙ. $
M.Єb`.&hy.o+.. 2
8eed56e47f55d23a37619cf51f95ac1ff8 cee553cd4bc1a1a4474e761b203f1f11 ..V..U.:7a.......
.p.L..9B.ZA..c\. 2
(пароль пользователя - "2",но пробовал разные).
Ессно проверка if ($digest eq substr($chap_password, 1)) {
возвращает 0 и авторизация не проходит - ситуация такая же как у vsmith.
Если правлю условие чтобы всегда срабатывало - все работает.
В перле я не сильно силен, если возможно - подскажите как протестировать модуль Digest::MD5, у меня стоит версии 2,36, но пробовал и 2,32.
кто к нам с мечом - получит по оралу.