Страница 1 из 1
dovecot - sql авторизация
Добавлено: 2008-10-30 19:10:55
icb
Установил 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'
Re: dovecot - sql авторизация
Добавлено: 2008-10-30 20:02:09
Alex_hha
В почтовом клиенте точно полное имя прописано?
Re: dovecot - sql авторизация
Добавлено: 2008-10-30 20:03:59
icb
Да, пробовал и телнетом.
В конфиге 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, ...
Re: dovecot - sql авторизация
Добавлено: 2008-10-31 9:12:56
ev
login_log_format_elements = user=<%u@%d> method=%m rip=%r lip=%l %c
тут скорее всего ошибка надо либо просто
%u, либо
%n@%d
если в обоих логах не пишется домен, то скорее всего надо копать в основном конфиге - его бы глянуть
хотя, насколько я могу судить, там вроде может быть только в 1 месте косяк - параметр
auth_username_format
Re: dovecot - sql авторизация
Добавлено: 2008-10-31 22:52:08
Covax
ev писал(а):там вроде может быть только в 1 месте косяк - параметр auth_username_format
Вот вот. Сам попался. По дефолту стоит
т.е. имя пользователя переводится в lowcase.
Если надо, чтобы было с доменом, то стоит или отключить эту функцию или установить в
Re: dovecot - sql авторизация
Добавлено: 2008-10-31 23:41:47
ev
хм... вроде наоборот... именно установка в
%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
даже не знаю зачем это сделано... многие наверное "полегли" на этом пункте (особенно если не вчитываться в параметры)