dovecot - sql авторизация

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
icb
лейтенант
Сообщения: 751
Зарегистрирован: 2008-07-15 16:11:11

dovecot - sql авторизация

Непрочитанное сообщение icb » 2008-10-30 19:10:55

Установил dovecot. Авторизация не проходит... постоянно "ERR Authentication failed" :(
В логах

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

query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = 'test@' AND `active`='1'
но по идее должно быть test@test.com
В чем может быть проблема?

dovecot-sql.conf

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

#!/bin/sh

driver = mysql
connect = host=localhost dbname=exim user=exim password=exim
default_pass_scheme = PLAIN

password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'

user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'

Хостинговая компания 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/

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: dovecot - sql авторизация

Непрочитанное сообщение Alex_hha » 2008-10-30 20:02:09

В почтовом клиенте точно полное имя прописано?

icb
лейтенант
Сообщения: 751
Зарегистрирован: 2008-07-15 16:11:11

Re: dovecot - sql авторизация

Непрочитанное сообщение icb » 2008-10-30 20:03:59

Да, пробовал и телнетом.

В конфиге dovecot.conf есть строка

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

login_log_format_elements = user=<%u@%d> method=%m rip=%r lip=%l %c
но в логе все равно

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

dovecot: pop3-login: Aborted login (auth failed, 1 attempts): user=<test@>, method=PLAIN, ...

ev
ст. лейтенант
Сообщения: 1325
Зарегистрирован: 2008-07-27 17:11:30
Откуда: Москва

Re: dovecot - sql авторизация

Непрочитанное сообщение ev » 2008-10-31 9:12:56

login_log_format_elements = user=<%u@%d> method=%m rip=%r lip=%l %c
тут скорее всего ошибка надо либо просто %u, либо %n@%d

если в обоих логах не пишется домен, то скорее всего надо копать в основном конфиге - его бы глянуть
хотя, насколько я могу судить, там вроде может быть только в 1 месте косяк - параметр auth_username_format

Covax
мл. сержант
Сообщения: 131
Зарегистрирован: 2008-04-27 23:54:31
Откуда: Витебск, Беларусь
Контактная информация:

Re: dovecot - sql авторизация

Непрочитанное сообщение Covax » 2008-10-31 22:52:08

ev писал(а):там вроде может быть только в 1 месте косяк - параметр auth_username_format
Вот вот. Сам попался. По дефолту стоит

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

auth_username_format = %Lu
т.е. имя пользователя переводится в lowcase.
Если надо, чтобы было с доменом, то стоит или отключить эту функцию или установить в

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

auth_username_format = %Ln

ev
ст. лейтенант
Сообщения: 1325
Зарегистрирован: 2008-07-27 17:11:30
Откуда: Москва

Re: dovecot - sql авторизация

Непрочитанное сообщение ev » 2008-10-31 23:41:47

хм... вроде наоборот... именно установка в %Ln портит смысл переменной
ведь n - это только имя (перед @)
корректно либо вообще убрать, либо установить в %Lu
%u - username
%n - user part in user@domain, same as %u if there's no domain
%d - domain part in user@domain, empty if there's no domain
сейчас покопался... и правда - виной тому сам порт :(
мало того еще не обновился до последней версии (устраняющей уязвимость), так и еще в нем присутствует патч

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

-#auth_username_format =
+auth_username_format = %Ln
даже не знаю зачем это сделано... многие наверное "полегли" на этом пункте (особенно если не вчитываться в параметры)