Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/jabber_util.c

    r608f8cf r5bd21df  
    179179                return FALSE;
    180180        }
     181}
     182
     183xt_status jabber_cache_handle_packet( struct im_connection *ic, struct xt_node *node )
     184{
     185        struct jabber_data *jd = ic->proto_data;
     186        struct jabber_cache_entry *entry;
     187        char *s;
     188       
     189        if( ( s = xt_find_attr( node, "id" ) ) == NULL ||
     190            strncmp( s, jd->cached_id_prefix, strlen( jd->cached_id_prefix ) ) != 0 )
     191        {
     192                /* Silently ignore it, without an ID (or a non-cache
     193                   ID) we don't know how to handle the packet and we
     194                   probably don't have to. */
     195                return XT_HANDLED;
     196        }
     197       
     198        entry = g_hash_table_lookup( jd->node_cache, s );
     199       
     200        if( entry == NULL )
     201        {
     202                imcb_log( ic, "WARNING: Received %s-%s packet with unknown/expired ID %s!",
     203                              node->name, xt_find_attr( node, "type" ) ? : "(no type)", s );
     204        }
     205        else if( entry->func )
     206        {
     207                return entry->func( ic, node, entry->node );
     208        }
     209       
     210        return XT_HANDLED;
    181211}
    182212
     
    584614}
    585615
    586 struct groupchat *jabber_chat_by_name( struct im_connection *ic, const char *name )
    587 {
    588         char *normalized = jabber_normalize( name );
    589         struct groupchat *ret;
    590         struct jabber_chat *jc;
    591        
    592         for( ret = ic->groupchats; ret; ret = ret->next )
    593         {
    594                 jc = ret->data;
    595                 if( strcmp( normalized, jc->name ) == 0 )
    596                         break;
    597         }
    598         g_free( normalized );
    599        
    600         return ret;
    601 }
    602 
    603616time_t jabber_get_timestamp( struct xt_node *xt )
    604617{
     
    652665struct jabber_error *jabber_error_parse( struct xt_node *node, char *xmlns )
    653666{
    654         struct jabber_error *err = g_new0( struct jabber_error, 1 );
     667        struct jabber_error *err;
    655668        struct xt_node *c;
    656669        char *s;
    657670       
     671        if( node == NULL )
     672                return NULL;
     673       
     674        err = g_new0( struct jabber_error, 1 );
    658675        err->type = xt_find_attr( node, "type" );
    659676       
Note: See TracChangeset for help on using the changeset viewer.