/*
* Handle <iq> <get> <query> type situations (namespace queries)
*
- * Copyright (c) 2007-2009 by Art Cancro
+ * Copyright (c) 2007-2015 by Art Cancro and citadel.org
*
* This program is open source software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3.
struct CitContext *cptr;
int nContexts, i;
+ syslog(LOG_DEBUG, "Roster push!");
cprintf("<query xmlns=\"jabber:iq:roster\">");
cptr = CtdlGetContextArray(&nContexts);
if (cptr) {
for (i=0; i<nContexts; i++) {
if (xmpp_is_visible(&cptr[i], CC)) {
- syslog(LOG_DEBUG, "Rosterizing %s\n", cptr[i].user.fullname);
+ XMPP_syslog(LOG_DEBUG, "Rosterizing %s\n", cptr[i].user.fullname);
xmpp_roster_item(&cptr[i]);
}
}
supported_namespace = 1;
}
- syslog(LOG_DEBUG, "xmpp_query_namespace(id=%s, from=%s, to=%s, xmlns=%s)\n", iq_id, iq_from, iq_to, query_xmlns);
+ XMPP_syslog(LOG_DEBUG, "xmpp_query_namespace(id=%s, from=%s, to=%s, xmlns=%s)\n", iq_id, iq_from, iq_to, query_xmlns);
/*
* Beginning of query result.
*/
if (supported_namespace) {
- cprintf("<iq type=\"result\" ");
+ cprintf("<iq type=\"result\" from=\"%s\" ", xmlesc(xmlbuf, XMPP->server_name, sizeof xmlbuf) );
}
else {
- cprintf("<iq type=\"error\" ");
+ cprintf("<iq type=\"error\" from=\"%s\" ", xmlesc(xmlbuf, XMPP->server_name, sizeof xmlbuf) );
}
if (!IsEmptyStr(iq_from)) {
cprintf("to=\"%s\" ", xmlesc(xmlbuf, iq_from, sizeof xmlbuf));
*/
else {
- syslog(LOG_DEBUG, "Unknown query namespace '%s' - returning <service-unavailable/>\n", query_xmlns);
+ XMPP_syslog(LOG_DEBUG, "Unknown query namespace '%s' - returning <service-unavailable/>\n", query_xmlns);
cprintf("<error code=\"503\" type=\"cancel\">"
"<service-unavailable xmlns=\"urn:ietf:params:xml:ns:xmpp-stanzas\"/>"
"</error>"