rtsp-url: unescape special chars in user/pass part of URL

This way special characters such as '@' can be used in
usernames or passwords, e.g.

  rtsp://view:%40dm%4An@<IP-ADDR>/media/camera1

will now parse username and password into:

  User: view
  Pass: @dm:n

https://bugzilla.gnome.org/show_bug.cgi?id=758389
This commit is contained in:
Stuart Weaver 2015-11-25 11:30:42 +00:00 committed by Tim-Philipp Müller
parent c0a18df468
commit 0cf08d90c0

View file

@ -136,9 +136,9 @@ gst_rtsp_url_parse (const gchar * urlstr, GstRTSPUrl ** url)
if (col == NULL || col > at)
goto invalid;
res->user = g_strndup (p, col - p);
res->user = g_uri_unescape_segment (p, col, NULL);
col++;
res->passwd = g_strndup (col, at - col);
res->passwd = g_uri_unescape_segment (col, at, NULL);
/* move to host */
p = at + 1;