summaryrefslogtreecommitdiff
path: root/tests/data/test31
blob: 2ccb032549fa2740f65f1e53886e7bae7120befa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<testcase>
<info>
<keywords>
HTTP
HTTP GET
cookies
cookiejar
</keywords>
</info>
# Server-side
#
# The cookies set come in two versions. This is because when curl is built
# with Hyper, the API provides the headers already "sanitized" so we cannot
# compapare with the exact server contents unlesss it too sends the data
# "clean".

<reply>
<data>
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 4
Content-Type: text/html
Funny-head: yesyes
%if !hyper
Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
Set-Cookie:ismatch=this  ; domain=127.0.0.1; path=/silly/
Set-Cookie: overwrite=this  ; domain=127.0.0.1; path=/overwrite/
Set-Cookie: overwrite=this2  ; domain=127.0.0.1; path=/overwrite
Set-Cookie: sec1value=secure1  ; domain=127.0.0.1; path=/secure1/ ; secure
Set-Cookie: sec2value=secure2  ; domain=127.0.0.1; path=/secure2/ ; secure=
Set-Cookie: sec3value=secure3  ; domain=127.0.0.1; path=/secure3/ ; secure=
Set-Cookie: sec4value=secure4  ; secure=; domain=127.0.0.1; path=/secure4/ ; 
Set-Cookie: sec5value=secure5  ; secure; domain=127.0.0.1; path=/secure5/ ; 
Set-Cookie: sec6value=secure6  ; secure ; domain=127.0.0.1; path=/secure6/ ; 
Set-Cookie: sec7value=secure7  ; secure   ; domain=127.0.0.1; path=/secure7/ ; 
Set-Cookie: sec8value=secure8  ; secure= ; domain=127.0.0.1; path=/secure8/ ; 
Set-Cookie: secure=very1  ; secure=; domain=127.0.0.1; path=/secure9/; 
Set-Cookie: httpo1=value1  ; domain=127.0.0.1; path=/p1/; httponly
Set-Cookie: httpo2=value2  ; domain=127.0.0.1; path=/p2/; httponly=
Set-Cookie: httpo3=value3  ; httponly; domain=127.0.0.1; path=/p3/;
Set-Cookie: httpo4=value4  ; httponly=; domain=127.0.0.1; path=/p4/; 
Set-Cookie: httponly=myvalue1  ; domain=127.0.0.1; path=/p4/; httponly
Set-Cookie: httpandsec=myvalue2  ; domain=127.0.0.1; path=/p4/; httponly; secure
Set-Cookie: httpandsec2=myvalue3; domain=127.0.0.1; path=/p4/; httponly=; secure
Set-Cookie: httpandsec3=myvalue4  ; domain=127.0.0.1; path=/p4/; httponly; secure=
Set-Cookie: httpandsec4=myvalue5  ; domain=127.0.0.1; path=/p4/; httponly=; secure=
Set-Cookie: httpandsec5=myvalue6  ; domain=127.0.0.1; path=/p4/; secure; httponly=
Set-Cookie: httpandsec6=myvalue7  ; domain=127.0.0.1; path=/p4/; secure=; httponly=
Set-Cookie: httpandsec7=myvalue8  ; domain=127.0.0.1; path=/p4/; secure; httponly
Set-Cookie: httpandsec8=myvalue9; domain=127.0.0.1; path=/p4/; secure=; httponly
Set-Cookie: partmatch=present; domain=127.0.0.1 ; path=/;
Set-Cookie:eat=this; domain=moo.foo.moo;
Set-Cookie: eat=this-too; domain=.foo.moo;
Set-Cookie: nodomainnovalue
Set-Cookie:   nodomain=value; expires=Fri Feb 13 11:56:27 GMT 2037
Set-Cookie: novalue; domain=reallysilly
Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030
Set-Cookie: magic=yessir; path=/silly/; HttpOnly
Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad;
Set-Cookie: partialip=nono; domain=.0.0.1;
Set-Cookie: withspaces=  yes  within and around    ;
Set-Cookie: withspaces2 =before equals;
Set-Cookie: prespace=  yes before;
Set-Cookie: securewithspace=after    ; secure =
%else
Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
Set-Cookie: ismatch=this  ; domain=127.0.0.1; path=/silly/
Set-Cookie: overwrite=this  ; domain=127.0.0.1; path=/overwrite/
Set-Cookie: overwrite=this2  ; domain=127.0.0.1; path=/overwrite
Set-Cookie: sec1value=secure1  ; domain=127.0.0.1; path=/secure1/ ; secure
Set-Cookie: sec2value=secure2  ; domain=127.0.0.1; path=/secure2/ ; secure=
Set-Cookie: sec3value=secure3  ; domain=127.0.0.1; path=/secure3/ ; secure=
Set-Cookie: sec4value=secure4  ; secure=; domain=127.0.0.1; path=/secure4/ ;
Set-Cookie: sec5value=secure5  ; secure; domain=127.0.0.1; path=/secure5/ ;
Set-Cookie: sec6value=secure6  ; secure ; domain=127.0.0.1; path=/secure6/ ;
Set-Cookie: sec7value=secure7  ; secure   ; domain=127.0.0.1; path=/secure7/ ;
Set-Cookie: sec8value=secure8  ; secure= ; domain=127.0.0.1; path=/secure8/ ;
Set-Cookie: secure=very1  ; secure=; domain=127.0.0.1; path=/secure9/;
Set-Cookie: httpo1=value1  ; domain=127.0.0.1; path=/p1/; httponly
Set-Cookie: httpo2=value2  ; domain=127.0.0.1; path=/p2/; httponly=
Set-Cookie: httpo3=value3  ; httponly; domain=127.0.0.1; path=/p3/;
Set-Cookie: httpo4=value4  ; httponly=; domain=127.0.0.1; path=/p4/;
Set-Cookie: httponly=myvalue1  ; domain=127.0.0.1; path=/p4/; httponly
Set-Cookie: httpandsec=myvalue2  ; domain=127.0.0.1; path=/p4/; httponly; secure
Set-Cookie: httpandsec2=myvalue3; domain=127.0.0.1; path=/p4/; httponly=; secure
Set-Cookie: httpandsec3=myvalue4  ; domain=127.0.0.1; path=/p4/; httponly; secure=
Set-Cookie: httpandsec4=myvalue5  ; domain=127.0.0.1; path=/p4/; httponly=; secure=
Set-Cookie: httpandsec5=myvalue6  ; domain=127.0.0.1; path=/p4/; secure; httponly=
Set-Cookie: httpandsec6=myvalue7  ; domain=127.0.0.1; path=/p4/; secure=; httponly=
Set-Cookie: httpandsec7=myvalue8  ; domain=127.0.0.1; path=/p4/; secure; httponly
Set-Cookie: httpandsec8=myvalue9; domain=127.0.0.1; path=/p4/; secure=; httponly
Set-Cookie: partmatch=present; domain=127.0.0.1 ; path=/;
Set-Cookie: eat=this; domain=moo.foo.moo;
Set-Cookie: eat=this-too; domain=.foo.moo;
Set-Cookie: nodomainnovalue
Set-Cookie: nodomain=value; expires=Fri Feb 13 11:56:27 GMT 2037
Set-Cookie: novalue; domain=reallysilly
Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030
Set-Cookie: magic=yessir; path=/silly/; HttpOnly
Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad;
Set-Cookie: partialip=nono; domain=.0.0.1;
Set-Cookie: withspaces=  yes  within and around    ;
Set-Cookie: withspaces2 =before equals;
Set-Cookie: prespace=  yes before;
Set-Cookie: securewithspace=after    ; secure =
%endif

