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 );