+ xmppd::route $a(to) $a(from) [wrapper::createxml $r]
+ return
+ }
+ # XEP-0199: XMPP Ping
+ if {$a(to) eq [xmppd::cget -domain]} {
+ set ping [wrapper::getchildswithtagandxmlns $xmllist \
+ ping [xmppd::xmlns ping]]
+ if {[llength $ping] > 0} {
+ Log debug "PING [array get a]"
+ set xml "<iq id='$a(id)' to='$a(from)' from='$a(to)' type='result'/>"
+ xmppd::route $a(to) $a(from) $xml
+ return
+ }
+ }
+
+ set priv [wrapper::getchildswithtagandxmlns $xmllist query [xmppd::xmlns privacy]]
+ if {[llength $priv] > 0} {
+ set rc {}
+ lappend rc [list error {type cancel code 404} 0 {} \
+ [list [list item-not-found [list xmlns [xmppd::xmlns stanzas]] 1 {} {}]]]
+ lappend rc [lindex $priv 0]
+ set r [list iq [list type error to $a(from) from $a(to) id $a(id)] 0 {} $rc]
+ xmppd::route $a(to) $a(from) [wrapper::createxml $r]