X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fserv_xmpp.h;h=c49142758e2a260f7cf0eac8bb99aa85019aecc0;hb=7f1677e8798d3cb77fa9860b3bd1b8e3cbd332ab;hp=901ad883e3b65a7d5e7168cb8813333c884c6fcd;hpb=c5931fff7cb33567d6fcedfea165a7a0437bd10d;p=citadel.git diff --git a/citadel/modules/xmpp/serv_xmpp.h b/citadel/modules/xmpp/serv_xmpp.h index 901ad883e..c49142758 100644 --- a/citadel/modules/xmpp/serv_xmpp.h +++ b/citadel/modules/xmpp/serv_xmpp.h @@ -1,24 +1,16 @@ /* - * $Id$ + * Copyright (c) 2007-2019 by the citadel.org team * - * Copyright (c) 2007-2009 by Art Cancro + * 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 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 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 + * 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. */ -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; @@ -35,6 +27,7 @@ struct citxmpp { /* Information about the current session */ 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 */ @@ -45,9 +38,9 @@ struct citxmpp { /* Information about the current session */ 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; @@ -80,5 +73,8 @@ 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(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);