[exim-conf] баг с smtp auth ?

Victor Ustugov victor на corvax.kiev.ua
Вт Фев 27 13:40:50 EET 2007


Dmitry A.Deineka wrote:
> Таки баг.
> 
> Разбираюсь с утренним попаданием в RBL:
> 
> exim -bh 84.96.74.32
> 220 iTL.UA ESMTP Server Ready.
> ehlo noc.mediationtelecom.net
>>>> verifying EHLO/HELO argument "noc.mediationtelecom.net"
>>>> matched host name
>>>> host in pipelining_advertise_hosts? yes (matched "*")
>>>> host in auth_advertise_hosts? yes (matched "*")
>>>> host in tls_advertise_hosts? yes (matched "*")
> 250-mail.itl.ua Hello noc.mediationtelecom.net [84.96.74.32]
> 250-SIZE 52428800
> 250-8BITMIME
> 250-ETRN
> 250-PIPELINING
> 250-AUTH PLAIN LOGIN
> 250-STARTTLS
> 250 HELP
> auth login
>>>> using ACL "acl_check_auth"
>>>> processing "warn"
>>>> check set acl_c10 =
>>>> warn: condition test succeeded
>>>> processing "deny"
>>>> check condition = ${if eq{$acl_c10}{}{no}{yes}}
>>>>                 = no
>>>> deny: condition test failed
>>>> processing "accept"
>>>> accept: condition test succeeded
> 334 VXNlcm5hbWU6
> L3dlYm1hc3Rlcg==
> 334 UGFzc3dvcmQ6
> 
>>>> srv_auth_login authenticator:
>>>>   $auth1 = /webmaster
>>>>   $auth2 =
>>>>   $1 = /webmaster
>>>>   $2 =
>>>> expanded string: 1
> 235 Authentication succeeded

> В configure все прозрачно:
>         srv_auth_login:
>                 driver                  = plaintext
>                 public_name             = LOGIN
>                 server_prompts          = Username:: : Password::
>                         server_condition        =
> ${perl{imap_login}{217.12.192.20}{143}{$auth1}{$auth2}}
>                 server_set_id           = $auth1
> 
> 
> Баг в exim.pl или Mail::IMAPClient. Я не знаток перла ну совсем.

разберемся

> Поэтому
> делаем кривой тестовый прогон:
> 
> #!/usr/local/bin/perl
>     use Mail::IMAPClient;
>     #my($host, $port, $account, $password) = @_;
>     $host='217.12.192.20';
>     $port='143';
>     $account='/webmaster';
>     $password='';
> 
>     if ($imap = Mail::IMAPClient->new(
>         Server          => $host,
>         Port            => $port,
>         User            => $account,
>         Password        => $password
>     )) {
>         $imap->logout();
>         print 'Success\n';
>     } else {
>         print 'Fail\n';
>     }
> 
> mail# perl test.pl
> Success\nmail#
> 
> 
> Т.е. получается, что если не указан пароль, то авторизация через IMAP
> будет всегда успешной, несмотря на то, что IMAP уверенно отвечает, что
> недостаточно параметров для авторизации:
> 
> A01 LOGIN /webmaster
> A01 NO Error in IMAP command received by server.

сейчас буду тестировать, как обойти эту ситуацию

> Но Mail::IMAPClient успешно не возвращает ошибку. Для справки -
> установлен p5-Mail-IMAPClient-2.2.9 Perl5 module to talk to a IMAP4rev1
> (RFC2060) server.
> 
> Пошел выносить себя из RBL...

p. s. первоначальная формулировка проблемы была не очень очевидной. я
вообще понял, что вопрос касался того, что не нужно акцептить письмо,
если аутентификация не прошла успешно.

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694      CRV2-RIPE, CRV-UANIC




Подробная информация о списке рассылки exim-conf