]> granicus.if.org Git - curl/commit
URL-parsing: consider ? a divider
authorDaniel Stenberg <daniel@haxx.se>
Tue, 19 Oct 2010 18:20:06 +0000 (20:20 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 19 Oct 2010 18:20:06 +0000 (20:20 +0200)
commit98d9dc78407eff15ebf566fe08df2e1b4fd18baf
treefe345807566d5b03303b7cbf8c9764c2c61859e3
parent6164d40fce532a6aa45b09789b28eae8ca7acf2a
URL-parsing: consider ? a divider

The URL parser got a little stricter as it now considers a ? to be a
host name divider so that the slightly sloppier URLs work too. The
problem that made me do this change was the reported problem with an URL
like: www.example.com?email=name@example.com This form of URL is not
really a legal URL (due to the missing slash after the host name) but is
widely accepted by all major browsers and libcurl also already accepted
it, it was just the '@' letter that triggered the problem now.

The side-effect of this change is that now libcurl no longer accepts the
?  letter as part of user-name or password when given in the URL, which
it used to accept (and is tested in test 191). That letter is however
mentioned in RFC3986 to be required to be percent encoded since it is
used as a divider.

Bug: http://curl.haxx.se/bug/view.cgi?id=3090268
lib/url.c
tests/data/Makefile.am
tests/data/test1118 [new file with mode: 0644]
tests/data/test191