• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:retry +full:- +full:connrefused

21  * SPDX-License-Identifier: curl
70 {"abstract-unix-socket", ARG_FILE, ' ', C_ABSTRACT_UNIX_SOCKET},
72 {"alt-svc", ARG_STRG, ' ', C_ALT_SVC},
75 {"aws-sigv4", ARG_STRG, ' ', C_AWS_SIGV4},
78 {"ca-native", ARG_BOOL, ' ', C_CA_NATIVE},
82 {"cert-status", ARG_BOOL, ' ', C_CERT_STATUS},
83 {"cert-type", ARG_STRG, ' ', C_CERT_TYPE},
87 {"compressed-ssh", ARG_BOOL, ' ', C_COMPRESSED_SSH},
89 {"connect-timeout", ARG_STRG, ' ', C_CONNECT_TIMEOUT},
90 {"connect-to", ARG_STRG, ' ', C_CONNECT_TO},
91 {"continue-at", ARG_STRG, 'C', C_CONTINUE_AT},
93 {"cookie-jar", ARG_STRG, 'c', C_COOKIE_JAR},
94 {"create-dirs", ARG_BOOL, ' ', C_CREATE_DIRS},
95 {"create-file-mode", ARG_STRG, ' ', C_CREATE_FILE_MODE},
100 {"data-ascii", ARG_STRG, ' ', C_DATA_ASCII},
101 {"data-binary", ARG_STRG, ' ', C_DATA_BINARY},
102 {"data-raw", ARG_STRG, ' ', C_DATA_RAW},
103 {"data-urlencode", ARG_STRG, ' ', C_DATA_URLENCODE},
107 {"disable-eprt", ARG_BOOL, ' ', C_DISABLE_EPRT},
108 {"disable-epsv", ARG_BOOL, ' ', C_DISABLE_EPSV},
109 {"disallow-username-in-url", ARG_BOOL, ' ', C_DISALLOW_USERNAME_IN_URL},
110 {"dns-interface", ARG_STRG, ' ', C_DNS_INTERFACE},
111 {"dns-ipv4-addr", ARG_STRG, ' ', C_DNS_IPV4_ADDR},
112 {"dns-ipv6-addr", ARG_STRG, ' ', C_DNS_IPV6_ADDR},
113 {"dns-servers", ARG_STRG, ' ', C_DNS_SERVERS},
114 {"doh-cert-status", ARG_BOOL, ' ', C_DOH_CERT_STATUS},
115 {"doh-insecure", ARG_BOOL, ' ', C_DOH_INSECURE},
116 {"doh-url" , ARG_STRG, ' ', C_DOH_URL},
117 {"dump-ca-embed", ARG_NONE, ' ', C_DUMP_CA_EMBED},
118 {"dump-header", ARG_FILE, 'D', C_DUMP_HEADER},
120 {"egd-file", ARG_STRG, ' ', C_EGD_FILE},
124 {"etag-compare", ARG_FILE, ' ', C_ETAG_COMPARE},
125 {"etag-save", ARG_FILE, ' ', C_ETAG_SAVE},
126 {"expect100-timeout", ARG_STRG, ' ', C_EXPECT100_TIMEOUT},
128 {"fail-early", ARG_BOOL, ' ', C_FAIL_EARLY},
129 {"fail-with-body", ARG_BOOL, ' ', C_FAIL_WITH_BODY},
130 {"false-start", ARG_BOOL, ' ', C_FALSE_START},
132 {"form-escape", ARG_BOOL, ' ', C_FORM_ESCAPE},
133 {"form-string", ARG_STRG, ' ', C_FORM_STRING},
134 {"ftp-account", ARG_STRG, ' ', C_FTP_ACCOUNT},
135 {"ftp-alternative-to-user", ARG_STRG, ' ', C_FTP_ALTERNATIVE_TO_USER},
136 {"ftp-create-dirs", ARG_BOOL, ' ', C_FTP_CREATE_DIRS},
137 {"ftp-method", ARG_STRG, ' ', C_FTP_METHOD},
138 {"ftp-pasv", ARG_BOOL, ' ', C_FTP_PASV},
139 {"ftp-port", ARG_STRG, 'P', C_FTP_PORT},
140 {"ftp-pret", ARG_BOOL, ' ', C_FTP_PRET},
141 {"ftp-skip-pasv-ip", ARG_BOOL, ' ', C_FTP_SKIP_PASV_IP},
142 {"ftp-ssl", ARG_BOOL, ' ', C_FTP_SSL},
143 {"ftp-ssl-ccc", ARG_BOOL, ' ', C_FTP_SSL_CCC},
144 {"ftp-ssl-ccc-mode", ARG_STRG, ' ', C_FTP_SSL_CCC_MODE},
145 {"ftp-ssl-control", ARG_BOOL, ' ', C_FTP_SSL_CONTROL},
146 {"ftp-ssl-reqd", ARG_BOOL, ' ', C_FTP_SSL_REQD},
149 {"happy-eyeballs-timeout-ms", ARG_STRG, ' ', C_HAPPY_EYEBALLS_TIMEOUT_MS},
150 {"haproxy-clientip", ARG_STRG, ' ', C_HAPROXY_CLIENTIP},
151 {"haproxy-protocol", ARG_BOOL, ' ', C_HAPROXY_PROTOCOL},
162 {"http2-prior-knowledge", ARG_NONE, ' ', C_HTTP2_PRIOR_KNOWLEDGE},
164 {"http3-only", ARG_NONE, ' ', C_HTTP3_ONLY},
165 {"ignore-content-length", ARG_BOOL, ' ', C_IGNORE_CONTENT_LENGTH},
169 {"ip-tos", ARG_STRG, ' ', C_IP_TOS},
171 {"ipfs-gateway", ARG_STRG, ' ', C_IPFS_GATEWAY},
176 {"junk-session-cookies", ARG_BOOL, 'j', C_JUNK_SESSION_COOKIES},
178 {"keepalive-cnt", ARG_STRG, ' ', C_KEEPALIVE_CNT},
179 {"keepalive-time", ARG_STRG, ' ', C_KEEPALIVE_TIME},
181 {"key-type", ARG_STRG, ' ', C_KEY_TYPE},
185 {"limit-rate", ARG_STRG, ' ', C_LIMIT_RATE},
186 {"list-only", ARG_BOOL, 'l', C_LIST_ONLY},
187 {"local-port", ARG_STRG, ' ', C_LOCAL_PORT},
189 {"location-trusted", ARG_BOOL, ' ', C_LOCATION_TRUSTED},
190 {"login-options", ARG_STRG, ' ', C_LOGIN_OPTIONS},
191 {"mail-auth", ARG_STRG, ' ', C_MAIL_AUTH},
192 {"mail-from", ARG_STRG, ' ', C_MAIL_FROM},
193 {"mail-rcpt", ARG_STRG, ' ', C_MAIL_RCPT},
194 {"mail-rcpt-allowfails", ARG_BOOL, ' ', C_MAIL_RCPT_ALLOWFAILS},
196 {"max-filesize", ARG_STRG, ' ', C_MAX_FILESIZE},
197 {"max-redirs", ARG_STRG, ' ', C_MAX_REDIRS},
198 {"max-time", ARG_STRG, 'm', C_MAX_TIME},
203 {"netrc-file", ARG_FILE, ' ', C_NETRC_FILE},
204 {"netrc-optional", ARG_BOOL, ' ', C_NETRC_OPTIONAL},
209 {"ntlm-wb", ARG_BOOL, ' ', C_NTLM_WB},
210 {"oauth2-bearer", ARG_STRG, ' ', C_OAUTH2_BEARER},
212 {"output-dir", ARG_STRG, ' ', C_OUTPUT_DIR},
214 {"parallel-immediate", ARG_BOOL, ' ', C_PARALLEL_IMMEDIATE},
215 {"parallel-max", ARG_STRG, ' ', C_PARALLEL_MAX},
217 {"path-as-is", ARG_BOOL, ' ', C_PATH_AS_IS},
223 {"progress-bar", ARG_BOOL, '#', C_PROGRESS_BAR},
224 {"progress-meter", ARG_BOOL|ARG_NO, ' ', C_PROGRESS_METER},
226 {"proto-default", ARG_STRG, ' ', C_PROTO_DEFAULT},
227 {"proto-redir", ARG_STRG, ' ', C_PROTO_REDIR},
229 {"proxy-anyauth", ARG_BOOL, ' ', C_PROXY_ANYAUTH},
230 {"proxy-basic", ARG_BOOL, ' ', C_PROXY_BASIC},
231 {"proxy-ca-native", ARG_BOOL, ' ', C_PROXY_CA_NATIVE},
232 {"proxy-cacert", ARG_FILE, ' ', C_PROXY_CACERT},
233 {"proxy-capath", ARG_FILE, ' ', C_PROXY_CAPATH},
234 {"proxy-cert", ARG_FILE, ' ', C_PROXY_CERT},
235 {"proxy-cert-type", ARG_STRG, ' ', C_PROXY_CERT_TYPE},
236 {"proxy-ciphers", ARG_STRG, ' ', C_PROXY_CIPHERS},
237 {"proxy-crlfile", ARG_FILE, ' ', C_PROXY_CRLFILE},
238 {"proxy-digest", ARG_BOOL, ' ', C_PROXY_DIGEST},
239 {"proxy-header", ARG_STRG, ' ', C_PROXY_HEADER},
240 {"proxy-http2", ARG_BOOL, ' ', C_PROXY_HTTP2},
241 {"proxy-insecure", ARG_BOOL, ' ', C_PROXY_INSECURE},
242 {"proxy-key", ARG_FILE, ' ', C_PROXY_KEY},
243 {"proxy-key-type", ARG_STRG, ' ', C_PROXY_KEY_TYPE},
244 {"proxy-negotiate", ARG_BOOL, ' ', C_PROXY_NEGOTIATE},
245 {"proxy-ntlm", ARG_BOOL, ' ', C_PROXY_NTLM},
246 {"proxy-pass", ARG_STRG, ' ', C_PROXY_PASS},
247 {"proxy-pinnedpubkey", ARG_STRG, ' ', C_PROXY_PINNEDPUBKEY},
248 {"proxy-service-name", ARG_STRG, ' ', C_PROXY_SERVICE_NAME},
249 {"proxy-ssl-allow-beast", ARG_BOOL, ' ', C_PROXY_SSL_ALLOW_BEAST},
250 {"proxy-ssl-auto-client-cert", ARG_BOOL, ' ', C_PROXY_SSL_AUTO_CLIENT_CERT},
251 {"proxy-tls13-ciphers", ARG_STRG, ' ', C_PROXY_TLS13_CIPHERS},
252 {"proxy-tlsauthtype", ARG_STRG, ' ', C_PROXY_TLSAUTHTYPE},
253 {"proxy-tlspassword", ARG_STRG, ' ', C_PROXY_TLSPASSWORD},
254 {"proxy-tlsuser", ARG_STRG, ' ', C_PROXY_TLSUSER},
255 {"proxy-tlsv1", ARG_NONE, ' ', C_PROXY_TLSV1},
256 {"proxy-user", ARG_STRG, 'U', C_PROXY_USER},
261 {"random-file", ARG_FILE, ' ', C_RANDOM_FILE},
266 {"remote-header-name", ARG_BOOL, 'J', C_REMOTE_HEADER_NAME},
267 {"remote-name", ARG_BOOL, 'O', C_REMOTE_NAME},
268 {"remote-name-all", ARG_BOOL, ' ', C_REMOTE_NAME_ALL},
269 {"remote-time", ARG_BOOL, 'R', C_REMOTE_TIME},
270 {"remove-on-error", ARG_BOOL, ' ', C_REMOVE_ON_ERROR},
272 {"request-target", ARG_STRG, ' ', C_REQUEST_TARGET},
274 {"retry", ARG_STRG, ' ', C_RETRY},
275 {"retry-all-errors", ARG_BOOL, ' ', C_RETRY_ALL_ERRORS},
276 {"retry-connrefused", ARG_BOOL, ' ', C_RETRY_CONNREFUSED},
277 {"retry-delay", ARG_STRG, ' ', C_RETRY_DELAY},
278 {"retry-max-time", ARG_STRG, ' ', C_RETRY_MAX_TIME},
279 {"sasl-authzid", ARG_STRG, ' ', C_SASL_AUTHZID},
280 {"sasl-ir", ARG_BOOL, ' ', C_SASL_IR},
281 {"service-name", ARG_STRG, ' ', C_SERVICE_NAME},
283 {"show-error", ARG_BOOL, 'S', C_SHOW_ERROR},
284 {"show-headers", ARG_BOOL, 'i', C_SHOW_HEADERS},
286 {"skip-existing", ARG_BOOL, ' ', C_SKIP_EXISTING},
290 {"socks5-basic", ARG_BOOL, ' ', C_SOCKS5_BASIC},
291 {"socks5-gssapi", ARG_BOOL, ' ', C_SOCKS5_GSSAPI},
292 {"socks5-gssapi-nec", ARG_BOOL, ' ', C_SOCKS5_GSSAPI_NEC},
293 {"socks5-gssapi-service", ARG_STRG, ' ', C_SOCKS5_GSSAPI_SERVICE},
294 {"socks5-hostname", ARG_STRG, ' ', C_SOCKS5_HOSTNAME},
295 {"speed-limit", ARG_STRG, 'Y', C_SPEED_LIMIT},
296 {"speed-time", ARG_STRG, 'y', C_SPEED_TIME},
298 {"ssl-allow-beast", ARG_BOOL, ' ', C_SSL_ALLOW_BEAST},
299 {"ssl-auto-client-cert", ARG_BOOL, ' ', C_SSL_AUTO_CLIENT_CERT},
300 {"ssl-no-revoke", ARG_BOOL, ' ', C_SSL_NO_REVOKE},
301 {"ssl-reqd", ARG_BOOL, ' ', C_SSL_REQD},
302 {"ssl-revoke-best-effort", ARG_BOOL, ' ', C_SSL_REVOKE_BEST_EFFORT},
303 {"ssl-sessions", ARG_FILE, ' ', C_SSL_SESSIONS},
307 {"styled-output", ARG_BOOL, ' ', C_STYLED_OUTPUT},
308 {"suppress-connect-headers", ARG_BOOL, ' ', C_SUPPRESS_CONNECT_HEADERS},
309 {"tcp-fastopen", ARG_BOOL, ' ', C_TCP_FASTOPEN},
310 {"tcp-nodelay", ARG_BOOL, ' ', C_TCP_NODELAY},
311 {"telnet-option", ARG_STRG, 't', C_TELNET_OPTION},
313 {"test-duphandle", ARG_BOOL, ' ', C_TEST_DUPHANDLE},
314 {"test-event", ARG_BOOL, ' ', C_TEST_EVENT},
316 {"tftp-blksize", ARG_STRG, ' ', C_TFTP_BLKSIZE},
317 {"tftp-no-options", ARG_BOOL, ' ', C_TFTP_NO_OPTIONS},
318 {"time-cond", ARG_STRG, 'z', C_TIME_COND},
319 {"tls-earlydata", ARG_BOOL, ' ', C_TLS_EARLYDATA},
320 {"tls-max", ARG_STRG, ' ', C_TLS_MAX},
321 {"tls13-ciphers", ARG_STRG, ' ', C_TLS13_CIPHERS},
330 {"tr-encoding", ARG_BOOL, ' ', C_TR_ENCODING},
332 {"trace-ascii", ARG_FILE, ' ', C_TRACE_ASCII},
333 {"trace-config", ARG_STRG, ' ', C_TRACE_CONFIG},
334 {"trace-ids", ARG_BOOL, ' ', C_TRACE_IDS},
335 {"trace-time", ARG_BOOL, ' ', C_TRACE_TIME},
336 {"unix-socket", ARG_FILE, ' ', C_UNIX_SOCKET},
337 {"upload-file", ARG_FILE, 'T', C_UPLOAD_FILE},
339 {"url-query", ARG_STRG, ' ', C_URL_QUERY},
340 {"use-ascii", ARG_BOOL, 'B', C_USE_ASCII},
342 {"user-agent", ARG_STRG, 'A', C_USER_AGENT},
346 {"vlan-priority", ARG_STRG, ' ', C_VLAN_PRIORITY},
350 {"write-out", ARG_STRG, 'w', C_WRITE_OUT},
354 /* Split the argument of -E to 'certname' and 'passphrase' separated by colon.
377 * looks like a RFC7512 PKCS#11 URI which can be used as-is. in parse_cert_parameter()
397 /* we just ate all the non-special chars. now we are on either a special in parse_cert_parameter()
455 /* Replace (in-place) '%20' by '+' according to RFC1866 */
498 /* Get a size parameter for '--limit-rate' or '--max-filesize'.
540 /* for plain bytes, leave as-is */ in GetSizeParameter()
568 /* --data-urlencode */
590 nlen = p - nextarg; /* length of the name part */ in data_urlencode()
601 /* a '@' letter, it means that a filename or - (stdin) follows */ in data_urlencode()
602 if(!strcmp("-", p)) { in data_urlencode()
675 if(config->httpversion && in sethttpver()
676 (config->httpversion != httpversion)) in sethttpver()
679 config->httpversion = httpversion; in sethttpver()
698 case '-': in set_trace_config()
713 global->traceids = toggle; in set_trace_config()
714 global->tracetime = toggle; in set_trace_config()
720 global->traceids = toggle; in set_trace_config()
723 global->tracetime = toggle; in set_trace_config()
741 return strcmp(aa->lname, bb->lname); in findarg()
746 static const struct LongShort *singles[128 - ' ']; /* ASCII => pointer */ in findshortopt()
756 singles[l - ' '] = &aliases[j]; in findshortopt()
761 return singles[letter - ' ']; in findshortopt()
800 {"VOICE-ADMIT", 0xb0}
807 return strcmp(aa->name, bb->name); in find_tos()
831 if(config->query) { in url_query()
832 CURLcode result = curlx_dyn_addf(&dyn, "%s&%s", config->query, query); in url_query()
837 free(config->query); in url_query()
838 config->query = curlx_dyn_ptr(&dyn); in url_query()
842 config->query = query; in url_query()
857 if(cmd == C_DATA_URLENCODE) { /* --data-urlencode */ in set_data()
864 or - (stdin) follows */ in set_data()
867 if(!strcmp("-", nextarg)) { in set_data()
869 if(cmd == C_DATA_BINARY) /* forced data-binary */ in set_data()
880 if((cmd == C_DATA_BINARY) || /* --data-binary */ in set_data()
881 (cmd == C_JSON) /* --json */) in set_data()
910 config->jsoned = TRUE; in set_data()
912 if(curlx_dyn_len(&config->postdata)) { in set_data()
913 /* skip separator append for --json */ in set_data()
915 curlx_dyn_addn(&config->postdata, "&", 1)) in set_data()
919 if(!err && curlx_dyn_addn(&config->postdata, postdata, size)) in set_data()
924 config->postfields = curlx_dyn_ptr(&config->postdata); in set_data()
931 /* --rate */ in set_rate()
944 size_t numlen = div ? (size_t)(div - nextarg) : strlen(nextarg); in set_rate()
945 if(numlen > sizeof(number) -1) in set_rate()
986 errorf(global, "unsupported --rate unit"); in set_rate()
993 errorf(global, "too large --rate unit"); in set_rate()
1005 global->ms_per_transfer = numerator/denominator; in set_rate()
1026 if(!config->url_get) in parse_url()
1027 config->url_get = config->url_list; in parse_url()
1029 if(config->url_get) { in parse_url()
1030 /* there is a node here, if it already is filled-in continue to find in parse_url()
1032 while(config->url_get && (config->url_get->flags & GETOUT_URL)) in parse_url()
1033 config->url_get = config->url_get->next; in parse_url()
1038 if(config->url_get) in parse_url()
1040 url = config->url_get; in parse_url()
1043 config->url_get = url = new_getout(config); in parse_url()
1049 err = getstr(&url->url, nextarg, DENY_BLANK); in parse_url()
1050 url->flags |= GETOUT_URL; in parse_url()
1051 if(!err && (++config->num_urls > 1) && (config->etag_save_file || in parse_url()
1052 config->etag_compare_file)) { in parse_url()
1069 /* check for ' - [end]' */ in parse_localport()
1072 if(*pp != '-') in parse_localport()
1077 *p = 0; /* null-terminate to make str2unum() work below */ in parse_localport()
1080 if(str2unummax(&config->localport, nextarg, 65535)) in parse_localport()
1083 config->localportrange = 1; /* default number of ports to try */ in parse_localport()
1085 if(str2unummax(&config->localportrange, pp, 65535)) in parse_localport()
1087 config->localportrange -= (config->localport-1); in parse_localport()
1088 if(config->localportrange < 1) in parse_localport()
1099 if(config->range) { in parse_continue_at()
1100 errorf(global, "--continue-at is mutually exclusive with --range"); in parse_continue_at()
1103 if(config->rm_partial) { in parse_continue_at()
1104 errorf(config->global, in parse_continue_at()
1105 "--continue-at is mutually exclusive with --remove-on-error"); in parse_continue_at()
1108 if(config->file_clobber_mode == CLOBBER_NEVER) { in parse_continue_at()
1109 errorf(config->global, in parse_continue_at()
1110 "--continue-at is mutually exclusive with --no-clobber"); in parse_continue_at()
1114 if(strcmp(nextarg, "-")) { in parse_continue_at()
1115 err = str2offset(&config->resume_from, nextarg); in parse_continue_at()
1116 config->resume_from_current = FALSE; in parse_continue_at()
1119 config->resume_from_current = TRUE; in parse_continue_at()
1120 config->resume_from = 0; in parse_continue_at()
1122 config->use_resume = TRUE; in parse_continue_at()
1135 err = getstr(&config->ech_public, nextarg, DENY_BLANK); in parse_ech()
1140 err = getstr(&config->ech_config, nextarg, DENY_BLANK); in parse_ech()
1143 /* Indirect case: @filename or @- for stdin */ in parse_ech()
1148 if(!strcmp("-", nextarg)) { in parse_ech()
1157 "specified for \"--ech ecl:\" option", in parse_ech()
1166 config->ech_config = aprintf("ecl:%s",tmpcfg); in parse_ech()
1168 if(!config->ech_config) in parse_ech()
1174 err = getstr(&config->ech, nextarg, DENY_BLANK); in parse_ech()
1191 bool use_stdin = !strcmp(&nextarg[1], "-"); in parse_header()
1204 if(cmd == C_PROXY_HEADER) /* --proxy-header */ in parse_header()
1205 err = add2list(&config->proxyheaders, h); in parse_header()
1207 err = add2list(&config->headers, h); in parse_header()
1219 if(cmd == C_PROXY_HEADER) /* --proxy-header */ in parse_header()
1220 err = add2list(&config->proxyheaders, nextarg); in parse_header()
1222 err = add2list(&config->headers, nextarg); in parse_header()
1234 if(!config->url_out) in parse_output()
1235 config->url_out = config->url_list; in parse_output()
1236 if(config->url_out) { in parse_output()
1237 /* there is a node here, if it already is filled-in continue to find in parse_output()
1239 while(config->url_out && (config->url_out->flags & GETOUT_OUTFILE)) in parse_output()
1240 config->url_out = config->url_out->next; in parse_output()
1245 if(config->url_out) in parse_output()
1247 url = config->url_out; in parse_output()
1250 config->url_out = url = new_getout(config); in parse_output()
1257 err = getstr(&url->outfile, nextarg, DENY_BLANK); in parse_output()
1258 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in parse_output()
1259 url->flags |= GETOUT_OUTFILE; in parse_output()
1269 if(!toggle && !config->default_node_flags) in parse_remote_name()
1273 if(!config->url_out) in parse_remote_name()
1274 config->url_out = config->url_list; in parse_remote_name()
1275 if(config->url_out) { in parse_remote_name()
1276 /* there is a node here, if it already is filled-in continue to find in parse_remote_name()
1278 while(config->url_out && (config->url_out->flags & GETOUT_OUTFILE)) in parse_remote_name()
1279 config->url_out = config->url_out->next; in parse_remote_name()
1284 if(config->url_out) in parse_remote_name()
1286 url = config->url_out; in parse_remote_name()
1289 config->url_out = url = new_getout(config); in parse_remote_name()
1295 url->outfile = NULL; /* leave it */ in parse_remote_name()
1297 url->flags |= GETOUT_USEREMOTE; /* switch on */ in parse_remote_name()
1299 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in parse_remote_name()
1300 url->flags |= GETOUT_OUTFILE; in parse_remote_name()
1311 case '-': in parse_quote()
1314 err = add2list(&config->postquote, nextarg); in parse_quote()
1317 /* prefixed with a plus makes it a just-before-transfer one */ in parse_quote()
1319 err = add2list(&config->prequote, nextarg); in parse_quote()
1322 err = add2list(&config->quote, nextarg); in parse_quote()
1334 if(config->use_resume) { in parse_range()
1335 errorf(global, "--continue-at is mutually exclusive with --range"); in parse_range()
1341 work-around it. */ in parse_range()
1342 if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) { in parse_range()
1351 "A specified range MUST include at least one dash (-). " in parse_range()
1353 msnprintf(buffer, sizeof(buffer), "%" CURL_FORMAT_CURL_OFF_T "-", in parse_range()
1355 Curl_safefree(config->range); in parse_range()
1356 config->range = strdup(buffer); in parse_range()
1357 if(!config->range) in parse_range()
1365 if(!ISDIGIT(*tmp_range) && *tmp_range != '-' && *tmp_range != ',') { in parse_range()
1368 "\'start\'-\'stop\'. The server's response to this " in parse_range()
1374 err = getstr(&config->range, nextarg, DENY_BLANK); in parse_range()
1386 if(!config->url_ul) in parse_upload_file()
1387 config->url_ul = config->url_list; in parse_upload_file()
1388 if(config->url_ul) { in parse_upload_file()
1389 /* there is a node here, if it already is filled-in continue to find in parse_upload_file()
1391 while(config->url_ul && (config->url_ul->flags & GETOUT_UPLOAD)) in parse_upload_file()
1392 config->url_ul = config->url_ul->next; in parse_upload_file()
1397 if(config->url_ul) in parse_upload_file()
1399 url = config->url_ul; in parse_upload_file()
1402 config->url_ul = url = new_getout(config); in parse_upload_file()
1407 url->flags |= GETOUT_UPLOAD; /* mark -T used */ in parse_upload_file()
1409 url->flags |= GETOUT_NOUPLOAD; in parse_upload_file()
1411 /* "-" equals stdin, but keep the string around for now */ in parse_upload_file()
1412 err = getstr(&url->infile, nextarg, DENY_BLANK); in parse_upload_file()
1423 /* This option is a super-boolean with side effect when applied in parse_verbose()
1424 * more than once in the same argument flag, like `-vvv`. */ in parse_verbose()
1426 global->verbosity = 0; in parse_verbose()
1427 if(set_trace_config(global, "-all")) in parse_verbose()
1429 global->tracetype = TRACE_NONE; in parse_verbose()
1433 /* fist `-v` in an argument resets to base verbosity */ in parse_verbose()
1434 global->verbosity = 0; in parse_verbose()
1435 if(set_trace_config(global, "-all")) in parse_verbose()
1439 switch(global->verbosity) { in parse_verbose()
1441 global->verbosity = 1; in parse_verbose()
1442 Curl_safefree(global->trace_dump); in parse_verbose()
1443 global->trace_dump = strdup("%"); in parse_verbose()
1444 if(!global->trace_dump) in parse_verbose()
1447 if(global->tracetype && (global->tracetype != TRACE_PLAIN)) in parse_verbose()
1449 "-v, --verbose overrides an earlier trace option"); in parse_verbose()
1450 global->tracetype = TRACE_PLAIN; in parse_verbose()
1454 global->verbosity = 2; in parse_verbose()
1459 global->verbosity = 3; in parse_verbose()
1460 global->tracetype = TRACE_ASCII; in parse_verbose()
1465 global->verbosity = 4; in parse_verbose()
1485 or - (stdin) follows */ in parse_writeout()
1489 if(!strcmp("-", nextarg)) { in parse_writeout()
1501 Curl_safefree(config->writeout); in parse_writeout()
1502 err = file2string(&config->writeout, file); in parse_writeout()
1507 if(!config->writeout) in parse_writeout()
1511 err = getstr(&config->writeout, nextarg, ALLOW_BLANK); in parse_writeout()
1527 /* If-Modified-Since: (section 14.28 in RFC2068) */ in parse_time_cond()
1528 config->timecond = CURL_TIMECOND_IFMODSINCE; in parse_time_cond()
1530 case '-': in parse_time_cond()
1531 /* If-Unmodified-Since: (section 14.24 in RFC2068) */ in parse_time_cond()
1532 config->timecond = CURL_TIMECOND_IFUNMODSINCE; in parse_time_cond()
1536 /* Last-Modified: (section 14.29 in RFC2068) */ in parse_time_cond()
1537 config->timecond = CURL_TIMECOND_LASTMOD; in parse_time_cond()
1541 config->condtime = (curl_off_t)curl_getdate(nextarg, NULL); in parse_time_cond()
1542 if(-1 == config->condtime) { in parse_time_cond()
1548 config->condtime = value; in parse_time_cond()
1551 config->timecond = CURL_TIMECOND_NONE; in parse_time_cond()
1553 "Illegal date format for -z, --time-cond (and not " in parse_time_cond()
1561 ParameterError getparameter(const char *flag, /* f or -long-flag */ in getparameter()
1571 bool singleopt = FALSE; /* when true means '-o foo' used '-ofoo' */ in getparameter()
1575 by using --OPTION or --no-OPTION */ in getparameter()
1594 if(('-' != flag[0]) || ('-' == flag[1])) { in getparameter()
1596 const char *word = ('-' == flag[0]) ? flag + 2 : flag; in getparameter()
1600 if(!strncmp(word, "no-", 3)) { in getparameter()
1601 /* disable this option but ignore the "no-" part when looking for it */ in getparameter()
1606 else if(!strncmp(word, "expand-", 7)) { in getparameter()
1620 if(noflagged && (ARGTYPE(a->desc) != ARG_BOOL)) { in getparameter()
1621 /* --no- prefixed an option that is not boolean! */ in getparameter()
1629 if((ARGTYPE(a->desc) != ARG_STRG) && in getparameter()
1630 (ARGTYPE(a->desc) != ARG_FILE)) { in getparameter()
1631 /* --expand on an option that is not a string or a filename */ in getparameter()
1652 /* we can loop here if we have multiple single-letters */ in getparameter()
1662 cmd = (cmdline_t)a->cmd; in getparameter()
1663 if(ARGTYPE(a->desc) >= ARG_STRG) { in getparameter()
1680 if((ARGTYPE(a->desc) == ARG_FILE) && in getparameter()
1681 (nextarg[0] == '-') && nextarg[1]) { in getparameter()
1692 else if((ARGTYPE(a->desc) == ARG_NONE) && !toggle) { in getparameter()
1698 /* this is a precaution mostly to please scan-build, as all arguments in getparameter()
1705 case C_RANDOM_FILE: /* --random-file */ in getparameter()
1706 case C_EGD_FILE: /* --egd-file */ in getparameter()
1707 case C_NTLM_WB: /* --ntlm-wb */ in getparameter()
1708 warnf(global, "--%s is deprecated and has no function anymore", in getparameter()
1709 a->lname); in getparameter()
1711 case C_DNS_IPV4_ADDR: /* --dns-ipv4-addr */ in getparameter()
1712 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1716 err = getstr(&config->dns_ipv4_addr, nextarg, DENY_BLANK); in getparameter()
1718 case C_DNS_IPV6_ADDR: /* --dns-ipv6-addr */ in getparameter()
1719 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1723 err = getstr(&config->dns_ipv6_addr, nextarg, DENY_BLANK); in getparameter()
1725 case C_OAUTH2_BEARER: /* --oauth2-bearer */ in getparameter()
1726 err = getstr(&config->oauth_bearer, nextarg, DENY_BLANK); in getparameter()
1729 config->authtype |= CURLAUTH_BEARER; in getparameter()
1732 case C_CONNECT_TIMEOUT: /* --connect-timeout */ in getparameter()
1733 err = secs2ms(&config->connecttimeout_ms, nextarg); in getparameter()
1735 case C_DOH_URL: /* --doh-url */ in getparameter()
1736 err = getstr(&config->doh_url, nextarg, ALLOW_BLANK); in getparameter()
1737 if(!err && config->doh_url && !config->doh_url[0]) in getparameter()
1739 Curl_safefree(config->doh_url); in getparameter()
1741 case C_CIPHERS: /* -- ciphers */ in getparameter()
1742 err = getstr(&config->cipher_list, nextarg, DENY_BLANK); in getparameter()
1744 case C_DNS_INTERFACE: /* --dns-interface */ in getparameter()
1745 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1749 err = getstr(&config->dns_interface, nextarg, DENY_BLANK); in getparameter()
1751 case C_DISABLE_EPSV: /* --disable-epsv */ in getparameter()
1752 config->disable_epsv = toggle; in getparameter()
1754 case C_DISALLOW_USERNAME_IN_URL: /* --disallow-username-in-url */ in getparameter()
1755 config->disallow_username_in_url = toggle; in getparameter()
1757 case C_EPSV: /* --epsv */ in getparameter()
1758 config->disable_epsv = !toggle; in getparameter()
1760 case C_DNS_SERVERS: /* --dns-servers */ in getparameter()
1761 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1765 err = getstr(&config->dns_servers, nextarg, DENY_BLANK); in getparameter()
1767 case C_TRACE: /* --trace */ in getparameter()
1768 err = getstr(&global->trace_dump, nextarg, DENY_BLANK); in getparameter()
1770 if(global->tracetype && (global->tracetype != TRACE_BIN)) in getparameter()
1771 warnf(global, "--trace overrides an earlier trace/verbose option"); in getparameter()
1772 global->tracetype = TRACE_BIN; in getparameter()
1775 case C_NPN: /* --npn */ in getparameter()
1776 warnf(global, "--npn is no longer supported"); in getparameter()
1778 case C_TRACE_ASCII: /* --trace-ascii */ in getparameter()
1779 err = getstr(&global->trace_dump, nextarg, DENY_BLANK); in getparameter()
1781 if(global->tracetype && (global->tracetype != TRACE_ASCII)) in getparameter()
1783 "--trace-ascii overrides an earlier trace/verbose option"); in getparameter()
1784 global->tracetype = TRACE_ASCII; in getparameter()
1787 case C_ALPN: /* --alpn */ in getparameter()
1788 config->noalpn = !toggle; in getparameter()
1790 case C_LIMIT_RATE: /* --limit-rate */ in getparameter()
1793 config->recvpersecond = value; in getparameter()
1794 config->sendpersecond = value; in getparameter()
1800 case C_COMPRESSED: /* --compressed */ in getparameter()
1804 config->encoding = toggle; in getparameter()
1806 case C_TR_ENCODING: /* --tr-encoding */ in getparameter()
1807 config->tr_encoding = toggle; in getparameter()
1809 case C_DIGEST: /* --digest */ in getparameter()
1811 config->authtype |= CURLAUTH_DIGEST; in getparameter()
1813 config->authtype &= ~CURLAUTH_DIGEST; in getparameter()
1815 case C_NEGOTIATE: /* --negotiate */ in getparameter()
1817 config->authtype &= ~CURLAUTH_NEGOTIATE; in getparameter()
1819 config->authtype |= CURLAUTH_NEGOTIATE; in getparameter()
1823 case C_NTLM: /* --ntlm */ in getparameter()
1825 config->authtype &= ~CURLAUTH_NTLM; in getparameter()
1827 config->authtype |= CURLAUTH_NTLM; in getparameter()
1831 case C_BASIC: /* --basic */ in getparameter()
1833 config->authtype |= CURLAUTH_BASIC; in getparameter()
1835 config->authtype &= ~CURLAUTH_BASIC; in getparameter()
1837 case C_ANYAUTH: /* --anyauth */ in getparameter()
1839 config->authtype = CURLAUTH_ANY; in getparameter()
1840 /* --no-anyauth simply does not touch it */ in getparameter()
1843 case C_WDEBUG: /* --wdebug */ in getparameter()
1847 case C_FTP_CREATE_DIRS: /* --ftp-create-dirs */ in getparameter()
1848 config->ftp_create_dirs = toggle; in getparameter()
1850 case C_CREATE_DIRS: /* --create-dirs */ in getparameter()
1851 config->create_dirs = toggle; in getparameter()
1853 case C_CREATE_FILE_MODE: /* --create-file-mode */ in getparameter()
1854 err = oct2nummax(&config->create_file_mode, nextarg, 0777); in getparameter()
1856 case C_MAX_REDIRS: /* --max-redirs */ in getparameter()
1857 /* specified max no of redirects (http(s)), this accepts -1 as a in getparameter()
1859 err = str2num(&config->maxredirs, nextarg); in getparameter()
1860 if(!err && (config->maxredirs < -1)) in getparameter()
1864 case C_IPFS_GATEWAY: /* --ipfs-gateway */ in getparameter()
1865 err = getstr(&config->ipfs_gateway, nextarg, DENY_BLANK); in getparameter()
1868 case C_PROXY_NTLM: /* --proxy-ntlm */ in getparameter()
1872 config->proxyntlm = toggle; in getparameter()
1874 case C_CRLF: /* --crlf */ in getparameter()
1875 /* LF -> CRLF conversion? */ in getparameter()
1876 config->crlf = toggle; in getparameter()
1878 case C_AWS_SIGV4: /* --aws-sigv4 */ in getparameter()
1879 config->authtype |= CURLAUTH_AWS_SIGV4; in getparameter()
1880 err = getstr(&config->aws_sigv4, nextarg, DENY_BLANK); in getparameter()
1882 case C_STDERR: /* --stderr */ in getparameter()
1885 case C_INTERFACE: /* --interface */ in getparameter()
1887 err = getstr(&config->iface, nextarg, DENY_BLANK); in getparameter()
1889 case C_KRB: /* --krb */ in getparameter()
1894 err = getstr(&config->krblevel, nextarg, DENY_BLANK); in getparameter()
1896 case C_HAPROXY_PROTOCOL: /* --haproxy-protocol */ in getparameter()
1897 config->haproxy_protocol = toggle; in getparameter()
1899 case C_HAPROXY_CLIENTIP: /* --haproxy-clientip */ in getparameter()
1900 err = getstr(&config->haproxy_clientip, nextarg, DENY_BLANK); in getparameter()
1902 case C_MAX_FILESIZE: /* --max-filesize */ in getparameter()
1903 err = GetSizeParameter(global, nextarg, "max-filesize", &value); in getparameter()
1905 config->max_filesize = value; in getparameter()
1907 case C_DISABLE_EPRT: /* --disable-eprt */ in getparameter()
1908 config->disable_eprt = toggle; in getparameter()
1910 case C_EPRT: /* --eprt */ in getparameter()
1911 config->disable_eprt = !toggle; in getparameter()
1913 case C_XATTR: /* --xattr */ in getparameter()
1914 config->xattr = toggle; in getparameter()
1916 case C_URL: /* --url */ in getparameter()
1919 case C_FTP_SSL: /* --ftp-ssl */ in getparameter()
1920 case C_SSL: /* --ssl */ in getparameter()
1924 config->ftp_ssl = toggle; in getparameter()
1925 if(config->ftp_ssl) in getparameter()
1927 "--%s is an insecure option, consider --ssl-reqd instead", in getparameter()
1928 a->lname); in getparameter()
1931 case C_FTP_PASV: /* --ftp-pasv */ in getparameter()
1932 Curl_safefree(config->ftpport); in getparameter()
1934 case C_SOCKS5: /* --socks5 */ in getparameter()
1937 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1938 config->proxyver = CURLPROXY_SOCKS5; in getparameter()
1940 case C_SOCKS4: /* --socks4 */ in getparameter()
1941 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1942 config->proxyver = CURLPROXY_SOCKS4; in getparameter()
1944 case C_SOCKS4A: /* --socks4a */ in getparameter()
1945 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1946 config->proxyver = CURLPROXY_SOCKS4A; in getparameter()
1948 case C_SOCKS5_HOSTNAME: /* --socks5-hostname */ in getparameter()
1949 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1950 config->proxyver = CURLPROXY_SOCKS5_HOSTNAME; in getparameter()
1952 case C_TCP_NODELAY: /* --tcp-nodelay */ in getparameter()
1953 config->tcp_nodelay = toggle; in getparameter()
1955 case C_IP_TOS: { /* --ip-tos */ in getparameter()
1963 config->ip_tos = entry->value; in getparameter()
1965 err = str2unummax(&config->ip_tos, nextarg, 0xFF); in getparameter()
1968 case C_VLAN_PRIORITY: /* --vlan-priority */ in getparameter()
1969 err = str2unummax(&config->vlan_priority, nextarg, 7); in getparameter()
1971 case C_PROXY_DIGEST: /* --proxy-digest */ in getparameter()
1972 config->proxydigest = toggle; in getparameter()
1974 case C_PROXY_BASIC: /* --proxy-basic */ in getparameter()
1975 config->proxybasic = toggle; in getparameter()
1977 case C_RETRY: /* --retry */ in getparameter()
1978 err = str2unum(&config->req_retry, nextarg); in getparameter()
1980 case C_RETRY_CONNREFUSED: /* --retry-connrefused */ in getparameter()
1981 config->retry_connrefused = toggle; in getparameter()
1983 case C_RETRY_DELAY: /* --retry-delay */ in getparameter()
1984 err = str2unummax(&config->retry_delay, nextarg, LONG_MAX/1000); in getparameter()
1986 case C_RETRY_MAX_TIME: /* --retry-max-time */ in getparameter()
1987 err = str2unummax(&config->retry_maxtime, nextarg, LONG_MAX/1000); in getparameter()
1989 case C_RETRY_ALL_ERRORS: /* --retry-all-errors */ in getparameter()
1990 config->retry_all_errors = toggle; in getparameter()
1992 case C_PROXY_NEGOTIATE: /* --proxy-negotiate */ in getparameter()
1996 config->proxynegotiate = toggle; in getparameter()
1998 case C_FORM_ESCAPE: /* --form-escape */ in getparameter()
1999 config->mime_options &= ~CURLMIMEOPT_FORMESCAPE; in getparameter()
2001 config->mime_options |= CURLMIMEOPT_FORMESCAPE; in getparameter()
2003 case C_FTP_ACCOUNT: /* --ftp-account */ in getparameter()
2004 err = getstr(&config->ftp_account, nextarg, DENY_BLANK); in getparameter()
2006 case C_PROXY_ANYAUTH: /* --proxy-anyauth */ in getparameter()
2007 config->proxyanyauth = toggle; in getparameter()
2009 case C_TRACE_TIME: /* --trace-time */ in getparameter()
2010 global->tracetime = toggle; in getparameter()
2012 case C_IGNORE_CONTENT_LENGTH: /* --ignore-content-length */ in getparameter()
2013 config->ignorecl = toggle; in getparameter()
2015 case C_FTP_SKIP_PASV_IP: /* --ftp-skip-pasv-ip */ in getparameter()
2016 config->ftp_skip_ip = toggle; in getparameter()
2018 case C_FTP_METHOD: /* --ftp-method */ in getparameter()
2019 config->ftp_filemethod = ftpfilemethod(config, nextarg); in getparameter()
2021 case C_LOCAL_PORT: /* --local-port */ in getparameter()
2024 case C_FTP_ALTERNATIVE_TO_USER: /* --ftp-alternative-to-user */ in getparameter()
2025 err = getstr(&config->ftp_alternative_to_user, nextarg, DENY_BLANK); in getparameter()
2027 case C_FTP_SSL_REQD: /* --ftp-ssl-reqd */ in getparameter()
2028 case C_SSL_REQD: /* --ssl-reqd */ in getparameter()
2033 config->ftp_ssl_reqd = toggle; in getparameter()
2035 case C_SESSIONID: /* --sessionid */ in getparameter()
2036 config->disable_sessionid = !toggle; in getparameter()
2038 case C_FTP_SSL_CONTROL: /* --ftp-ssl-control */ in getparameter()
2042 config->ftp_ssl_control = toggle; in getparameter()
2044 case C_FTP_SSL_CCC: /* --ftp-ssl-ccc */ in getparameter()
2045 config->ftp_ssl_ccc = toggle; in getparameter()
2046 if(!config->ftp_ssl_ccc_mode) in getparameter()
2047 config->ftp_ssl_ccc_mode = CURLFTPSSL_CCC_PASSIVE; in getparameter()
2049 case C_FTP_SSL_CCC_MODE: /* --ftp-ssl-ccc-mode */ in getparameter()
2050 config->ftp_ssl_ccc = TRUE; in getparameter()
2051 config->ftp_ssl_ccc_mode = ftpcccmethod(config, nextarg); in getparameter()
2053 case C_LIBCURL: /* --libcurl */ in getparameter()
2056 "--libcurl option was disabled at build-time"); in getparameter()
2059 err = getstr(&global->libcurl, nextarg, DENY_BLANK); in getparameter()
2062 case C_RAW: /* --raw */ in getparameter()
2063 config->raw = toggle; in getparameter()
2065 case C_KEEPALIVE: /* --keepalive */ in getparameter()
2066 config->nokeepalive = !toggle; in getparameter()
2068 case C_KEEPALIVE_TIME: /* --keepalive-time */ in getparameter()
2069 err = str2unum(&config->alivetime, nextarg); in getparameter()
2071 case C_KEEPALIVE_CNT: /* --keepalive-cnt */ in getparameter()
2072 err = str2unum(&config->alivecnt, nextarg); in getparameter()
2074 case C_POST301: /* --post301 */ in getparameter()
2075 config->post301 = toggle; in getparameter()
2077 case C_POST302: /* --post302 */ in getparameter()
2078 config->post302 = toggle; in getparameter()
2080 case C_POST303: /* --post303 */ in getparameter()
2081 config->post303 = toggle; in getparameter()
2083 case C_NOPROXY: /* --noproxy */ in getparameter()
2085 err = getstr(&config->noproxy, nextarg, ALLOW_BLANK); in getparameter()
2087 case C_SOCKS5_GSSAPI_NEC: /* --socks5-gssapi-nec */ in getparameter()
2088 config->socks5_gssapi_nec = toggle; in getparameter()
2090 case C_PROXY1_0: /* --proxy1.0 */ in getparameter()
2092 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
2093 config->proxyver = CURLPROXY_HTTP_1_0; in getparameter()
2095 case C_TFTP_BLKSIZE: /* --tftp-blksize */ in getparameter()
2096 err = str2unum(&config->tftp_blksize, nextarg); in getparameter()
2098 case C_MAIL_FROM: /* --mail-from */ in getparameter()
2099 err = getstr(&config->mail_from, nextarg, DENY_BLANK); in getparameter()
2101 case C_MAIL_RCPT: /* --mail-rcpt */ in getparameter()
2103 err = add2list(&config->mail_rcpt, nextarg); in getparameter()
2105 case C_FTP_PRET: /* --ftp-pret */ in getparameter()
2106 config->ftp_pret = toggle; in getparameter()
2108 case C_PROTO: /* --proto */ in getparameter()
2109 config->proto_present = TRUE; in getparameter()
2110 err = proto2num(config, built_in_protos, &config->proto_str, nextarg); in getparameter()
2112 case C_PROTO_REDIR: /* --proto-redir */ in getparameter()
2113 config->proto_redir_present = TRUE; in getparameter()
2114 if(proto2num(config, redir_protos, &config->proto_redir_str, in getparameter()
2118 case C_RESOLVE: /* --resolve */ in getparameter()
2119 err = add2list(&config->resolve, nextarg); in getparameter()
2121 case C_DELEGATION: /* --delegation */ in getparameter()
2122 config->gssapi_delegation = delegation(config, nextarg); in getparameter()
2124 case C_MAIL_AUTH: /* --mail-auth */ in getparameter()
2125 err = getstr(&config->mail_auth, nextarg, DENY_BLANK); in getparameter()
2127 case C_METALINK: /* --metalink */ in getparameter()
2128 errorf(global, "--metalink is disabled"); in getparameter()
2131 case C_SASL_AUTHZID: /* --sasl-authzid */ in getparameter()
2132 err = getstr(&config->sasl_authzid, nextarg, DENY_BLANK); in getparameter()
2134 case C_SASL_IR: /* --sasl-ir */ in getparameter()
2135 config->sasl_ir = toggle; in getparameter()
2138 case C_TEST_DUPHANDLE: /* --test-duphandle */ in getparameter()
2139 global->test_duphandle = toggle; in getparameter()
2141 case C_TEST_EVENT: /* --test-event */ in getparameter()
2142 global->test_event_based = toggle; in getparameter()
2145 case C_UNIX_SOCKET: /* --unix-socket */ in getparameter()
2146 config->abstract_unix_socket = FALSE; in getparameter()
2147 err = getstr(&config->unix_socket_path, nextarg, DENY_BLANK); in getparameter()
2149 case C_PATH_AS_IS: /* --path-as-is */ in getparameter()
2150 config->path_as_is = toggle; in getparameter()
2152 case C_PROXY_SERVICE_NAME: /* --proxy-service-name */ in getparameter()
2153 err = getstr(&config->proxy_service_name, nextarg, DENY_BLANK); in getparameter()
2155 case C_SERVICE_NAME: /* --service-name */ in getparameter()
2156 err = getstr(&config->service_name, nextarg, DENY_BLANK); in getparameter()
2158 case C_PROTO_DEFAULT: /* --proto-default */ in getparameter()
2159 err = getstr(&config->proto_default, nextarg, DENY_BLANK); in getparameter()
2161 err = check_protocol(config->proto_default); in getparameter()
2163 case C_EXPECT100_TIMEOUT: /* --expect100-timeout */ in getparameter()
2164 err = secs2ms(&config->expect100timeout_ms, nextarg); in getparameter()
2166 case C_TFTP_NO_OPTIONS: /* --tftp-no-options */ in getparameter()
2167 config->tftp_no_options = toggle; in getparameter()
2169 case C_CONNECT_TO: /* --connect-to */ in getparameter()
2170 err = add2list(&config->connect_to, nextarg); in getparameter()
2172 case C_ABSTRACT_UNIX_SOCKET: /* --abstract-unix-socket */ in getparameter()
2173 config->abstract_unix_socket = TRUE; in getparameter()
2174 err = getstr(&config->unix_socket_path, nextarg, DENY_BLANK); in getparameter()
2176 case C_TLS_EARLYDATA: /* --tls-earlydata */ in getparameter()
2178 config->ssl_allow_earlydata = toggle; in getparameter()
2180 case C_TLS_MAX: /* --tls-max */ in getparameter()
2181 err = str2tls_max(&config->ssl_version_max, nextarg); in getparameter()
2183 case C_SUPPRESS_CONNECT_HEADERS: /* --suppress-connect-headers */ in getparameter()
2184 config->suppress_connect_headers = toggle; in getparameter()
2186 case C_COMPRESSED_SSH: /* --compressed-ssh */ in getparameter()
2187 config->ssh_compression = toggle; in getparameter()
2189 case C_HAPPY_EYEBALLS_TIMEOUT_MS: /* --happy-eyeballs-timeout-ms */ in getparameter()
2190 err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg); in getparameter()
2193 case C_TRACE_IDS: /* --trace-ids */ in getparameter()
2194 global->traceids = toggle; in getparameter()
2196 case C_TRACE_CONFIG: /* --trace-config */ in getparameter()
2200 case C_PROGRESS_METER: /* --progress-meter */ in getparameter()
2201 global->noprogress = !toggle; in getparameter()
2203 case C_PROGRESS_BAR: /* --progress-bar */ in getparameter()
2204 global->progressmode = toggle ? CURL_PROGRESS_BAR : CURL_PROGRESS_STATS; in getparameter()
2206 case C_VARIABLE: /* --variable */ in getparameter()
2209 case C_NEXT: /* --next */ in getparameter()
2212 case C_HTTP1_0: /* --http1.0 */ in getparameter()
2216 case C_HTTP1_1: /* --http1.1 */ in getparameter()
2220 case C_HTTP2: /* --http2 */ in getparameter()
2226 case C_HTTP2_PRIOR_KNOWLEDGE: /* --http2-prior-knowledge */ in getparameter()
2232 case C_HTTP3: /* --http3: */ in getparameter()
2239 case C_HTTP3_ONLY: /* --http3-only */ in getparameter()
2246 case C_HTTP0_9: /* --http0.9 */ in getparameter()
2248 config->http09_allowed = toggle; in getparameter()
2250 case C_PROXY_HTTP2: /* --proxy-http2 */ in getparameter()
2254 config->proxyver = CURLPROXY_HTTPS2; in getparameter()
2256 case C_TLSV1: /* --tlsv1 */ in getparameter()
2257 config->ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
2259 case C_TLSV1_0: /* --tlsv1.0 */ in getparameter()
2260 config->ssl_version = CURL_SSLVERSION_TLSv1_0; in getparameter()
2262 case C_TLSV1_1: /* --tlsv1.1 */ in getparameter()
2263 config->ssl_version = CURL_SSLVERSION_TLSv1_1; in getparameter()
2265 case C_TLSV1_2: /* --tlsv1.2 */ in getparameter()
2266 config->ssl_version = CURL_SSLVERSION_TLSv1_2; in getparameter()
2268 case C_TLSV1_3: /* --tlsv1.3 */ in getparameter()
2269 config->ssl_version = CURL_SSLVERSION_TLSv1_3; in getparameter()
2271 case C_TLS13_CIPHERS: /* --tls13-ciphers */ in getparameter()
2272 err = getstr(&config->cipher13_list, nextarg, DENY_BLANK); in getparameter()
2274 case C_PROXY_TLS13_CIPHERS: /* --proxy-tls13-ciphers */ in getparameter()
2275 err = getstr(&config->proxy_cipher13_list, nextarg, DENY_BLANK); in getparameter()
2277 case C_SSLV2: /* --sslv2 */ in getparameter()
2280 case C_SSLV3: /* --sslv3 */ in getparameter()
2283 case C_IPV4: /* --ipv4 */ in getparameter()
2284 config->ip_version = CURL_IPRESOLVE_V4; in getparameter()
2286 case C_IPV6: /* --ipv6 */ in getparameter()
2287 config->ip_version = CURL_IPRESOLVE_V6; in getparameter()
2289 case C_APPEND: /* --append */ in getparameter()
2291 config->ftp_append = toggle; in getparameter()
2293 case C_USER_AGENT: /* --user-agent */ in getparameter()
2294 err = getstr(&config->useragent, nextarg, ALLOW_BLANK); in getparameter()
2296 case C_ALT_SVC: /* --alt-svc */ in getparameter()
2300 err = getstr(&config->altsvc, nextarg, ALLOW_BLANK); in getparameter()
2302 case C_HSTS: /* --hsts */ in getparameter()
2306 err = getstr(&config->hsts, nextarg, ALLOW_BLANK); in getparameter()
2308 case C_COOKIE: /* --cookie */ in getparameter()
2310 /* A cookie string must have a =-letter */ in getparameter()
2311 err = add2list(&config->cookies, nextarg); in getparameter()
2316 err = add2list(&config->cookiefiles, nextarg); in getparameter()
2319 case C_USE_ASCII: /* --use-ascii */ in getparameter()
2320 config->use_ascii = toggle; in getparameter()
2322 case C_COOKIE_JAR: /* --cookie-jar */ in getparameter()
2323 err = getstr(&config->cookiejar, nextarg, DENY_BLANK); in getparameter()
2325 case C_CONTINUE_AT: /* --continue-at */ in getparameter()
2328 case C_DATA: /* --data */ in getparameter()
2329 case C_DATA_ASCII: /* --data-ascii */ in getparameter()
2330 case C_DATA_BINARY: /* --data-binary */ in getparameter()
2331 case C_DATA_URLENCODE: /* --data-urlencode */ in getparameter()
2332 case C_JSON: /* --json */ in getparameter()
2333 case C_DATA_RAW: /* --data-raw */ in getparameter()
2336 case C_URL_QUERY: /* --url-query */ in getparameter()
2339 case C_DUMP_CA_EMBED: /* --dump-ca-embed */ in getparameter()
2342 case C_DUMP_HEADER: /* --dump-header */ in getparameter()
2343 err = getstr(&config->headerfile, nextarg, DENY_BLANK); in getparameter()
2345 case C_REFERER: { /* --referer */ in getparameter()
2350 config->autoreferer = TRUE; in getparameter()
2351 *ptr = 0; /* null-terminate here */ in getparameter()
2354 config->autoreferer = FALSE; in getparameter()
2356 err = getstr(&config->referer, ptr, ALLOW_BLANK); in getparameter()
2359 case C_CERT: /* --cert */ in getparameter()
2361 GetFileAndPassword(nextarg, &config->cert, &config->key_passwd); in getparameter()
2363 case C_CACERT: /* --cacert */ in getparameter()
2364 err = getstr(&config->cacert, nextarg, DENY_BLANK); in getparameter()
2366 case C_CA_NATIVE: /* --ca-native */ in getparameter()
2367 config->native_ca_store = toggle; in getparameter()
2369 case C_PROXY_CA_NATIVE: /* --proxy-ca-native */ in getparameter()
2370 config->proxy_native_ca_store = toggle; in getparameter()
2372 case C_CERT_TYPE: /* --cert-type */ in getparameter()
2373 err = getstr(&config->cert_type, nextarg, DENY_BLANK); in getparameter()
2375 case C_KEY: /* --key */ in getparameter()
2376 err = getstr(&config->key, nextarg, DENY_BLANK); in getparameter()
2378 case C_KEY_TYPE: /* --key-type */ in getparameter()
2379 err = getstr(&config->key_type, nextarg, DENY_BLANK); in getparameter()
2381 case C_PASS: /* --pass */ in getparameter()
2382 err = getstr(&config->key_passwd, nextarg, DENY_BLANK); in getparameter()
2385 case C_ENGINE: /* --engine */ in getparameter()
2386 err = getstr(&config->engine, nextarg, DENY_BLANK); in getparameter()
2388 config->engine && !strcmp(config->engine, "list")) { in getparameter()
2392 case C_ECH: /* --ech */ in getparameter()
2395 case C_CAPATH: /* --capath */ in getparameter()
2396 err = getstr(&config->capath, nextarg, DENY_BLANK); in getparameter()
2398 case C_PUBKEY: /* --pubkey */ in getparameter()
2399 err = getstr(&config->pubkey, nextarg, DENY_BLANK); in getparameter()
2401 case C_HOSTPUBMD5: /* --hostpubmd5 */ in getparameter()
2402 err = getstr(&config->hostpubmd5, nextarg, DENY_BLANK); in getparameter()
2404 if(!config->hostpubmd5 || strlen(config->hostpubmd5) != 32) in getparameter()
2408 case C_HOSTPUBSHA256: /* --hostpubsha256 */ in getparameter()
2412 err = getstr(&config->hostpubsha256, nextarg, DENY_BLANK); in getparameter()
2414 case C_CRLFILE: /* --crlfile */ in getparameter()
2415 err = getstr(&config->crlfile, nextarg, DENY_BLANK); in getparameter()
2417 case C_TLSUSER: /* --tlsuser */ in getparameter()
2421 err = getstr(&config->tls_username, nextarg, DENY_BLANK); in getparameter()
2424 case C_TLSPASSWORD: /* --tlspassword */ in getparameter()
2428 err = getstr(&config->tls_password, nextarg, ALLOW_BLANK); in getparameter()
2431 case C_TLSAUTHTYPE: /* --tlsauthtype */ in getparameter()
2435 err = getstr(&config->tls_authtype, nextarg, DENY_BLANK); in getparameter()
2436 if(!err && strcmp(config->tls_authtype, "SRP")) in getparameter()
2437 err = PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
2440 case C_SSL_ALLOW_BEAST: /* --ssl-allow-beast */ in getparameter()
2442 config->ssl_allow_beast = toggle; in getparameter()
2444 case C_SSL_AUTO_CLIENT_CERT: /* --ssl-auto-client-cert */ in getparameter()
2446 config->ssl_auto_client_cert = toggle; in getparameter()
2448 case C_PROXY_SSL_AUTO_CLIENT_CERT: /* --proxy-ssl-auto-client-cert */ in getparameter()
2450 config->proxy_ssl_auto_client_cert = toggle; in getparameter()
2452 case C_PINNEDPUBKEY: /* --pinnedpubkey */ in getparameter()
2453 err = getstr(&config->pinnedpubkey, nextarg, DENY_BLANK); in getparameter()
2455 case C_PROXY_PINNEDPUBKEY: /* --proxy-pinnedpubkey */ in getparameter()
2456 err = getstr(&config->proxy_pinnedpubkey, nextarg, DENY_BLANK); in getparameter()
2458 case C_CERT_STATUS: /* --cert-status */ in getparameter()
2459 config->verifystatus = TRUE; in getparameter()
2461 case C_DOH_CERT_STATUS: /* --doh-cert-status */ in getparameter()
2462 config->doh_verifystatus = TRUE; in getparameter()
2464 case C_FALSE_START: /* --false-start */ in getparameter()
2465 config->falsestart = TRUE; in getparameter()
2467 case C_SSL_NO_REVOKE: /* --ssl-no-revoke */ in getparameter()
2469 config->ssl_no_revoke = TRUE; in getparameter()
2471 case C_SSL_REVOKE_BEST_EFFORT: /* --ssl-revoke-best-effort */ in getparameter()
2473 config->ssl_revoke_best_effort = TRUE; in getparameter()
2475 case C_SSL_SESSIONS: /* --ssl-sessions */ in getparameter()
2477 err = getstr(&global->ssl_sessions, nextarg, DENY_BLANK); in getparameter()
2481 case C_TCP_FASTOPEN: /* --tcp-fastopen */ in getparameter()
2482 config->tcp_fastopen = TRUE; in getparameter()
2484 case C_PROXY_TLSUSER: /* --proxy-tlsuser */ in getparameter()
2489 err = getstr(&config->proxy_tls_username, nextarg, ALLOW_BLANK); in getparameter()
2491 case C_PROXY_TLSPASSWORD: /* --proxy-tlspassword */ in getparameter()
2496 err = getstr(&config->proxy_tls_password, nextarg, DENY_BLANK); in getparameter()
2498 case C_PROXY_TLSAUTHTYPE: /* --proxy-tlsauthtype */ in getparameter()
2502 err = getstr(&config->proxy_tls_authtype, nextarg, DENY_BLANK); in getparameter()
2503 if(!err && strcmp(config->proxy_tls_authtype, "SRP")) in getparameter()
2504 err = PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
2507 case C_PROXY_CERT: /* --proxy-cert */ in getparameter()
2509 GetFileAndPassword(nextarg, &config->proxy_cert, in getparameter()
2510 &config->proxy_key_passwd); in getparameter()
2512 case C_PROXY_CERT_TYPE: /* --proxy-cert-type */ in getparameter()
2513 err = getstr(&config->proxy_cert_type, nextarg, DENY_BLANK); in getparameter()
2515 case C_PROXY_KEY: /* --proxy-key */ in getparameter()
2516 err = getstr(&config->proxy_key, nextarg, ALLOW_BLANK); in getparameter()
2518 case C_PROXY_KEY_TYPE: /* --proxy-key-type */ in getparameter()
2519 err = getstr(&config->proxy_key_type, nextarg, DENY_BLANK); in getparameter()
2521 case C_PROXY_PASS: /* --proxy-pass */ in getparameter()
2522 err = getstr(&config->proxy_key_passwd, nextarg, ALLOW_BLANK); in getparameter()
2525 case C_PROXY_CIPHERS: /* --proxy-ciphers */ in getparameter()
2526 err = getstr(&config->proxy_cipher_list, nextarg, DENY_BLANK); in getparameter()
2528 case C_PROXY_CRLFILE: /* --proxy-crlfile */ in getparameter()
2529 err = getstr(&config->proxy_crlfile, nextarg, DENY_BLANK); in getparameter()
2531 case C_PROXY_SSL_ALLOW_BEAST: /* --proxy-ssl-allow-beast */ in getparameter()
2533 config->proxy_ssl_allow_beast = toggle; in getparameter()
2535 case C_LOGIN_OPTIONS: /* --login-options */ in getparameter()
2536 err = getstr(&config->login_options, nextarg, ALLOW_BLANK); in getparameter()
2538 case C_PROXY_CACERT: /* --proxy-cacert */ in getparameter()
2539 err = getstr(&config->proxy_cacert, nextarg, DENY_BLANK); in getparameter()
2541 case C_PROXY_CAPATH: /* --proxy-capath */ in getparameter()
2542 err = getstr(&config->proxy_capath, nextarg, DENY_BLANK); in getparameter()
2544 case C_PROXY_INSECURE: /* --proxy-insecure */ in getparameter()
2545 config->proxy_insecure_ok = toggle; in getparameter()
2547 case C_PROXY_TLSV1: /* --proxy-tlsv1 */ in getparameter()
2549 config->proxy_ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
2551 case C_SOCKS5_BASIC: /* --socks5-basic */ in getparameter()
2553 config->socks5_auth |= CURLAUTH_BASIC; in getparameter()
2555 config->socks5_auth &= ~CURLAUTH_BASIC; in getparameter()
2557 case C_SOCKS5_GSSAPI: /* --socks5-gssapi */ in getparameter()
2559 config->socks5_auth |= CURLAUTH_GSSAPI; in getparameter()
2561 config->socks5_auth &= ~CURLAUTH_GSSAPI; in getparameter()
2563 case C_ETAG_SAVE: /* --etag-save */ in getparameter()
2564 if(config->num_urls > 1) { in getparameter()
2569 err = getstr(&config->etag_save_file, nextarg, DENY_BLANK); in getparameter()
2571 case C_ETAG_COMPARE: /* --etag-compare */ in getparameter()
2572 if(config->num_urls > 1) { in getparameter()
2577 err = getstr(&config->etag_compare_file, nextarg, DENY_BLANK); in getparameter()
2579 case C_CURVES: /* --curves */ in getparameter()
2580 err = getstr(&config->ssl_ec_curves, nextarg, DENY_BLANK); in getparameter()
2582 case C_FAIL_EARLY: /* --fail-early */ in getparameter()
2583 global->fail_early = toggle; in getparameter()
2585 case C_STYLED_OUTPUT: /* --styled-output */ in getparameter()
2586 global->styled_output = toggle; in getparameter()
2588 case C_MAIL_RCPT_ALLOWFAILS: /* --mail-rcpt-allowfails */ in getparameter()
2589 config->mail_rcpt_allowfails = toggle; in getparameter()
2591 case C_FAIL_WITH_BODY: /* --fail-with-body */ in getparameter()
2592 config->failwithbody = toggle; in getparameter()
2593 if(config->failonerror && config->failwithbody) { in getparameter()
2594 errorf(config->global, "You must select either --fail or " in getparameter()
2595 "--fail-with-body, not both."); in getparameter()
2599 case C_REMOVE_ON_ERROR: /* --remove-on-error */ in getparameter()
2600 if(config->use_resume && toggle) { in getparameter()
2601 errorf(config->global, in getparameter()
2602 "--continue-at is mutually exclusive with --remove-on-error"); in getparameter()
2605 config->rm_partial = toggle; in getparameter()
2607 case C_FAIL: /* --fail */ in getparameter()
2608 config->failonerror = toggle; in getparameter()
2609 if(config->failonerror && config->failwithbody) { in getparameter()
2610 errorf(config->global, "You must select either --fail or " in getparameter()
2611 "--fail-with-body, not both."); in getparameter()
2615 case C_FORM: /* --form */ in getparameter()
2616 case C_FORM_STRING: /* --form-string */ in getparameter()
2621 &config->mimeroot, in getparameter()
2622 &config->mimecurrent, in getparameter()
2625 else if(SetHTTPrequest(config, TOOL_HTTPREQ_MIMEPOST, &config->httpreq)) in getparameter()
2628 case C_GLOBOFF: /* --globoff */ in getparameter()
2629 config->globoff = toggle; in getparameter()
2631 case C_GET: /* --get */ in getparameter()
2632 config->use_httpget = toggle; in getparameter()
2634 case C_REQUEST_TARGET: /* --request-target */ in getparameter()
2635 err = getstr(&config->request_target, nextarg, DENY_BLANK); in getparameter()
2637 case C_HELP: /* --help */ in getparameter()
2640 global->help_category = strdup(nextarg); in getparameter()
2641 if(!global->help_category) { in getparameter()
2648 /* we now actually support --no-help too! */ in getparameter()
2650 case C_HEADER: /* --header */ in getparameter()
2651 case C_PROXY_HEADER: /* --proxy-header */ in getparameter()
2654 case C_INCLUDE: /* --include */ in getparameter()
2655 case C_SHOW_HEADERS: /* --show-headers */ in getparameter()
2656 config->show_headers = toggle; /* show the headers as well in the in getparameter()
2659 case C_JUNK_SESSION_COOKIES: /* --junk-session-cookies */ in getparameter()
2660 config->cookiesession = toggle; in getparameter()
2662 case C_HEAD: /* --head */ in getparameter()
2663 config->no_body = toggle; in getparameter()
2664 config->show_headers = toggle; in getparameter()
2665 if(SetHTTPrequest(config, (config->no_body) ? TOOL_HTTPREQ_HEAD : in getparameter()
2666 TOOL_HTTPREQ_GET, &config->httpreq)) in getparameter()
2669 case C_REMOTE_HEADER_NAME: /* --remote-header-name */ in getparameter()
2670 config->content_disposition = toggle; in getparameter()
2672 case C_INSECURE: /* --insecure */ in getparameter()
2673 config->insecure_ok = toggle; in getparameter()
2675 case C_DOH_INSECURE: /* --doh-insecure */ in getparameter()
2676 config->doh_insecure_ok = toggle; in getparameter()
2678 case C_CONFIG: /* --config */ in getparameter()
2684 case C_LIST_ONLY: /* --list-only */ in getparameter()
2685 config->dirlistonly = toggle; /* only list the names of the FTP dir */ in getparameter()
2687 case C_LOCATION_TRUSTED: /* --location-trusted */ in getparameter()
2690 config->unrestricted_auth = toggle; in getparameter()
2692 case C_LOCATION: /* --location */ in getparameter()
2693 config->followlocation = toggle; /* Follow Location: HTTP headers */ in getparameter()
2695 case C_MAX_TIME: /* --max-time */ in getparameter()
2697 err = secs2ms(&config->timeout_ms, nextarg); in getparameter()
2699 case C_MANUAL: /* --manual */ in getparameter()
2700 if(toggle) { /* --no-manual shows no manual... */ in getparameter()
2703 "built-in manual was disabled at build-time"); in getparameter()
2708 case C_NETRC_OPTIONAL: /* --netrc-optional */ in getparameter()
2709 config->netrc_opt = toggle; in getparameter()
2711 case C_NETRC_FILE: /* --netrc-file */ in getparameter()
2712 err = getstr(&config->netrc_file, nextarg, DENY_BLANK); in getparameter()
2714 case C_NETRC: /* --netrc */ in getparameter()
2717 config->netrc = toggle; in getparameter()
2719 case C_BUFFER: /* --buffer */ in getparameter()
2721 --buffer but is mostly used in the negative form: --no-buffer */ in getparameter()
2722 config->nobuffer = longopt ? !toggle : TRUE; in getparameter()
2724 case C_REMOTE_NAME_ALL: /* --remote-name-all */ in getparameter()
2725 config->default_node_flags = toggle ? GETOUT_USEREMOTE : 0; in getparameter()
2727 case C_OUTPUT_DIR: /* --output-dir */ in getparameter()
2728 err = getstr(&config->output_dir, nextarg, DENY_BLANK); in getparameter()
2730 case C_CLOBBER: /* --clobber */ in getparameter()
2731 if(config->use_resume && !toggle) { in getparameter()
2732 errorf(config->global, in getparameter()
2733 "--continue-at is mutually exclusive with --no-clobber"); in getparameter()
2736 config->file_clobber_mode = toggle ? CLOBBER_ALWAYS : CLOBBER_NEVER; in getparameter()
2738 case C_OUTPUT: /* --output */ in getparameter()
2741 case C_REMOTE_NAME: /* --remote-name */ in getparameter()
2744 case C_FTP_PORT: /* --ftp-port */ in getparameter()
2750 err = getstr(&config->ftpport, nextarg, DENY_BLANK); in getparameter()
2752 case C_PROXYTUNNEL: /* --proxytunnel */ in getparameter()
2753 /* proxy tunnel for non-http protocols */ in getparameter()
2754 config->proxytunnel = toggle; in getparameter()
2757 case C_DISABLE: /* --disable */ in getparameter()
2761 case C_QUOTE: /* --quote */ in getparameter()
2764 case C_RANGE: /* --range */ in getparameter()
2767 case C_REMOTE_TIME: /* --remote-time */ in getparameter()
2769 config->remote_time = toggle; in getparameter()
2771 case C_SILENT: /* --silent */ in getparameter()
2772 global->silent = toggle; in getparameter()
2774 case C_SKIP_EXISTING: /* --skip-existing */ in getparameter()
2775 config->skip_existing = toggle; in getparameter()
2777 case C_SHOW_ERROR: /* --show-error */ in getparameter()
2778 global->showerror = toggle; in getparameter()
2780 case C_TELNET_OPTION: /* --telnet-option */ in getparameter()
2782 err = add2list(&config->telnet_options, nextarg); in getparameter()
2784 case C_UPLOAD_FILE: /* --upload-file */ in getparameter()
2787 case C_USER: /* --user */ in getparameter()
2789 err = getstr(&config->userpwd, nextarg, ALLOW_BLANK); in getparameter()
2792 case C_PROXY_USER: /* --proxy-user */ in getparameter()
2794 err = getstr(&config->proxyuserpwd, nextarg, ALLOW_BLANK); in getparameter()
2797 case C_VERBOSE: /* --verbose */ in getparameter()
2800 case C_VERSION: /* --version */ in getparameter()
2801 if(toggle) /* --no-version yields no output! */ in getparameter()
2804 case C_WRITE_OUT: /* --write-out */ in getparameter()
2807 case C_PREPROXY: /* --preproxy */ in getparameter()
2808 err = getstr(&config->preproxy, nextarg, DENY_BLANK); in getparameter()
2810 case C_PROXY: /* --proxy */ in getparameter()
2811 /* --proxy */ in getparameter()
2812 err = getstr(&config->proxy, nextarg, ALLOW_BLANK); in getparameter()
2813 if(config->proxyver != CURLPROXY_HTTPS2) in getparameter()
2814 config->proxyver = CURLPROXY_HTTP; in getparameter()
2816 case C_REQUEST: /* --request */ in getparameter()
2818 err = getstr(&config->customrequest, nextarg, DENY_BLANK); in getparameter()
2820 case C_SPEED_TIME: /* --speed-time */ in getparameter()
2822 err = str2unum(&config->low_speed_time, nextarg); in getparameter()
2823 if(!err && !config->low_speed_limit) in getparameter()
2824 config->low_speed_limit = 1; in getparameter()
2826 case C_SPEED_LIMIT: /* --speed-limit */ in getparameter()
2828 err = str2unum(&config->low_speed_limit, nextarg); in getparameter()
2829 if(!err && !config->low_speed_time) in getparameter()
2830 config->low_speed_time = 30; in getparameter()
2832 case C_PARALLEL: /* --parallel */ in getparameter()
2833 global->parallel = toggle; in getparameter()
2835 case C_PARALLEL_MAX: { /* --parallel-max */ in getparameter()
2841 global->parallel_max = MAX_PARALLEL; in getparameter()
2843 global->parallel_max = PARALLEL_DEFAULT; in getparameter()
2845 global->parallel_max = (unsigned short)val; in getparameter()
2848 case C_PARALLEL_IMMEDIATE: /* --parallel-immediate */ in getparameter()
2849 global->parallel_connect = toggle; in getparameter()
2851 case C_TIME_COND: /* --time-cond */ in getparameter()
2854 case C_MPTCP: /* --mptcp */ in getparameter()
2855 config->mptcp = TRUE; in getparameter()
2878 struct OperationConfig *config = global->first; in parse_args()
2885 if(stillflags && ('-' == orig_opt[0])) { in parse_args()
2888 if(!strcmp("--", orig_opt)) in parse_args()
2890 following (URL) argument to start with -. */ in parse_args()
2894 if(i < (argc - 1)) { in parse_args()
2906 config = global->last; in parse_args()
2912 if(config->url_list && config->url_list->url) { in parse_args()
2914 config->next = malloc(sizeof(struct OperationConfig)); in parse_args()
2915 if(config->next) { in parse_args()
2917 config_init(config->next); in parse_args()
2920 config->next->global = global; in parse_args()
2923 global->last = config->next; in parse_args()
2926 config->next->prev = config; in parse_args()
2927 config = config->next; in parse_args()
2933 errorf(global, "missing URL before --next"); in parse_args()
2945 result = getparameter("--url", orig_opt, argv[i], &used, global, config); in parse_args()
2952 if(!result && config->content_disposition) { in parse_args()
2953 if(config->resume_from_current) in parse_args()