| <testcase> | |
| <info> | |
| <keywords> | |
| HTTP | |
| HTTP GET | |
| cookies | |
| shared cookies | |
| </keywords> | |
| </info> | |
| # Server-side | |
| <reply> | |
| <data1> | |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake | |
| Content-Type: text/html | |
| Set-Cookie: test1=one; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030 | |
| Set-Cookie: test2=two; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030 | |
| Set-Cookie: test3=three; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030 | |
| Content-Length: 29 | |
| run 1: set cookie 1, 2 and 3 | |
| </data1> | |
| <data2> | |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:01 GMT | |
| Server: test-server/fake | |
| Content-Type: text/html | |
| Set-Cookie: test4=four; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030 | |
| Set-Cookie: test5=five; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030 | |
| Content-Length: 26 | |
| run 2: set cookie 4 and 5 | |
| </data2> | |
| <data3> | |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:02 GMT | |
| Server: test-server/fake | |
| Content-Type: text/html | |
| Funny-head: yesyes | |
| Set-Cookie: test4=overwritten4; domain=host.foo.com; expires=Sat May 5 GMT 11:56:27 2035 | |
| Set-Cookie: test1=overwritten1; domain=foo.com; expires=Thu Mar 3 GMT 11:56:27 2033 | |
| Set-Cookie: test6=six; domain=.www.host.foo.com; expires=Thu Mar 3 GMT 11:56:27 2033 | |
| Set-Cookie: test6=six_more; expires=Thu Mar 3 GMT 11:56:27 2033 | |
| Content-Type: text/html | |
| Content-Length: 73 | |
| run 3: overwrite cookie 1 and 4, set cookie 6 with and without tailmatch | |
| </data3> | |
| </reply> | |
| # Client-side | |
| <client> | |
| <server> | |
| http | |
| </server> | |
| # don't run this with the threaded-resolver or c-ares since the events might | |
| # trigger in a different order! | |
| <features> | |
| !threaded-resolver | |
| !c-ares | |
| </features> | |
| <name> | |
| HTTP with shared cookie list (and dns cache) | |
| </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> | |
| <tool> | |
| lib%TESTNUMBER | |
| </tool> | |
| <command> | |
| http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/jar%TESTNUMBER | |
| </command> | |
| </client> | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <stdout> | |
| GLOBAL_INIT | |
| SHARE_INIT | |
| CURLSHOPT_LOCKFUNC | |
| CURLSHOPT_UNLOCKFUNC | |
| CURLSHOPT_USERDATA | |
| CURL_LOCK_DATA_COOKIE | |
| CURL_LOCK_DATA_DNS | |
| CURLOPT_SHARE | |
| lock: share [Pigs in space]: 0 | |
| unlock: share [Pigs in space]: 1 | |
| CURLOPT_COOKIELIST injected_and_clobbered | |
| lock: cookie [Pigs in space]: 2 | |
| unlock: cookie [Pigs in space]: 3 | |
| CURLOPT_COOKIELIST ALL | |
| lock: cookie [Pigs in space]: 4 | |
| unlock: cookie [Pigs in space]: 5 | |
| CURLOPT_COOKIELIST session | |
| lock: cookie [Pigs in space]: 6 | |
| unlock: cookie [Pigs in space]: 7 | |
| CURLOPT_COOKIELIST injected | |
| lock: cookie [Pigs in space]: 8 | |
| unlock: cookie [Pigs in space]: 9 | |
| CURLOPT_COOKIELIST SESS | |
| lock: cookie [Pigs in space]: 10 | |
| unlock: cookie [Pigs in space]: 11 | |
| CLEANUP | |
| lock: cookie [Pigs in space]: 12 | |
| unlock: cookie [Pigs in space]: 13 | |
| lock: share [Pigs in space]: 14 | |
| unlock: share [Pigs in space]: 15 | |
| *** run 1 | |
| CURLOPT_SHARE | |
| lock: share [Pigs in space]: 16 | |
| unlock: share [Pigs in space]: 17 | |
| PERFORM | |
| lock: cookie [Pigs in space]: 18 | |
| unlock: cookie [Pigs in space]: 19 | |
| lock: dns [Pigs in space]: 20 | |
| unlock: dns [Pigs in space]: 21 | |
| lock: dns [Pigs in space]: 22 | |
| unlock: dns [Pigs in space]: 23 | |
| lock: cookie [Pigs in space]: 24 | |
| unlock: cookie [Pigs in space]: 25 | |
| lock: cookie [Pigs in space]: 26 | |
| unlock: cookie [Pigs in space]: 27 | |
| lock: cookie [Pigs in space]: 28 | |
| unlock: cookie [Pigs in space]: 29 | |
| lock: cookie [Pigs in space]: 30 | |
| unlock: cookie [Pigs in space]: 31 | |
| run 1: set cookie 1, 2 and 3 | |
| lock: dns [Pigs in space]: 32 | |
| unlock: dns [Pigs in space]: 33 | |
| lock: dns [Pigs in space]: 34 | |
| unlock: dns [Pigs in space]: 35 | |
| CLEANUP | |
| lock: cookie [Pigs in space]: 36 | |
| unlock: cookie [Pigs in space]: 37 | |
| lock: share [Pigs in space]: 38 | |
| unlock: share [Pigs in space]: 39 | |
| *** run 2 | |
| CURLOPT_SHARE | |
| lock: share [Pigs in space]: 40 | |
| unlock: share [Pigs in space]: 41 | |
| PERFORM | |
| lock: cookie [Pigs in space]: 42 | |
| unlock: cookie [Pigs in space]: 43 | |
| lock: dns [Pigs in space]: 44 | |
| unlock: dns [Pigs in space]: 45 | |
| lock: cookie [Pigs in space]: 46 | |
| unlock: cookie [Pigs in space]: 47 | |
| lock: cookie [Pigs in space]: 48 | |
| unlock: cookie [Pigs in space]: 49 | |
| lock: cookie [Pigs in space]: 50 | |
| unlock: cookie [Pigs in space]: 51 | |
| run 2: set cookie 4 and 5 | |
| lock: dns [Pigs in space]: 52 | |
| unlock: dns [Pigs in space]: 53 | |
| lock: dns [Pigs in space]: 54 | |
| unlock: dns [Pigs in space]: 55 | |
| CLEANUP | |
| lock: cookie [Pigs in space]: 56 | |
| unlock: cookie [Pigs in space]: 57 | |
| lock: share [Pigs in space]: 58 | |
| unlock: share [Pigs in space]: 59 | |
| *** run 3 | |
| CURLOPT_SHARE | |
| lock: share [Pigs in space]: 60 | |
| unlock: share [Pigs in space]: 61 | |
| CURLOPT_COOKIEJAR | |
| CURLOPT_COOKIELIST FLUSH | |
| lock: cookie [Pigs in space]: 62 | |
| unlock: cookie [Pigs in space]: 63 | |
| PERFORM | |
| lock: dns [Pigs in space]: 64 | |
| unlock: dns [Pigs in space]: 65 | |
| lock: cookie [Pigs in space]: 66 | |
| unlock: cookie [Pigs in space]: 67 | |
| lock: cookie [Pigs in space]: 68 | |
| unlock: cookie [Pigs in space]: 69 | |
| lock: cookie [Pigs in space]: 70 | |
| unlock: cookie [Pigs in space]: 71 | |
| lock: cookie [Pigs in space]: 72 | |
| unlock: cookie [Pigs in space]: 73 | |
| lock: cookie [Pigs in space]: 74 | |
| unlock: cookie [Pigs in space]: 75 | |
| run 3: overwrite cookie 1 and 4, set cookie 6 with and without tailmatch | |
| lock: dns [Pigs in space]: 76 | |
| unlock: dns [Pigs in space]: 77 | |
| lock: dns [Pigs in space]: 78 | |
| unlock: dns [Pigs in space]: 79 | |
| CLEANUP | |
| lock: cookie [Pigs in space]: 80 | |
| unlock: cookie [Pigs in space]: 81 | |
| lock: share [Pigs in space]: 82 | |
| unlock: share [Pigs in space]: 83 | |
| CURLOPT_SHARE | |
| lock: share [Pigs in space]: 84 | |
| unlock: share [Pigs in space]: 85 | |
| CURLOPT_COOKIELIST ALL | |
| lock: cookie [Pigs in space]: 86 | |
| unlock: cookie [Pigs in space]: 87 | |
| CURLOPT_COOKIEJAR | |
| CURLOPT_COOKIELIST RELOAD | |
| lock: cookie [Pigs in space]: 88 | |
| unlock: cookie [Pigs in space]: 89 | |
| lock: cookie [Pigs in space]: 90 | |
| unlock: cookie [Pigs in space]: 91 | |
| loaded cookies: | |
| ----------------- | |
| www.host.foo.com FALSE / FALSE 1993463787 test6 six_more | |
| .www.host.foo.com TRUE / FALSE 1993463787 test6 six | |
| .host.foo.com TRUE / FALSE 1896263787 test5 five | |
| .host.foo.com TRUE / FALSE 2061978987 test4 overwritten4 | |
| .foo.com TRUE / FALSE 1896263787 test3 three | |
| .host.foo.com TRUE / FALSE 1896263787 test2 two | |
| .foo.com TRUE / FALSE 1993463787 test1 overwritten1 | |
| .host.foo.com TRUE / FALSE 1896263787 injected yes | |
| ----------------- | |
| try SHARE_CLEANUP... | |
| lock: share [Pigs in space]: 92 | |
| unlock: share [Pigs in space]: 93 | |
| SHARE_CLEANUP failed, correct | |
| CLEANUP | |
| lock: cookie [Pigs in space]: 94 | |
| unlock: cookie [Pigs in space]: 95 | |
| lock: share [Pigs in space]: 96 | |
| unlock: share [Pigs in space]: 97 | |
| SHARE_CLEANUP | |
| lock: share [Pigs in space]: 98 | |
| unlock: share [Pigs in space]: 99 | |
| GLOBAL_CLEANUP | |
| </stdout> | |
| <file name="%LOGDIR/jar%TESTNUMBER" mode="text"> | |
| # Netscape HTTP Cookie File | |
| # https://curl.se/docs/http-cookies.html | |
| # This file was generated by libcurl! Edit at your own risk. | |
| www.host.foo.com FALSE / FALSE 1993463787 test6 six_more | |
| .www.host.foo.com TRUE / FALSE 1993463787 test6 six | |
| .host.foo.com TRUE / FALSE 1896263787 test5 five | |
| .host.foo.com TRUE / FALSE 2061978987 test4 overwritten4 | |
| .foo.com TRUE / FALSE 1896263787 test3 three | |
| .host.foo.com TRUE / FALSE 1896263787 test2 two | |
| .foo.com TRUE / FALSE 1993463787 test1 overwritten1 | |
| .host.foo.com TRUE / FALSE 1896263787 injected yes | |
| </file> | |
| </verify> | |
| </testcase> |