Changeset 3330468 for protocols/jabber/iq.c
- Timestamp:
- 2010-03-14T23:15:05Z (15 years ago)
- Branches:
- master
- Children:
- 81ee561
- Parents:
- 7c5affca (diff), 7e2b593 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/jabber/iq.c
r7c5affca r3330468 298 298 { 299 299 struct jabber_data *jd = ic->proto_data; 300 struct xt_node *c ;300 struct xt_node *c, *reply = NULL; 301 301 char *s; 302 302 303 if( ( c = xt_find_node( node->children, "bind" ) ) )303 if( node && ( c = xt_find_node( node->children, "bind" ) ) ) 304 304 { 305 305 c = xt_find_node( c->children, "jid" ); … … 308 308 imcb_log( ic, "Server changed session resource string to `%s'", s + 1 ); 309 309 310 jd->flags &= ~JFLAG_WAIT_BIND; 311 } 312 else 313 { 314 jd->flags &= ~JFLAG_WAIT_SESSION; 315 } 316 317 if( ( jd->flags & ( JFLAG_WAIT_BIND | JFLAG_WAIT_SESSION ) ) == 0 ) 310 jd->flags &= ~JFLAG_WANT_BIND; 311 } 312 else if( node && ( c = xt_find_node( node->children, "session" ) ) ) 313 { 314 jd->flags &= ~JFLAG_WANT_SESSION; 315 } 316 317 if( jd->flags & JFLAG_WANT_BIND ) 318 { 319 reply = xt_new_node( "bind", NULL, xt_new_node( "resource", set_getstr( &ic->acc->set, "resource" ), NULL ) ); 320 xt_add_attr( reply, "xmlns", XMLNS_BIND ); 321 } 322 else if( jd->flags & JFLAG_WANT_SESSION ) 323 { 324 reply = xt_new_node( "session", NULL, NULL ); 325 xt_add_attr( reply, "xmlns", XMLNS_SESSION ); 326 } 327 328 if( reply != NULL ) 329 { 330 reply = jabber_make_packet( "iq", "set", NULL, reply ); 331 jabber_cache_add( ic, reply, jabber_pkt_bind_sess ); 332 333 if( !jabber_write_packet( ic, reply ) ) 334 return XT_ABORT; 335 } 336 else if( ( jd->flags & ( JFLAG_WANT_BIND | JFLAG_WANT_SESSION ) ) == 0 ) 318 337 { 319 338 if( !jabber_get_roster( ic ) )
Note: See TracChangeset
for help on using the changeset viewer.