Skip Menu |
 

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

Report information
The Basics
Id: 64639
Status: new
Priority: 0/
Queue: AnyEvent-XMPP

People
Owner: Nobody in particular
Requestors: skohlsmith [...] gmail.com
Cc:
AdminCc:

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



Subject: AnyEvent::XMPP::Ext::Registration protocol bug with unregister and password change
Date: Sun, 9 Jan 2011 20:31:10 -0500
To: bug-AnyEvent-XMPP [...] rt.cpan.org
From: Shawn Kohlsmith <skohlsmith [...] gmail.com>
Download (untitled) / with headers
text/plain 1.5k
AnyEvent::XMPP v0.51 Inband registration works fine, but to unregister or change your password, the message needs to be sent to the server, not to an empty to: field. For example, 0.51 code has a blank to: field, which (according to my jabberd14 server output) means it gets sent to the originating client: send<< me@myserver.org/test <deb> <iq id="4" type="set"> <query xmlns="jabber:iq:register"> <remove/> </query> </iq> </deb> Show quoted text
recv>> me@myserver.org/test
<deb> <iq from="me@myserver.org" id="4" to="me@myserver.org/test" type="error" xml:lang="en"> <query xmlns="jabber:iq:register"> <remove/> </query> <error code="404" type="wait"> <recipient-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> <text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Recipient Is Unavailable</text> </error> </iq> </deb> By modifying AnyEvent::XMPP::Ext::Registration::send_unregistration_request() to tack on an explicit to=>'myserver.org' in send_iq()'s %attrs, I get valid output (and the server actually unregistered the account). send<< me@myserver.org/testclient <deb> <iq id="4" to="myserver.org" type="set"> <query xmlns="jabber:iq:register"> <remove/> </query> </iq> </deb> Show quoted text
recv>> me@myserver.org/testclient
<deb> <iq from="myserver.org" id="4" to="me@myserver.org/testclient" type="result" xml:lang="en"/> </deb> Similar output and the same fix for AnyEvent::XMPP::Ext::Registration::send_password_change_request(). I'm sure there's an easy built-in way to access the host portion of the jid, but I haven't found it yet. .Shawn


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.