mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
David Hull made the file: URL parser also accept the somewhat sloppy file
syntax: file:/path. I added test case 203 to verify this.
This commit is contained in:
parent
0701b973df
commit
e9c835ad06
8
CHANGES
8
CHANGES
@ -7,6 +7,14 @@
|
|||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
|
||||||
|
Daniel (29 October)
|
||||||
|
- runtests.pl now checks for and use valgrind if present. It will redirect the
|
||||||
|
valgrind results in log/valgrind[num] but it currently doesn't scan that
|
||||||
|
file for any errors or anything, that is still only made manually.
|
||||||
|
|
||||||
|
- David Hull made the file: URL parser also accept the somewhat sloppy file
|
||||||
|
syntax: file:/path. I added test case 203 to verify this.
|
||||||
|
|
||||||
Daniel (28 October)
|
Daniel (28 October)
|
||||||
- Dan C tracked down yet another weird behavior in the glibc gethostbyname_r()
|
- Dan C tracked down yet another weird behavior in the glibc gethostbyname_r()
|
||||||
function for some specific versions (reported on 2.2.5 and 2.1.1), and
|
function for some specific versions (reported on 2.2.5 and 2.1.1), and
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
Curl and libcurl 7.10.8 is out! A bugfix release.
|
Curl and libcurl 7.10.8 is out! A bugfix release.
|
||||||
|
|
||||||
|
The 77th public curl release. Release number 104 counted from the very
|
||||||
|
beginning.
|
||||||
|
|
||||||
This release includes the following changes:
|
This release includes the following changes:
|
||||||
|
|
||||||
|
o file: URLs with only one initial slash now works too
|
||||||
o we include a RELEASE-NOTES document in the release archive to summarize
|
o we include a RELEASE-NOTES document in the release archive to summarize
|
||||||
the big and visible changes and bugfixes
|
the big and visible changes and bugfixes
|
||||||
o CURLOPT_MAXFILESIZE was added, and --max-filesize.
|
o CURLOPT_MAXFILESIZE was added, and --max-filesize.
|
||||||
|
12
lib/url.c
12
lib/url.c
@ -2002,9 +2002,19 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
|||||||
* proxy -- and we don't know if we will need to use SSL until we parse the
|
* proxy -- and we don't know if we will need to use SSL until we parse the
|
||||||
* url ...
|
* url ...
|
||||||
************************************************************/
|
************************************************************/
|
||||||
if((2 == sscanf(data->change.url, "%64[^:]://%[^\n]",
|
if((2 == sscanf(data->change.url, "%64[^:]:%[^\n]",
|
||||||
conn->protostr,
|
conn->protostr,
|
||||||
conn->path)) && strequal(conn->protostr, "file")) {
|
conn->path)) && strequal(conn->protostr, "file")) {
|
||||||
|
if(conn->path[0] == '/' && conn->path[1] == '/') {
|
||||||
|
/* Allow omitted hostname (e.g. file:/<path>). This is not strictly
|
||||||
|
* speaking a valid file: URL by RFC 1738, but treating file:/<path> as
|
||||||
|
* file://localhost/<path> is similar to how other schemes treat missing
|
||||||
|
* hostnames. See RFC 1808. */
|
||||||
|
|
||||||
|
/* This cannot be done with strcpy() in a portable manner, since the
|
||||||
|
memory areas overlap! */
|
||||||
|
memmove(conn->path, conn->path + 2, strlen(conn->path + 2)+1);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* we deal with file://<host>/<path> differently since it supports no
|
* we deal with file://<host>/<path> differently since it supports no
|
||||||
* hostname other than "localhost" and "127.0.0.1", which is unique among
|
* hostname other than "localhost" and "127.0.0.1", which is unique among
|
||||||
|
@ -24,4 +24,4 @@ test62 test63 test64 test65 test66 test144 test145 test67 test68 test41 \
|
|||||||
test40 test42 test69 test70 test71 test72 test73 test146 test505 \
|
test40 test42 test69 test70 test71 test72 test73 test146 test505 \
|
||||||
test74 test75 test76 test77 test78 test147 test148 test506 test79 test80 \
|
test74 test75 test76 test77 test78 test147 test148 test506 test79 test80 \
|
||||||
test81 test82 test83 test84 test85 test86 test87 test507 test149 test88 \
|
test81 test82 test83 test84 test85 test86 test87 test507 test149 test88 \
|
||||||
test89 test90 test508 test91 test92
|
test89 test90 test508 test91 test92 test203
|
||||||
|
34
tests/data/test203
Normal file
34
tests/data/test203
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Server-side
|
||||||
|
<reply>
|
||||||
|
<data>
|
||||||
|
foo
|
||||||
|
bar
|
||||||
|
bar
|
||||||
|
foo
|
||||||
|
moo
|
||||||
|
</data>
|
||||||
|
</reply>
|
||||||
|
|
||||||
|
# Client-side
|
||||||
|
<client>
|
||||||
|
<server>
|
||||||
|
none
|
||||||
|
</server>
|
||||||
|
<name>
|
||||||
|
file:/path URL with a single slash
|
||||||
|
</name>
|
||||||
|
<command>
|
||||||
|
file:%PWD/log/test203.txt
|
||||||
|
</command>
|
||||||
|
<file name="log/test203.txt">
|
||||||
|
foo
|
||||||
|
bar
|
||||||
|
bar
|
||||||
|
foo
|
||||||
|
moo
|
||||||
|
</file>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
# Verify data after the test has been "shot"
|
||||||
|
<verify>
|
||||||
|
</verify>
|
Loading…
Reference in New Issue
Block a user