HTTP HTTP GET cookies shared cookies # Server-side 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 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 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 # Client-side http # do not run this with the threaded-resolver or c-ares since the events might # trigger in a different order! !threaded-resolver !c-ares HTTP with shared cookie list (and dns cache) # 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. TZ=GMT lib%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/jar%TESTNUMBER # Verify data after the test has been "shot" 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]: 0 unlock: cookie [Pigs in space]: 1 CURLOPT_COOKIELIST ALL lock: cookie [Pigs in space]: 2 unlock: cookie [Pigs in space]: 3 CURLOPT_COOKIELIST session lock: cookie [Pigs in space]: 4 unlock: cookie [Pigs in space]: 5 CURLOPT_COOKIELIST injected lock: cookie [Pigs in space]: 6 unlock: cookie [Pigs in space]: 7 CURLOPT_COOKIELIST SESS lock: cookie [Pigs in space]: 8 unlock: cookie [Pigs in space]: 9 CLEANUP lock: cookie [Pigs in space]: 10 unlock: cookie [Pigs in space]: 11 lock: share [Pigs in space]: 2 unlock: share [Pigs in space]: 3 *** run 1 CURLOPT_SHARE lock: share [Pigs in space]: 4 unlock: share [Pigs in space]: 5 PERFORM lock: cookie [Pigs in space]: 12 unlock: cookie [Pigs in space]: 13 lock: cookie [Pigs in space]: 14 unlock: cookie [Pigs in space]: 15 lock: dns [Pigs in space]: 0 unlock: dns [Pigs in space]: 1 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]: 16 unlock: cookie [Pigs in space]: 17 lock: cookie [Pigs in space]: 18 unlock: cookie [Pigs in space]: 19 lock: cookie [Pigs in space]: 20 unlock: cookie [Pigs in space]: 21 lock: cookie [Pigs in space]: 22 unlock: cookie [Pigs in space]: 23 run 1: set cookie 1, 2 and 3 lock: dns [Pigs in space]: 6 unlock: dns [Pigs in space]: 7 CLEANUP lock: cookie [Pigs in space]: 24 unlock: cookie [Pigs in space]: 25 lock: share [Pigs in space]: 6 unlock: share [Pigs in space]: 7 *** run 2 CURLOPT_SHARE lock: share [Pigs in space]: 8 unlock: share [Pigs in space]: 9 PERFORM 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: dns [Pigs in space]: 8 unlock: dns [Pigs in space]: 9 lock: dns [Pigs in space]: 10 unlock: dns [Pigs in space]: 11 lock: cookie [Pigs in space]: 30 unlock: cookie [Pigs in space]: 31 lock: cookie [Pigs in space]: 32 unlock: cookie [Pigs in space]: 33 lock: cookie [Pigs in space]: 34 unlock: cookie [Pigs in space]: 35 run 2: set cookie 4 and 5 lock: dns [Pigs in space]: 12 unlock: dns [Pigs in space]: 13 CLEANUP lock: cookie [Pigs in space]: 36 unlock: cookie [Pigs in space]: 37 lock: share [Pigs in space]: 10 unlock: share [Pigs in space]: 11 *** run 3 CURLOPT_SHARE lock: share [Pigs in space]: 12 unlock: share [Pigs in space]: 13 CURLOPT_COOKIEJAR CURLOPT_COOKIELIST FLUSH lock: cookie [Pigs in space]: 38 unlock: cookie [Pigs in space]: 39 PERFORM lock: cookie [Pigs in space]: 40 unlock: cookie [Pigs in space]: 41 lock: dns [Pigs in space]: 14 unlock: dns [Pigs in space]: 15 lock: dns [Pigs in space]: 16 unlock: dns [Pigs in space]: 17 lock: cookie [Pigs in space]: 42 unlock: cookie [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 lock: cookie [Pigs in space]: 50 unlock: cookie [Pigs in space]: 51 run 3: overwrite cookie 1 and 4, set cookie 6 with and without tailmatch lock: dns [Pigs in space]: 18 unlock: dns [Pigs in space]: 19 CLEANUP lock: cookie [Pigs in space]: 52 unlock: cookie [Pigs in space]: 53 lock: share [Pigs in space]: 14 unlock: share [Pigs in space]: 15 CURLOPT_SHARE lock: share [Pigs in space]: 16 unlock: share [Pigs in space]: 17 CURLOPT_COOKIELIST ALL lock: cookie [Pigs in space]: 54 unlock: cookie [Pigs in space]: 55 CURLOPT_COOKIEJAR CURLOPT_COOKIELIST RELOAD lock: cookie [Pigs in space]: 56 unlock: cookie [Pigs in space]: 57 lock: cookie [Pigs in space]: 58 unlock: cookie [Pigs in space]: 59 loaded cookies: ----------------- www.host.foo.com FALSE / FALSE %days[400] test6 six_more .www.host.foo.com TRUE / FALSE %days[400] test6 six .host.foo.com TRUE / FALSE %days[400] test5 five .host.foo.com TRUE / FALSE %days[400] test4 overwritten4 .foo.com TRUE / FALSE %days[400] test3 three .host.foo.com TRUE / FALSE %days[400] test2 two .foo.com TRUE / FALSE %days[400] test1 overwritten1 .host.foo.com TRUE / FALSE %days[400] injected yes ----------------- try SHARE_CLEANUP... SHARE_CLEANUP failed, correct CLEANUP lock: cookie [Pigs in space]: 60 unlock: cookie [Pigs in space]: 61 lock: share [Pigs in space]: 18 unlock: share [Pigs in space]: 19 SHARE_CLEANUP lock: share [Pigs in space]: 20 unlock: share [Pigs in space]: 21 GLOBAL_CLEANUP # 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 %days[400] test6 six_more .www.host.foo.com TRUE / FALSE %days[400] test6 six .host.foo.com TRUE / FALSE %days[400] test5 five .host.foo.com TRUE / FALSE %days[400] test4 overwritten4 .foo.com TRUE / FALSE %days[400] test3 three .host.foo.com TRUE / FALSE %days[400] test2 two .foo.com TRUE / FALSE %days[400] test1 overwritten1 .host.foo.com TRUE / FALSE %days[400] injected yes