X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fxmpp_presence.c;h=00fb4e3bd77534c9ee48bbea95bf814def457fee;hb=7a9b0685e406cc83597171cc39d008c7e5459ca8;hp=b36228e273791b158af6a14be93ad96d5f305fc2;hpb=15054b0f11409cfc68102560fe4ab5a4e2bf4ea0;p=citadel.git diff --git a/citadel/modules/xmpp/xmpp_presence.c b/citadel/modules/xmpp/xmpp_presence.c index b36228e27..00fb4e3bd 100644 --- a/citadel/modules/xmpp/xmpp_presence.c +++ b/citadel/modules/xmpp/xmpp_presence.c @@ -1,7 +1,7 @@ /* * Handle XMPP presence exchanges * - * Copyright (c) 2007-2015 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 @@ -29,18 +29,7 @@ #include #include #include - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - +#include #include #include #include @@ -53,27 +42,23 @@ #include "support.h" #include "config.h" #include "internet_addressing.h" -#include "md5.h" #include "ctdl_module.h" #include "serv_xmpp.h" - /* * Indicate the presence of another user to the client * (used in several places) */ -void xmpp_indicate_presence(char *presence_jid) -{ +void xmpp_indicate_presence(char *presence_jid) { char xmlbuf[256]; - XMPP_syslog(LOG_DEBUG, "XMPP: indicating presence of <%s> to <%s>", presence_jid, XMPP->client_jid); + syslog(LOG_DEBUG, "xmpp: indicating presence of <%s> to <%s>", presence_jid, XMPP->client_jid); cprintf("", xmlesc(xmlbuf, XMPP->client_jid, sizeof xmlbuf)); } - /* * Convenience function to determine whether any given session is 'visible' to any other given session, * and is capable of receiving instant messages from that session. @@ -97,8 +82,7 @@ int xmpp_is_visible(struct CitContext *cptr, struct CitContext *to_whom) { /* * Initial dump of the entire wholist */ -void xmpp_wholist_presence_dump(void) -{ +void xmpp_wholist_presence_dump(void) { struct CitContext *cptr = NULL; int nContexts, i; @@ -109,7 +93,7 @@ void xmpp_wholist_presence_dump(void) for (i=0; i", - xmlesc(xmlbuf1, CC->cs_inet_email, sizeof xmlbuf1), + xmlesc(xmlbuf1, CC->cs_principal_id, sizeof xmlbuf1), xmlesc(xmlbuf2, XMPP->client_jid, sizeof xmlbuf2), ++unsolicited_id ); @@ -187,7 +171,7 @@ void xmpp_presence_notify(char *presence_jid, int event_type) { /* Count the visible sessions for this user */ for (i=0; i are now visible to session %d\n", visible_sessions, presence_jid, CC->cs_pid); + syslog(LOG_DEBUG, "xmpp: %d sessions for <%s> are now visible to session %d", visible_sessions, presence_jid, CC->cs_pid); if ( (event_type == XMPP_EVT_LOGIN) && (visible_sessions == 1) ) { - syslog(LOG_DEBUG, "Telling session %d that <%s> logged in\n", CC->cs_pid, presence_jid); + syslog(LOG_DEBUG, "xmpp: telling session %d that <%s> logged in", CC->cs_pid, presence_jid); /* Do an unsolicited roster update that adds a new contact. */ assert(which_cptr_is_relevant >= 0); @@ -213,8 +197,7 @@ void xmpp_presence_notify(char *presence_jid, int event_type) { } if (visible_sessions == 0) { - syslog(LOG_DEBUG, "Telling session %d that <%s> logged out\n", - CC->cs_pid, presence_jid); + syslog(LOG_DEBUG, "xmpp: telling session %d that <%s> logged out", CC->cs_pid, presence_jid); xmpp_destroy_buddy(presence_jid, 0); /* non aggressive presence update */ } @@ -222,7 +205,6 @@ void xmpp_presence_notify(char *presence_jid, int event_type) { } - void xmpp_fetch_mortuary_backend(long msgnum, void *userdata) { HashList *mortuary = (HashList *) userdata; struct CtdlMessage *msg; @@ -262,7 +244,6 @@ void xmpp_fetch_mortuary_backend(long msgnum, void *userdata) { } - /* * Fetch the "mortuary" - a list of dead buddies which we keep around forever * so we can remove them from any client's roster that still has them listed @@ -270,7 +251,7 @@ void xmpp_fetch_mortuary_backend(long msgnum, void *userdata) { HashList *xmpp_fetch_mortuary(void) { HashList *mortuary = NewHash(1, NULL); if (!mortuary) { - syslog(LOG_ALERT, "NewHash() failed!\n"); + syslog(LOG_ALERT, "xmpp: NewHash() failed!"); return(NULL); } @@ -285,7 +266,6 @@ HashList *xmpp_fetch_mortuary(void) { } - /* * Fetch the "mortuary" - a list of dead buddies which we keep around forever * so we can remove them from any client's roster that still has them listed @@ -304,8 +284,7 @@ void xmpp_store_mortuary(HashList *mortuary) { ); HashPos = GetNewHashPos(mortuary, 0); - while (GetNextHashPos(mortuary, HashPos, &len, &Key, &Value) != 0) - { + while (GetNextHashPos(mortuary, HashPos, &len, &Key, &Value) != 0) { StrBufAppendPrintf(themsg, "%s\n", (char *)Value); } DeleteHashPos(&HashPos); @@ -314,12 +293,11 @@ void xmpp_store_mortuary(HashList *mortuary) { CtdlDeleteMessages(USERCONFIGROOM, NULL, 0, XMPPMORTUARY); /* And save the new one to disk */ - quickie_message("Citadel", NULL, NULL, USERCONFIGROOM, ChrPtr(themsg), 4, "XMPP Mortuary"); + quickie_message(CC->user.fullname, NULL, NULL, USERCONFIGROOM, ChrPtr(themsg), 4, "XMPP Mortuary"); FreeStrBuf(&themsg); } - /* * Upon logout we make an attempt to delete the whole roster, in order to * try to keep "ghost" buddies from remaining in the client-side roster. @@ -327,8 +305,7 @@ void xmpp_store_mortuary(HashList *mortuary) { * Since the client is probably not still alive, also remember the current * roster for next time so we can delete dead buddies then. */ -void xmpp_massacre_roster(void) -{ +void xmpp_massacre_roster(void) { struct CitContext *cptr; int nContexts, i; HashList *mortuary = xmpp_fetch_mortuary(); @@ -338,7 +315,7 @@ void xmpp_massacre_roster(void) for (i=0; i