# HG changeset patch # User Sadrul Habib Chowdhury # Date 1247162264 0 # Node ID b00f138c850a70308270598d809f2ddf1f316787 # Parent 4fc04d98e1e8d1ae55795ef60141e34cd5fb56bc Fix denying auth requests from MSN buddies, and fix a leak. diff -r 4fc04d98e1e8 -r b00f138c850a libpurple/protocols/yahoo/libymsg.c --- a/libpurple/protocols/yahoo/libymsg.c Thu Jul 09 17:20:08 2009 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Thu Jul 09 17:57:44 2009 +0000 @@ -1163,7 +1163,10 @@ struct yahoo_data *yd = add_req->gc->proto_data; struct yahoo_packet *pkt; char *encoded_msg = NULL; - PurpleAccount *account = purple_connection_get_account(add_req->gc); + const char *who = add_req->who; + + if (add_req->protocol == 2) + who += 4; /* Skip 'msn/' */ if (msg && *msg) encoded_msg = yahoo_string_encode(add_req->gc, msg, NULL); @@ -1171,9 +1174,10 @@ pkt = yahoo_packet_new(YAHOO_SERVICE_AUTH_REQ_15, YAHOO_STATUS_AVAILABLE, 0); - yahoo_packet_hash(pkt, "ssiiis", - 1, purple_normalize(account, purple_account_get_username(account)), - 5, add_req->who, + yahoo_packet_hash(pkt, "ssiiiis", + 1, add_req->id, + 5, who, + 241, add_req->protocol, 13, 2, 334, 0, 97, 1, @@ -1291,7 +1295,6 @@ switch (pair->key) { case 4: temp = pair->value; - add_req->who = g_strdup(pair->value); break; case 5: add_req->id = g_strdup(pair->value);