Ivanovo Linux Users Group -  
Форум Помощь Поиск Вход
Предыдущая Следующая Вверх Тема Jabber / Серверное ПО / ejabberd offline messages (21464 хитов)
- Написал(а) hawk Дата 26.01.11 17:35 Отредактировано 26.01.11 17:38
Приветствую всех!
Кто работает с данным сервером, не сталкивался ли с проблемой не правильного времени в оффлайн мессагах? Год, дата, все не то, что выставлено на сервере, например сегодня после 18:00 чел отправил сообщение, в офлайне дата 16.02.2007 17:49:10, как видно параллель трудно подвести, время и дата от балды. В конфиге mod_offline по дефолту, из параметров к нему видел ограничение на кол-во офлайн сообщений, про время инфы не видел. Сам сервер, где работает ejabberd синхронизирует время с NTP сервера и показывает его верно
$date
Срд Янв 26 20:35:18 MSK 2011
Сам сервер работает стабильно достаточно долгое время и вроде эта проблема особо не заботит, но думаю до поры до времени, да и не успокоюсь пока во всем порядка не будет :-).
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) LOE (Site/forum admin) Дата 27.01.11 05:59 Отредактировано 27.01.11 06:18
Кто показал такую дату?
Или смотрел через веб-админку ejabberd?
PSI, например, не совсем понятно показывает дату приема оффлайн сообщений (вернее, не совсем удобно).

Клиент, при отправке сообщения, в тэгах дату не проставляет (по крайней мере, в консоли PSI дата не фигурирует).
Но при приеме оффлайн сообщения (т.е. когда я экаунт делаю онлайн) приходит:
<message from="loe@сервер1/идент" type="chat" xml:lang="ru" to="loe@сервер2" id="adb9a">
<body>test 2</body>
<active xmlns="http://jabber.org/protocol/chatstates"/>
<delay xmlns="urn:xmpp:delay" from="сервер2" stamp="2011-01-27T05:55:02Z">Offline Storage</delay>
<x xmlns="jabber:x:delay" stamp="20110127T05:55:02"/>
</message>

Дата правильна, время в GMT зоне.
Все корректно :-)

Посмотри у себя при приеме поток (в PSI это включение консоли или с помощью tcpdump, не забыв отключить шифрацию).
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 27.01.11 06:15 Отредактировано 27.01.11 06:36
Дата уже в веб админке ejabber такая, думаю сервер её и ставит
<body>Оффлайн сообщение (16.02.2007 16:45:17)
.....тело сообщения </body>
Т.е. чел когда подключится, будь то PSI или другим клиентом, он получит то что зависло на сервере. Это сообщение я отправлял челу вчера в офф, во время написания первого топа. В первом топе офф сообщение мне от чела после 18:00 - время тоже не то. Клиенты мой и кому пишу - разные, т.е. это 100% не проблема клиента. Ну и в клиенте время точ в точ, что в веб админке ejabber - в оффлайн мессагах, т.е. клиент его ни как не меняет.

Еще в веб админке, где пользователи вижу такую инфу:
Офлайновые сообщения  Последнее подключение
user@j.ru  2  2007-02-16 17:53:27
Т.е. этот пользователь был вчера подключен и писал мне в офф, почему время последнего подключения 2007-02-16 - хз. У некоторых время стоит 2010-11-17 17:30:16, откуда то сервер это берет. На сервере таймзона, время - все верно, проверил.

Вот сообщения, которые пишу в On-Line:
Вопрос (09:25:13 27/01/2011)
пришли тестовую мессагу плиз

Ответ юзера (09:25:23 27/01/2011)
куда?

:-) т.е. в онлайне с временем все в порядке.

