mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
e6522522f9
The draft-ietf-httpbis-rfc6265bis-02 draft, specify a set of prefixes and how they should affect cookie initialization, which has been adopted by the major browsers. This adds support for the two prefixes defined, __Host- and __Secure, and updates the testcase with the supplied examples from the draft. Closes #3554 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
107 lines
2.9 KiB
Plaintext
107 lines
2.9 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTPS
|
|
HTTP
|
|
HTTP GET
|
|
cookies
|
|
cookiejar
|
|
HTTP replaced headers
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
<data1>
|
|
HTTP/1.1 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Set-Cookie: super=secret; domain=example.com; path=/1561; secure;
|
|
Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login/; secure;
|
|
Set-Cookie: __Secure-SID=12345; Domain=example.com
|
|
Set-Cookie: __Secure-SID=12346; Secure; Domain=example.com
|
|
Set-Cookie: supersupersuper=secret; __Secure-SID=12346; Secure; Domain=example.com
|
|
Set-Cookie: __Host-SID=22345
|
|
Set-Cookie: __Host-SID=22346; Secure
|
|
Set-Cookie: __Host-SID=22347; Domain=example.com
|
|
Set-Cookie: __Host-SID=22348; Domain=example.com; Path=/
|
|
Set-Cookie: __Host-SID=22349; Secure; Domain=example.com; Path=/
|
|
Set-Cookie: __Host-SID=12346; Secure; Path=/
|
|
Content-Length: 7
|
|
|
|
nomnom
|
|
</data1>
|
|
<data2>
|
|
HTTP/1.1 200 OK
|
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Set-Cookie: super=secret; domain=example.com; path=/1561; httponly;
|
|
Set-Cookie: super=secret; domain=example.com; path=/1561/; httponly;
|
|
Set-Cookie: super=secret; domain=example.com; path=/15; httponly;
|
|
Set-Cookie: public=yes; domain=example.com; path=/foo;
|
|
Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login/en;
|
|
Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login;
|
|
Set-Cookie: secureoverhttp=yes; domain=example.com; path=/1561; secure;
|
|
Set-Cookie: __Secure-SID=22345; Domain=example.com
|
|
Set-Cookie: __Secure-SID=22346; Secure; Domain=example.com
|
|
Set-Cookie: __Host-SID=32345
|
|
Set-Cookie: __Host-SID=32346; Secure
|
|
Set-Cookie: __Host-SID=32347; Domain=example.com
|
|
Set-Cookie: __Host-SID=32348; Domain=example.com; Path=/
|
|
Set-Cookie: __Host-SID=32349; Secure; Domain=example.com; Path=/
|
|
Set-Cookie: __Host-SID=32350; Secure; Path=/
|
|
Content-Length: 7
|
|
|
|
nomnom
|
|
</data2>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<features>
|
|
SSL
|
|
</features>
|
|
<server>
|
|
http
|
|
https
|
|
</server>
|
|
<name>
|
|
Cookies set over HTTP can't override secure ones
|
|
</name>
|
|
<command>
|
|
-k https://%HOSTIP:%HTTPSPORT/15610001 -L -c log/jar1561.txt -H "Host: www.example.com" http://%HOSTIP:%HTTPPORT/15610002 -L -c log/jar1561.txt -H "Host: www.example.com"
|
|
</command>
|
|
</client>
|
|
<verify>
|
|
<strip>
|
|
^User-Agent:.*
|
|
</strip>
|
|
<protocol>
|
|
GET /15610001 HTTP/1.1
|
|
Host: www.example.com
|
|
User-Agent: curl/7.62.0-DEV
|
|
Accept: */*
|
|
|
|
GET /15610002 HTTP/1.1
|
|
Host: www.example.com
|
|
User-Agent: curl/7.62.0-DEV
|
|
Accept: */*
|
|
|
|
</protocol>
|
|
<file name="log/jar1561.txt" mode="text">
|
|
# Netscape HTTP Cookie File
|
|
# https://curl.haxx.se/docs/http-cookies.html
|
|
# This file was generated by libcurl! Edit at your own risk.
|
|
|
|
.example.com TRUE /foo FALSE 0 public yes
|
|
www.example.com FALSE / TRUE 0 __Host-SID 12346
|
|
.example.com TRUE / TRUE 0 supersupersuper secret
|
|
.example.com TRUE / TRUE 0 __Secure-SID 12346
|
|
.example.com TRUE /1561/login/ TRUE 0 supersuper secret
|
|
#HttpOnly_.example.com TRUE /15 FALSE 0 super secret
|
|
</file>
|
|
|
|
</verify>
|
|
|
|
</testcase>
|