boo
</data>
</reply>

# Client-side
<client>
<server>
http
</server>
 <name>
HTTP with weirdly formatted cookies and cookiejar storage
 </name>
# Explicitly set the time zone to a known good one, in case the user is
# using one of the 'right' zones that take into account leap seconds
# which causes the cookie expiry times to be different.
<setenv>
TZ=GMT
</setenv>
 <command>
http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER -b none -c log/jar%TESTNUMBER.txt
</command>
<precheck>
perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
</precheck>
</client>

# Verify data after the test has been "shot"
<verify>
<protocol>
GET /we/want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*

</protocol>
<file name="log/jar%TESTNUMBER.txt" mode="text">
# Netscape HTTP Cookie File
# https://curl.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

127.0.0.1	FALSE	/we/want/	FALSE	0	prespace	yes before
127.0.0.1	FALSE	/we/want/	FALSE	0	withspaces2	before equals
127.0.0.1	FALSE	/we/want/	FALSE	0	withspaces	yes  within and around
127.0.0.1	FALSE	/we/want/	FALSE	0	blexp	yesyes
#HttpOnly_127.0.0.1	FALSE	/silly/	FALSE	0	magic	yessir
127.0.0.1	FALSE	/we/want/	FALSE	2118138987	nodomain	value
127.0.0.1	FALSE	/	FALSE	0	partmatch	present
#HttpOnly_127.0.0.1	FALSE	/p4/	FALSE	0	httponly	myvalue1
#HttpOnly_127.0.0.1	FALSE	/p4/	FALSE	0	httpo4	value4
#HttpOnly_127.0.0.1	FALSE	/p3/	FALSE	0	httpo3	value3
#HttpOnly_127.0.0.1	FALSE	/p2/	FALSE	0	httpo2	value2
#HttpOnly_127.0.0.1	FALSE	/p1/	FALSE	0	httpo1	value1
127.0.0.1	FALSE	/overwrite	FALSE	0	overwrite	this2
127.0.0.1	FALSE	/silly/	FALSE	0	ismatch	this
</file>
</verify>
</testcase>