Files
@ 2fbd27919c14
Branch filter:
Location: libtransport.git/msvc-deps/curl/tests/libtest/lib547.c - annotation
2fbd27919c14
3.9 KiB
text/plain
Do not try to delete m_proxy if it does not exist
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 | 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 | /***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
/* argv1 = URL
* argv2 = proxy
* argv3 = proxyuser:password
*/
#include "test.h"
#include "memdebug.h"
#ifdef CURL_DOES_CONVERSIONS
/* ASCII representation with escape sequences for non-ASCII platforms */
# define UPLOADTHIS "\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x62" \
"\x6c\x75\x72\x62\x20\x77\x65\x20\x77\x61\x6e\x74\x20" \
"\x74\x6f\x20\x75\x70\x6c\x6f\x61\x64\x0a"
#else
# define UPLOADTHIS "this is the blurb we want to upload\n"
#endif
#ifndef LIB548
static size_t readcallback(void *ptr,
size_t size,
size_t nmemb,
void *clientp)
{
int *counter = (int *)clientp;
if(*counter) {
/* only do this once and then require a clearing of this */
fprintf(stderr, "READ ALREADY DONE!\n");
return 0;
}
(*counter)++; /* bump */
if(size * nmemb > strlen(UPLOADTHIS)) {
fprintf(stderr, "READ!\n");
strcpy(ptr, UPLOADTHIS);
return strlen(UPLOADTHIS);
}
fprintf(stderr, "READ NOT FINE!\n");
return 0;
}
static curlioerr ioctlcallback(CURL *handle,
int cmd,
void *clientp)
{
int *counter = (int *)clientp;
(void)handle; /* unused */
if(cmd == CURLIOCMD_RESTARTREAD) {
fprintf(stderr, "REWIND!\n");
*counter = 0; /* clear counter to make the read callback restart */
}
return CURLIOE_OK;
}
#endif
int test(char *URL)
{
CURLcode res;
CURL *curl;
#ifndef LIB548
int counter=0;
#endif
if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
fprintf(stderr, "curl_global_init() failed\n");
return TEST_ERR_MAJOR_BAD;
}
if ((curl = curl_easy_init()) == NULL) {
fprintf(stderr, "curl_easy_init() failed\n");
curl_global_cleanup();
return TEST_ERR_MAJOR_BAD;
}
test_setopt(curl, CURLOPT_URL, URL);
test_setopt(curl, CURLOPT_VERBOSE, 1L);
test_setopt(curl, CURLOPT_HEADER, 1L);
#ifdef LIB548
/* set the data to POST with a mere pointer to a zero-terminated string */
test_setopt(curl, CURLOPT_POSTFIELDS, UPLOADTHIS);
#else
/* 547 style, which means reading the POST data from a callback */
test_setopt(curl, CURLOPT_IOCTLFUNCTION, ioctlcallback);
test_setopt(curl, CURLOPT_IOCTLDATA, &counter);
test_setopt(curl, CURLOPT_READFUNCTION, readcallback);
test_setopt(curl, CURLOPT_READDATA, &counter);
/* We CANNOT do the POST fine without setting the size (or choose chunked)! */
test_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(UPLOADTHIS));
#endif
test_setopt(curl, CURLOPT_POST, 1L);
test_setopt(curl, CURLOPT_PROXY, libtest_arg2);
test_setopt(curl, CURLOPT_PROXYUSERPWD, libtest_arg3);
test_setopt(curl, CURLOPT_PROXYAUTH,
(long) (CURLAUTH_NTLM | CURLAUTH_DIGEST | CURLAUTH_BASIC) );
res = curl_easy_perform(curl);
test_cleanup:
curl_easy_cleanup(curl);
curl_global_cleanup();
return (int)res;
}
|