pidgin/pidgin

41e1147347a5
Stop using g_uri_escape_string() to escape the URI before launching it.

This was wrong. Take this URL as an example:
https://developer.pidgin.im/search?q=brains&noquickjump=1&wiki=on

When escaped with g_uri_escape_string() it becomes:
https://developer.pidgin.im/search%3Fq%3Dbrains%26noquickjump%3D1%26wiki%3Don

?, = and & are replaced with %3F, %3D and %26 which means they are considered part of the path component rather than query args. I tested and I get 404s when launching that URL with Firefox, Google Chrome, and these manual commands: gnome-open, xdg-open, firefox, google-chrome.

Strangely I DON'T get a 404 when I launch the URL with Konqueror. The original unescaped URL loads. I consider this to be a bug in Konqueror. They would fail to load when launched with a URL that has a question mark as part of the path component because they would convert the remaining path into the query string.

So I ripped out uri_escaped and used uri in its place everywhere.

This bug never got released. We changed the behavior because someone reported
to us that this URL:
http://example.org/$(xterm)
caused xterm to be executed on his system. Obviously that's bad if that
happens, but I don't think it's a bug in Pidgin. We're correctly escaping
all arguments that we pass to the browser command. If a system unescapes those
at some point and execs them, then that system is dangerously broken.

I tested this newest code with Firefox, Google Chrome, Konqueror, and the
manual commands gnome-open and xdg-open and they all work perfectly for me.
Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
==========================================================================
For a complete list of all contributors, see the COPYRIGHT file.
We've got an IRC room now too, #pidgin on irc.freenode.net. Come check us out.
Current Developers:
------------------
Daniel 'datallah' Atallah - Developer
Paul 'darkrain42' Aurich - Developer
John 'rekkanoryo' Bailey - Developer
Ethan 'Paco-Paco' Blanton - Developer
Sadrul Habib Chowdhury - Developer
Mark 'KingAnt' Doliner - Developer
Casey Harkins - Developer
Ivan Komarov - Developer
Gary 'grim' Kramlich - Developer
Richard 'rlaager' Laager - Developer
Marcus 'malu' Lundblad - Developer
Sulabh 'sulabh_m' Mahajan - Developer
Richard 'wabz' Nelson - Developer
Etan 'deryni' Reisner - Developer
Michael 'Maiku' Ruprecht - Developer, voice and video
Elliott 'QuLogic' Sales de Andrade - Developer
Luke 'LSchiere' Schierer - Support
Evan Schoenberg - Developer
Kevin 'SimGuy' Stange - Developer & Webmaster
Will 'resiak' Thompson - Developer
Stu 'nosnilmot' Tomlinson - Developer
Jorge 'Masca' Villaseñor - Developer
Crazy Patch Writers:
-------------------
Jakub 'haakon' Adam
Krzysztof Klinikowski
Peter 'Fmoo' Ruibal
Gabriel 'Nix' Schulhof
Tomasz Wasilczyk
Retired Developers:
------------------
Herman Bloggs - Win32 Port
Thomas Butter - Developer
Ka-Hing Cheung - Developer
Jim Duchek <jim@linuxpimps.com> - maintainer
Sean Egan - Developer
Rob Flynn <gaim@robflynn.com> - maintainer
Adam Fritzler - libfaim maintainer
Christian 'ChipX86' Hammond - Developer & Webmaster
Syd Logan - hacker and designated driver [lazy bum]
Christopher 'siege' O'Brien - Developer
Bartosz Oler - Developer
Tim 'marv' Ringenbach - Developer
Megan 'Cae' Schneider - support/QA
Jim Seymour - XMPP developer
Mark Spencer <markster@marko.net> - original author
Nathan 'faceprint' Walp - Developer
Eric Warmenhoven <eric@warmenhoven.org> - lead developer
Retired Crazy Patch Writers:
---------------------------
Felipe 'shx' Contreras
Decklin Foster
Dennis 'EvilDennisR' Ristuccia - Senior Contributor/QA
Peter 'Bleeter' Lawler
Robert 'Robot101' McQueen
Benjamin Miller
Artists:
-------
Hylke Bons - Icons
Other Contributions:
-------------------
Much thanks to Evan Martin <martine@cs.washington.edu> for writing
GtkSpell <http://gtkspell.sourceforge.net> responsible for the
"Highlight misspelled words" feature and for gtk-nativewin
<http://bunny.darktech.org/cvs/gtk-nativewin/> the default GTK+-2.0
engine originally used in our win32 port.
** ORIGINAL LOGO DESIGNED BY: Naru Sundar **
Peter Teichiman <peter@helixcode.com>
Larry Ewing
Jeramey A. Crawford
Thanks to these boys. Peter and Larry managed to stomp
out a large list of Mem Leaks. Jeramey found the remaining
onees and pointed me to those. Props to the boys at
Helix Code. Thanks guys.
Nathan Walp
A healthy amount of patches for the Jabber plugin
Neil Sanchala
Wrote most of the Zephyr plugin
Arkadiusz Miskiewicz
Wrote the Gadu-Gadu plugin
David Prater <IM: dRaven43> draven@tcsx.net
Log and Colour Button Images
Sébastien Carpe <IM: Seb Carpe>
Base HTTP Proxy Support
Ari Pollak <IM: Ari Pollak> compwiz.dhs.org
Resize conversation window patch
Decklin Foster
Many GUI improvements, other nifty additions and fixes
David <IM: CrazyDavy>
The neato-bigger text box
S D Erle
Writing a cool perl script to translate WinAIM lists to gaim
BMiller
A good collection of stuff. %n for away messages, import winaim
lists, pic/text/pic+text for buttons, among others
Lance Rocker
Improved HTML formatting in logs, plus lots of debugging on *BSD.
ergofobe:
GNOME Url handler patch
Justin M. Ward <justin@yossman.net>:
Alphabetical Away Messages patch
G. Sumner Hayes <IM: SumnerFool> Security Patches
Brian Ryner for a little make file patch :)
Ryan C. Gordon - I still think you look like Silent Bob.
Elliot Tobin <elliot@bha.udel.edu>
Thanks to Jeroen van der Vegt for the initial smiley plugin and images.
The OpenQ Team
Wrote the QQ plugin dropped in 2.8.0 (see libpurple/qq/AUTHORS in 2.7.11)