/*
- * $Id$
- *
* Copyright (c) 2007-2009 by Art Cancro
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * 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.
+ *
+ *
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ *
+ *
*/
-struct citxmpp { /* Information about the current session */
+typedef struct _citxmpp { /* Information about the current session */
XML_Parser xp; /* XML parser instance for incoming client stream */
char server_name[256]; /* who they think we are */
char *chardata;
int bind_requested; /* In this stanza, client is asking server to bind a resource. */
int ping_requested; /* In this stanza, client is pinging the server. */
-};
+} citxmpp;
-#define XMPP ((struct citxmpp *)CC->session_specific_data)
+#define XMPP ((citxmpp *)CC->session_specific_data)
struct xmpp_event {
struct xmpp_event *next;
void xmpp_send_message(char *, char *);
void xmpp_non_sasl_authenticate(char *, char *, char *, char *);
void xmpp_massacre_roster(void);
+void xmpp_delete_old_buddies_who_no_longer_exist_from_the_client_roster(void);
+int xmpp_is_visible(struct CitContext *from, struct CitContext *to_whom);
+char *xmlesc(char *buf, char *str, int bufsiz);
+
+extern int XMPPSrvDebugEnable;
+
+#define DBGLOG(LEVEL) if ((LEVEL != LOG_DEBUG) || (XMPPSrvDebugEnable != 0))
+
+#define XMPP_syslog(LEVEL, FORMAT, ...) \
+ DBGLOG(LEVEL) syslog(LEVEL, \
+ "XMPP: " FORMAT, __VA_ARGS__)
+
+#define XMPPM_syslog(LEVEL, FORMAT) \
+ DBGLOG(LEVEL) syslog(LEVEL, \
+ "XMPP: " FORMAT);
+