The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Jabberd2 SASL и BerkleyDB"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Jabberd2 SASL и BerkleyDB"  
Сообщение от geekkoo (ok) on 10-Июл-07, 12:10 
Как заносить пользователей jabber в bd? Авторы не предлагают никаких тулзов для ручного добавления пользователей в базу данных, предлагают использовать автоматическое добавление (при входе с jabber-клиента). Но у меня эта штука не работает. Т.е., судя по логам, в базе данных такой пользователь создается, но зайти под ним всё-равно не удаётся. <authreg> <module> <mechanism> тэги в c2s.xml заполнены, <auto-create> в sm.xml тоже установлен.
Кто использует пользователей из базы данных SASL (не жабировской) в jabber-е поделитесь, пожалуйста, конфигами и соображениями. Как вообще должен выглядеть <authreg> тэг в случае если все пользователи уже имеются во внешнем хранилище (т.е. сам <authreg>, получается, как-бы уже и не нужен).
jabberd-2.1.7 glibc-2.3.5 sasl-2.0.21 (версию glibc привожу, поскольку jabber при конфигурировании ругается на функцию fnmatch, так что пришлось эту проверку отключить)
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "Jabberd2 SASL и BerkleyDB"  
Сообщение от geekkoo (ok) on 10-Июл-07, 18:39 
>Как заносить пользователей jabber в bd? Авторы не предлагают никаких тулзов для ручного добавления пользователей в базу данных, предлагают использовать автоматическое добавление (при входе с jabber-клиента). Но у меня эта штука не работает. Т.е., судя по логам, в базе данных такой пользователь создается, но зайти под ним всё-равно не удаётся. <authreg> <module> <mechanism> тэги в c2s.xml заполнены, <auto-create> в sm.xml тоже установлен.
>Кто использует пользователей из базы данных SASL (не жабировской) в jabber-е поделитесь, пожалуйста, конфигами и соображениями. Как вообще должен выглядеть <authreg> тэг в случае если все пользователи уже имеются во внешнем хранилище (т.е. сам <authreg>, получается, как-бы уже и не нужен).
>jabberd-2.1.7 glibc-2.3.5 sasl-2.0.21 (версию glibc привожу, поскольку jabber при конфигурировании ругается на
>функцию fnmatch, так что пришлось эту проверку отключить)


Проблема даже не в модуле bd. С MySQL таже песня. В таблице authreg пользователи создаются (после того как я под ними пытаюсь залогиниться из tkabbera), но доступа все равно нет. "Authentication failed: Authentication Error (Temporary auth failure) Create new account?" Если жать "Yes" то всё равно ничего хорошего не получается - "Registration failed: Unrecoverable error (Conflict)", понятное дело, поскольку такой пользователь в базе данных MySQl уже создан. Аутентификация по традиционным механизмам запрещена, разрешена только по sasl, но по ней почему-то пароль не срабатывает:
<sasl>
        <plain/>
        <gssapi/>
        <!--
        <anonymous/>
        -->
      </sasl>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Jabberd2 SASL и BerkleyDB"  
Сообщение от ligurio (??) on 11-Июл-07, 16:54 
>Как заносить пользователей jabber в bd? Авторы не предлагают никаких тулзов для ручного добавления пользователей в базу данных, предлагают использовать автоматическое добавление (при входе с jabber-клиента). Но у меня эта штука не работает. Т.е., судя по логам, в базе данных такой пользователь создается, но зайти под ним всё-равно не удаётся. <authreg> <module> <mechanism> тэги в c2s.xml заполнены, <auto-create> в sm.xml тоже установлен.
>Кто использует пользователей из базы данных SASL (не жабировской) в jabber-е поделитесь, пожалуйста, конфигами и соображениями. Как вообще должен выглядеть <authreg> тэг в случае если все пользователи уже имеются во внешнем хранилище (т.е. сам <authreg>, получается, как-бы уже и не нужен).
>jabberd-2.1.7 glibc-2.3.5 sasl-2.0.21 (версию glibc привожу, поскольку jabber при конфигурировании ругается на
>функцию fnmatch, так что пришлось эту проверку отключить)


попробуй ejabberd. С ним попроще.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Jabberd2 SASL и BerkleyDB"  
Сообщение от geekkoo (??) on 12-Июл-07, 10:26 
>попробуй ejabberd. С ним попроще.

