首页 | 数据结构 | 文件列表 | 数据字段 | 全局定义

login_logout.c文件参考

#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]


宏定义文档

#define QQ_LOGIN_DATA_LENGTH   416
 

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.c43行定义。

参考自 qq_send_packet_login().

#define QQ_LOGIN_REPLY_MISC_ERROR   0xff
 

在文件login_logout.c50行定义。

参考自 _qq_process_login_ok()_qq_process_login_redirect()qq_process_login_reply().

#define QQ_LOGIN_REPLY_OK   0x00
 

在文件login_logout.c47行定义。

参考自 _qq_process_login_ok()qq_process_login_reply().

#define QQ_LOGIN_REPLY_OK_PACKET_LEN   139
 

在文件login_logout.c44行定义。

参考自 _qq_process_login_ok().

#define QQ_LOGIN_REPLY_PWD_ERROR   0x02
 

在文件login_logout.c49行定义。

参考自 _qq_process_login_wrong_pwd()qq_process_login_reply().

#define QQ_LOGIN_REPLY_REDIRECT   0x01
 

在文件login_logout.c48行定义。

参考自 _qq_process_login_redirect()qq_process_login_reply().

#define QQ_LOGIN_REPLY_REDIRECT_PACKET_LEN   11
 

在文件login_logout.c45行定义。

参考自 _qq_process_login_redirect().


类型定义文档

typedef struct _qq_login_reply_ok qq_login_reply_ok_packet
 

在文件login_logout.c93行定义。

typedef struct _qq_login_reply_redirect qq_login_reply_redirect_packet
 

在文件login_logout.c94行定义。


函数文档

gint _create_packet_head_seq guint8 *  buf,
guint8 **  cursor,
GaimConnection *  gc,
guint16  cmd,
gboolean  is_auto_seq,
guint16 *  seq
 

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.c40行定义。

参考 create_packet_b()create_packet_w()QQ_CLIENTQQ_PACKET_TAGQQ_TCP_HEADER_LENGTHQQ_UDP_HEADER_LENGTH_qq_data::send_seq_qq_data::use_tcp.

参考自 qq_send_cmd()qq_send_packet_login()qq_send_packet_login_token().

函数调用图:

static gchar* _gen_login_key void   )  [static]
 

在文件login_logout.c135行定义。

参考 QQ_KEY_LENGTH.

参考自 qq_send_packet_login().

static gint _qq_process_login_ok GaimConnection *  gc,
guint8 *  data,
gint  len
[static]
 

在文件login_logout.c142行定义。

参考 _qq_login_reply_ok::client_ip_qq_login_reply_ok::client_portgen_ip_str()_qq_login_reply_ok::last_client_ip_qq_data::last_login_ip_qq_data::last_login_time_qq_login_reply_ok::last_login_time_qq_data::logged_in_qq_data::login_mode_qq_data::login_time_qq_login_reply_ok::login_time_qq_data::my_ip_qq_data::my_portQQ_FRIENDS_LIST_POSITION_STARTqq_group_init()QQ_KEY_LENGTHQQ_LOGIN_MODE_HIDDENQQ_LOGIN_REPLY_MISC_ERRORQQ_LOGIN_REPLY_OKQQ_LOGIN_REPLY_OK_PACKET_LENQQ_SELF_STATUS_AVAILABLEQQ_SELF_STATUS_INVISIBLEqq_send_packet_change_status()qq_send_packet_get_buddies_list()qq_send_packet_get_info()read_packet_b()read_packet_data()read_packet_dw()read_packet_w()_qq_login_reply_ok::result_qq_login_reply_ok::server_ip_qq_login_reply_ok::server_port_qq_data::session_key_qq_login_reply_ok::session_key_qq_data::status_qq_data::uid_qq_login_reply_ok::uid_qq_login_reply_ok::unknown1_qq_login_reply_ok::unknown2_qq_login_reply_ok::unknown3_qq_login_reply_ok::unknown4_qq_login_reply_ok::unknown5_qq_login_reply_ok::unknown6_qq_login_reply_ok::unknown_server1_ip_qq_login_reply_ok::unknown_server1_port_qq_login_reply_ok::unknown_server2_ip_qq_login_reply_ok::unknown_server2_port.

参考自 qq_process_login_reply().

函数调用图:

static gint _qq_process_login_redirect GaimConnection *  gc,
guint8 *  data,
gint  len
[static]
 

在文件login_logout.c234行定义。

