#918 Sending a get/set iq to an invalid JID makes Prosody send two error iqs back

Reporter Link Mauve
Owner Nobody
Created
Updated
Stars ★★★ (3)  
Tags
  • Priority-Medium
  • Type-Defect
  • Status-Accepted
  1. Link Mauve on

    What steps will reproduce the problem? 1. Send an iq to a JID whose domain is invalid, for example containing an underscore. What is the expected output? What do you see instead? Only one iq error is received, saying the domain is invalid or something. Instead I get two of them, answering the same iq. What version of the product are you using? On what operating system? Prosody 0.10 cb605fb60e32, on ALARM. Please provide any additional information below. 04:00:57 OUT <iq id="ac783f7a-2813-46aa-a408-ec7ce90a1eaa-24874" type="get" to="test_coucou"><query xmlns="jabber:iq:version" /></iq> 04:00:57 IN <iq id="ac783f7a-2813-46aa-a408-ec7ce90a1eaa-24874" type="error" to="linkmauve@linkmauve.fr/7b8171f9-6fb4-431d-8491-b2635b367275" from="test_coucou"><error type="cancel"><remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /></error></iq> 04:00:57 IN <iq id="ac783f7a-2813-46aa-a408-ec7ce90a1eaa-24874" type="error" to="linkmauve@linkmauve.fr/7b8171f9-6fb4-431d-8491-b2635b367275" from="test_coucou"><error type="cancel"><not-allowed xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Communication with remote domains is not enabled</text></error></iq>

  2. Zash on

    What I've gathered so far is that the s2sout state machine gets past the bit where it sets up a sendq, then somewhere it fails and bounces the sendq. Then it gets to the code that is supposed to bounce stanzas when s2s is disabled <https://hg.prosody.im/0.10/annotate/897ec7dcdaa6/core/stanza_router.lua#l195>

    Changes
    • tags Status-Accepted

New comment