Changeset 642
- Timestamp:
- 07/25/05 21:37:17 (3 years ago)
- Files:
-
- trunk/src/register.c (modified) (5 diffs)
- trunk/src/sessions.c (modified) (1 diff)
- trunk/src/users.c (modified) (2 diffs)
- trunk/src/users.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/register.c
r641 r642 454 454 xmlnode query; 455 455 xmlnode instr; 456 User *u ;456 User *user; 457 457 458 458 node=xmlnode_get_firstchild(q); … … 462 462 return; 463 463 } 464 465 user=user_get_by_jid(from); 466 if (user && user->deleted) { 467 jabber_iq_send_error(s,from,to,id,503,_("User still in use, try later.")); 468 return; 469 } 470 464 471 iq=xmlnode_new_tag("iq"); 465 472 xmlnode_put_attrib(iq,"type","result"); … … 489 496 xmlnode_insert_cdata(instr,register_instructions,-1); 490 497 491 u=user_get_by_jid(from); 492 if (u==NULL) 493 register_form(query,u); 498 if (user==NULL) 499 register_form(query,user); 494 500 else 495 register_change_form(query,u );501 register_change_form(query,user); 496 502 497 503 stream_write(s,iq); … … 528 534 ujid=jid_build(c->uin); 529 535 presence_send_unsubscribed(s,ujid,u->jid); 536 presence_send_unsubscribe(s,ujid,u->jid); 530 537 g_free(ujid); 531 538 } … … 561 568 562 569 user=user_get_by_jid(from); 570 if (user && user->deleted) { 571 jabber_iq_send_error(s,from,to,id,503,_("User still in use, try later.")); 572 return; 573 } 563 574 564 575 node=xmlnode_get_firstchild(q); trunk/src/sessions.c
r635 r642 789 789 790 790 g_assert(user!=NULL); 791 792 if (user->deleted){ 793 g_message(L_("User deleted: '%s'"),user->jid); 794 return NULL; 795 } 796 791 797 s=g_new0(Session,1); 792 798 s->user=user; trunk/src/users.c
r640 r642 496 496 u->invisible=0; 497 497 u->friends_only=1; 498 g_assert(users_jid!=NULL);499 498 g_hash_table_insert(users_jid,(gpointer)njid,(gpointer)u); 500 499 u->refcount=0; 500 u->deleted=FALSE; 501 501 return u; 502 502 } … … 660 660 g_free(njid); 661 661 662 u->deleted=TRUE; 663 662 664 users_gc(); 663 665 trunk/src/users.h
r631 r642 65 65 int confirmed; 66 66 int refcount; 67 gboolean deleted; 67 68 GList *contacts; 68 69 }User;
