processone / ejabberd-contrib

Growing and curated ejabberd contributions repository - PR or ask to join !
http://ejabberd.im
250 stars 140 forks source link

Issue with webpresence and Conversations #261

Closed fx02 closed 6 years ago

fx02 commented 6 years ago

When I use Conversations client, opening webpresence xml path: https://domain.com:5280/presence/jid/my_xmpp_username/domain.com/xml outputs 404 in browser saying "not found"

ejabberd gives this error log:

2018-10-19 20:35:28.981 [debug] <0.831.0>@ejabberd_http:process_header:304 ({tlssock,#Port<0.30>,#Ref<0.3230567563.3563454465.162688>}) http query: 'GET' <<"/presence/jid/my_xmpp_username/domain.com/xml">>
2018-10-19 20:35:28.981 [debug] <0.831.0>@ejabberd_http:process:391 [<<"presence">>,<<"jid">>,<<"my_xmpp_username">>,<<"domain.com">>,<<"xml">>] matches [<<"presence">>]
2018-10-19 20:35:28.982 [debug] <0.831.0>@mod_webpresence:process:881 {request,'GET',[<<"presence">>,<<"jid">>,<<"my_xmpp_username">>,<<"domain.com">>,<<"xml">>],[{nokey,<<>>}],{<<>>,<<>>},undefined,<<"en-US">>,<<>>,{{1,2,3,4},54038},<<"domain.com">>,5280,[{dhfile,<<"/etc/letsencrypt/dhparam.pem">>},{protocol_options,<<"no_sslv2">>},{ciphers,<<"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256">>},{register,true},{web_admin,true},{tls,true},{request_handlers,[{[<<"ws">>],ejabberd_http_ws},{[<<"bosh">>],mod_bosh},{[<<"oauth">>],ejabberd_oauth},{[<<"api">>],mod_http_api},{[<<"presence">>],mod_webpresence}]}],https,[{'Accept-Language',<<"en-US,en;q=0.9,hr;q=0.8">>},{'Accept-Encoding',<<"gzip, deflate, br">>},{'Accept',<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8">>},{<<"Dnt">>,<<"1">>},{'User-Agent',<<"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36">>},{<<"Upgrade-Insecure-Requests">>,<<"1">>},{'Cache-Control',<<"max-age=0">>},{'Connection',<<"keep-alive">>},{'Host',<<"domain.com:5280">>}],0,fast_tls,{tlssock,#Port<0.30>,#Ref<0.3230567563.3563454465.162688>}}
2018-10-19 20:35:28.983 [debug] <0.831.0>@mod_webpresence:process:882 The call to path [<<"jid">>,<<"my_xmpp_username">>,<<"domain.com">>,<<"xml">>] in the
request: {request,'GET',[<<"presence">>,<<"jid">>,<<"my_xmpp_username">>,<<"domain.com">>,<<"xml">>],[{nokey,<<>>}],{<<>>,<<>>},undefined,<<"en-US">>,<<>>,{{213,149,62,194},54038},<<"domain.com">>,5280,[{dhfile,<<"/etc/letsencrypt/dhparam.pem">>},{protocol_options,<<"no_sslv2">>},{ciphers,<<"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256">>},{register,true},{web_admin,true},{tls,true},{request_handlers,[{[<<"ws">>],ejabberd_http_ws},{[<<"bosh">>],mod_bosh},{[<<"oauth">>],ejabberd_oauth},{[<<"api">>],mod_http_api},{[<<"presence">>],mod_webpresence}]}],https,[{'Accept-Language',<<"en-US,en;q=0.9,hr;q=0.8">>},{'Accept-Encoding',<<"gzip, deflate, br">>},{'Accept',<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8">>},{<<"Dnt">>,<<"1">>},{'User-Agent',<<"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36">>},{<<"Upgrade-Insecure-Requests">>,<<"1">>},{'Cache-Control',<<"max-age=0">>},{'Connection',<<"keep-alive">>},{'Host',<<"domain.com:5280">>}],0,fast_tls,{tlssock,#Port<0.30>,#Ref<0.3230567563.3563454465.162688>}}
crashed with error: {noproc,{p1_server,call,[<0.810.0>,get_presence,1000]}}
badlop commented 6 years ago

Does the crash appear only when requesting xml, or also when requesting js, text, ...? Does the crash appear only when using Conversations client, or also when using other clients? What happens if you request for an account that is logged out? What happens if the account you request does not exist? What ejabberd version are you using?

fx02 commented 6 years ago
  1. Does the crash appear only when requesting xml, or also when requesting js, text, ...?
    • Crashes only when requesting XML, text shows status, and works fine when I change it to something custom
  2. Does the crash appear only when using Conversations client, or also when using other clients?
    • Only when using Conversations client, with Xabber, Miranda, AstraChat, PSI, Pidgin works fine but I must turn off Conversations. Hmm, when I think a bit, this might be Conversations bug, but still ejabbered should not "crash" on this.
  3. What happens if you request for an account that is logged out?
    • image
  4. What happens if the account you request does not exist?
    • Shows unavailable
  5. What ejabberd version are you using?
    • 18.09
badlop commented 6 years ago

Ok, I can reproduce the problem, even if I don't get those lines in the log. I've pushed a fix, try it and tell me if it's solved for you too.

fx02 commented 6 years ago

Fixed!