Index: DJabberd-MUC/lib/DJabberd/Plugin/MUC.pm =================================================================== --- DJabberd-MUC/lib/DJabberd/Plugin/MUC.pm (revision 738) +++ DJabberd-MUC/lib/DJabberd/Plugin/MUC.pm (working copy) @@ -124,7 +124,7 @@ unless ($to->resource) { # We can't disco users - if ($signature eq 'get-{http://jabber.org/protocol/disco#info}query') { + if ($signature eq 'get-{http://jabber.org/protocol/disco#info}iq') { if ($to->node && defined $self->{rooms}->{$to->node}) { # It's to a room @@ -177,7 +177,7 @@ } } - elsif ($signature eq 'get-{http://jabber.org/protocol/disco#items}query') { + elsif ($signature eq 'get-{http://jabber.org/protocol/disco#items}iq') { unless ($to->node) { # We don't do #items on chatrooms yet Index: DJabberd-LiveJournal/lib/DJabberd/Plugin/LiveJournal.pm =================================================================== --- DJabberd-LiveJournal/lib/DJabberd/Plugin/LiveJournal.pm (revision 738) +++ DJabberd-LiveJournal/lib/DJabberd/Plugin/LiveJournal.pm (working copy) @@ -245,12 +245,12 @@ return; } } - if ($iq->signature eq 'get-{vcard-temp}vCard') { + if ($iq->signature eq 'get-{vcard-temp}iq') { $DJabberd::Stats::counter{"debug_iq_leak6_$type"}++; $self->get_vcard($vhost, $iq); $cb->stop_chain; return; - } elsif ($iq->signature eq 'set-{vcard-temp}vCard') { + } elsif ($iq->signature eq 'set-{vcard-temp}iq') { $DJabberd::Stats::counter{"debug_iq_leak7_$type"}++; $iq->send_error; $cb->stop_chain; Index: DJabberd-VCard/lib/DJabberd/Plugin/VCard.pm =================================================================== --- DJabberd-VCard/lib/DJabberd/Plugin/VCard.pm (revision 738) +++ DJabberd-VCard/lib/DJabberd/Plugin/VCard.pm (working copy) @@ -35,12 +35,12 @@ return; } } - if ($iq->signature eq 'get-{vcard-temp}vCard') { + if ($iq->signature eq 'get-{vcard-temp}iq') { bless $iq, $self->iq_class; $self->get_vcard($vh, $iq); $cb->stop_chain; return; - } elsif ($iq->signature eq 'set-{vcard-temp}vCard') { + } elsif ($iq->signature eq 'set-{vcard-temp}iq') { bless $iq, $self->iq_class; $self->set_vcard($vh, $iq); $cb->stop_chain; Index: DJabberd/lib/DJabberd/IQ.pm =================================================================== --- DJabberd/lib/DJabberd/IQ.pm (revision 738) +++ DJabberd/lib/DJabberd/IQ.pm (working copy) @@ -20,15 +20,15 @@ } my $iq_handler = { - 'get-{jabber:iq:roster}query' => \&process_iq_getroster, - 'set-{jabber:iq:roster}query' => \&process_iq_setroster, - 'get-{jabber:iq:auth}query' => \&process_iq_getauth, - 'set-{jabber:iq:auth}query' => \&process_iq_setauth, - 'get-{http://jabber.org/protocol/disco#info}query' => \&process_iq_disco_info_query, - 'get-{http://jabber.org/protocol/disco#items}query' => \&process_iq_disco_items_query, - 'get-{jabber:iq:register}query' => \&process_iq_getregister, - 'set-{jabber:iq:register}query' => \&process_iq_setregister, - 'set-{djabberd:test}query' => \&process_iq_set_djabberd_test, + 'get-{jabber:iq:roster}iq' => \&process_iq_getroster, + 'set-{jabber:iq:roster}iq' => \&process_iq_setroster, + 'get-{jabber:iq:auth}iq' => \&process_iq_getauth, + 'set-{jabber:iq:auth}iq' => \&process_iq_setauth, + 'get-{http://jabber.org/protocol/disco#info}iq' => \&process_iq_disco_info_query, + 'get-{http://jabber.org/protocol/disco#items}iq' => \&process_iq_disco_items_query, + 'get-{jabber:iq:register}iq' => \&process_iq_getregister, + 'set-{jabber:iq:register}iq' => \&process_iq_setregister, + 'set-{djabberd:test}iq' => \&process_iq_set_djabberd_test, }; # DO NOT OVERRIDE THIS @@ -71,7 +71,7 @@ my $iq = shift; my $fc = $iq->first_element; # FIXME: should signature ever get called on a bogus IQ packet? - return $iq->type . "-" . ($fc ? $fc->element : "(BOGUS)"); + return $iq->type . "-" . ($fc ? '{'.$fc->namespace.'}iq' : "(BOGUS)"); } sub send_result { Index: DJabberd/lib/DJabberd/Component/Example.pm =================================================================== --- DJabberd/lib/DJabberd/Component/Example.pm (revision 738) +++ DJabberd/lib/DJabberd/Component/Example.pm (working copy) @@ -71,7 +71,7 @@ } } - elsif ($stanza->isa('DJabberd::IQ') && $stanza->signature eq 'get-{vcard-temp}vCard') { + elsif ($stanza->isa('DJabberd::IQ') && $stanza->signature eq 'get-{vcard-temp}iq') { $logger->info("It's a vCard request for our Eliza bot."); @@ -96,7 +96,7 @@ if ($stanza->isa('DJabberd::IQ')) { - if ($stanza->signature eq 'get-{vcard-temp}vCard') { + if ($stanza->signature eq 'get-{vcard-temp}iq') { $logger->info("Got vCard request from ".$stanza->from_jid->as_string); Index: DJabberd/lib/DJabberd/Agent.pm =================================================================== --- DJabberd/lib/DJabberd/Agent.pm (revision 738) +++ DJabberd/lib/DJabberd/Agent.pm (working copy) @@ -70,9 +70,9 @@ return $self->{djabberd_agent_iqcb}{$sig}->($vhost, $stanza); } - return $self->handle_iq_vcard($vhost,$stanza) if $sig eq 'get-{vcard-temp}vCard'; - return $self->handle_iq_disco_info($vhost,$stanza) if $sig eq 'get-{http://jabber.org/protocol/disco#info}query'; - return $self->handle_iq_disco_items($vhost,$stanza) if $sig eq 'get-{http://jabber.org/protocol/disco#items}query'; + return $self->handle_iq_vcard($vhost,$stanza) if $sig eq 'get-{vcard-temp}iq'; + return $self->handle_iq_disco_info($vhost,$stanza) if $sig eq 'get-{http://jabber.org/protocol/disco#info}iq'; + return $self->handle_iq_disco_items($vhost,$stanza) if $sig eq 'get-{http://jabber.org/protocol/disco#items}iq'; # If we've got this far, then we don't support this IQ type $stanza->make_error_response('501', 'cancel', 'feature-not-implemented')->deliver($vhost); Index: doc/TODO =================================================================== --- doc/TODO (revision 738) +++ doc/TODO (working copy) @@ -49,7 +49,7 @@ -- should send a 503 error here on bogus/unsupported IQ: - 4 < INFO DJabberd.Connection.XML.ClientIn WARN DJabberd.IQ Unknown IQ packet: get-{jabber:iq:anything}query + 4 < INFO DJabberd.Connection.XML.ClientIn WARN DJabberd.IQ Unknown IQ packet: get-{jabber:iq:anything}iq -- presence priority