Лог ejabber мне не нравится, но вот что в нем, при отключении:
=INFO REPORT==== 2011-01-27 09:31:12 ===
I(<0.11029.2>:mod_shared_roster:602) : unset_presence for "administrator" @ "j.ru" / "PSI" -> [] (0 resources)
Дальше захожу в админку и смотрю время последнего подключения администратора
administrator@j.ru  0  2007-02-17 07:55:03
Теперь подключаюсь:
=INFO REPORT==== 2011-01-27 09:31:57 ===
I(<0.11038.2>:ejabberd_c2s:681) : ({socket_state,gen_tcp,#Port<0.71652>,<0.11037.2>}) Accepted authentication for administrator

=INFO REPORT==== 2011-01-27 09:31:57 ===
I(<0.11038.2>:ejabberd_c2s:793) : ({socket_state,gen_tcp,#Port<0.71652>,<0.11037.2>}) Opened session for administrator@j.ru/PSI

=INFO REPORT==== 2011-01-27 09:31:58 ===
I(<0.11038.2>:mod_shared_roster:566) : user_available for "administrator" @ "j.ru" (1 resources)
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) LOE (Site/forum admin) Дата 27.01.11 06:33
Ну вот смотрю в своей веб-админке (правда у меня ejabberd не самый последний)
В ней оффлайн сообщение показывается в таблице, дата - отдельный столбик.

Т.е. в столбце сообщения, оно выглядит так:
<message from='юзер@сервер/Miranda'
         to='юзер2@сервер'
         xml:lang='en'
         type='chat'
         id='mir_1520'>
  <body>привет
</body>
</message>

т.е. в блоке body дата не фигурирует!
Если у тебя дата в этом блоке - значит это отослал отправитель и не является датой самого сообщения.

Спроси все-же своего собеседника, какое время стоит на его машине.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 27.01.11 06:39 Отредактировано 27.01.11 06:46
Уточнил на всякий, хотя вчера сам настраивал NTP клиента для синхронизации времени с сервером. Да и на моей машине время верное, тоже синхронизируется и клиент jabber другой.

Может версия mod_offline другая? Вчера смотрел много нареканий к этому модулю, правда народ больше страдает по поводу полного отсутствия оффлайн сообщений.
Но тогда время последнего подключения почему не то, оно к этому модулю отношения не имеет думаю. И время последнего подключения совпадает с временем в теге body оффлайн сообщения.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) LOE (Site/forum admin) Дата 27.01.11 06:49
Какая версия ejabberd'а и как ставил?
У меня вообще версия 2.0.4 и ставил из полной бинарной сборки ejabberd-2.0.4-linux-x86-installer.bin (8Мб)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 27.01.11 07:09 Отредактировано 27.01.11 07:35
Версия: 2.0.1-2, еще старее :-), ставил из репа deb. Со старой вроде проблем нет, например с модулями типа истории всех сообщений хранящихся на сервере.
% mod_configure.erl
{"Get User Last Login Time", "Получить время последнего подключения пользователя"}.
% web/ejabberd_web_admin.erl
{"Offline Messages", "Офлайновые сообщения"}.
{"Offline Messages:", "Офлайновые сообщения:"}.
{"Last Activity", "Последнее подключение"}.
{"~s's Offline Messages Queue", "Oчередь офлайновых сообщений ~s"}.
Может оно? Еще mod_time есть в конфе, без параметров.

Ладно, придется наверное оставить как есть, машина древняя, да и дистр ОС не подходящий, в скором времени все равно буду переносить ejabber на FreeBSD, там в портах ejabberd-2.1.5, ну и смотреть как все это будет работать.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) hawk Дата 27.01.11 09:01
Еще выкладываю список модулей, LOE сравни плиз со своими:
mod_adhoc     
mod_announce     
mod_caps     
mod_configure     
mod_ctlextra     
mod_disco     
mod_http_fileserver     
mod_irc     
mod_last     
mod_log_chat     
mod_muc     
mod_offline     
mod_privacy     
mod_private     
mod_proxy65     
mod_pubsub     
mod_register     
mod_roster     
mod_service_log     
mod_shared_roster     
mod_stats     
mod_time     
mod_vcard     
mod_version
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent Написал(а) LOE (Site/forum admin) Дата 27.01.11 15:16
Что у меня в конфиге:
{modules,
[
  {mod_register,   [{access, register}]},
  {mod_roster,     []},
  {mod_privacy,    []},
  {mod_configure,  [{access, configure}]},
  {mod_configure2, [{access, configure}]},
  {mod_disco,      [{access, configure}]},
  {mod_stats,      [{access, configure}]},
  {mod_vcard,      [{access, configure}]},
  {mod_offline,    []},
  {mod_echo,       [{host, "echo.localhost"}]},
  {mod_private,    []},
  {mod_irc,        [{access, irc}]},
  {mod_muc,        [{access, muc}, {access_create, muc}, {access_admin, muc_admin}]},
  {mod_pubsub,     [{access, configure}]},
  {mod_time,       [{access, register}]},
  {mod_last,       [{access, register}]},
  {mod_version,    [{access, configure}]},
  {mod_service_log, [{loggers, ["log"]}]},
  {mod_shared_roster, [{access, register}]},
  {mod_announce, [{access, announce}]}
]}.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Предыдущая Следующая Вверх Тема Jabber / Серверное ПО / ejabberd offline messages (21464 хитов)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.116s with 11 database queries.