X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fxmpp_query_namespace.c;h=f221cc28a9f16a36db3015481388a819055c70a3;hb=cfa09472a585c534fd05c8a35811cff9ef18965f;hp=795cd0e28a4996f085dc12255320a69c1f6233c3;hpb=af679dc8a1dc74b7e4b204ccc1b6e187299ab896;p=citadel.git
diff --git a/citadel/modules/xmpp/xmpp_query_namespace.c b/citadel/modules/xmpp/xmpp_query_namespace.c
index 795cd0e28..f221cc28a 100644
--- a/citadel/modules/xmpp/xmpp_query_namespace.c
+++ b/citadel/modules/xmpp/xmpp_query_namespace.c
@@ -45,7 +45,6 @@
#include "support.h"
#include "config.h"
#include "internet_addressing.h"
-#include "md5.h"
#include "ctdl_module.h"
#include "serv_xmpp.h"
@@ -61,7 +60,7 @@ void xmpp_roster_item(struct CitContext *cptr) {
xmlesc(xmlbuf1, cptr->cs_inet_email, sizeof xmlbuf1),
xmlesc(xmlbuf2, cptr->user.fullname, sizeof xmlbuf2)
);
- cprintf("%s", xmlesc(xmlbuf1, config.c_humannode, sizeof xmlbuf1));
+ cprintf("%s", xmlesc(xmlbuf1, CtdlGetConfigStr("c_humannode"), sizeof xmlbuf1));
cprintf("");
}
@@ -78,13 +77,13 @@ void xmpp_iq_roster_query(void)
struct CitContext *cptr;
int nContexts, i;
- syslog(LOG_DEBUG, "Roster push!");
+ syslog(LOG_DEBUG, "xmpp: roster push!");
cprintf("");
cptr = CtdlGetContextArray(&nContexts);
if (cptr) {
for (i=0; iclient_jid, sizeof(dom));
+ char *slash = strchr(dom, '/');
+ if (slash) {
+ *slash = 0;
+ }
+ }
+ else {
+ safestrncpy(dom, XMPP->client_jid, sizeof(dom)); // client is expecting to see the reply
+ if (IsEmptyStr(dom)) { // coming "from" the domain of the user's jid
+ safestrncpy(dom, XMPP->server_name, sizeof(dom));
+ }
+ char *at = strrchr(dom, '@');
+ if (at) {
+ strcpy(dom, ++at);
+ }
+ char *slash = strchr(dom, '/');
+ if (slash) {
+ *slash = 0;
+ }
+ }
+
if (supported_namespace) {
- cprintf("server_name, sizeof xmlbuf) );
+ cprintf("server_name, sizeof xmlbuf) );
+ cprintf("\n", query_xmlns);
+ syslog(LOG_DEBUG, "xmpp: unknown query namespace '%s' - returning ", query_xmlns);
cprintf(""
""
""