[РЕШЕНО] Оповещения по xmpp. sendxmpp не проходит авторизацию.
Всем здравствуйте.
Имеется сервер мониторинга nagios(gentoo), локальный сервер xmpp(win2k3). xmpp сервер Openfire 3.3.2, имя домена s-klnk без точки и верхнего домена.
Задача: отправка оповещений nagios через протокол xmpp админу в локальной сети.
Проблема: погуглив на тему решения моей задачи сразу же нашел связку nagios + sendxmpp.
Собрал sendxmpp. Почитал ман.
echo hellod | sendxmpp -j 192.168.1.8:5222 -u nagios -p 123123 ito@s-klnk
Use of uninitialized value $args{"file"} in lc at /usr/lib/perl5/vendor_perl/5.12.2/Net/XMPP/Debug.pm line 154.
Use of uninitialized value within @_ in lc at /usr/lib/perl5/vendor_perl/5.12.2/XML/Stream/Parser.pm line 66.
Error 'AuthSend': error: not-authorized[?]
Составлял команду в различных комбинациях. Не помогло.
Что означают первые две строчки? в перле не силен.
Подскажите где я не прав? зашел в тупик.
3 часа позже, нашел решение.
Надо закоментровать строку:
return $self->AuthSASL(%args);
в файле /usr/lib/perl5/vendor_perl/version/Net/XMPP/Protocol.pm
echo hellod | sendxmpp -j 192.168.1.8:5222 -u nagios -p 123123 ito@s-klnk -v
Use of uninitialized value $args{"file"} in lc at /usr/lib/perl5/vendor_perl/5.12.2/Net/XMPP/Debug.pm line 154.
Use of uninitialized value within @_ in lc at /usr/lib/perl5/vendor_perl/5.12.2/XML/Stream/Parser.pm line 66.
sendxmpp: Connect: 1
sendxmpp: AuthSend: ok
sendxmpp: MessageSend
sendxmpp: Disconnect
Но всеж для меня останется загадкой что означают две первые строчки.
- Для комментирования войдите или зарегистрируйтесь
Вновь столкнулся с
Вновь столкнулся с аналогичной проблемой:
XMPP::Conn: AuthSASL: Authentication failed.
Error 'AuthSend': error: not-authorized[?]
Комментирование return $self->AuthSASL(%args); не помогло, лишь вызывало новую ошибку:
XMPP::Conn: CleanID: id(netjabber-0)
Error 'AuthSend': 503: [?]
Нашел другое тут
В файле /usr/lib64/perl5/vendor_perl/5.24.3/Authen/SASL/Perl/DIGEST_MD5.pm
необходимо закомменировать строку $response{authzid} = $authzid;
При этом return $self->AuthSASL(%args); необходимо раскоментировать.
ps Я не некрофил...просто оставил след, на память.
Ваша последовательность
Ваша последовательность впечатляет.