diff --git a/CHANGES b/CHANGES index 1b55a65..050247b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ + - Michael Scherer : do not answer inconditionnaly + to all type disco requests, only on those without a node attribute + - Michael Scherer : more helpful error messages in logs after dialback failure (shows hosts in question) diff --git a/lib/DJabberd/IQ.pm b/lib/DJabberd/IQ.pm index 8d409fd..3084914 100644 --- a/lib/DJabberd/IQ.pm +++ b/lib/DJabberd/IQ.pm @@ -142,6 +142,10 @@ sub process_iq_disco_info_query { sub process_iq_disco_items_query { my ($conn, $iq) = @_; + # this type of queries are also used by XEP 0050, so we should answer only + # when there is no node attribute ( see http://trac.gajim.org/ticket/3460 ) + return $iq->send_error if $iq->query->attr('{}node'); + my $vhost = $conn->vhost; my $items = $vhost ? $vhost->child_services : {};