X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fserv_xmpp.h;h=c49142758e2a260f7cf0eac8bb99aa85019aecc0;hb=7f1677e8798d3cb77fa9860b3bd1b8e3cbd332ab;hp=2137ea33088967f5be102c9967b7f29fbc5ba53c;hpb=85a4d8d0b5af0edda2a0fa27c66457b775eb1209;p=citadel.git diff --git a/citadel/modules/xmpp/serv_xmpp.h b/citadel/modules/xmpp/serv_xmpp.h index 2137ea330..c49142758 100644 --- a/citadel/modules/xmpp/serv_xmpp.h +++ b/citadel/modules/xmpp/serv_xmpp.h @@ -1,27 +1,16 @@ /* - * 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. */ -#include "xmpp_xmacros.h" -#include "xmpp_util.h" - - -typedef struct _citxmpp { /* Information about the current session */ - StrBuf *OutBuf; +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; @@ -30,12 +19,15 @@ typedef struct _citxmpp { /* Information about the current session */ char client_jid[256]; /* "full JID" of the client */ int last_event_processed; - TheToken_iq IQ; - + char iq_type[256]; /* for stanzas */ + char iq_id[256]; + char iq_from[256]; + char iq_to[256]; char iq_client_username[256]; /* username requested by the client (NON SASL ONLY) */ 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 */ char sasl_auth_mech[32]; /* SASL auth mechanism requested by the client */ @@ -67,57 +59,22 @@ enum { 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_async_loop(void); void xmpp_sasl_auth(char *, char *); void xmpp_output_auth_mechs(void); -void xmpp_query_namespace(TheToken_iq *iq, char *); +void xmpp_query_namespace(char *, char *, char *, char *); +void xmpp_wholist_presence_dump(void); void xmpp_output_incoming_messages(void); void xmpp_queue_event(int, char *); void xmpp_process_events(void); void xmpp_presence_notify(char *, int); void xmpp_roster_item(struct CitContext *); void xmpp_send_message(char *, char *); -void xmpp_non_sasl_authenticate(StrBuf *IQ_id, 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); - - -void AddXMPPStartHandler(const char *key, - long len, - xmpp_handler_func Handler, - int Flags); - -void AddXMPPEndHandler(const char *key, - long len, - xmpp_handler_func Handler, - int Flags); - - - -