# HG changeset patch # User Yoshiki Yazawa # Date 1277290966 -32400 # Node ID 76b2a2636c6287b89cf5530ab8efc98f9517d103 # Parent 81ffeb069847cbb8794086a8457c67eedf16eb15# Parent 317cbbf56c2f2ef0c6177a25f349de715a374826 merged from im.pidgin.pidgin diff -r 81ffeb069847 -r 76b2a2636c62 COPYRIGHT --- a/COPYRIGHT Mon Jun 21 17:35:10 2010 +0900 +++ b/COPYRIGHT Wed Jun 23 20:02:46 2010 +0900 @@ -512,6 +512,7 @@ Kyle Turman Jon Turney Junichi Uekawa +Max Ulidtko Igor Vlasenko István Váradi Martijn van Beers diff -r 81ffeb069847 -r 76b2a2636c62 ChangeLog --- a/ChangeLog Mon Jun 21 17:35:10 2010 +0900 +++ b/ChangeLog Wed Jun 23 20:02:46 2010 +0900 @@ -13,6 +13,9 @@ * Rebindable 'dropdown' action for comboboxes (GntComboBox) to show the dropdown list of options. + IRC: + * Fix non-ASCII arguments to /mode et al. (thanks to Max Ulidtko) + XMPP: * Allow connecting to servers that only advertise GSSAPI and expect a fallback to legacy IQ authentication (broken in 2.7.0). @@ -22,13 +25,16 @@ Yahoo/Yahoo JAPAN: * Renamed "Use account proxy for SSL connections" to "Use account proxy for HTTP and HTTPS requests" and tied the option to HTTP requests too. - * Properly detect HTTP proxy server use when the HTTP proxy is the global - proxy server, an account-level non-HTTP proxy server is configured, and - the "Use account proxy for HTTP and HTTPS requests" account option is - turned off. This fixes connecting for some HTTP proxy servers. - * Fall back to connecting to scsa.msg.yahoo.com (not configurable) if the - HTTP-based connect server lookup fails. This does not work for Yahoo - JAPAN accounts. + * Properly detect HTTP proxy server use when the HTTP proxy is the + global proxy server, an account-level non-HTTP proxy server is + configured, and the "Use account proxy for HTTP and HTTPS requests" + account option is turned off. This fixes connecting for some HTTP + proxy servers. + * Fall back to connecting to scsa.msg.yahoo.com (not configurable) if + the HTTP-based connect server lookup fails. This does not work for + Yahoo JAPAN accounts. + * Fix file transfers that get stuck with "Waiting for transfer to + begin". version 2.7.1 (05/29/2010): General: diff -r 81ffeb069847 -r 76b2a2636c62 libpurple/protocols/irc/cmds.c --- a/libpurple/protocols/irc/cmds.c Mon Jun 21 17:35:10 2010 +0900 +++ b/libpurple/protocols/irc/cmds.c Wed Jun 23 20:02:46 2010 +0900 @@ -238,16 +238,16 @@ if (!args[0] && irc_ischannel(target)) buf = irc_format(irc, "vc", "MODE", target); else if (args[0] && (*args[0] == '+' || *args[0] == '-')) - buf = irc_format(irc, "vcv", "MODE", target, args[0]); + buf = irc_format(irc, "vcn", "MODE", target, args[0]); else if (args[0]) - buf = irc_format(irc, "vv", "MODE", args[0]); + buf = irc_format(irc, "vn", "MODE", args[0]); else return 0; } else if (!strcmp(cmd, "umode")) { if (!args[0]) return 0; gc = purple_account_get_connection(irc->account); - buf = irc_format(irc, "vnv", "MODE", purple_connection_get_display_name(gc), args[0]); + buf = irc_format(irc, "vnc", "MODE", purple_connection_get_display_name(gc), args[0]); } else { return 0; } @@ -437,7 +437,7 @@ if (!args || !args[0]) return 0; - buf = irc_format(irc, "v", args[0]); + buf = irc_format(irc, "n", args[0]); irc_send(irc, buf); g_free(buf); diff -r 81ffeb069847 -r 76b2a2636c62 libpurple/protocols/yahoo/yahoo_filexfer.c --- a/libpurple/protocols/yahoo/yahoo_filexfer.c Mon Jun 21 17:35:10 2010 +0900 +++ b/libpurple/protocols/yahoo/yahoo_filexfer.c Wed Jun 23 20:02:46 2010 +0900 @@ -1023,19 +1023,19 @@ /* TODO:actually, u must try with addr no.1 , if its not working addr no.2 ..... */ addr = hosts->data; actaddr = addr->sin_addr.s_addr; - d = actaddr % 256; - actaddr = (actaddr - d) / 256; - c = actaddr % 256; - actaddr = (actaddr - c) / 256; - b = actaddr % 256; - actaddr = (actaddr - b) / 256; - a = actaddr; + d = actaddr & 0xff; + actaddr >>= 8; + c = actaddr & 0xff; + actaddr >>= 8; + b = actaddr & 0xff; + actaddr >>= 8; + a = actaddr & 0xff; if(yd->jp) xd->port = YAHOOJP_XFER_RELAY_PORT; else xd->port = YAHOO_XFER_RELAY_PORT; - url = g_strdup_printf("%ld.%ld.%ld.%ld", d, c, b, a); + url = g_strdup_printf("%u.%u.%u.%u", d, c, b, a); /* Free the address... */ g_free(hosts->data);