Mercurial > pidgin
diff libpurple/protocols/mxit/cipher.c @ 32672:3828a61c44da
A boring and large patch so I can merge heads.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 23 Dec 2011 08:21:58 +0000 |
parents | 2754bbe70ac1 |
children |
line wrap: on
line diff
--- a/libpurple/protocols/mxit/cipher.c Mon Aug 22 22:46:08 2011 +0000 +++ b/libpurple/protocols/mxit/cipher.c Fri Dec 23 08:21:58 2011 +0000 @@ -79,7 +79,8 @@ static char* transport_layer_key( struct MXitSession* session ) { static char key[16 + 1]; - int passlen = strlen( session->acc->password ); + const char* password = purple_account_get_password( session->acc ); + int passlen = strlen( password ); /* initialize with initial key */ g_strlcpy( key, INITIAL_KEY, sizeof( key ) ); @@ -89,9 +90,9 @@ /* add last 8 characters of the PIN (no padding if less characters) */ if ( passlen <= 8 ) - memcpy( key + 8, session->acc->password, passlen ); + memcpy( key + 8, password, passlen ); else - memcpy( key + 8, session->acc->password + ( passlen - 8 ), 8 ); + memcpy( key + 8, password + ( passlen - 8 ), 8 ); return key; } @@ -124,7 +125,7 @@ /* build the secret data to be encrypted: SECRET_HEADER + password */ pass = g_string_new( SECRET_HEADER ); - g_string_append( pass, session->acc->password ); + g_string_append( pass, purple_account_get_password( session->acc) ); padding_add( pass ); /* add ISO10126 padding */ /* now encrypt the secret. we encrypt each block separately (ECB mode) */