Package: libnet-jabber-perl
Version: 2.0-3

The RPC code in Net::Jabber does not work properly in server mode
because the handlers for "jabber:iq:rpc" and other xmlns entries are
never populated. This is due to Net::Jabber::Protocol::callbackInit()
never been called during the creation of the Net::Jabber::Client
object.

I think the changes required are as follows:

- Remove the call to

     $self->SUPER::callbackInit();

on line 2813 of /usr/share/perl5/Net/Jabber/Protocol.pm
(The "SUPER" seems to not make sense anyhow because
Net::Jabber::Protocol does not seem to inherit from
Net::XMPP::Protocol .)

- Add

sub callbackInit()
{
 my $self = shift;
 $self->Net::XMPP::Client::callbackInit();
 $self->Net::Jabber::Protocol::callbackInit();
}

to /usr/share/perl5/Net/Jabber/Client.pm


I suspect this bug is also present in the parent on CPAN.


A work around (to work around a broken Net::Jabber::Client in a
program) is to copy the definition of  sub callbackInit()  from
/usr/share/perl5/Net/Jabber/Protocol.pm  in your application, remove
the line with "SUPER", and call it manually after the connection
object is create with new(), using for example:

 callbackInit($Connection);

Since the callbackInit for Net::XMPP::Client is called properly it
does not have to be called manually in this workaround.


--
http://carrierclass.net/
http://www.linkedin.com/in/stephalnet


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to