I am running local instance of ejabberd . the default configuration (ejabberd.yml) from process one was working fine with adium client. After some changes to yml file I re-deployed the server and am getting following stacktrace when registering user:
2016-03-29 11:15:45.131 [debug] <0.492.0>@ejabberd_c2s:send_text:1838 Send XML on stream = <<"<stream:features><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/' ver='AC6YpUkEgZqi0CJQw6bRvljBJUI='/><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>X-OAUTH2</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms></stream:features>">>
2016-03-29 11:15:45.195 [debug] <0.491.0>@ejabberd_receiver:process_data:284 Received XML on stream = <<"<iq type='get' id='purpled84a3c3'><query xmlns='jabber:iq:register'/></iq>">>
2016-03-29 11:15:45.195 [debug] <0.491.0>@shaper:update:120 State: {maxrate,1000,0.0,1459230345130850}, Size=74
M=37.0, I=64.387
2016-03-29 11:15:45.196 [debug] <0.492.0>@ejabberd_c2s:send_text:1838 Send XML on stream = <<"<iq from='localhost' id='purpled84a3c3' type='error'><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>">>
config yml file:
listen:
-
port: 5222
module: ejabberd_c2s
##
## If TLS is compiled in and you installed a SSL
## certificate, specify the full path to the
## file and uncomment these lines:
##
# Commented by Kirat
# certfile: "/opt/ejabberd-15.11/conf/server.pem"
# starttls: true
## To enforce TLS encryption for client connections,
## use this instead of the "starttls" option:
## starttls_required: true
##
## Custom OpenSSL options
##
# protocol_options:
# - "no_sslv3"
## - "no_tlsv1"
max_stanza_size: 65536
max_resume_timeout: 1000
certfile: "/Users/karanahuja/Urbanclap_Workspace/ejabberd_live/etc/ejabberd/cert.pem" #$$$ comment before release
shaper: c2s_shaper
access: c2s
zlib: true
starttls: true
# Maybe we close this too - Kirat
-
port: 5269
module: ejabberd_s2s_in
Any help would be really appreciated
UPDATE
I could register via ejabberdctl register username localhost password
Adium is still unable to connect giving 503 service unavailable error for ejabberd_c2s.
UPDATE
Issue was with a module, mod_filter which drops IQ packet. if mod_filter is not defined under MODULES of yml file, adium connects to server just fine. logs with mod_filter on:
2016-03-29 12:05:33.404 [debug] <0.1552.0>@ejabberd_router:do_route:351 route KARAN DEBUG
from {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
to {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
packet {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a648">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#items">>}],[]}]}
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:37 filtering packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:check_stanza:62 IQ packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:45 filtering packet...
From: {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
To: {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
Packet: {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a648">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#items">>}],[]}]}
Result: {drop,mod_filter_iq,sender}
2016-03-29 12:05:33.405 [debug] <0.1552.0>@ejabberd_router:do_route:351 route KARAN DEBUG
from {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
to {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
packet {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a649">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#info">>}],[]}]}
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:37 filtering packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:check_stanza:62 IQ packet KARAN KARAN KARAN KARAN...>>>>>>>>>>>>>>>>>>>>>
2016-03-29 12:05:33.405 [debug] <0.1552.0>@mod_filter:filter_packet:45 filtering packet...
From: {jid,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>,<<"test24">>,<<"localhost">>,<<"Administrators-MacBook-Pro-6">>}
To: {jid,<<>>,<<"localhost">>,<<>>,<<>>,<<"localhost">>,<<>>}
Packet: {xmlel,<<"iq">>,[{<<"type">>,<<"get">>},{<<"id">>,<<"purple1a40a649">>},{<<"to">>,<<"localhost">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/disco#info">>}],[]}]}
Result: {drop,mod_filter_iq,sender}
question: why would the packet be dropped by mod_filter?
UPDATE
mod_filter issue is not related to 503 error. Will put it as a separate question. Mod_register was commented out on yml file and that is why user could not be registered. Thanks Mickaël