Exim, Аутентификация по локальной части

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
pashtet
рядовой
Сообщения: 15
Зарегистрирован: 2008-04-25 12:57:45

Exim, Аутентификация по локальной части

Непрочитанное сообщение pashtet » 2009-06-20 14:35:02

Народ привет!
Прошу помощи с MTA Exim.
Имеем:
FreeBSD 7.0-RELEASE-p11
Exim version 4.69
mysql-server-5.0.77_1
dovecot-1.1.11

Проблема с авторизацией. Необходимо настроить чтобы smtp и pop3 авторизация шла только по локальной части. Dovecot я так настроил, а вот exim не поддается.
Вот участок конфига с аутентификаторами

Код: Выделить всё

begin authenticators

auth_plain:
  driver                     = plaintext
  public_name                = PLAIN
  server_set_id              = $auth2
  server_prompts             = :
  server_condition           = ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username`='${quote_mysql:${local_part:auth2}}' AND `password` = '${quote_mysql:auth3}'}{yes}{no}}

auth_login:
  driver                     = plaintext
  public_name                = LOGIN
  server_set_id              = $auth1
  server_prompts             = Username:: : Password::
  server_condition = ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username`='${quote_mysql:${local_part:$auth1}}' AND `password` = '${quote_mysql:$auth2}'}{yes}{no}}

auth_cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup mysql{SELECT password FROM mailbox WHERE username = '${quote_mysql:${local_part:$1}}'{$value}fail}
  server_set_id = $1

Отсюда две проблемы
1) Не могу запустить ексим с опциями exim -d+all или может как то не так запускаю, чтобы отследить косяки при авторизации
2) Клиент у меня в основном The Bat который пробует авторизоваться по CRAM-MD5, после чего в логах такая ошибка

Код: Выделить всё

2009-06-20 15:31:21 auth_cram_md5 authenticator failed for (gp612-6.penzagp.ru) [192.168.3.23] I=[192.168.3.26]:25: 435 Unable to authenticate at present (set_id=pashtet): lookup of "SELECT password FROM mailbox WHERE username = 'pashtet'{" gave DEFER: MYSQL: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{' at line 1

2009-06-20 15:31:21 auth_plain authenticator failed for (gp612-6.penzagp.ru) [192.168.3.23] I=[192.168.3.26]:25: 535 Incorrect authentication data (set_id=pashtet)
2009-06-20 15:31:21 auth_login authenticator failed for (gp612-6.penzagp.ru) [192.168.3.23] I=[192.168.3.26]:25: 535 Incorrect authentication data (set_id=pashtet)
Я так понимаю что у меня как-то не так запросы в скуль оформлены, но к сожалению не силен в этом, и в результате ни одна из схем авторизации не работает. Т.е. ошибка в всех запросах присутствует.

P.S. Еще хотел сказать что авторизация по полному имени пользователя у меня работает.

Заранее благодарю за помощь.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

pashtet
рядовой
Сообщения: 15
Зарегистрирован: 2008-04-25 12:57:45

Re: Exim, Аутентификация по локальной части

Непрочитанное сообщение pashtet » 2009-06-20 20:12:57

Я тут немного разобрался.
Во-первых я вспомнил как запустить ексим в режиме отладки. После анализа отладки я понял, что в результате моего sql запроса запрашивается как раз локальная часть адреса, но проблема в том что в БД username имеет вид user@domain.ru. Как добавить в SQL запрос домен, т.е. куда то нада вписать @domain.ru т.к. у меня всего один домен

pashtet
рядовой
Сообщения: 15
Зарегистрирован: 2008-04-25 12:57:45

Re: Exim, Аутентификация по локальной части

Непрочитанное сообщение pashtet » 2009-06-20 20:33:47

Короч тема закрыта, добавил в запрос @domain.ru и все заработало.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Exim, Аутентификация по локальной части

Непрочитанное сообщение princeps » 2009-06-21 10:19:58

да уж. спасение утопающих, как говорится, дело рук самих утопающих :)
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru