aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/jpacket.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-04-02 16:22:57 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-04-02 16:22:57 +0200
commit85d7b857fb8ca8e3c03d4abb3368a0966760630c (patch)
treea16163e557bcae3af41bde7d2d771d64ca248a97 /protocols/jabber/jpacket.c
parent875ad4201402b1a8f80ba22a6cdcdb152c6e5510 (diff)
parentdd345753c1742905c9f81aa71d8b09109fbc5456 (diff)
Merge trunk.
Diffstat (limited to 'protocols/jabber/jpacket.c')
-rw-r--r--protocols/jabber/jpacket.c159
1 files changed, 0 insertions, 159 deletions
diff --git a/protocols/jabber/jpacket.c b/protocols/jabber/jpacket.c
deleted file mode 100644
index 9c7ce00d..00000000
--- a/protocols/jabber/jpacket.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* --------------------------------------------------------------------------
- *
- * License
- *
- * The contents of this file are subject to the Jabber Open Source License
- * Version 1.0 (the "JOSL"). You may not copy or use this file, in either
- * source code or executable form, except in compliance with the JOSL. You
- * may obtain a copy of the JOSL at http://www.jabber.org/ or at
- * http://www.opensource.org/.
- *
- * Software distributed under the JOSL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the JOSL
- * for the specific language governing rights and limitations under the
- * JOSL.
- *
- * Copyrights
- *
- * Portions created by or assigned to Jabber.com, Inc. are
- * Copyright (c) 1999-2002 Jabber.com, Inc. All Rights Reserved. Contact
- * information for Jabber.com, Inc. is available at http://www.jabber.com/.
- *
- * Portions Copyright (c) 1998-1999 Jeremie Miller.
- *
- * Acknowledgements
- *
- * Special thanks to the Jabber Open Source Contributors for their
- * suggestions and support of Jabber.
- *
- * Alternatively, the contents of this file may be used under the terms of the
- * GNU General Public License Version 2 or later (the "GPL"), in which case
- * the provisions of the GPL are applicable instead of those above. If you
- * wish to allow use of your version of this file only under the terms of the
- * GPL and not to allow others to use your version of this file under the JOSL,
- * indicate your decision by deleting the provisions above and replace them
- * with the notice and other provisions required by the GPL. If you do not
- * delete the provisions above, a recipient may use your version of this file
- * under either the JOSL or the GPL.
- *
- *
- * --------------------------------------------------------------------------*/
-
-#include "jabber.h"
-static jpacket jpacket_reset(jpacket p);
-
-jpacket jpacket_new(xmlnode x)
-{
- jpacket p;
-
- if(x == NULL)
- return NULL;
-
- p = pmalloc(xmlnode_pool(x),sizeof(_jpacket));
- p->x = x;
-
- return jpacket_reset(p);
-}
-
-static jpacket jpacket_reset(jpacket p)
-{
- char *val;
- xmlnode x;
-
- x = p->x;
- memset(p,0,sizeof(_jpacket));
- p->x = x;
- p->p = xmlnode_pool(x);
-
- if(strncmp(xmlnode_get_name(x),"message",7) == 0)
- {
- p->type = JPACKET_MESSAGE;
- }else if(strncmp(xmlnode_get_name(x),"presence",8) == 0)
- {
- p->type = JPACKET_PRESENCE;
- val = xmlnode_get_attrib(x, "type");
- if(val == NULL)
- p->subtype = JPACKET__AVAILABLE;
- else if(strcmp(val,"unavailable") == 0)
- p->subtype = JPACKET__UNAVAILABLE;
- else if(strcmp(val,"probe") == 0)
- p->subtype = JPACKET__PROBE;
- else if(strcmp(val,"error") == 0)
- p->subtype = JPACKET__ERROR;
- else if(strcmp(val,"invisible") == 0)
- p->subtype = JPACKET__INVISIBLE;
- else if(*val == 's' || *val == 'u')
- p->type = JPACKET_S10N;
- else if(strcmp(val,"available") == 0)
- { /* someone is using type='available' which is frowned upon */
- xmlnode_hide_attrib(x,"type");
- p->subtype = JPACKET__AVAILABLE;
- }else
- p->type = JPACKET_UNKNOWN;
- }else if(strncmp(xmlnode_get_name(x),"iq",2) == 0)
- {
- p->type = JPACKET_IQ;
- p->iq = xmlnode_get_tag(x,"?xmlns");
- p->iqns = xmlnode_get_attrib(p->iq,"xmlns");
- }
-
- /* set up the jids if any, flag packet as unknown if they are unparseable */
- val = xmlnode_get_attrib(x,"to");
- if(val != NULL)
- if((p->to = jid_new(p->p, val)) == NULL)
- p->type = JPACKET_UNKNOWN;
- val = xmlnode_get_attrib(x,"from");
- if(val != NULL)
- if((p->from = jid_new(p->p, val)) == NULL)
- p->type = JPACKET_UNKNOWN;
-
- return p;
-}
-
-
-int jpacket_subtype(jpacket p)
-{
- char *type;
- int ret = p->subtype;
-
- if(ret != JPACKET__UNKNOWN)
- return ret;
-
- ret = JPACKET__NONE; /* default, when no type attrib is specified */
- type = xmlnode_get_attrib(p->x, "type");
- if(j_strcmp(type,"error") == 0)
- ret = JPACKET__ERROR;
- else
- switch(p->type)
- {
- case JPACKET_MESSAGE:
- if(j_strcmp(type,"chat") == 0)
- ret = JPACKET__CHAT;
- else if(j_strcmp(type,"groupchat") == 0)
- ret = JPACKET__GROUPCHAT;
- else if(j_strcmp(type,"headline") == 0)
- ret = JPACKET__HEADLINE;
- break;
- case JPACKET_S10N:
- if(j_strcmp(type,"subscribe") == 0)
- ret = JPACKET__SUBSCRIBE;
- else if(j_strcmp(type,"subscribed") == 0)
- ret = JPACKET__SUBSCRIBED;
- else if(j_strcmp(type,"unsubscribe") == 0)
- ret = JPACKET__UNSUBSCRIBE;
- else if(j_strcmp(type,"unsubscribed") == 0)
- ret = JPACKET__UNSUBSCRIBED;
- break;
- case JPACKET_IQ:
- if(j_strcmp(type,"get") == 0)
- ret = JPACKET__GET;
- else if(j_strcmp(type,"set") == 0)
- ret = JPACKET__SET;
- else if(j_strcmp(type,"result") == 0)
- ret = JPACKET__RESULT;
- break;
- }
-
- p->subtype = ret;
- return ret;
-}