mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
18c735e790
It turns out Firefox and Chrome both allow spaces in cookie names and there are sites out there using that. Turned out the code meant to strip off trailing space from cookie names didn't work. Fixed now. Test case 8 modified to verify both these changes. Closes #639
70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP GET
|
|
cookies
|
|
</keywords>
|
|
</info>
|
|
# Server-side
|
|
<reply>
|
|
<data>
|
|
HTTP/1.1 200 OK swsclose
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
|
|
</data>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<name>
|
|
HTTP with cookie parsing from header file
|
|
</name>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/we/want/8 -b log/heads8.txt
|
|
</command>
|
|
|
|
# We create this file before the command is invoked!
|
|
<file name="log/heads8.txt">
|
|
HTTP/1.1 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Type: text/html
|
|
Funny-head: yesyes
|
|
Set-Cookie: foobar=name; domain=%HOSTIP; path=/;
|
|
Set-Cookie: mismatch=this; domain=%HOSTIP; path="/silly/";
|
|
Set-Cookie: partmatch=present; domain=.0.0.1; path=/w;
|
|
Set-Cookie: duplicate=test; domain=.0.0.1; domain=.0.0.1; path=/donkey;
|
|
Set-Cookie: cookie=yes; path=/we;
|
|
Set-Cookie: cookie=perhaps; path=/we/want;
|
|
Set-Cookie: name with space=is weird but; path=/we/want;
|
|
Set-Cookie: trailingspace = removed; path=/we/want;
|
|
Set-Cookie: nocookie=yes; path=/WE;
|
|
Set-Cookie: blexp=yesyes; domain=%HOSTIP; domain=%HOSTIP; expiry=totally bad;
|
|
Set-Cookie: partialip=nono; domain=.0.0.1;
|
|
|
|
</file>
|
|
<precheck>
|
|
perl -e 'if ("%HOSTIP" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}'
|
|
</precheck>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<strip>
|
|
^User-Agent:.*
|
|
</strip>
|
|
<protocol>
|
|
GET /we/want/8 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Cookie: cookie=perhaps; name with space=is weird but; trailingspace=removed; cookie=yes; foobar=name; blexp=yesyes
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|