参考 gen_ip_str()_qq_login_reply_redirect::new_server_ip_qq_login_reply_redirect::new_server_portqq_connect()QQ_LOGIN_REPLY_MISC_ERRORQQ_LOGIN_REPLY_REDIRECTQQ_LOGIN_REPLY_REDIRECT_PACKET_LENread_packet_b()read_packet_data()read_packet_dw()read_packet_w()_qq_login_reply_redirect::result_qq_login_reply_redirect::uid_qq_data::use_tcp.

参考自 qq_process_login_reply().

函数调用图:

static gint _qq_process_login_wrong_pwd GaimConnection *  gc,
guint8 *  data,
gint  len
[static]
 

在文件login_logout.c275行定义。

参考 QQ_CHARSET_DEFAULTQQ_LOGIN_REPLY_PWD_ERRORqq_to_utf8().

参考自 qq_process_login_reply().

函数调用图:

gint _qq_send_packet GaimConnection *  gc,
guint8 *  buf,
gint  len,
guint16  cmd
 

在文件send_core.c80行定义。

参考 _qq_sendpacket::buf_qq_sendpacket::cmdcreate_packet_w()_qq_sendpacket::fd_qq_data::fd_qq_sendpacket::lenMAX_PACKET_SIZEqq_get_cmd_desc()qq_proxy_write()_qq_sendpacket::resend_times_qq_data::send_seq_qq_sendpacket::send_seq_qq_data::sendqueue_qq_sendpacket::sendtime_qq_data::use_tcp.

参考自 qq_send_cmd()qq_send_packet_login()qq_send_packet_login_token().

函数调用图:

void qq_process_login_reply guint8 *  buf,
gint  buf_len,
GaimConnection *  gc
 

在文件login_logout.c360行定义。

参考 _qq_process_login_ok()_qq_process_login_redirect()_qq_process_login_wrong_pwd()DECRYPT_qq_data::inikey_qq_data::pwkeyqq_crypt()QQ_LOGIN_REPLY_MISC_ERRORQQ_LOGIN_REPLY_OKQQ_LOGIN_REPLY_PWD_ERRORQQ_LOGIN_REPLY_REDIRECT.

参考自 _qq_packet_process().

函数调用图:

void qq_process_login_token_relay guint8 *  buf,
gint  buf_len,
GaimConnection *  gc
 

在文件login_logout.c424行定义。

参考 _qq_data::ptokenqq_send_packet_login()read_packet_b()read_packet_data()_qq_data::token_len.

参考自 _qq_packet_process().

函数调用图:

void qq_send_packet_login GaimConnection *  gc  ) 
 

在文件login_logout.c290行定义。

参考 _create_packet_head_seq()_gen_login_key()_qq_send_packet()create_packet_b()create_packet_data()create_packet_dw()ENCRYPT_qq_data::inikeylogin_23_51login_53_68login_94_118_qq_data::login_modeMAX_PACKET_SIZE_qq_data::ptoken_qq_data::pwkeyQQ_CMD_LOGINqq_crypt()QQ_KEY_LENGTHQQ_LOGIN_DATA_LENGTHQQ_PACKET_TAIL_qq_data::token_len_qq_data::uid.

参考自 qq_process_login_token_relay().

函数调用图:

void qq_send_packet_login_token GaimConnection *  gc  ) 
 

在文件login_logout.c453行定义。

参考 _create_packet_head_seq()_qq_send_packet()create_packet_b()create_packet_dw()MAX_PACKET_SIZE_qq_data::ptokenQQ_CMD_GET_LOGIN_TOKENQQ_PACKET_TAIL_qq_data::token_len_qq_data::uid.

参考自 _qq_got_login().

函数调用图:

void qq_send_packet_logout GaimConnection *  gc  ) 
 

在文件login_logout.c344行定义。

参考 _qq_data::logged_in_qq_data::pwkeyQQ_CMD_LOGOUTQQ_KEY_LENGTHqq_send_cmd().

参考自 _qq_common_clean().

函数调用图:


变量文档

const guint8 login_23_51[29] [static]
 

初始化序列:

 {
        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.c68行定义。

参考自 qq_send_packet_login().

const guint8 login_53_68[16] [static]
 

初始化序列:

 {
        0x2e, 0xda, 0x0c, 0x59, 0xa7, 0x1a, 0xd6, 0x4a,
        0xb1, 0x48, 0x5d, 0xba, 0x37, 0x1e, 0xac, 0xb9
}

在文件login_logout.c81行定义。

参考自 qq_send_packet_login().

const guint8 login_94_118[25] [static]
 

初始化序列:

 {
        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.c86行定义。

参考自 qq_send_packet_login().


Generated at Mon May 8 15:44:55 2006 for OpenQ by  doxygen 1.4.4