LINUX.ORG.RU

Отправка сообщения через sendxmpp

 , , ,


0

5

Всем привет! Поставил sendxmpp. Дал права 400 на файл ~/.sendxmpp

Содержимое файла:

admin@domen.ru:5222 pass

Пробуем и получаем:

[root@Asterisk ~]# echo preved | sendxmpp -v -t -u -o user@domen.ru
sendxmpp: config: 'password' => 'pass'
Use of uninitialized value $val in concatenation (.) or string at /usr/bin/sendxmpp line 200.
sendxmpp: config: 'component' => ''
sendxmpp: config: 'jserver' => 'domen.ru'
sendxmpp: config: 'port' => '5222'
sendxmpp: config: 'username' => 'admin'
sendxmpp: ssl_verify: 1
sendxmpp: tls_ca_path:
Could not connect to 'domen.ru' on port 5222: HASH(0x2d91968

В файле /usr/share/perl5/Net/XMPP/Protocol.pm пробовал закомментить:

    if($self->{STREAM}->GetStreamFeature($self->GetStreamID(),"xmpp-sasl"))
    {
        return $self->AuthSASL(%args);
    }

Не помогало. Так же пробовал jabber-домен менять на IP сервера - не помогло.

Всё это дело стоит на Centos 6.8, perl v5.10.1

Подскажите, что делать.



Последнее исправление: yellowboy (всего исправлений: 2)

Для начала приведи в порядок опции.

-u,--username user
-o,--component componentname

А у тебя -o является параметром для -u. Ну и так далее. Хотя в дебаге вроде все правильно в этом плане. Еще можешь попробовать сервер указать отдельно, третьим полем в .sendxmpprc

И вообще выкинь нафиг -u и -o.

echo test | sendxmpp -v -t someuser@someserver.com

YAR ★★★★★
()
Последнее исправление: YAR (всего исправлений: 1)
Ответ на: комментарий от YAR
echo preved | sendxmpp -v -t user@domen.ru
sendxmpp: config: 'password' => 'pass'
sendxmpp: config: 'component' => ''
sendxmpp: config: 'jserver' => 'domen.ru'
sendxmpp: config: 'port' => '5222'
sendxmpp: config: 'username' => 'admin'
sendxmpp: ssl_verify: 1
sendxmpp: tls_ca_path:
Could not connect to 'domen.ru' on port 5222: HASH(0x136b0f8)

Третьим полем дописывал сервер (и ip, и домен jabber), ошибка таже, но в component добавлялось то, что было в этом 3-ем поле.

yellowboy
() автор топика
Ответ на: комментарий от yellowboy

Другие сервера пробовал? Или на другом хосте с теми же данными, но более новым sendxmpp, например?

YAR ★★★★★
()
Ответ на: комментарий от YAR

На другом сервере пробовал с теми же настройками. На другом сервере стоит Ubuntu (версию не помню). Ошибка была:

Could not connect to 'domen.ru' on port 5222: IO::Socket::INET: connect: timeout

yellowboy
() автор топика
Ответ на: комментарий от yellowboy

TLS вообще включен ли ? И да, меня теперь интересует вопрос, где фейк ? Эта тема уже всплывала на другом ресурсе дня 2 назад, от женского имени.

pavel38
()
Последнее исправление: pavel38 (всего исправлений: 1)

Потыкал — работает:

$ sendxmpp -u 'user1' -p 'password' -j 'example.org' -t -n user2@example.org <<< 'test'

$ rpm -q sendxmpp
sendxmpp-1.24-3.fc24.noarch

$ rpm -q ejabberd
ejabberd-16.01-5.fc24.x86_64

Только я не понял, как подключаться к серверу, когда имя домена отличается от имени сервера.

ArcFi
()
Ответ на: комментарий от ArcFi

В общем, проблема была в том, что sendxmpp ломился во внешку на domen.ru, естественно, подключиться там не мог. Добавил domen.ru в hosts, теперь коннект есть, но:

echo preved | sendxmpp -t -v  user@domen.ru
sendxmpp: config: 'password' => 'pass'
Use of uninitialized value $val in concatenation (.) or string at /usr/bin/sendxmpp line 200.
sendxmpp: config: 'component' => ''
sendxmpp: config: 'jserver' => 'domen.ru'
sendxmpp: config: 'port' => '5222'
sendxmpp: config: 'username' => 'admin'
sendxmpp: ssl_verify: 1
sendxmpp: tls_ca_path:
sendxmpp: Connect: 1
Error 'AuthSend': 503: [?]
sendxmpp: Disconnect

yellowboy
() автор топика
Ответ на: комментарий от ArcFi

-o,--component componentname

А, вру. Похоже, отдельное указание сервера - это через -s, в таком случае он берется не с JID'а.

YAR ★★★★★
()
Последнее исправление: YAR (всего исправлений: 2)
Ответ на: комментарий от YAR
echo preved | sendxmpp -v -s domen.ru -t user@domen.ru
sendxmpp: config: 'password' => 'pass'
Use of uninitialized value $val in concatenation (.) or string at /usr/bin/sendxmpp line 200.
sendxmpp: config: 'component' => ''
sendxmpp: config: 'jserver' => 'domen.ru'
sendxmpp: config: 'port' => '5222'
sendxmpp: config: 'username' => 'admin'
sendxmpp: ssl_verify: 1
sendxmpp: tls_ca_path:
sendxmpp: Connect: 1
Error 'AuthSend': 503: [?]
sendxmpp: Disconnect
yellowboy
() автор топика

[кому-нибудь на заметку]

Пришлось тут запускать sendxmpp в чистой установке Debian 9. Не работает, ругается - «Use of uninitialized value $sid in » и так далее - много таких сообщений. Лечится установкой libxml-stream-perl из Jessie.

А с ошибкой, типа как у ТСа, столкнулся, когда пробовал запускать sendxmpp из git'а (уже даже со сниженной версией либы). А штатный работает.

И да, открыл для себя sendxmpp2:

New version of sendxmpp - sendxmpp2. Sendxmpp2 is able to read messages

YAR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.