ing156 / vacuum-im

Automatically exported from code.google.com/p/vacuum-im
GNU General Public License v3.0
0 stars 0 forks source link

XEP-136 / server chat archiving don't work with ejabberd #765

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
1. Установить vacuum.im, подключиться к своему 
ejabberd серверу с установленным mod_archive 
(реализует XEP-136).
2. Поговорить с кем-либо. Убедиться, что 
сообщения действительно сохранились на 
сервере
3. Закрыть vacuum.im. Открыть vacuum.im снова. Зайти в 
историю сообщений человека. Ничего не 
увидеть.
4. Нажать кнопку "Обновить заголовки". 
5. Снова не увидеть ни одного сообщения в 
истории.

В логах сервера пишется следующее:

{{{
=INFO REPORT==== 2013-09-30 22:19:51 ===
D(<0.3193.0>:ejabberd_c2s:1553) : Send XML on stream = <<"<iq 
from='my_juid@server.tld' to=',u_juid@server.tld/Jabber Client Id' id='sid_27' 
type='error'><list xmlns='http://www.xmpp.org/extensions/xep-0136.html#ns' 
with='recipient_juid@server.tld'>\n<set 
xmlns='http://jabber.org/protocol/rsm'>\n<max>30</max>\n<before/>\n</set>\n</lis
t><error code='400' type='modify'><bad-request 
xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>">>
}}}

Я так и не понял, где включить xml консоль, 
так что не знаю, откуда брать клиентские 
логи :(

Версия продукта:

libvacuumutils1.17, 1.2.2+svn2254-precise1
vacuum, 1.2.2+svn2254-precise1

Версия ОС:

Ubuntu 12.04.2 LTS, Linux 3.2.0-23-generic #36-Ubuntu SMP x86_64 GNU/Linux

Есть ли какой-нибудь workaround? Куда копать? Я 
очень долго искать клиент с поддержкой 
чата-на-сервере и вот :(

Original issue reported on code.google.com by trousev....@gmail.com on 30 Sep 2013 at 6:22

GoogleCodeExporter commented 8 years ago
У вас устаревший mod_archive, обновите его.

Original comment by potapov.s.a on 30 Sep 2013 at 6:34

GoogleCodeExporter commented 8 years ago
Саму последнюю версию можно спросить у 
автора тут http://endl.ch

Original comment by potapov.s.a on 30 Sep 2013 at 6:39

GoogleCodeExporter commented 8 years ago
Спасибо за быстрый ответ! 

Я использую последнюю версию 
(git://github.com/processone/ejabberd-contrib.git), ветка 2.1.x, 
собирал неделю назад (и с тех пор изменений 
не было).

Откуда можно взять новую версию?

Original comment by trousev....@gmail.com on 30 Sep 2013 at 6:40

GoogleCodeExporter commented 8 years ago
Спасибо. Отпишусь, когда проверю.

Original comment by trousev....@gmail.com on 30 Sep 2013 at 6:41

GoogleCodeExporter commented 8 years ago
Поставил последнюю версию (по словам 
автора) отсюда: 
https://svn.process-one.net/ejabberd-modules/mod_archive/trunk/src/

То же самое.

Может быть я невнимательно глядел и где-то 
есть еще более новая версия mod_archive?

Original comment by trousev....@gmail.com on 30 Sep 2013 at 6:56

GoogleCodeExporter commented 8 years ago
Я попробую узнать у автора.

Original comment by potapov.s.a on 30 Sep 2013 at 6:59

GoogleCodeExporter commented 8 years ago
Спасибо. Готов предоставить любую debug 
information по запросу.

Original comment by trousev....@gmail.com on 30 Sep 2013 at 7:00

GoogleCodeExporter commented 8 years ago
Последняя версия тут https://github.com/ndl/mod_archive2 но 
там есть бага с настройками.

Original comment by potapov.s.a on 30 Sep 2013 at 7:09

GoogleCodeExporter commented 8 years ago
Так он же (mod_archive2) для ejabberd 3.x, а не 2.x.

Вообще, странно. Сам автор пишет, что у него 
именно mod_archive_odbc и vacuum -- и у него типа все ОК.

Original comment by trousev....@gmail.com on 30 Sep 2013 at 7:12

GoogleCodeExporter commented 8 years ago
Разработчик говорит, что для 2.х

Original comment by potapov.s.a on 30 Sep 2013 at 7:23

GoogleCodeExporter commented 8 years ago
Гм. На его сайте указано:

> Is this module usable even with ejabberd 2.1 versions?

No, because ejabberd 3.x provides different XML interface based on exmpp 
library, so all modules targeting ejabberd 3.x are not compatible to earlier 
ejabberd versions. The same is true in the opposite direction too: it’s not 
possible to use with ejabberd 3.x modules for earlier versions of ejabberd.

Ну и да, все верно, только что попытался 
собрать с 2.1.* заголовками и огреб:

src/xmpp_api_ejabberd.erl:30: can't find include lib "exmpp/include/exmpp.hrl"

Что логично, в ejabberd 2.1 ее действительно нету.

ОК, пойдем другим путем. Подскажите, где в 
vacuum включается XML консоль? Или каким любым 
другим образом можно видеть те xml запросы, 
которые клиент отсылает серверу?

Original comment by trousev....@gmail.com on 30 Sep 2013 at 7:31

GoogleCodeExporter commented 8 years ago
В главном меню самый верхний пункт

Original comment by potapov.s.a on 30 Sep 2013 at 7:33

GoogleCodeExporter commented 8 years ago
> No, because ejabberd 3.x provides different XML interface based on exmpp 
library

К сожалению (?), эта информация уже устарела.

Ситуация на данный момент следующая:
* mod_archive2 использует exmpp, т.к. разрабатывался 
для совместимости с ejabberd 3.x.
* ejabberd 3.x отказался от использования exmpp, что 
они используют сейчас - я не в курсе, т.к. 
давно не следил за состоянием проекта.
* В текущей версии mod_archive2 реализована 
поддержка ejabberd 2.x с помощью адаптера. 
Поддержка ejabberd 3.x не реализована, насколько 
сложно добавить - не знаю, но 
принципиальных сложностей возникнуть не 
должно.

Из этого следует, что:
* Для сборки mod_archive2 необходима exmpp 
библиотека, рекомендуемая версия - 0.9.9.
* Текущая версия работает под ejabberd 2.x 
(проверял на 2.1.11)

Original comment by ndlma...@gmail.com on 30 Sep 2013 at 8:01

GoogleCodeExporter commented 8 years ago

Original comment by potapov.s.a on 2 Oct 2013 at 12:42