Mercurial > pidgin.yaz
comparison libpurple/protocols/yahoo/libymsg.c @ 29394:d1cecbc467c6
Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347.
committer: John Bailey <rekkanoryo@rekkanoryo.org>
author | kartikmohta@gmail.com |
---|---|
date | Tue, 09 Feb 2010 06:19:49 +0000 |
parents | fa35d7029a14 |
children | d77ecfe2b2c9 2b9db39bd7ed |
comparison
equal
deleted
inserted
replaced
29393:fa35d7029a14 | 29394:d1cecbc467c6 |
---|---|
539 norm_bud = g_strconcat("ocs/", temp, NULL); | 539 norm_bud = g_strconcat("ocs/", temp, NULL); |
540 break; | 540 break; |
541 case YAHOO_FEDERATION_IBM: | 541 case YAHOO_FEDERATION_IBM: |
542 norm_bud = g_strconcat("ibm/", temp, NULL); | 542 norm_bud = g_strconcat("ibm/", temp, NULL); |
543 break; | 543 break; |
544 case YAHOO_FEDERATION_PBX: | |
545 norm_bud = g_strconcat("pbx/", temp, NULL); | |
546 break; | |
544 case YAHOO_FEDERATION_NONE: | 547 case YAHOO_FEDERATION_NONE: |
545 norm_bud = g_strdup(temp); | 548 norm_bud = g_strdup(temp); |
546 break; | 549 break; |
547 } | 550 } |
548 if (yd->current_list15_grp) { | 551 if (yd->current_list15_grp) { |
831 fed_from = g_strconcat("ocs/", from, NULL); | 834 fed_from = g_strconcat("ocs/", from, NULL); |
832 break; | 835 break; |
833 case YAHOO_FEDERATION_IBM: | 836 case YAHOO_FEDERATION_IBM: |
834 fed_from = g_strconcat("ibm/", from, NULL); | 837 fed_from = g_strconcat("ibm/", from, NULL); |
835 break; | 838 break; |
839 case YAHOO_FEDERATION_PBX: | |
840 fed_from = g_strconcat("pbx/", from, NULL); | |
841 break; | |
836 case YAHOO_FEDERATION_NONE: | 842 case YAHOO_FEDERATION_NONE: |
837 default: | 843 default: |
838 break; | 844 break; |
839 } | 845 } |
840 | 846 |
842 serv_got_typing(gc, fed_from, 0, PURPLE_TYPING); | 848 serv_got_typing(gc, fed_from, 0, PURPLE_TYPING); |
843 else | 849 else |
844 serv_got_typing_stopped(gc, fed_from); | 850 serv_got_typing_stopped(gc, fed_from); |
845 | 851 |
846 if (fed_from != from) | 852 if (fed_from != from) |
847 g_free(fed_from); | 853 g_free(fed_from); |
848 | 854 |
849 } else if (!g_ascii_strncasecmp(msg, "GAME", strlen("GAME"))) { | 855 } else if (!g_ascii_strncasecmp(msg, "GAME", strlen("GAME"))) { |
850 PurpleBuddy *bud = purple_find_buddy(account, from); | 856 PurpleBuddy *bud = purple_find_buddy(account, from); |
851 | 857 |
852 if (!bud) { | 858 if (!bud) { |
997 im->fed_from = g_strconcat("ocs/",im->from, NULL); | 1003 im->fed_from = g_strconcat("ocs/",im->from, NULL); |
998 break; | 1004 break; |
999 case YAHOO_FEDERATION_IBM: | 1005 case YAHOO_FEDERATION_IBM: |
1000 im->fed_from = g_strconcat("ibm/",im->from, NULL); | 1006 im->fed_from = g_strconcat("ibm/",im->from, NULL); |
1001 break; | 1007 break; |
1008 case YAHOO_FEDERATION_PBX: | |
1009 im->fed_from = g_strconcat("pbx/",im->from, NULL); | |
1010 break; | |
1002 case YAHOO_FEDERATION_NONE: | 1011 case YAHOO_FEDERATION_NONE: |
1003 default: | 1012 default: |
1004 im->fed_from = g_strdup(im->from); | 1013 im->fed_from = g_strdup(im->from); |
1005 break; | 1014 break; |
1006 } | 1015 } |
1008 | 1017 |
1009 } | 1018 } |
1010 /* peer session id */ | 1019 /* peer session id */ |
1011 if (im && (pair->key == 11)) { | 1020 if (im && (pair->key == 11)) { |
1012 /* disconnect the peer if connected through p2p and sends wrong value for session id */ | 1021 /* disconnect the peer if connected through p2p and sends wrong value for session id */ |
1013 if( (im->fed == YAHOO_FEDERATION_NONE) && (pkt_type == YAHOO_PKT_TYPE_P2P) | 1022 if( (im->fed == YAHOO_FEDERATION_NONE) && (pkt_type == YAHOO_PKT_TYPE_P2P) |
1014 && (yd->session_id != strtol(pair->value, NULL, 10)) ) | 1023 && (yd->session_id != strtol(pair->value, NULL, 10)) ) |
1015 { | 1024 { |
1016 purple_debug_warning("yahoo","p2p: %s sent us message with wrong session id. Disconnecting p2p connection to peer\n", im->fed_from); | 1025 purple_debug_warning("yahoo","p2p: %s sent us message with wrong session id. Disconnecting p2p connection to peer\n", im->fed_from); |
1017 /* remove from p2p connection lists, also calls yahoo_p2p_disconnect_destroy_data */ | 1026 /* remove from p2p connection lists, also calls yahoo_p2p_disconnect_destroy_data */ |
1018 g_hash_table_remove(yd->peers, im->fed_from); | 1027 g_hash_table_remove(yd->peers, im->fed_from); |
4426 fed_who = who; | 4435 fed_who = who; |
4427 switch (fed) { | 4436 switch (fed) { |
4428 case YAHOO_FEDERATION_MSN: | 4437 case YAHOO_FEDERATION_MSN: |
4429 case YAHOO_FEDERATION_OCS: | 4438 case YAHOO_FEDERATION_OCS: |
4430 case YAHOO_FEDERATION_IBM: | 4439 case YAHOO_FEDERATION_IBM: |
4440 case YAHOO_FEDERATION_PBX: | |
4431 fed_who += 4; | 4441 fed_who += 4; |
4432 break; | 4442 break; |
4433 case YAHOO_FEDERATION_NONE: | 4443 case YAHOO_FEDERATION_NONE: |
4434 default: | 4444 default: |
4435 break; | 4445 break; |
4526 const char *fed_who = who; | 4536 const char *fed_who = who; |
4527 switch (fed) { | 4537 switch (fed) { |
4528 case YAHOO_FEDERATION_MSN: | 4538 case YAHOO_FEDERATION_MSN: |
4529 case YAHOO_FEDERATION_OCS: | 4539 case YAHOO_FEDERATION_OCS: |
4530 case YAHOO_FEDERATION_IBM: | 4540 case YAHOO_FEDERATION_IBM: |
4541 case YAHOO_FEDERATION_PBX: | |
4531 fed_who += 4; | 4542 fed_who += 4; |
4532 break; | 4543 break; |
4533 case YAHOO_FEDERATION_NONE: | 4544 case YAHOO_FEDERATION_NONE: |
4534 default: | 4545 default: |
4535 break; | 4546 break; |