/*
* 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]);
}
}
* 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));