Mercurial > pidgin.yaz
comparison libpurple/protocols/mxit/login.c @ 32827:4a34689eeb33 default tip
merged from im.pidgin.pidgin
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sat, 19 Nov 2011 14:42:54 +0900 |
parents | d8c652ea476a |
children |
comparison
equal
deleted
inserted
replaced
32692:0f94ec89f0bc | 32827:4a34689eeb33 |
---|---|
67 session->con = con; | 67 session->con = con; |
68 session->acc = account; | 68 session->acc = account; |
69 | 69 |
70 /* configure the connection (reference: "libpurple/connection.h") */ | 70 /* configure the connection (reference: "libpurple/connection.h") */ |
71 purple_connection_set_protocol_data( con, session ); | 71 purple_connection_set_protocol_data( con, session ); |
72 con->flags |= PURPLE_CONNECTION_NO_BGCOLOR | PURPLE_CONNECTION_NO_URLDESC | PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_SUPPORT_MOODS; | 72 purple_connection_set_flags( con, |
73 PURPLE_CONNECTION_NO_BGCOLOR | |
74 | PURPLE_CONNECTION_NO_URLDESC | |
75 | PURPLE_CONNECTION_HTML | |
76 | PURPLE_CONNECTION_SUPPORT_MOODS | |
77 ); | |
73 | 78 |
74 /* configure the session (reference: "libpurple/account.h") */ | 79 /* configure the session (reference: "libpurple/account.h") */ |
75 g_strlcpy( session->server, purple_account_get_string( account, MXIT_CONFIG_SERVER_ADDR, DEFAULT_SERVER ), sizeof( session->server ) ); | 80 g_strlcpy( session->server, purple_account_get_string( account, MXIT_CONFIG_SERVER_ADDR, DEFAULT_SERVER ), sizeof( session->server ) ); |
76 g_strlcpy( session->http_server, purple_account_get_string( account, MXIT_CONFIG_HTTPSERVER, DEFAULT_HTTP_SERVER ), sizeof( session->http_server ) ); | 81 g_strlcpy( session->http_server, purple_account_get_string( account, MXIT_CONFIG_HTTPSERVER, DEFAULT_HTTP_SERVER ), sizeof( session->http_server ) ); |
77 session->port = purple_account_get_int( account, MXIT_CONFIG_SERVER_PORT, DEFAULT_PORT ); | 82 session->port = purple_account_get_int( account, MXIT_CONFIG_SERVER_PORT, DEFAULT_PORT ); |
169 | 174 |
170 /* we now have an open and active TCP connection to the mxit server */ | 175 /* we now have an open and active TCP connection to the mxit server */ |
171 session->fd = source; | 176 session->fd = source; |
172 | 177 |
173 /* start listening on the open connection for messages from the server (reference: "libpurple/eventloop.h") */ | 178 /* start listening on the open connection for messages from the server (reference: "libpurple/eventloop.h") */ |
174 session->con->inpa = purple_input_add( session->fd, PURPLE_INPUT_READ, mxit_cb_rx, session ); | 179 session->inpa = purple_input_add( session->fd, PURPLE_INPUT_READ, mxit_cb_rx, session ); |
175 | 180 |
176 mxit_connected( session ); | 181 mxit_connected( session ); |
177 } | 182 } |
178 | 183 |
179 | 184 |
544 | 549 |
545 /* get state */ | 550 /* get state */ |
546 state = purple_account_get_int( session->acc, MXIT_CONFIG_STATE, MXIT_STATE_LOGIN ); | 551 state = purple_account_get_int( session->acc, MXIT_CONFIG_STATE, MXIT_STATE_LOGIN ); |
547 | 552 |
548 url = g_strdup_printf( "%s?type=getpid&sessionid=%s&login=%s&ver=%i.%i.%i&clientid=%s&cat=%s&chalresp=%s&cc=%s&loc=%s&path=%i&brand=%s&model=%s&h=%i&w=%i&ts=%li", | 553 url = g_strdup_printf( "%s?type=getpid&sessionid=%s&login=%s&ver=%i.%i.%i&clientid=%s&cat=%s&chalresp=%s&cc=%s&loc=%s&path=%i&brand=%s&model=%s&h=%i&w=%i&ts=%li", |
549 session->logindata->wapserver, session->logindata->sessionid, purple_url_encode( session->acc->username ), PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION, PURPLE_MICRO_VERSION, MXIT_CLIENT_ID, MXIT_CP_ARCH, | 554 session->logindata->wapserver, |
550 captcha_resp, session->logindata->cc, session->logindata->locale, ( state == MXIT_STATE_REGISTER1 ) ? 0 : 1, MXIT_CP_PLATFORM, MXIT_CP_OS, | 555 session->logindata->sessionid, |
551 MXIT_CAPTCHA_HEIGHT, MXIT_CAPTCHA_WIDTH, time( NULL ) ); | 556 purple_url_encode( purple_account_get_username( session->acc ) ), |
557 PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION, PURPLE_MICRO_VERSION, | |
558 MXIT_CLIENT_ID, | |
559 MXIT_CP_ARCH, | |
560 captcha_resp, | |
561 session->logindata->cc, | |
562 session->logindata->locale, | |
563 ( state == MXIT_STATE_REGISTER1 ) ? 0 : 1, | |
564 MXIT_CP_PLATFORM, | |
565 MXIT_CP_OS, | |
566 MXIT_CAPTCHA_HEIGHT, | |
567 MXIT_CAPTCHA_WIDTH, | |
568 time( NULL ) | |
569 ); | |
552 url_data = purple_util_fetch_url_request( session->acc, url, TRUE, MXIT_HTTP_USERAGENT, TRUE, NULL, FALSE, -1, mxit_cb_clientinfo2, session ); | 570 url_data = purple_util_fetch_url_request( session->acc, url, TRUE, MXIT_HTTP_USERAGENT, TRUE, NULL, FALSE, -1, mxit_cb_clientinfo2, session ); |
553 | 571 |
554 #ifdef DEBUG_PROTOCOL | 572 #ifdef DEBUG_PROTOCOL |
555 purple_debug_info( MXIT_PLUGIN_ID, "HTTP REQUEST: '%s'\n", url ); | 573 purple_debug_info( MXIT_PLUGIN_ID, "HTTP REQUEST: '%s'\n", url ); |
556 #endif | 574 #endif |
760 void mxit_reconnect( struct MXitSession* session ) | 778 void mxit_reconnect( struct MXitSession* session ) |
761 { | 779 { |
762 purple_debug_info( MXIT_PLUGIN_ID, "mxit_reconnect\n" ); | 780 purple_debug_info( MXIT_PLUGIN_ID, "mxit_reconnect\n" ); |
763 | 781 |
764 /* remove the input cb function */ | 782 /* remove the input cb function */ |
765 if ( session->con->inpa ) { | 783 if ( session->inpa ) { |
766 purple_input_remove( session->con->inpa ); | 784 purple_input_remove( session->inpa ); |
767 session->con->inpa = 0; | 785 session->inpa = 0; |
768 } | 786 } |
769 | 787 |
770 /* close existing connection */ | 788 /* close existing connection */ |
771 session->flags &= ~MXIT_FLAG_CONNECTED; | 789 session->flags &= ~MXIT_FLAG_CONNECTED; |
772 purple_proxy_connect_cancel_with_handle( session->con ); | 790 purple_proxy_connect_cancel_with_handle( session->con ); |