stable now but there are GIANT PIECES MISSING
[citadel.git] / citadel / modules / xmpp / serv_xmpp.c
index c2d498ba4580d1c4aa0abdae979582e82c9aa325..dfb895274e83c9353241db35664accbcc07a322e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * XMPP (Jabber) service for the Citadel system
- * Copyright (c) 2007-2019 by Art Cancro and citadel.org
+ * Copyright (c) 2007-2021 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 as published by
 #include <pwd.h>
 #include <errno.h>
 #include <sys/types.h>
-
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-#  include <sys/time.h>
-# else
-#  include <time.h>
-# endif
-#endif
-
+#include <time.h>
 #include <sys/wait.h>
 #include <string.h>
 #include <limits.h>
@@ -420,7 +409,7 @@ void xmpp_xml_end(void *data, const char *supplied_el) {
                        }
 
                        /* Generate the "full JID" of the client (user@host/resource) */
-                       snprintf(XMPP->client_jid, sizeof XMPP->client_jid, "%s/%s", CC->cs_inet_email, XMPP->iq_client_resource);
+                       snprintf(XMPP->client_jid, sizeof XMPP->client_jid, "%s/%s", CC->cs_principal_id, XMPP->iq_client_resource);
 
                        /* Tell the client what its JID is */
                        cprintf("<iq type=\"result\" id=\"%s\">", xmlesc(xmlbuf, XMPP->iq_id, sizeof xmlbuf));
@@ -649,7 +638,7 @@ void xmpp_async_loop(void) {
  * Login hook for XMPP sessions
  */
 void xmpp_login_hook(void) {
-       xmpp_queue_event(XMPP_EVT_LOGIN, CC->cs_inet_email);
+       xmpp_queue_event(XMPP_EVT_LOGIN, CC->cs_principal_id);
 }
 
 
@@ -657,12 +646,11 @@ void xmpp_login_hook(void) {
  * Logout hook for XMPP sessions
  */
 void xmpp_logout_hook(void) {
-       xmpp_queue_event(XMPP_EVT_LOGOUT, CC->cs_inet_email);
+       xmpp_queue_event(XMPP_EVT_LOGOUT, CC->cs_principal_id);
 }
 
 
 const char *CitadelServiceXMPP="XMPP";
-extern void xmpp_cleanup_events(void);
 CTDL_MODULE_INIT(xmpp)
 {
        if (!threading) {
@@ -678,7 +666,6 @@ CTDL_MODULE_INIT(xmpp)
                 CtdlRegisterSessionHook(xmpp_logout_hook, EVT_LOGOUT, PRIO_LOGOUT + 90);
                 CtdlRegisterSessionHook(xmpp_login_hook, EVT_UNSTEALTH, PRIO_UNSTEALTH + 1);
                 CtdlRegisterSessionHook(xmpp_logout_hook, EVT_STEALTH, PRIO_STEALTH + 1);
-               CtdlRegisterCleanupHook(xmpp_cleanup_events);
 
        }