The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Dovecot обрезает домен %d до первой точки. ACL не работают."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Dovecot обрезает домен %d до первой точки. ACL не работают."  +/
Сообщение от Nas_tradamus (ok) on 06-Апр-12, 13:07 
Всем привет! Переехал с Courier на Dovecot и столкнулся с проблемой при попытке настроить шареные папки.

---------------
Dovecot 2.0.18 из портов.

namespace {
  separator = .
  prefix = INBOX.
  inbox = yes
  type = private
}


namespace {
  type = shared
  separator = .
  prefix = INBOX.shared.%%u.
  list = yes
  subscriptions = no
  hidden = no
  location = maildir:%%h
}


password_query = \
  SELECT email as username, password \
  FROM users WHERE email = '%n@%d'

user_query = SELECT CONCAT('/var/spool/mail/', SUBSTRING_INDEX(email, '@', -1), '/', SUBSTRING_INDEX(email, '@', 1)) as home from `users` WHERE email='%n@%d'

---------------

Расшарил ящик 'victor@domain.com' для 'victor@testmail.domain.com'

Проверяю:

doveadm acl debug -u victor@testmail.domain.com INBOX.shared.victor@domain.com.

doveadm(victor@testmail.domain.com): Error: Couldn't create namespace 'INBOX.shared.' for user victor@domain: userdb didn't return a home directory, but mail_location used it (%h): maildir:%h

Смотрю в дебаг-лог:

auth-worker: Debug: sql(victor@domain): SELECT CONCAT('/var/spool/mail/', SUBSTRING_INDEX(email, '@', -1), '/', SUBSTRING_INDEX(email, '@', 1)) as home from `users` WHERE email='victor@domain'

Отсюда видно, что 'victor@domain' - обрезанный логин от 'victor@domain.com'.


Получается, что когда Dovecot берет домен (%%d) из acl, то он обрезает его до первой точки.

Кто знает куда копать?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Dovecot обрезает домен %d до первой точки. ACL не работают."  +/
Сообщение от Andrey Mitrofanov on 06-Апр-12, 13:26 
> password_query = \
>   SELECT email as username, password \
>   FROM users WHERE email = '%n@%d'

Видимо, s/as username,/as user,/ ...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Dovecot обрезает домен %d до первой точки. ACL не работают."  +/
Сообщение от Nas_tradamus (ok) on 06-Апр-12, 13:32 
>> password_query = \
>>   SELECT email as username, password \
>>   FROM users WHERE email = '%n@%d'
> Видимо, s/as username,/as user,/ ...

Так тоже пробовал, не помогает.

В данном случае, домен и юзера он берет из acl, обрезая до первой точки.
Т.е., запросы настроены верно.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Dovecot обрезает домен %d до первой точки. ACL не работают."  +/
Сообщение от Nas_tradamus (ok) on 06-Апр-12, 15:08 
Как я и думал, починилось изменением нэймспэйса на "родной" для Dovecot.

namespace {
  separator = /
  prefix =
  inbox = yes
}

namespace {
  separator = .
  prefix = INBOX.
  inbox = no
  hidden = yes
  list = no
  alias_for =
}

namespace {
  type = shared
  separator = /
  prefix = shared/%%u/
  list = yes
  subscriptions = no
  hidden = no
  location = maildir:%%h:INDEX=%h/shared/%%u
}

Печально - клиентам пришлось сделать заново синхронизацию. Аутлуки дружно повисли, как всегда.

Обидно... баг явно в Dovecot.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру