One more field in the xml-vcard
[citadel.git] / citadel / modules / xmpp / serv_xmpp.h
index af405ea5b8b3eea933625539d2e573fcc6f2460d..c49142758e2a260f7cf0eac8bb99aa85019aecc0 100644 (file)
@@ -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.
  */
 
-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;
@@ -35,6 +27,7 @@ typedef 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 <query> */
 
        char sasl_auth_mech[32];        /* SASL auth mechanism requested by the client */
@@ -80,6 +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);