jabber daemons
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
c джаббером есть одна проблема. где подписать сертификты, т.е. у меня сейчас самоподписанный. пока с этим проблем небыло, потому что раньше в основном обмен сообщениями происходил локально на серваке, а сейчас, с ростом популярности джаббера, в контактах появилось много народу с различных крупных серваков. так вот многие из них неработают потому, что у меня локально сгенерированный сертификат. наверняка проблема как-то решается?
-
- Неотъемлемая часть форума
- Сообщения: 1055
- Зарегистрирован: 25 окт 2006, 14:50
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
rapidssl
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
а я вот что нашел. http://hyperstruct.net/2007/6/20/instal ... n-ejabberd сертификаты получил, только неработает что-то. честно скажу - пока не до конца понимаю что делаю, спешу просто, надо чтобы работало, потому как сижу без связи. в логах ejabberd второй ветки такое:
куда копать пока понять немогу. вроде все по шагам сделал, без сбоев. там надо было дебиан патчить, но у меня дженту и там это уже исправлено на удивление, но сбой какраз где-то в этом месте, как вы можете видеть, т.е. в другой функции но с похожим названием и она там рядом.
в чем смысл ошибки вообще?
хотя, повторюсь, мне бы ща сделать чтобы работало, а со смыслом я бы потом разобрался
Код: Выделить всё
=ERROR REPORT==== 2009-03-18 20:50:21 ===
** State machine <0.3673.0> terminating
** Last event in was {xmlstreamelement,
{xmlelement,"starttls",
[{"xmlns","urn:ietf:params:xml:ns:xmpp-tls"}],
[]}}
** When State == wait_for_feature_request
** Data == {state,{socket_state,gen_tcp,#Port<0.5451>,<0.3672.0>},
ejabberd_socket,#Ref<0.0.0.40243>,"1121336876",
{sasl_state,"jabber","zazoid.com",[],
#Fun<ejabberd_c2s.1.74696376>,
#Fun<ejabberd_c2s.2.131707924>,undefined,
undefined},
c2s,c2s_shaper,false,true,false,false,
[{certfile,"/etc/jabber/ssl.pem"}],
false,undefined,[],"zazoid.com",[],undefined,
{0,nil},
{0,nil},
{0,nil},
{0,nil},
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]}}},
undefined,undefined,undefined,false,
{userlist,none,[]},
unknown,unknown,
{{192,168,111,169},46841},
"en"}
** Reason for termination =
** {{badmatch,{error,"SSL_CTX_use_PrivateKey_file failed: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch"}},
[{ejabberd_socket,starttls,3},
{ejabberd_c2s,wait_for_feature_request,2},
{gen_fsm,handle_msg,7},
{proc_lib,init_p,5}]}
в чем смысл ошибки вообще?
хотя, повторюсь, мне бы ща сделать чтобы работало, а со смыслом я бы потом разобрался
-
- Неотъемлемая часть форума
- Сообщения: 1055
- Зарегистрирован: 25 окт 2006, 14:50
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
вообще, насколько я вижу, ругается не ejabberd, а очень даже libssl:
покажи еще вывод
для начала перепроверь путь к .pem в конфиге ejabberd, убедись, что используешь правильный .crt при проверкеSSL_CTX_use_PrivateKey_file failed: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
покажи еще вывод
Код: Выделить всё
openssl s_client -connect your_jabber:5223 -CAfile /bla/bla/ca.crt
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
насчет libssl была мысль, но непонятно пока что, что оно откуда берет и что чем является.
путь к pem перепроверил миллион раз, а вот откуда оно берет crt чесговоря непонятно.
вывод таков:
а вообще все уже какбы уже не так горит, но тем не менее делать надо, не только я этим серваком пользуюсь.
путь к pem перепроверил миллион раз, а вот откуда оно берет crt чесговоря непонятно.
вывод таков:
Код: Выделить всё
openssl s_client -connect zazoid.com:5223 -CAfile /home/testor/storage/keys/xmpp/ca.crt
CONNECTED(00000003)
1474:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:
-
- Неотъемлемая часть форума
- Сообщения: 1055
- Зарегистрирован: 25 окт 2006, 14:50
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
я в таких случаях иду по пути наибольшего сопротивления - strace
у тебя кажись не срастается crt клиентский с pem серверным, а вот почему - хз. логи жаббера это только подтверждают.
у тебя кажись не срастается crt клиентский с pem серверным, а вот почему - хз. логи жаббера это только подтверждают.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
strace - опыта нет вообще, не владею
а как оно вообще работает? ну сам прицнип. я знал просто оно почему-то постоянно вылетает у меня из головы, всмысле общая схема.
делать то просто как-то надо. возвращать как было - не годится. менять джаббер - еще хуже.
может попробывать таки перейти на jabberd2? потому как вникать в erlang ради того чтобы раз в год поковырять глючный ejabberd это явно не вариант.
а как оно вообще работает? ну сам прицнип. я знал просто оно почему-то постоянно вылетает у меня из головы, всмысле общая схема.
делать то просто как-то надо. возвращать как было - не годится. менять джаббер - еще хуже.
может попробывать таки перейти на jabberd2? потому как вникать в erlang ради того чтобы раз в год поковырять глючный ejabberd это явно не вариант.
-
- Неотъемлемая часть форума
- Сообщения: 434
- Зарегистрирован: 12 апр 2004, 11:00
- Откуда: г. Владивосток
- Контактная информация:
Re: jabber daemons
strace пишет системные вызовы, которые делает программа. Потом можно просто погрепать на предмет open и посмотреть, какие файлы программа пытается открыть.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
вариант, но ejabberd то на эрланге, который вроде как работает с виртуальной машиной, что-то у меня сомнения что выйдет натравить на него strace. да и на какой файл конкретно его натравливать - тоже непонятно, пугает меня этот ejabberd.
-
- Неотъемлемая часть форума
- Сообщения: 1055
- Зарегистрирован: 25 окт 2006, 14:50
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
на тот, который в ps ax|grep jabber светится
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
Код: Выделить всё
ps aux | grep jabber
jabber 3663 0.0 0.0 1736 428 ? S Jan19 0:34 /usr/lib/erlang/erts-5.6.3/bin/epmd -daemon
jabber 7571 0.0 7.4 52064 38600 ? Sl Mar18 5:11 /usr/lib/erlang/erts-5.6.3/bin/beam -- -root /usr/lib/erlang -progname erl -- -home /var/run/jabber -sname ejabberd@main -s ejabberd -kernel inetrc "/etc/jabber/inetrc" -sasl sasl_error_logger {file,"/var/log/jabber/sasl.log"} -mnesia dir "/var/spool/jabber" -noshell -noshell -noinput
jabber 14329 0.0 0.0 1732 408 ? Ss Mar18 0:00 inet_gethost 4
jabber 14330 0.0 0.1 1868 644 ? S Mar18 0:00 inet_gethost 4
root 19828 0.0 0.1 2876 720 pts/5 R+ 01:47 0:00 grep --colour=auto jabber
не, ну я конечно преувеличиваю, я вполне себе в курсе что я показал все что запущено от юзера jabber, но помоему это неплохая иллюстрация причин моего подозрительного отношения к этому странному приложению
-
- Неотъемлемая часть форума
- Сообщения: 434
- Зарегистрирован: 12 апр 2004, 11:00
- Откуда: г. Владивосток
- Контактная информация:
Re: jabber daemons
Во-первых, даже если там используется виртуальная машина, всё равно открыть файл сама она не сможет, придётся syscall делать, который strace перехватит. Во-вторых, strace умеет перехватывать syscall'ы потомков, так что не суть важно сколько процессов в итоге порождается. Просто попробуй.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Re: jabber daemons
если ввести:
что-то знакомое, но к чему это - немогу вспомнить.
если запустить тупо как ejabberd, то оно даже запускается, хоть и не фунциклирует особо, но соединения принимать таки пытается.
если запустить через трэйсер, то в вывод валится килобайт 100 различного текста. я не готов это разбирать, нет.
наверное таки имеет смысл ставить что-то попроще. посмотрю в сторону jabberd2. или таки переходить на публичные сервера.
вобщем да, джаббер это круто, но толку с него если с реализациями протокола такой напряг.
что с трэйсером что без - оно не запускается и ругается:/usr/lib/erlang/erts-5.6.3/bin/beam -- -root /usr/lib/erlang -progname erl -- -home /var/run/jabber -sname ejabberd@main -s ejabberd -kernel inetrc "/etc/jabber/inetrc" -sasl sasl_error_logger {file,"/var/log/jabber/sasl.log"} -mnesia dir "/var/spool/jabber" -noshell -noshell -noinput
Код: Выделить всё
Environment variable BINDIR is not set
если запустить тупо как ejabberd, то оно даже запускается, хоть и не фунциклирует особо, но соединения принимать таки пытается.
если запустить через трэйсер, то в вывод валится килобайт 100 различного текста. я не готов это разбирать, нет.
наверное таки имеет смысл ставить что-то попроще. посмотрю в сторону jabberd2. или таки переходить на публичные сервера.
вобщем да, джаббер это круто, но толку с него если с реализациями протокола такой напряг.
-
- Неотъемлемая часть форума
- Сообщения: 434
- Зарегистрирован: 12 апр 2004, 11:00
- Откуда: г. Владивосток
- Контактная информация:
Re: jabber daemons
1) Посмотри ejabberd, это, наверняка, скрипт, устанавливающий всякие переменные типа BINDIR. Думаю, у тебя должно быть BINDIR=/usr/lib/erlang/erts-5.6.3/bin
2) Не надо читать 100kb текста, пусть этим grep занимается.
2) Не надо читать 100kb текста, пусть этим grep занимается.