25 static const char *
HOSTHEADER =
"Host: www.host.foo.com";
26 static const char *
JAR =
"log/jar506";
67 fprintf(stderr,
"lock: no such data: %d\n", (
int)data);
73 printf(
"lock: double locked %s\n", what);
103 fprintf(stderr,
"unlock: no such data: %d\n", (
int)data);
108 if(!
locks[locknum]) {
109 printf(
"unlock: double unlocked %s\n", what);
138 fprintf(stderr,
"curl_easy_init() failed\n");
146 printf(
"CURLOPT_SHARE\n");
152 fprintf(stderr,
"perform url '%s' repeat %d failed, curlcode %d\n",
153 tdata->
url, i, (
int)code);
187 user.
text =
"Pigs in space";
192 fprintf(stderr,
"curl_global_init() failed\n");
200 fprintf(stderr,
"curl_share_init() failed\n");
206 printf(
"CURLSHOPT_LOCKFUNC\n");
210 printf(
"CURLSHOPT_UNLOCKFUNC\n");
214 printf(
"CURLSHOPT_USERDATA\n");
218 printf(
"CURL_LOCK_DATA_COOKIE\n");
222 printf(
"CURL_LOCK_DATA_DNS\n");
227 fprintf(stderr,
"curl_share_setopt() failed\n");
236 fprintf(stderr,
"curl_easy_init() failed\n");
241 printf(
"CURLOPT_SHARE\n");
243 printf(
"CURLOPT_COOKIELIST injected_and_clobbered\n");
245 "Set-Cookie: injected_and_clobbered=yes; " 246 "domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030");
247 printf(
"CURLOPT_COOKIELIST ALL\n");
249 printf(
"CURLOPT_COOKIELIST session\n");
250 test_setopt(curl, CURLOPT_COOKIELIST,
"Set-Cookie: session=elephants");
251 printf(
"CURLOPT_COOKIELIST injected\n");
253 "Set-Cookie: injected=yes; domain=host.foo.com; " 254 "expires=Sat Feb 2 11:56:27 GMT 2030");
255 printf(
"CURLOPT_COOKIELIST SESS\n");
264 for(i = 1; i <=
THREADS; i++) {
279 printf(
"*** run %d\n", i);
282 fprintf(stderr,
"curl_easy_init() failed\n");
292 printf(
"CURLOPT_SHARE\n");
294 printf(
"CURLOPT_COOKIEJAR\n");
296 printf(
"CURLOPT_COOKIELIST FLUSH\n");
310 fprintf(stderr,
"curl_easy_init() failed\n");
319 printf(
"CURLOPT_SHARE\n");
321 printf(
"CURLOPT_COOKIELIST ALL\n");
323 printf(
"CURLOPT_COOKIEJAR\n");
325 printf(
"CURLOPT_COOKIELIST RELOAD\n");
330 fprintf(stderr,
"curl_easy_getinfo() failed\n");
334 printf(
"loaded cookies:\n");
336 fprintf(stderr,
" reloading cookies from '%s' failed\n",
JAR);
340 printf(
"-----------------\n");
341 next_cookie = cookies;
344 next_cookie = next_cookie->
next;
346 printf(
"-----------------\n");
350 printf(
"try SHARE_CLEANUP...\n");
353 fprintf(stderr,
"curl_share_cleanup succeed but error expected\n");
357 printf(
"SHARE_CLEANUP failed, correct\n");
369 printf(
"SHARE_CLEANUP\n");
372 fprintf(stderr,
"curl_share_cleanup failed, code errno %d\n",
375 printf(
"GLOBAL_CLEANUP\n");
#define test_setopt(A, B, C)
CURL_EXTERN void curl_free(void *p)
UNITTEST_START char * ptr
CURL_EXTERN CURLSH * curl_share_init(void)
static char * suburl(const char *base, int i)
static struct curl_slist * sethost(struct curl_slist *headers)
CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *)
#define curl_easy_setopt(handle, option, value)
#define TEST_ERR_MAJOR_BAD
static const char * HOSTHEADER
#define curl_easy_getinfo(handle, info, arg)
static void my_lock(CURL *handle, curl_lock_data data, curl_lock_access laccess, void *useptr)
static void * fire(void *ptr)
CURL_EXTERN struct curl_slist * curl_slist_append(struct curl_slist *, const char *)
CURL_EXTERN CURL * curl_easy_init(void)
CURL_EXTERN void curl_easy_cleanup(CURL *curl)
CURL_EXTERN CURLcode curl_global_init(long flags)
curl_global_init() globally initializes curl given a bitwise set of the different features of what to...
CURL_EXTERN void curl_global_cleanup(void)
curl_global_cleanup() globally cleanups curl, uses the value of "init_flags" to determine what needs ...
CURL_EXTERN char * curl_maprintf(const char *format,...)
#define curl_share_setopt(share, opt, param)
CURL_EXTERN void curl_slist_free_all(struct curl_slist *)
CURL_EXTERN CURLcode curl_easy_perform(CURL *curl)
static void my_unlock(CURL *handle, curl_lock_data data, void *useptr)