The problem is not the encoding of messages between the worker and the
method but in the method's configuration handler
AcqMethod::Configuration

This method takes the message string, unquote all the items (hence the URI), 
and set the associated configuration item.
The De/QuoteString method is not bijective if the string already contains one 
of the unquoted character.
e.g
http://user2:p%40ssw...@localhost:3128 is unquoted to 
http://user2:p...@ssword@localhost:3128
the resulting string is an invalid URI and cannot be parsed and the quoting 
cannot be reversed because
http://user2:p...@ssword@localhost:3128 will give 
http://user2:p%40ssword%40localhost:3128

I made a quick fix to the parser for the '@' but if the password
contains an '/' it becomes quite tricky and it's more of a hack than a
fix. Furthermore the problem is not the uri parser here.

We cannot escape the URI in HttpMethod::Configuration for the reason
above.

At first sight, a solution could be to add an exclusion list of items
that should not be dequoted in the configuration handler and processed
specifically in each method.

I'll try to post a prototype.

-- 
Encode any ":", "@" or "/" within the user and password field in proxy settings.
https://bugs.launchpad.net/bugs/130289
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to