<testcase> <info> <keywords> HTTP HTTP GET cookies shared cookies </keywords> </info> # Server-side <reply> <data1> HTTP/1.1 200 OK Date: Thu, 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: Thu, 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: Thu, 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 Content-Type: text/html Content-Length: 32 run 3: overwrite cookie 1 and 4 </data3> </reply> # Client-side <client> <server> http </server> <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> lib506 </tool> <command> http://%HOSTIP:%HTTPPORT/506 </command> </client> # Verify data after the test has been "shot" <verify> <stdout mode="text"> GLOBAL_INIT SHARE_INIT CURLSHOPT_LOCKFUNC CURLSHOPT_UNLOCKFUNC CURLSHOPT_USERDATA CURL_LOCK_DATA_COOKIE CURL_LOCK_DATA_DNS *** run 1 CURLOPT_SHARE lock: share [Pigs in space]: 0 unlock: share [Pigs in space]: 1 PERFORM lock: dns [Pigs in space]: 2 unlock: dns [Pigs in space]: 3 lock: dns [Pigs in space]: 4 unlock: dns [Pigs in space]: 5 lock: cookie [Pigs in space]: 6 unlock: cookie [Pigs in space]: 7 lock: cookie [Pigs in space]: 8 unlock: cookie [Pigs in space]: 9 lock: cookie [Pigs in space]: 10 unlock: cookie [Pigs in space]: 11 lock: cookie [Pigs in space]: 12 unlock: cookie [Pigs in space]: 13 run 1: set cookie 1, 2 and 3 lock: dns [Pigs in space]: 14 unlock: dns [Pigs in space]: 15 CLEANUP lock: dns [Pigs in space]: 16 unlock: dns [Pigs in space]: 17 lock: cookie [Pigs in space]: 18 unlock: cookie [Pigs in space]: 19 lock: share [Pigs in space]: 20 unlock: share [Pigs in space]: 21 *** run 2 CURLOPT_SHARE lock: share [Pigs in space]: 22 unlock: share [Pigs in space]: 23 PERFORM lock: dns [Pigs in space]: 24 unlock: dns [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 2: set cookie 4 and 5 lock: dns [Pigs in space]: 32 unlock: dns [Pigs in space]: 33 CLEANUP lock: dns [Pigs in space]: 34 unlock: dns [Pigs in space]: 35 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 3 CURLOPT_SHARE lock: share [Pigs in space]: 40 unlock: share [Pigs in space]: 41 CURLOPT_COOKIEJAR PERFORM lock: dns [Pigs in space]: 42 unlock: dns [Pigs in space]: 43 lock: cookie [Pigs in space]: 44 unlock: cookie [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 run 3: overwrite cookie 1 and 4 lock: dns [Pigs in space]: 50 unlock: dns [Pigs in space]: 51 try SHARE_CLEANUP... lock: share [Pigs in space]: 52 unlock: share [Pigs in space]: 53 SHARE_CLEANUP failed, correct CLEANUP lock: dns [Pigs in space]: 54 unlock: dns [Pigs in space]: 55 lock: cookie [Pigs in space]: 56 unlock: cookie [Pigs in space]: 57 lock: share [Pigs in space]: 58 unlock: share [Pigs in space]: 59 SHARE_CLEANUP lock: share [Pigs in space]: 60 unlock: share [Pigs in space]: 61 GLOBAL_CLEANUP </stdout> <stderr> http://%HOSTIP:%HTTPPORT/506 </stderr> <file name="log/jar506" mode="text"> # Netscape HTTP Cookie File # http://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .foo.com TRUE / FALSE 1993463787 test1 overwritten1 .host.foo.com TRUE / FALSE 1896263787 test2 two .foo.com TRUE / FALSE 1896263787 test3 three .host.foo.com TRUE / FALSE 2061978987 test4 overwritten4 .host.foo.com TRUE / FALSE 1896263787 test5 five </file> </verify> </testcase>