# HG changeset patch # User John Bailey # Date 1268511892 0 # Node ID ff8e865bf524cdef0e7d6b4d791fab5e94e4bd17 # Parent 1d6b962dea922fd68b16377efef2ae999052e514 Attempt to handle transparent proxies that return documents instead of errors. I think this fixes #11478. diff -r 1d6b962dea92 -r ff8e865bf524 ChangeLog --- 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) diff -r 1d6b962dea92 -r ff8e865bf524 libpurple/protocols/yahoo/libymsg.c --- 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);