comparison libpurple/protocols/qq/file_trans.c @ 23049:190bc4ecf6c3

patch-03-add-qq_hex_dump
author SHiNE CsyFeK <csyfek@gmail.com>
date Tue, 24 Jun 2008 12:09:16 +0000
parents 9a5d140400f1
children 51dbe83ebbd3
comparison
equal deleted inserted replaced
23048:9a5d140400f1 23049:190bc4ecf6c3
291 qq_data *qd; 291 qq_data *qd;
292 gint bytes, bytes_expected, encrypted_len; 292 gint bytes, bytes_expected, encrypted_len;
293 guint8 *raw_data, *encrypted_data; 293 guint8 *raw_data, *encrypted_data;
294 time_t now; 294 time_t now;
295 ft_info *info; 295 ft_info *info;
296 gchar *hex_dump;
297 296
298 qd = (qq_data *) gc->proto_data; 297 qd = (qq_data *) gc->proto_data;
299 info = (ft_info *) qd->xfer->data; 298 info = (ft_info *) qd->xfer->data;
300 299
301 raw_data = g_newa (guint8, 61); 300 raw_data = g_newa (guint8, 61);
353 purple_debug(PURPLE_DEBUG_ERROR, "QQ", "qq_send_file_ctl_packet: Expected to get %d bytes, but get %d", 352 purple_debug(PURPLE_DEBUG_ERROR, "QQ", "qq_send_file_ctl_packet: Expected to get %d bytes, but get %d",
354 bytes_expected, bytes); 353 bytes_expected, bytes);
355 return; 354 return;
356 } 355 }
357 356
358 hex_dump = hex_dump_to_str(raw_data, bytes); 357 qq_hex_dump(PURPLE_DEBUG_INFO, "QQ",
359 purple_debug(PURPLE_DEBUG_INFO, "QQ", "sending packet[%s]: \n%s", qq_get_file_cmd_desc(packet_type), hex_dump); 358 raw_data, bytes,
360 g_free(hex_dump); 359 "sending packet[%s]:", qq_get_file_cmd_desc(packet_type));
361 360
362 encrypted_len = bytes + 16; 361 encrypted_len = bytes + 16;
363 encrypted_data = g_newa(guint8, encrypted_len); 362 encrypted_data = g_newa(guint8, encrypted_len);
364 qq_encrypt(raw_data, bytes, info->file_session_key, encrypted_data, &encrypted_len); 363 qq_encrypt(raw_data, bytes, info->file_session_key, encrypted_data, &encrypted_len);
365 /*debug: try to decrypt it */ 364 /*debug: try to decrypt it */
529 qq_data *qd = (qq_data *) gc->proto_data; 528 qq_data *qd = (qq_data *) gc->proto_data;
530 guint16 packet_type; 529 guint16 packet_type;
531 guint16 seq; 530 guint16 seq;
532 guint8 hellobyte; 531 guint8 hellobyte;
533 ft_info *info = (ft_info *) qd->xfer->data; 532 ft_info *info = (ft_info *) qd->xfer->data;
534 gchar *hex_dump;
535 533
536 bytes = 0; 534 bytes = 0;
537 bytes += _qq_get_file_header(&fh, data + bytes); 535 bytes += _qq_get_file_header(&fh, data + bytes);
538 536
539 decrypted_data = g_newa(guint8, len); 537 decrypted_data = g_newa(guint8, len);
549 decryped_bytes += qq_get16(&packet_type, decrypted_data + decryped_bytes); 547 decryped_bytes += qq_get16(&packet_type, decrypted_data + decryped_bytes);
550 decryped_bytes += qq_get16(&seq, decrypted_data + decryped_bytes); 548 decryped_bytes += qq_get16(&seq, decrypted_data + decryped_bytes);
551 decryped_bytes += 4+1+1+19+1; /* skip something */ 549 decryped_bytes += 4+1+1+19+1; /* skip something */
552 550
553 purple_debug(PURPLE_DEBUG_INFO, "QQ", "==> [%d] receive %s packet\n", seq, qq_get_file_cmd_desc(packet_type)); 551 purple_debug(PURPLE_DEBUG_INFO, "QQ", "==> [%d] receive %s packet\n", seq, qq_get_file_cmd_desc(packet_type));
554 hex_dump = hex_dump_to_str(decrypted_data, decrypted_len); 552 qq_hex_dump(PURPLE_DEBUG_INFO, "QQ",
555 purple_debug(PURPLE_DEBUG_INFO, "QQ", "decrypted control packet received: \n%s", hex_dump); 553 decrypted_data, decrypted_len,
556 g_free(hex_dump); 554 "decrypted control packet received:");
557 555
558 switch (packet_type) { 556 switch (packet_type) {
559 case QQ_FILE_CMD_NOTIFY_IP_ACK: 557 case QQ_FILE_CMD_NOTIFY_IP_ACK:
560 decryped_bytes = 0; 558 decryped_bytes = 0;
561 qq_get_conn_info(info, decrypted_data + decryped_bytes); 559 qq_get_conn_info(info, decrypted_data + decryped_bytes);