Changeset 121

Show
Ignore:
Timestamp:
23/10/08 11:06:09 (3 months ago)
Author:
smoku
Message:

Sending transport presence subscribed only on subscription state change

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • jggtrans/src/presence.c

    r115 r121  
    234234 
    235235        u=user_get_by_jid(from); 
     236 
    236237        if (jid_is_me(to)){ 
     238 
    237239                debug(L_("Presence subscribe request sent to me")); 
     240 
    238241                if (!u) { 
    239242                        presence_send_unsubscribed(stream,to,from); 
    240243                        return 0; 
    241244                } 
    242                 presence_send_subscribed(stream,to,from); 
    243                 if (u->subscribe==SUB_UNDEFINED || u->subscribe==SUB_NONE) u->subscribe=SUB_TO; 
    244                 else if (u->subscribe==SUB_FROM) u->subscribe=SUB_BOTH; 
     245 
     246                if (u->subscribe==SUB_UNDEFINED || u->subscribe==SUB_NONE){ 
     247                        u->subscribe=SUB_TO; 
     248                        presence_send_subscribed(stream,to,from); 
     249                } 
     250                else if (u->subscribe==SUB_FROM){ 
     251                        u->subscribe=SUB_BOTH; 
     252                        presence_send_subscribed(stream,to,from); 
     253                } 
     254 
    245255                if (u->subscribe!=SUB_FROM && u->subscribe!=SUB_BOTH){ 
    246256                        presence_send_subscribe(stream,to,from); 
    247257                } 
     258 
    248259                user_save(u); 
     260 
    249261                s=session_get_by_jid(from,NULL,0); 
    250262                if (s){ 
     
    259271                        return 0; 
    260272                } 
     273 
    261274                return 0; 
    262275        }