Jérôme Sautret | 29 Feb 19:03 2016
Picon

ejabberd 16.02: Happy Leap Day

To celebrate leap day, we are happy to release ejabberd 16.02, which
mark huge leap for ejabberd both in terms of features and
improvements.

In terms of features, we see in this release the culmination of our
work in several areas:
– Support for flexible offline retrieval, aka XEP-0013
(http://www.xmpp.org/extensions/xep-0013.html). This is a big win for
mobile developers.
– Improvements on archiving, with Message Archive Management (MAM) now
supporting version 0.4.1 of the specifications.
– Full Elixir compliant packaging with the ability to deploy ejabberd
as an Hex.pm dependency from your own application. See ejabberd on
hex.pm: https://hex.pm/packages/ejabberd
– Performance improvement with faster and more memory efficient XML
parsing and TLS encryption.
– Better stream compression with the ability to enable stream
compression after SASL.
– Easier adoption of ejabberd with a new migration script from Prosody
XMPP servers.

As usual, this version is the product of a great community team work,
with special kudos to Holger, Alexey, Evgeny, Pawel, Christophe,
Badlop, Mickaël for their large contributions in this release.

That community effort is what makes ejabberd is such a popular
project, with 2260+ stars on Github, availability in most Linux
distributions and showing amazing number of downloads! Thank you all!

Here is the full list of changes:
(Continue reading)

Steven Livingstone | 25 Feb 22:06 2016
Gravatar

eJabberd Certificates Confusion

Hi. I'm a little confused on how to properly set up certificates on
eJabberd and would appreciated some advice. All of the samples I have
found only use a single server certificate which I guess works well if
you have a server domain == host domain.

In my case I want to have an XMPP server at xmpp.domain.com but that
would have multiple hosts so users can register at user <at> example.com,
user <at> example.co.uk and so on. As far as I know, to properly do this I
need a certificate for the server (xmpp.domain.com) as well as one for
each host (example.com, example.co.uk and so on). This way you can
trust the server you are accessing as well as know it is a trusted
server for the hosts with associated certificates. Please correct me
if an of the above is NOT true and my understanding is wrong.

I have created and installed a self signed server cert for
xmpp.alchemy.local and that works well. If the connect server domains
don't match I get an error and as it is self signed, when they do
match i don't get the prompt and it works well.

*However*, I don't think I understand how the domain certificate for
the host is supposed to work or I am doing something wrong.

I can put the entirely wrong certificate for a host I have defined
(see example below) and I am able to connect to the xmpp.alchemy.local
server and I am also able to create a user at user <at> example.com on that
server ... even though the associated domain_certfile is for
alchemy.local, NOT example.com.

Can anyone tell me what is going on?

(Continue reading)

Steven Livingstone | 24 Feb 13:56 2016
Gravatar

Terminate SSL at Proxy or not?

Hello All.

I'm interested in the pros and cons of terminating my SSL at the proxy and then messaging in the clear to my private internal eJabberd cluster versus going SSL all the way. I'm thinking SSL all the way adds some performance overhead but probably not significant.

I'm more interested in any other pros and cons within my own private cluster and also, if i need to do federation if the recipient is on a remote server or even server to server messaging.

many thanks,
steven
_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Gaurav Jain | 23 Feb 09:23 2016
Picon

service-unavailable

Hi,

I am not able to understand what could be wrong with logs below. I get an service-unavailable iq when the app connected to ejabberd.

Could you please point me to possible issue?

Logs below are associated with same id F7ANh-88. 

TIA,


D/SMACK﹕ SENT (0): <iq id='F7ANh-88' type='set'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>Smack</resource></bind></iq>

D/SMACK﹕ RECV (0): <iq id='F7ANh-88' type='result'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>user1 <at> dev.example.com/Smack</jid></bind></iq>

D/SMACK﹕ SENT (0): <iq id='F7ANh-88' type='set'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>Smack</resource></bind></iq>

RECV (0): <a xmlns='urn:xmpp:sm:3' h='5'/><iq from='dev.example.com' to='user1 <at> dev.example.com/Smack' id='F7ANh-74' type='result'/><r xmlns='urn:xmpp:sm:3'/><iq from='dev.example.com' to='user1 <at> dev.example.com/Smack' id='F7ANh-76' type='result'/><r xmlns='urn:xmpp:sm:3'/><iq from='dev.example.com' to='user1 <at> dev.example.com/Smack' id='F7ANh-78' type='result'/><r xmlns='urn:xmpp:sm:3'/><iq from='dev.example.com' to='user1 <at> dev.example.com/Smack' id='F7ANh-80' type='result'/><r xmlns='urn:xmpp:sm:3'/><iq from='user1 <at> dev.example.com' to='user1 <at> dev.example.com/Smack' type='error' xml:lang='en' id='F7ANh-88'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>Smack</resource></bind><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
samad khadivar | 22 Feb 07:54 2016
Picon

Ejabberd not accepting compression after SASL

I installed ejabberd-16.01-linux-x86_64-installer.run. I want to use compression in ejabberd using smack.
I find this link https://github.com/weiss/ejabberd/commit/5b4aefbacd260d86e8e78a7d6680106383869783?diff=unified and I changed ejabberd_c2s.erl according to it and compile it, then replace it in /opt/ejabberd-16.01/lib/ejabberd-16.01/ebin/ejabberd_c2s.erl. 
I compile ejabberd_c2s.erl in this directory  /opt/ejabberd-16.01/lib/ejabberd-16.01/include(hrl) using this command erlc ejabberd_c2s.erl 
I get this warring 
ejabberd_c2s.erl:28: Warning: behaviour ejabberd_config undefined
ejabberd_c2s.erl:40: Warning: behaviour p1_fsm undefined
restart my ejabberd and run it. when my clinet want to connect it returns this error.

2016-02-22 10:13:07.658 [error] <0.1703.0> CRASH REPORT Process <0.1703.0> with 0 neighbours exited with reason: call to undefined function p1_logger:debug_msg(ejabberd_c2s, 1847, "Send XML on stream = ~p", [<<"<?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber....">>]) in p1_fsm:terminate/8 line 760

I test it with ejabberd 15.11 and I get that error
Thanks in advance.
--
----------
Best Regards
_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Steven Livingstone | 21 Feb 12:16 2016
Gravatar

join_cluster no_ping error

Hi. I am trying to get clustering between two nodes (on version 16.01), I have copied the cookie and both instances are able to start up.

However, when i try to run join_cluster I get the error message below. I have tried every conceivable combination for the node name but get the same error message. I have two nodes node0 and node1 and once ejabberd is started up i see "Application ejabberd started on node node0 <at> xmpp" and "Application ejabberd started on node node1 <at> xmpp" respectively in the logs.

root <at> xmpp:/opt/ejabberd# ejabberdctl join_cluster "node0 <at> xmpp"
Error: {no_ping,node0 <at> xmpp}

Before I start posting all the config and so on, are there some basics i am missing - i followed the guide at [1].

thanks,
steven

_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Steven Livingstone | 19 Feb 00:45 2016
Gravatar

Redis Connection errors during testing

Hi.

I have ejabberd using Redis for C2S backed by HA Proxy and a master/slave config of Redis nodes. All works well.

However, I am now testing failover and that almost works perfectly except when sending test messages between two clients and bring down my Redis Master, some of the messages are lost during the time the Redis master is down and the new Redis slave is promoted. Then it all starts working again but the lost message never come through.

However, I can see them in the log (see below) along with the "no connection" error that i suspect happens during the promotion (this is my first time getting this working). The first set of messages in the log see the successful send of the letter "i" [yes, my life is really that exciting] and the second shows the failure to send "j" (as well as k,l,m and o) before it starts working again for "p" and so on.

Is there some setting I can use to avoid losing these messages? I'd expect either a time window, number of tries or something and that indeed may be the intention of some of the parameters in https://docs.ejabberd.im/admin/guide/configuration/#redis ... but i don't want to go hacking them quite yet until i fully understand what is going on.

Many Thanks,
/steven


===================

23:30:34.277 [debug] Received XML on stream = <<"<message type='chat' id='purple55391543' to='test <at> alchemy.local/15244248501564432370104988424493447723256800312291573867645'><active xmlns='http://jabber.org/protocol/chatstates'/><body>i</body></message>">>
23:30:34.278 [debug] route
from {jid,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>}
to {jid,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>}
packet {xmlel,<<"message">>,[{<<"type">>,<<"chat">>},{<<"id">>,<<"purple55391543">>},{<<"to">>,<<"test <at> alchemy.local/15244248501564432370104988424493447723256800312291573867645">>}],[{xmlel,<<"active">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/chatstates">>}],[]},{xmlel,<<"body">>,[],[{xmlcdata,<<"i">>}]}]}
23:30:34.278 [debug] local route
from {jid,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>}
to {jid,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>}
packet {xmlel,<<"message">>,[{<<"type">>,<<"chat">>},{<<"id">>,<<...>>},{<<...>>,...}],[{xmlel,<<...>>,...},{xmlel,...}]}
23:30:34.278 [debug] session manager
from {jid,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>}
to {jid,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>}
packet {xmlel,<<"message">>,[{<<"type">>,<<"chat">>},{<<"id">>,<<...>>},{<<...>>,...}],[{xmlel,<<...>>,...},{xmlel,...}]}
23:30:34.279 [debug] sending to process <0.904.0>
23:30:34.280 [debug] Send XML on stream = <<"<message from='admin <at> alchemy.local/alchemy' to='test <at> alchemy.local/15244248501564432370104988424493447723256800312291573867645' type='chat' id='purple55391543'><active xmlns='http://jabber.org/protocol/chatstates'/><body>i</body></message>">>
23:30:35.355 [debug] Received XML on stream = <<"<message type='chat' id='purple55391544' to='test <at> alchemy.local/15244248501564432370104988424493447723256800312291573867645'><active xmlns='http://jabber.org/protocol/chatstates'/><body>j</body></message>">>
23:30:35.356 [error] failed to get sessions from redis: {error,no_connection}
23:30:35.356 [debug] route
from {jid,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>}
to {jid,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>}
packet {xmlel,<<"message">>,[{<<"type">>,<<"chat">>},{<<"id">>,<<"purple55391544">>},{<<"to">>,<<"test <at> alchemy.local/15244248501564432370104988424493447723256800312291573867645">>}],[{xmlel,<<"active">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/chatstates">>}],[]},{xmlel,<<"body">>,[],[{xmlcdata,<<"j">>}]}]}
23:30:35.356 [debug] local route
from {jid,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>}
to {jid,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>}
packet {xmlel,<<"message">>,[{<<"type">>,<<"chat">>},{<<"id">>,<<...>>},{<<...>>,...}],[{xmlel,<<...>>,...},{xmlel,...}]}
23:30:35.356 [debug] session manager
from {jid,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>,<<"admin">>,<<"alchemy.local">>,<<"alchemy">>}
to {jid,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>,<<"test">>,<<"alchemy.local">>,<<"15244248501564432370104988424493447723256800312291573867645">>}
packet {xmlel,<<"message">>,[{<<"type">>,<<"chat">>},{<<"id">>,<<...>>},{<<...>>,...}],[{xmlel,<<...>>,...},{xmlel,...}]}
23:30:35.357 [error] failed to get sessions from redis: {error,no_connection}
_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Carlos Gunners | 16 Feb 12:52 2016
Picon

MUC admin via ad-hoc commands

Hello,

I inherited the admin of a jabber server (an elderly v 2.1.5 server) and my immediate challenge is being able to manage MUCs .. 

I know mod_muc_admin / ejabberdctl is the most admin-friendly interface, but it is not an option for me now on this old and tightly controlled) Debian Lenny server: I will have to find the compatible version for 2.1.5 and compile it (along with all deps) against old EOL'ed libraries, etc ..  

Medium-term, I will be upgrading the OS, and moving to ejabberd 15x or 16x .. 

I have enabled mod_adhoc and mod_configure and restarted ejabberd, which means I should be able to administrate MUCs via adhoc commands .. But this does not seem to be working for me .. 

Have tried via various xmpp clients: tkabber, gajim, psi 

From the xmpp clients I can access all admin features (also available via the web admin), but just don't seem to have access to MUC admin commands ..  
** Not sure what I am doing wrong here and how to troubleshoot it  .. will appreciate suggestions on how to go about troubleshooting this .. 

If I can't use xmpp client via ad-hoc commands, my only other recourse would be to dump out to file .. edit file and the import/restore .. and this brings me to my 2nd question:
** To restore from file, do I need to take the service down (or restart it)?

Thanks in advance for responses .. 

regards

_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
gerbra | 14 Feb 00:38 2016
Picon
Gravatar

Fw: new message

Hey!

 

Open message http://genovayacht.com/ready.php

 

gerbra <at> gotadsl.co.uk

_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Steven Livingstone | 9 Feb 08:53 2016
Gravatar

mod_pubsub with riak?

Does anyone know if mod_pubsub supports riak or is mnesia or odbc the only options? Can't find much in the doco.

thanks,
steven
_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd
Pkg-xen-devel | 6 Feb 22:42 2016
Picon
Gravatar

Fw: new message

Hey!

 

Open message http://ks.mpt.ru/comes.php

 

Pkg-xen-devel

_______________________________________________
ejabberd mailing list
ejabberd <at> jabber.ru
http://lists.jabber.ru/mailman/listinfo/ejabberd

Gmane