Fix #237: HTML escaping not removed from URL
authorStefan Becker <chemobejk@gmail.com>
Wed, 19 Mar 2014 19:53:43 +0000 (21:53 +0200)
committerStefan Becker <chemobejk@gmail.com>
Wed, 19 Mar 2014 19:53:43 +0000 (21:53 +0200)
commit934aadcedd9824697d26684b48a4057e6103d0be
tree2578f9090d5e215be594cc9aaa967dbb8c90df6a
parent691c5994ebf504dbcfc3095dca8f2e108813ca60
Fix #237: HTML escaping not removed from URL

When you copy & paste (or drag & drop) an URL that includes an
escapeable character, then Pidgin will escape the URL when creating the
HREF attribute. I.e.

   http://test/?a=1&b=1

will result in the following HTML received by SIPE:

   <a href="http://test/?a=1&amp;b=1">http://test/?a=1&amp;b=1</a>

As we parse the HTML to reduce it to plain text, we need to un-escape
the HREF attribute to get the correct URL text to send to the other
side.

NOTE: At the time of this writing Pidgin has a bug. If you enter by hand
the following URL

   http://test/?a=1&amp;b=1

SIPE will receive the following HTML

   <A HREF="http://test/?a=1&amp;b=1">http://test/?a=1&amp;amp;b=1</A>

i.e. the URL has not been correctly escaped. As SIPE will unescape the
HREF attribute, we will send to the other side

   http://test/?a=1&b=1
src/core/sipmsg.c