Mercurial > pidgin
changeset 29587:ff8e865bf524
Attempt to handle transparent proxies that return documents instead of errors.
I think this fixes #11478.
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Sat, 13 Mar 2010 20:24:52 +0000 |
parents | 1d6b962dea92 |
children | 78f972c7de0e |
files | ChangeLog libpurple/protocols/yahoo/libymsg.c |
diffstat | 2 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Mar 12 22:00:00 2010 +0000 +++ b/ChangeLog Sat Mar 13 20:24:52 2010 +0000 @@ -44,6 +44,10 @@ with content (as opposed to a typing notification, etc). (Thanks to rjoly for testing) + Yahoo: + * Attempt to better handle transparent proxies interfering with HTTP-based + login. + version 2.6.6 (02/18/2010): libpurple: * Fix 'make check' on OS X. (David Fang)
--- a/libpurple/protocols/yahoo/libymsg.c Fri Mar 12 22:00:00 2010 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Sat Mar 13 20:24:52 2010 +0000 @@ -1861,11 +1861,13 @@ totalelements = g_strv_length(split_data); - if(totalelements == 1) + if(totalelements == 1) { response_no = strtol(split_data[0], NULL, 10); - else if(totalelements >= 2) { + } else if(totalelements == 2 || totalelements == 3 ) { response_no = strtol(split_data[0], NULL, 10); token = g_strdup(split_data[1] + strlen("ymsgr=")); + } else { /* It looks like a transparent proxy has returned an invalid document */ + response_no = -1; } g_strfreev(split_data);