Транспорт XMPP/Jabber

Волонтерская поддержка приложения Bimoid Server (Windows). Общаемся по проблемам, ошибкам, делимся опытом их решения. Не забываем указывать версию серверной части.
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Транспорт XMPP/Jabber

Сообщение inf »

Сервер версии 1.0/2.0 поддерживает транспорты в другие сети. На сегодняшний день более менее актуальным остается транспорт XMPP/Jabber.
Скачать архив с файлами транспорта для Bimoid сервера: XMPP/Jabber (zip)
Исходный код на GitHub
Текущая версия транспорта: 1.0.5

Что умеет транспорт на данный момент:
- работа со списком контактов
- добавление/удаление/переименование контактов
- приватные списки
- передача сообщений
- передача сообщений авторизации
- отображение количества активных ресурсов
- запрос данных пользователей
- поддержка запроса/установки аватаров
- работа с контактами "не в списке"
- определение клиентов
- расширенные настройки транспорта
- поддержка механизма определения версий клиентов

Чего не стоит ожидать:
- передача файлов
- поиск по директории
- дальнейших доработок

Про особенности и ответы на вопросы:
1. Пароль от учётной записи транспорта не хранится на сервере. Если вы ставите галочку "сохранить пароль" в настройках транспорта, то он сохраняется только у вас на компьютере. Настройки транспорта и пароль в закодированном виде передаются на сервер только один раз при входе, после выхода, настройки транспортов и пароль затираются из памяти вместе с объектом транспорта.
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: Транспорт XMPP/Jabber

Сообщение inf »

Инструкция по установке транспорта на сервер.

1. Скачать архив и распаковать всё его содержимое в папку "..\BimoidServer\BimoidSrv\ObimpExt". Если распаковали правильно, то в папке "ObimpExt" должна появится папка XMPP со своим содержимым.

2. Необязательный пункт (нужен для того, чтобы клиенты могли грузить картинки транспорта). В папке XMPP найти папку UploadToWeb и скопировать ее содержимое в какую-нибудь папку своего/корпоративного веб сервера. Найти в папке XMPP файл rcurls.ini и указать правильные URL-ы к залитым на ваш веб сервер файлам, при этом не забыв раскомментировать (убрать символы ";" в нужных местах) все секции.

3. Правильно отключить пользователей от сервера. Перезапустить сервис Bimoid Server.

Если вы все сделали правильно, то в утилите Bimoid Admin в пункте "Сервер/Транспорты" новый транспорт станет доступным для просмотра и редактирования настроек.
HUB107
Сообщения: 7
Зарегистрирован: Пт дек 02, 2022 5:46 am

Re: Транспорт XMPP/Jabber

Сообщение HUB107 »

Добрый день. Перестал работать транспорт. Тупо стал писать "подключение прервано". Другие клиенты к тому же jabber серверу нормально подключаются. Как можно посмотреть детальнгый лог, что же bimoid транспорту не нравится?
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: Транспорт XMPP/Jabber

Сообщение inf »

Здравствуйте! К сожалению включение логирования для транспортов не было предусмотрено, а предложить воспользоваться WireShark наверно было бы не самой лучшей идеей. Попробуйте подключиться другим клиентом с вашего сервера, где установлен Bimoid Server, чтобы исключить проблемы с доступом сервера во внешнюю сеть (если jabber сервер во внешней сети).
HUB107
Сообщения: 7
Зарегистрирован: Пт дек 02, 2022 5:46 am

Re: Транспорт XMPP/Jabber

Сообщение HUB107 »

У меня как раз и сервер и клиенты на одном сервере (клиенты в терминальных сессиях). При том bimoid клиенты к новосу jabber серверу цепляются нормально, а к старому "глючному" перестали. Но при этом же любая терминальная сесмтя с другим клиентом типа psi цепляется к старому "глючному" серверу без проблем. Да, в wireshark увы заблужусь.. Есть ли какой то другой путь? Очень хочется obimp и jabber в одном клиенте использовать.
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: Транспорт XMPP/Jabber

Сообщение inf »

Вероятно старый сервер стал что-то присылать несовместимое, например требование использовать новую версию TLS, а openssl библиотеки сервер использует 10 летней давности. Как вариант попробуйте отладочную версию транспорта xmpp.dll во вложении, старую переименуйте временно. Она использует системную отладочную функцию для вывода строк. Посмотреть их на живую можно с помощью приложения DebugView. Запускаете приложение от имени админа там же где установлен сервер и пытаетесь подключить jabber учетку с Bimoid Messenger.
Вложения
xmpp.zip
(648.08 КБ) 126 скачиваний
HUB107
Сообщения: 7
Зарегистрирован: Пт дек 02, 2022 5:46 am

Re: Транспорт XMPP/Jabber

Сообщение HUB107 »

Как подсказал мне владелец "глючного" сервера, bimoid не подключается по причине "не согласуетcя версия TLS"
Попробовал заменить xmpp.dll на новую с перезапуском счервера. По прежнему не подключается увы.
Есть ли возможность обновить tls на bimoid server до актуальной?
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: Транспорт XMPP/Jabber

Сообщение inf »

Осталось только попробовать заменить старые openssl файлы сервера на те, что обновлены в новой версии Bimoid Messenger. Речь про эти два файла "libbim32.dll" и "sslbim32.dll", лежат в папке с мессенджером "...\Bimoid\More\Ssl". На сервере это папка "...\BimoidServer\ObimpSsl". Но надо целиком остановить сервер.
HUB107
Сообщения: 7
Зарегистрирован: Пт дек 02, 2022 5:46 am

Re: Транспорт XMPP/Jabber

Сообщение HUB107 »

Увы после замены "libbim32.dll" и "sslbim32.dll" в папке на сервере, к серверу bimoid перестал даже родной клиент через "безопасное соединение" подключаться. А на jabber подмена файлов так и не сыграла никакой роли.
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: Транспорт XMPP/Jabber

Сообщение inf »

Да, подтверждаю, по какой-то причине сервер не хочет взаимодействовать с новыми dll, когда он работает как служба. А вот в интерактивном режиме на отладочном проекте все нормально и jabber тоже подключается к серверам с включенным tls 1.2. Углубляться в старый код я уже не буду, но есть еще один вариант. Попробуйте, должно сработать. Во вложении dll транспорта, в которой изменен путь поиска библиотек openssl.
1. Остановите сервисы Bimoid сервера.
2. Старый xmpp.dll замените тем, что во вложении.
3. В папке сервера BimoidServer создайте папку "ObimpSslNew" (старую папку "ObimpSsl" не удаляйте) и скопируйте в нее новые dll файлы "libbim32.dll" и "sslbim32.dll" вместе с рутовыми сертификатами, которые лежат в папке с мессенджером "...\Bimoid\More\Ssl".
4. Поскольку сервер запускает свои расширения в виде отдельных процессов, то такой процесс подхватит новые dll, при том, что сам Bimoid сервер для своих клиентов будет использовать старые.
Ну и поделитесь потом сработало или нет. На тестовом bimoid.net этот способ работает.
Вложения
xmpp_n.zip
(647.07 КБ) 131 скачивание
Ответить