Настроил отправку сообщений через jabber, зарегистрировал аккаунт, протестировал его (отправив с сервера, на котором крутится zabbix, сообщение с помощью sendxmpp), а вот zabbix не хочет отсылать, в лог пишется вот что:
22764:20091012:103641 JABBER: In send_jabber()
22764:20091012:103641 JABBER: In connect_jabber('[email protected]')
22764:20091012:103644 JABBER: In on_stream()
22764:20091012:103644 JABBER: End of on_stream()
22764:20091012:103644 JABBER: In on_stream()
22764:20091012:103644 JABBER: End of on_stream()
22764:20091012:103713 JABBER: End of connect_jabber():FAIL
22764:20091012:103713 JABBER: End of send_jabber():FAIL
Система hardened gentoo, крутится все в chroot окружении, iksemel взят не из портов а скомпилен вручную. Прошу подсказать, что может быть неправильным.
Выяснил, что проблема возникает тут (кусок кода модифицирован, файл src/libs/zbxjabber/jabber.c):
if (SUCCEED != connect_jabber(username, passwd, 1, IKS_JABBER_PORT)){
zabbix_log(LOG_LEVEL_DEBUG, "### JABBER: cann't connect");
goto lbl_fail;
}
Еще точнее, проблема тут (внутри функции connect_jabber):
if (JABBER_READY == jsess->status)
ret = SUCCEED;
Значения принимают такие значения:
jsess->status = 0 (что соответствует JABBER_DISCONNECTED)
JABBER_READY = 10
Я не нашел, где jsess->status меняет свое значение с позиции JABBER_DISCONNECTED внутри функции connect_jabber.
Спасибо.
22764:20091012:103641 JABBER: In send_jabber()
22764:20091012:103641 JABBER: In connect_jabber('[email protected]')
22764:20091012:103644 JABBER: In on_stream()
22764:20091012:103644 JABBER: End of on_stream()
22764:20091012:103644 JABBER: In on_stream()
22764:20091012:103644 JABBER: End of on_stream()
22764:20091012:103713 JABBER: End of connect_jabber():FAIL
22764:20091012:103713 JABBER: End of send_jabber():FAIL
Система hardened gentoo, крутится все в chroot окружении, iksemel взят не из портов а скомпилен вручную. Прошу подсказать, что может быть неправильным.
Выяснил, что проблема возникает тут (кусок кода модифицирован, файл src/libs/zbxjabber/jabber.c):
if (SUCCEED != connect_jabber(username, passwd, 1, IKS_JABBER_PORT)){
zabbix_log(LOG_LEVEL_DEBUG, "### JABBER: cann't connect");
goto lbl_fail;
}
Еще точнее, проблема тут (внутри функции connect_jabber):
if (JABBER_READY == jsess->status)
ret = SUCCEED;
Значения принимают такие значения:
jsess->status = 0 (что соответствует JABBER_DISCONNECTED)
JABBER_READY = 10
Я не нашел, где jsess->status меняет свое значение с позиции JABBER_DISCONNECTED внутри функции connect_jabber.
Спасибо.
Comment