В каком смысле проще? По-моему, в нём поддержка SASL в ещё более зачаточном состоянии.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Jabberd2 SASL и BerkleyDB"  
Сообщение от geekkoo (ok) on 20-Июл-07, 23:21 
Вот, удалось всё же побороть. ошибок было несколько, какая именно оказалась критичной, я не понял, поэтому привожу все в порядке их устранения.
1. Разкомментировал секцию <traditional>. Так что при этом получилось два варианта логина - через базу данных SASL и/или пароли создаваемые в самом jabberd.
2. Юзеров пришлось вручную создавать в mysql (колонки username, realm, passwd в таблице authreg, остальное забил null-ями). Т.е. авторегистрация работает крайне глючно. Но в sm.xml  <auto-create> отмечен, так же как и тэг <id register-enable='true' realm="DOMAIN.MY">
3. Создал файл /usr/lib/sasl2/xmpp.conf. По идее он не должен использоваться (поскольку вся информация из него продублирована в c2s.xml), но есть ощущуение, что jabberd2 в него заглядывает.
4. Это по-моему главное. Есть неразбериха с realm-ами SASL и жабировскими JID-ами. Т.е. жабир считает, что всё, что идёт после @ в ЖИДе - это и есть релм. Поэтому мне пришлось в sm.xml и c2s.xml указывать в качестве <id> доменное имя - DOMAIN.MY, а потом в ДНС вставялть SRV записи, которые это имя транслируют в адрес хоста, где крутится жабир. В этом была, видимо, главная ошибка, поскольку я в начале использовал после @ в ЖИДах имя жабир-сервера.
5. Как уже отмечал автор патчей поддержки SASL для jabberd2, ни один из клиентов не поддерживает fallback механизмов. Т.е. если сервер предлагает на выбор несколько механизмов, то клиент (в моем случае tkabber) выбирает самый сильный из предложенных или отваливается, если самый сильный механизм он не поддерживает (вместо того чтобы откатиться к более слабому). Поэтому если сервер предлагает <gssapi/> и <plain/>, то tkabber выбирает всегда <gssapi/>. А с gssapi у tkabber-а есть один серьезный глюк. Как следует из 4, я при логине из tkabber должен указать своё имя в Username, Password - пустой (у меня есть билетик), server - DOMAIN.MY (!), а на вкладке connection указать Host - имя жабер-сервера (ну, чтобы от ДНС не зависить). Так вот tkabber в своем коде обработки SASL использует в качестве имени сервера запись из поля server (которая в данном случае является именем домена), что является ошибкой, а не SRV запись из ДНС или поле Host со вкладки Connection.  Как тут нужно пофиксить этот код я не знаю, но что-то с этм делать надо.  
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Jabberd2 SASL и BerkleyDB"  
Сообщение от geekkoo (ok) on 22-Июл-07, 08:48 
>4. Это по-моему главное. Есть неразбериха с realm-ами SASL и жабировскими JID-ами. Т.е. жабир считает, что всё, что идёт после @ в ЖИДе - это и есть релм. Поэтому мне пришлось в sm.xml и c2s.xml указывать в качестве <id> доменное имя - DOMAIN.MY, а потом в ДНС вставялть SRV записи, которые это имя транслируют в адрес хоста, где крутится жабир. В этом была, видимо, главная ошибка, поскольку я в начале использовал после @ в ЖИДах имя жабир-сервера.

Оказывается, это у всех такая проблема и все её решают добавляя в ДНС хост с именем состоящим только из доменной части.

$host -t SRV _xmpp-client._tcp.jabber.ru
_xmpp-client._tcp.jabber.ru has SRV record 0 0 5222 jabber.ru.
$host jabber.ru
jabber.ru has address 213.180.203.19
jabber.ru has address 213.180.203.18
jabber.ru mail is handled by 10 mx.jabber.ru.

У jabber.snc.ru таже самая картина:

$host -t SRV _xmpp-client._tcp.jabber.snc.ru
_xmpp-client._tcp.jabber.snc.ru has SRV record 0 0 5222 jabber.snc.ru.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Jabberd2 SASL и BerkleyDB"  
Сообщение от alexkbv email on 15-Авг-07, 09:29 
Может есть способ вообще отвязаться от DNS ? Как -то же в Jabberd 2.0.10 это нормально работает и без DNS.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Jabberd2 SASL и BerkleyDB"  
Сообщение от geekkoo (??) on 03-Сен-07, 10:43 
>Может есть способ вообще отвязаться от DNS ? Как -то же в
>Jabberd 2.0.10 это нормально работает и без DNS.

По-моему, это вообще вопрос не к серверу, а к клиентам.

Я не спец в жабирах, но любой почтовый клиент, отправляя письмо по адресу someone@somedomain.ru, считает нужным проконсультироваться с MX записью DNS для соответствующего домена. Почему же жабир клиенты при виде такого же точно jid-a считают, что  после собаки идёт имя  сервера? Этим страдает не только tkabber, но также и pidgin.

Это не проблема, если пользователей можно привезать к серверу. А если пользователи для домена/realm-a уже существуют, то (на мой взгляд) заставить жабер использовать их практически нереально. Т.е. на сервере их использовать можно, но не один клиент без дополнительной переделки это не поддерживает.  

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Jabberd2 SASL и BerkleyDB"  
Сообщение от дима (??) on 17-Дек-07, 18:46 
psi и miranda позволяют указать хост отличный от того что идет после собаки
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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