Skip Menu |

This queue is for tickets about the AnyEvent-XMPP CPAN distribution.

Report information
The Basics
Id: 57908
Status: resolved
Priority: 0/
Queue: AnyEvent-XMPP

People
Owner: MSTPLBG [...] cpan.org
Requestors: wiml [...] hhhh.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.51
Fixed in: (no value)



Subject: Responds twice to every iq get
Looking at the debug output of a test program I see that AnyEvent::XMPP is making two responses to each iq get request. The first response has the information I expect and the second one is a service-unavailable error. The extra response gets sent by the code at the end of Connection::handle_iq, where it sends the iq_get_request_xml event and then if nobody handles it it sends the error response. So far so good, but the event callbacks don't communicate back that they've handled the request, so the error response is always sent. Connection::handle_iq passes a scalar ref (as documented in its pod) but none of the iq_get_request_xml implementations I looked at seem to expect that argument. I'm not sure whether the scalar ref thingy was added but not fully implemented, or if it's in the process of being removed (maybe in favor of some more general mechanism from Object::Event?).
I’ve pushed a fix for this which will be included in the next release: https://github.com/AnyEvent-XMPP/AnyEvent- XMPP/commit/417ca8d53b3f29a95b3b5a5771d64e36642131d3
This is fixed with AnyEvent::XMPP 0.53