pidgin: da2d3454: Fix up the MSN Inbox URL. There was a ty...

qulogic at pidgin.im qulogic at pidgin.im
Fri Aug 8 02:11:23 EDT 2008


-----------------------------------------------------------------
Revision: da2d345414f88ec3a3f565337a50061b53176a81
Ancestor: 0d8a35eb1889765d40ab4f349826c6694ef87f09
Author: qulogic at pidgin.im
Date: 2008-08-07T05:06:49
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/da2d345414f88ec3a3f565337a50061b53176a81

Modified files:
        libpurple/protocols/msn/notification.c

ChangeLog: 

Fix up the MSN Inbox URL. There was a typo that caused a use-after-free 
and also needed to escape the auth key because now it includes slashes 
and equals-signs, etc.

-------------- next part --------------
============================================================
--- libpurple/protocols/msn/notification.c	d4fc00410685ecc86b267b309d0782c89e12b351
+++ libpurple/protocols/msn/notification.c	abc302fa32130978fe0ed61d640e1dcdd2c6dca5
@@ -1288,7 +1288,7 @@ url_cmd(MsnCmdProc *cmdproc, MsnCommand 
 	const char *rru;
 	const char *url;
 	PurpleCipherContext *cipher;
-	gchar digest[33];
+	gchar creds[33];
 	char *buf;
 
 	gulong tmp_timestamp;
@@ -1310,16 +1310,16 @@ url_cmd(MsnCmdProc *cmdproc, MsnCommand 
 
 	cipher = purple_cipher_context_new_by_name("md5", NULL);
 	purple_cipher_context_append(cipher, (const guchar *)buf, strlen(buf));
-	purple_cipher_context_digest_to_str(cipher, sizeof(digest), digest, NULL);
+	purple_cipher_context_digest_to_str(cipher, sizeof(creds), creds, NULL);
 	purple_cipher_context_destroy(cipher);
 
 	g_free(buf);
 
 	g_free(session->passport_info.mail_url);
-	session->passport_info.mail_url = g_strdup_printf("%s&auth=%s&creds=%s&sl=%ld&username=%s&mode=ttl&sid=%s&id=2&rru=%ssvc_mail&js=yes",
+	session->passport_info.mail_url = g_strdup_printf("%s&auth=%s&creds=%s&sl=%ld&username=%s&mode=ttl&sid=%s&id=2&rru=%s&svc=mail&js=yes",
                                                         url,
-                                                        session->passport_info.mspauth ? session->passport_info.mspauth : "BOGUS",
-                                                        buf,
+                                                        session->passport_info.mspauth ? purple_url_encode(session->passport_info.mspauth) : "BOGUS",
+                                                        creds,
                                                         tmp_timestamp,
                                                         msn_user_get_passport(session->user),
                                                         session->passport_info.sid,


More information about the Commits mailing list