/*
- * Copyright (c) 2007-2009 by Art Cancro
+ * Copyright (c) 2007-2019 by the citadel.org team
*
- * 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 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.
- *
- *
- *
- *
+ * 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.
*/
-typedef 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;
char iq_client_password[256]; /* password requested by the client (NON SASL ONLY) */
char iq_client_resource[256]; /* resource name requested by the client */
int iq_session; /* nonzero == client is requesting a session */
+ int iq_vcard; /* nonzero == client is requesting its vCard */
char iq_query_xmlns[256]; /* Namespace of <query> */
char sasl_auth_mech[32]; /* SASL auth mechanism requested by the client */
XMPP_EVT_LOGOUT
};
-
-typedef void (*xmpp_handler_func)(void *data, const char *supplied_el, const char **attr);
-
-typedef struct __xmpp_handler {
- int Flags;
- xmpp_handler_func Handler;
-}xmpp_handler;
-
-
void xmpp_cleanup_function(void);
void xmpp_greeting(void);
void xmpp_command_loop(void);
void xmpp_presence_notify(char *, int);
void xmpp_roster_item(struct CitContext *);
void xmpp_send_message(char *, char *);
-void xmpp_non_sasl_authenticate(char *, char *, char *, char *);
+void xmpp_non_sasl_authenticate(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);
-