#include "debug.h"#include "internal.h"#include "server.h"#include "utils.h"#include "packet_parse.h"#include "buddy_info.h"#include "buddy_list.h"#include "buddy_status.h"#include "char_conv.h"#include "crypt.h"#include "group.h"#include "header_info.h"#include "login_logout.h"#include "qq_proxy.h"#include "send_core.h"#include "qq.h"login_logout.c包含/依赖关系图:

数据结构 | |
| struct | _qq_login_reply_ok |
| struct | _qq_login_reply_redirect |
宏定义 | |
| #define | QQ_LOGIN_DATA_LENGTH 416 |
| #define | QQ_LOGIN_REPLY_OK_PACKET_LEN 139 |
| #define | QQ_LOGIN_REPLY_REDIRECT_PACKET_LEN 11 |
| #define | QQ_LOGIN_REPLY_OK 0x00 |
| #define | QQ_LOGIN_REPLY_REDIRECT 0x01 |
| #define | QQ_LOGIN_REPLY_PWD_ERROR 0x02 |
| #define | QQ_LOGIN_REPLY_MISC_ERROR 0xff |
类型定义 | |
| typedef _qq_login_reply_ok | qq_login_reply_ok_packet |
| typedef _qq_login_reply_redirect | qq_login_reply_redirect_packet |
函数 | |
| gint | _create_packet_head_seq (guint8 *buf, guint8 **cursor, GaimConnection *gc, guint16 cmd, gboolean is_auto_seq, guint16 *seq) |
| gint | _qq_send_packet (GaimConnection *gc, guint8 *buf, gint len, guint16 cmd) |
| static gchar * | _gen_login_key (void) |
| static gint | _qq_process_login_ok (GaimConnection *gc, guint8 *data, gint len) |
| static gint | _qq_process_login_redirect (GaimConnection *gc, guint8 *data, gint len) |
| static gint | _qq_process_login_wrong_pwd (GaimConnection *gc, guint8 *data, gint len) |
| void | qq_send_packet_login (GaimConnection *gc) |
| void | qq_send_packet_logout (GaimConnection *gc) |
| void | qq_process_login_reply (guint8 *buf, gint buf_len, GaimConnection *gc) |
| void | qq_process_login_token_relay (guint8 *buf, gint buf_len, GaimConnection *gc) |
| void | qq_send_packet_login_token (GaimConnection *gc) |
变量 | |
| static const guint8 | login_23_51 [29] |
| static const guint8 | login_53_68 [16] |
| static const guint8 | login_94_118 [25] |
|
|
The QQ2003C protocol plugin for gaim Copyright (C) 2004 Puzzlebird This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 在文件login_logout.c第43行定义。 |
|
|
在文件login_logout.c第50行定义。 参考自 _qq_process_login_ok()、_qq_process_login_redirect()及qq_process_login_reply(). |
|
|
在文件login_logout.c第47行定义。 |
|
|
在文件login_logout.c第44行定义。 |
|
|
在文件login_logout.c第49行定义。 |
|
|
在文件login_logout.c第48行定义。 |
|
|
在文件login_logout.c第45行定义。 |
|
|
在文件login_logout.c第93行定义。 |
|
|
在文件login_logout.c第94行定义。 |
|
||||||||||||||||||||||||||||
|
The QQ2003C protocol plugin for gaim Copyright (C) 2004 Puzzlebird This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 在文件send_core.c第40行定义。 参考 create_packet_b()、create_packet_w()、QQ_CLIENT、QQ_PACKET_TAG、QQ_TCP_HEADER_LENGTH、QQ_UDP_HEADER_LENGTH、_qq_data::send_seq及_qq_data::use_tcp. 参考自 qq_send_cmd()、qq_send_packet_login()及qq_send_packet_login_token(). 函数调用图: ![]() |
|
|
在文件login_logout.c第135行定义。 参考 QQ_KEY_LENGTH. |
|
||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
|
在文件login_logout.c第275行定义。 参考 QQ_CHARSET_DEFAULT、QQ_LOGIN_REPLY_PWD_ERROR及qq_to_utf8(). 函数调用图: ![]() |
|
||||||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
|
在文件login_logout.c第424行定义。 参考 _qq_data::ptoken、qq_send_packet_login()、read_packet_b()、read_packet_data()及_qq_data::token_len. 参考自 _qq_packet_process(). 函数调用图: ![]() |
|
|
|
|
在文件login_logout.c第344行定义。 参考 _qq_data::logged_in、_qq_data::pwkey、QQ_CMD_LOGOUT、QQ_KEY_LENGTH及qq_send_cmd(). 参考自 _qq_common_clean(). 函数调用图: ![]() |
|
|
初始化序列: {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x29, 0xc0, 0xf8, 0xc4,
0x04, 0x3b, 0xee, 0x57, 0x92, 0xd2, 0x42, 0xa6,
0xbe, 0x41, 0x98, 0x97, 0x9e
}
在文件login_logout.c第68行定义。 |
|
|
初始化序列: {
0x2e, 0xda, 0x0c, 0x59, 0xa7, 0x1a, 0xd6, 0x4a,
0xb1, 0x48, 0x5d, 0xba, 0x37, 0x1e, 0xac, 0xb9
}
在文件login_logout.c第81行定义。 |
|
|
初始化序列: {
0x01, 0x40, 0x01, 0xd7, 0x50, 0x72, 0xc8, 0x00,
0x10, 0x4a, 0xc3, 0x1b, 0x6c, 0xf9, 0x85, 0xf5,
0xd9, 0xa8, 0x05, 0xac, 0x95, 0xa0, 0xe2, 0x44,
0x01
}
在文件login_logout.c第86行定义。 |
1.4.4