comparison libpurple/protocols/qq/qq_process.c @ 24162:f4f29fac96c6

2008.10.20 - ccpaging <ccpaging(at)gmail.com> * Support incoming authorization of 'buddy_adding' protocol of QQ2007/2008
author SHiNE CsyFeK <csyfek@gmail.com>
date Tue, 28 Oct 2008 16:45:10 +0000
parents 7c0a56c5fea0
children 7f5433ffbf8d
comparison
equal deleted inserted replaced
24161:7c0a56c5fea0 24162:f4f29fac96c6
441 to = segments[2]; 441 to = segments[2];
442 bytes += strlen(to) + 1; 442 bytes += strlen(to) + 1;
443 443
444 request_server_ack(gc, funct_str, from, seq); 444 request_server_ack(gc, funct_str, from, seq);
445 445
446 qq_show_packet("Server MSG", data, data_len); 446 /* qq_show_packet("Server MSG", data, data_len); */
447 if (strtol(to, NULL, 10) != qd->uid) { /* not to me */ 447 if (strtol(to, NULL, 10) != qd->uid) { /* not to me */
448 purple_debug_error("QQ", "Recv sys msg to [%s], not me!, discard\n", to); 448 purple_debug_error("QQ", "Recv sys msg to [%s], not me!, discard\n", to);
449 g_strfreev(segments); 449 g_strfreev(segments);
450 return; 450 return;
451 } 451 }
454 switch (funct) { 454 switch (funct) {
455 case QQ_SERVER_BUDDY_ADDED: 455 case QQ_SERVER_BUDDY_ADDED:
456 case QQ_SERVER_BUDDY_ADD_REQUEST: 456 case QQ_SERVER_BUDDY_ADD_REQUEST:
457 case QQ_SERVER_BUDDY_ADDED_ME: 457 case QQ_SERVER_BUDDY_ADDED_ME:
458 case QQ_SERVER_BUDDY_REJECTED_ME: 458 case QQ_SERVER_BUDDY_REJECTED_ME:
459 case QQ_MSG_SYS_ADD_FRIEND_REQUEST_EX: 459 case QQ_SERVER_BUDDY_ADD_REQUEST_EX:
460 case QQ_SERVER_BUDDY_ADDING_EX:
461 case QQ_SERVER_BUDDY_ADDED_ANSWER:
462 case QQ_SERVER_BUDDY_ADDED_EX:
460 qq_process_buddy_from_server(gc, funct, from, to, data + bytes, data_len - bytes); 463 qq_process_buddy_from_server(gc, funct, from, to, data + bytes, data_len - bytes);
461 break; 464 break;
462 case QQ_SERVER_NOTICE: 465 case QQ_SERVER_NOTICE:
463 do_server_notice(gc, from, to, data + bytes, data_len - bytes); 466 do_server_notice(gc, from, to, data + bytes, data_len - bytes);
464 break; 467 break;
465 case QQ_SERVER_NEW_CLIENT: 468 case QQ_SERVER_NEW_CLIENT:
466 purple_debug_warning("QQ", "QQ Server has newer client version\n"); 469 purple_debug_warning("QQ", "QQ Server has newer client version\n");
467 break; 470 break;
468 default: 471 default:
469 qq_show_packet("Recv unknown sys msg", data, data_len); 472 qq_show_packet("Unknown sys msg", data, data_len);
470 purple_debug_warning("QQ", "Recv unknown sys msg code: %s\n", funct_str); 473 purple_debug_warning("QQ", "Recv unknown sys msg code: %s\n", funct_str);
471 break; 474 break;
472 } 475 }
473 g_strfreev(segments); 476 g_strfreev(segments);
474 } 477 }
1034 switch (cmd) { 1037 switch (cmd) {
1035 case QQ_CMD_UPDATE_INFO: 1038 case QQ_CMD_UPDATE_INFO:
1036 qq_process_change_info(gc, data, data_len); 1039 qq_process_change_info(gc, data, data_len);
1037 break; 1040 break;
1038 case QQ_CMD_BUDDY_ADD_NO_AUTH: 1041 case QQ_CMD_BUDDY_ADD_NO_AUTH:
1039 qq_process_buddy_add_no_auth(data, data_len, ship32, gc); 1042 qq_process_buddy_add_no_auth(gc, data, data_len, ship32);
1040 break; 1043 break;
1041 case QQ_CMD_BUDDY_REMOVE: 1044 case QQ_CMD_BUDDY_REMOVE:
1042 qq_process_buddy_remove(gc, data, data_len, ship32); 1045 qq_process_buddy_remove(gc, data, data_len, ship32);
1043 break; 1046 break;
1044 case QQ_CMD_REMOVE_ME: 1047 case QQ_CMD_REMOVE_ME:
1097 purple_debug_info("QQ", "All buddies and groups received\n"); 1100 purple_debug_info("QQ", "All buddies and groups received\n");
1098 break; 1101 break;
1099 case QQ_CMD_AUTH_INFO: 1102 case QQ_CMD_AUTH_INFO:
1100 qq_process_auth_info(gc, data, data_len, ship32); 1103 qq_process_auth_info(gc, data, data_len, ship32);
1101 break; 1104 break;
1105 case QQ_CMD_BUDDY_ADD_NO_AUTH_EX:
1106 qq_process_buddy_add_no_auth_ex(gc, data, data_len, ship32);
1107 break;
1108 case QQ_CMD_BUDDY_CHECK_CODE:
1109 qq_process_buddy_check_code(gc, data, data_len, ship32);
1110 break;
1102 default: 1111 default:
1103 process_unknow_cmd(gc, _("Unknow CLIENT CMD"), data, data_len, cmd, seq); 1112 process_unknow_cmd(gc, _("Unknow CLIENT CMD"), data, data_len, cmd, seq);
1104 is_unknow = TRUE; 1113 is_unknow = TRUE;
1105 break; 1114 break;
1106 } 1115 }