Lines Matching +full:ipv4 +full:- +full:simple +full:- +full:service +full:- +full:config
21 * SPDX-License-Identifier: curl
349 ARG_NONE, /* stand-alone but not a boolean */
350 ARG_BOOL, /* accepts a --no-[name] prefix */
360 {"abstract-unix-socket", ARG_FILE, ' ', C_ABSTRACT_UNIX_SOCKET},
362 {"alt-svc", ARG_STRG, ' ', C_ALT_SVC},
365 {"aws-sigv4", ARG_STRG, ' ', C_AWS_SIGV4},
368 {"ca-native", ARG_BOOL, ' ', C_CA_NATIVE},
372 {"cert-status", ARG_BOOL, ' ', C_CERT_STATUS},
373 {"cert-type", ARG_STRG, ' ', C_CERT_TYPE},
377 {"compressed-ssh", ARG_BOOL, ' ', C_COMPRESSED_SSH},
378 {"config", ARG_FILE, 'K', C_CONFIG},
379 {"connect-timeout", ARG_STRG, ' ', C_CONNECT_TIMEOUT},
380 {"connect-to", ARG_STRG, ' ', C_CONNECT_TO},
381 {"continue-at", ARG_STRG, 'C', C_CONTINUE_AT},
383 {"cookie-jar", ARG_STRG, 'c', C_COOKIE_JAR},
384 {"create-dirs", ARG_BOOL, ' ', C_CREATE_DIRS},
385 {"create-file-mode", ARG_STRG, ' ', C_CREATE_FILE_MODE},
390 {"data-ascii", ARG_STRG, ' ', C_DATA_ASCII},
391 {"data-binary", ARG_STRG, ' ', C_DATA_BINARY},
392 {"data-raw", ARG_STRG, ' ', C_DATA_RAW},
393 {"data-urlencode", ARG_STRG, ' ', C_DATA_URLENCODE},
397 {"disable-eprt", ARG_BOOL, ' ', C_DISABLE_EPRT},
398 {"disable-epsv", ARG_BOOL, ' ', C_DISABLE_EPSV},
399 {"disallow-username-in-url", ARG_BOOL, ' ', C_DISALLOW_USERNAME_IN_URL},
400 {"dns-interface", ARG_STRG, ' ', C_DNS_INTERFACE},
401 {"dns-ipv4-addr", ARG_STRG, ' ', C_DNS_IPV4_ADDR},
402 {"dns-ipv6-addr", ARG_STRG, ' ', C_DNS_IPV6_ADDR},
403 {"dns-servers", ARG_STRG, ' ', C_DNS_SERVERS},
404 {"doh-cert-status", ARG_BOOL, ' ', C_DOH_CERT_STATUS},
405 {"doh-insecure", ARG_BOOL, ' ', C_DOH_INSECURE},
406 {"doh-url" , ARG_STRG, ' ', C_DOH_URL},
407 {"dump-header", ARG_FILE, 'D', C_DUMP_HEADER},
409 {"egd-file", ARG_STRG, ' ', C_EGD_FILE},
413 {"etag-compare", ARG_FILE, ' ', C_ETAG_COMPARE},
414 {"etag-save", ARG_FILE, ' ', C_ETAG_SAVE},
415 {"expect100-timeout", ARG_STRG, ' ', C_EXPECT100_TIMEOUT},
417 {"fail-early", ARG_BOOL, ' ', C_FAIL_EARLY},
418 {"fail-with-body", ARG_BOOL, ' ', C_FAIL_WITH_BODY},
419 {"false-start", ARG_BOOL, ' ', C_FALSE_START},
421 {"form-escape", ARG_BOOL, ' ', C_FORM_ESCAPE},
422 {"form-string", ARG_STRG, ' ', C_FORM_STRING},
423 {"ftp-account", ARG_STRG, ' ', C_FTP_ACCOUNT},
424 {"ftp-alternative-to-user", ARG_STRG, ' ', C_FTP_ALTERNATIVE_TO_USER},
425 {"ftp-create-dirs", ARG_BOOL, ' ', C_FTP_CREATE_DIRS},
426 {"ftp-method", ARG_STRG, ' ', C_FTP_METHOD},
427 {"ftp-pasv", ARG_BOOL, ' ', C_FTP_PASV},
428 {"ftp-port", ARG_STRG, 'P', C_FTP_PORT},
429 {"ftp-pret", ARG_BOOL, ' ', C_FTP_PRET},
430 {"ftp-skip-pasv-ip", ARG_BOOL, ' ', C_FTP_SKIP_PASV_IP},
431 {"ftp-ssl", ARG_BOOL, ' ', C_FTP_SSL},
432 {"ftp-ssl-ccc", ARG_BOOL, ' ', C_FTP_SSL_CCC},
433 {"ftp-ssl-ccc-mode", ARG_STRG, ' ', C_FTP_SSL_CCC_MODE},
434 {"ftp-ssl-control", ARG_BOOL, ' ', C_FTP_SSL_CONTROL},
435 {"ftp-ssl-reqd", ARG_BOOL, ' ', C_FTP_SSL_REQD},
438 {"happy-eyeballs-timeout-ms", ARG_STRG, ' ', C_HAPPY_EYEBALLS_TIMEOUT_MS},
439 {"haproxy-clientip", ARG_STRG, ' ', C_HAPROXY_CLIENTIP},
440 {"haproxy-protocol", ARG_BOOL, ' ', C_HAPROXY_PROTOCOL},
451 {"http2-prior-knowledge", ARG_NONE, ' ', C_HTTP2_PRIOR_KNOWLEDGE},
453 {"http3-only", ARG_NONE, ' ', C_HTTP3_ONLY},
454 {"ignore-content-length", ARG_BOOL, ' ', C_IGNORE_CONTENT_LENGTH},
458 {"ipfs-gateway", ARG_STRG, ' ', C_IPFS_GATEWAY},
459 {"ipv4", ARG_NONE, '4', C_IPV4},
462 {"junk-session-cookies", ARG_BOOL, 'j', C_JUNK_SESSION_COOKIES},
464 {"keepalive-time", ARG_STRG, ' ', C_KEEPALIVE_TIME},
466 {"key-type", ARG_STRG, ' ', C_KEY_TYPE},
470 {"limit-rate", ARG_STRG, ' ', C_LIMIT_RATE},
471 {"list-only", ARG_BOOL, 'l', C_LIST_ONLY},
472 {"local-port", ARG_STRG, ' ', C_LOCAL_PORT},
474 {"location-trusted", ARG_BOOL, ' ', C_LOCATION_TRUSTED},
475 {"login-options", ARG_STRG, ' ', C_LOGIN_OPTIONS},
476 {"mail-auth", ARG_STRG, ' ', C_MAIL_AUTH},
477 {"mail-from", ARG_STRG, ' ', C_MAIL_FROM},
478 {"mail-rcpt", ARG_STRG, ' ', C_MAIL_RCPT},
479 {"mail-rcpt-allowfails", ARG_BOOL, ' ', C_MAIL_RCPT_ALLOWFAILS},
481 {"max-filesize", ARG_STRG, ' ', C_MAX_FILESIZE},
482 {"max-redirs", ARG_STRG, ' ', C_MAX_REDIRS},
483 {"max-time", ARG_STRG, 'm', C_MAX_TIME},
487 {"netrc-file", ARG_FILE, ' ', C_NETRC_FILE},
488 {"netrc-optional", ARG_BOOL, ' ', C_NETRC_OPTIONAL},
493 {"ntlm-wb", ARG_BOOL, ' ', C_NTLM_WB},
494 {"oauth2-bearer", ARG_STRG, ' ', C_OAUTH2_BEARER},
496 {"output-dir", ARG_STRG, ' ', C_OUTPUT_DIR},
498 {"parallel-immediate", ARG_BOOL, ' ', C_PARALLEL_IMMEDIATE},
499 {"parallel-max", ARG_STRG, ' ', C_PARALLEL_MAX},
501 {"path-as-is", ARG_BOOL, ' ', C_PATH_AS_IS},
507 {"progress-bar", ARG_BOOL, '#', C_PROGRESS_BAR},
508 {"progress-meter", ARG_BOOL, ' ', C_PROGRESS_METER},
510 {"proto-default", ARG_STRG, ' ', C_PROTO_DEFAULT},
511 {"proto-redir", ARG_STRG, ' ', C_PROTO_REDIR},
513 {"proxy-anyauth", ARG_BOOL, ' ', C_PROXY_ANYAUTH},
514 {"proxy-basic", ARG_BOOL, ' ', C_PROXY_BASIC},
515 {"proxy-ca-native", ARG_BOOL, ' ', C_PROXY_CA_NATIVE},
516 {"proxy-cacert", ARG_FILE, ' ', C_PROXY_CACERT},
517 {"proxy-capath", ARG_FILE, ' ', C_PROXY_CAPATH},
518 {"proxy-cert", ARG_FILE, ' ', C_PROXY_CERT},
519 {"proxy-cert-type", ARG_STRG, ' ', C_PROXY_CERT_TYPE},
520 {"proxy-ciphers", ARG_STRG, ' ', C_PROXY_CIPHERS},
521 {"proxy-crlfile", ARG_FILE, ' ', C_PROXY_CRLFILE},
522 {"proxy-digest", ARG_BOOL, ' ', C_PROXY_DIGEST},
523 {"proxy-header", ARG_STRG, ' ', C_PROXY_HEADER},
524 {"proxy-http2", ARG_BOOL, ' ', C_PROXY_HTTP2},
525 {"proxy-insecure", ARG_BOOL, ' ', C_PROXY_INSECURE},
526 {"proxy-key", ARG_FILE, ' ', C_PROXY_KEY},
527 {"proxy-key-type", ARG_STRG, ' ', C_PROXY_KEY_TYPE},
528 {"proxy-negotiate", ARG_BOOL, ' ', C_PROXY_NEGOTIATE},
529 {"proxy-ntlm", ARG_BOOL, ' ', C_PROXY_NTLM},
530 {"proxy-pass", ARG_STRG, ' ', C_PROXY_PASS},
531 {"proxy-pinnedpubkey", ARG_STRG, ' ', C_PROXY_PINNEDPUBKEY},
532 {"proxy-service-name", ARG_STRG, ' ', C_PROXY_SERVICE_NAME},
533 {"proxy-ssl-allow-beast", ARG_BOOL, ' ', C_PROXY_SSL_ALLOW_BEAST},
534 {"proxy-ssl-auto-client-cert", ARG_BOOL, ' ', C_PROXY_SSL_AUTO_CLIENT_CERT},
535 {"proxy-tls13-ciphers", ARG_STRG, ' ', C_PROXY_TLS13_CIPHERS},
536 {"proxy-tlsauthtype", ARG_STRG, ' ', C_PROXY_TLSAUTHTYPE},
537 {"proxy-tlspassword", ARG_STRG, ' ', C_PROXY_TLSPASSWORD},
538 {"proxy-tlsuser", ARG_STRG, ' ', C_PROXY_TLSUSER},
539 {"proxy-tlsv1", ARG_NONE, ' ', C_PROXY_TLSV1},
540 {"proxy-user", ARG_STRG, 'U', C_PROXY_USER},
545 {"random-file", ARG_FILE, ' ', C_RANDOM_FILE},
550 {"remote-header-name", ARG_BOOL, 'J', C_REMOTE_HEADER_NAME},
551 {"remote-name", ARG_BOOL, 'O', C_REMOTE_NAME},
552 {"remote-name-all", ARG_BOOL, ' ', C_REMOTE_NAME_ALL},
553 {"remote-time", ARG_BOOL, 'R', C_REMOTE_TIME},
554 {"remove-on-error", ARG_BOOL, ' ', C_REMOVE_ON_ERROR},
556 {"request-target", ARG_STRG, ' ', C_REQUEST_TARGET},
559 {"retry-all-errors", ARG_BOOL, ' ', C_RETRY_ALL_ERRORS},
560 {"retry-connrefused", ARG_BOOL, ' ', C_RETRY_CONNREFUSED},
561 {"retry-delay", ARG_STRG, ' ', C_RETRY_DELAY},
562 {"retry-max-time", ARG_STRG, ' ', C_RETRY_MAX_TIME},
563 {"sasl-authzid", ARG_STRG, ' ', C_SASL_AUTHZID},
564 {"sasl-ir", ARG_BOOL, ' ', C_SASL_IR},
565 {"service-name", ARG_STRG, ' ', C_SERVICE_NAME},
567 {"show-error", ARG_BOOL, 'S', C_SHOW_ERROR},
572 {"socks5-basic", ARG_BOOL, ' ', C_SOCKS5_BASIC},
573 {"socks5-gssapi", ARG_BOOL, ' ', C_SOCKS5_GSSAPI},
574 {"socks5-gssapi-nec", ARG_BOOL, ' ', C_SOCKS5_GSSAPI_NEC},
575 {"socks5-gssapi-service", ARG_STRG, ' ', C_SOCKS5_GSSAPI_SERVICE},
576 {"socks5-hostname", ARG_STRG, ' ', C_SOCKS5_HOSTNAME},
577 {"speed-limit", ARG_STRG, 'Y', C_SPEED_LIMIT},
578 {"speed-time", ARG_STRG, 'y', C_SPEED_TIME},
580 {"ssl-allow-beast", ARG_BOOL, ' ', C_SSL_ALLOW_BEAST},
581 {"ssl-auto-client-cert", ARG_BOOL, ' ', C_SSL_AUTO_CLIENT_CERT},
582 {"ssl-no-revoke", ARG_BOOL, ' ', C_SSL_NO_REVOKE},
583 {"ssl-reqd", ARG_BOOL, ' ', C_SSL_REQD},
584 {"ssl-revoke-best-effort", ARG_BOOL, ' ', C_SSL_REVOKE_BEST_EFFORT},
588 {"styled-output", ARG_BOOL, ' ', C_STYLED_OUTPUT},
589 {"suppress-connect-headers", ARG_BOOL, ' ', C_SUPPRESS_CONNECT_HEADERS},
590 {"tcp-fastopen", ARG_BOOL, ' ', C_TCP_FASTOPEN},
591 {"tcp-nodelay", ARG_BOOL, ' ', C_TCP_NODELAY},
592 {"telnet-option", ARG_STRG, 't', C_TELNET_OPTION},
593 {"test-event", ARG_BOOL, ' ', C_TEST_EVENT},
594 {"tftp-blksize", ARG_STRG, ' ', C_TFTP_BLKSIZE},
595 {"tftp-no-options", ARG_BOOL, ' ', C_TFTP_NO_OPTIONS},
596 {"time-cond", ARG_STRG, 'z', C_TIME_COND},
597 {"tls-max", ARG_STRG, ' ', C_TLS_MAX},
598 {"tls13-ciphers", ARG_STRG, ' ', C_TLS13_CIPHERS},
607 {"tr-encoding", ARG_BOOL, ' ', C_TR_ENCODING},
609 {"trace-ascii", ARG_FILE, ' ', C_TRACE_ASCII},
610 {"trace-config", ARG_STRG, ' ', C_TRACE_CONFIG},
611 {"trace-ids", ARG_BOOL, ' ', C_TRACE_IDS},
612 {"trace-time", ARG_BOOL, ' ', C_TRACE_TIME},
613 {"unix-socket", ARG_FILE, ' ', C_UNIX_SOCKET},
614 {"upload-file", ARG_FILE, 'T', C_UPLOAD_FILE},
616 {"url-query", ARG_STRG, ' ', C_URL_QUERY},
617 {"use-ascii", ARG_BOOL, 'B', C_USE_ASCII},
619 {"user-agent", ARG_STRG, 'A', C_USER_AGENT},
626 {"write-out", ARG_STRG, 'w', C_WRITE_OUT},
630 /* Split the argument of -E to 'certname' and 'passphrase' separated by colon.
653 * looks like a RFC7512 PKCS#11 URI which can be used as-is. in parse_cert_parameter()
673 /* we just ate all the non-special chars. now we're on either a special in parse_cert_parameter()
731 /* Replace (in-place) '%20' by '+' according to RFC1866 */
774 /* Get a size parameter for '--limit-rate' or '--max-filesize'.
816 /* for plain bytes, leave as-is */ in GetSizeParameter()
841 /* --data-urlencode */
863 nlen = p - nextarg; /* length of the name part */ in data_urlencode()
874 /* a '@' letter, it means that a file name or - (stdin) follows */ in data_urlencode()
875 if(!strcmp("-", p)) { in data_urlencode()
938 struct OperationConfig *config, in sethttpver() argument
941 if(config->httpversion && in sethttpver()
942 (config->httpversion != httpversion)) in sethttpver()
945 config->httpversion = httpversion; in sethttpver()
949 const char *config) in set_trace_config() argument
955 tmp = strdup(config); in set_trace_config()
964 case '-': in set_trace_config()
979 global->traceids = toggle; in set_trace_config()
980 global->tracetime = toggle; in set_trace_config()
986 global->traceids = toggle; in set_trace_config()
989 global->tracetime = toggle; in set_trace_config()
1007 return strcmp(aa->lname, bb->lname); in findarg()
1012 static const struct LongShort *singles[128 - ' ']; /* ASCII => pointer */ in single()
1022 singles[l - ' '] = &aliases[j]; in single()
1027 return singles[letter - ' ']; in single()
1033 struct OperationConfig *config) in url_query() argument
1051 if(config->query) { in url_query()
1052 CURLcode result = curlx_dyn_addf(&dyn, "%s&%s", config->query, query); in url_query()
1057 free(config->query); in url_query()
1058 config->query = curlx_dyn_ptr(&dyn); in url_query()
1062 config->query = query; in url_query()
1070 struct OperationConfig *config) in set_data() argument
1077 if(cmd == C_DATA_URLENCODE) { /* --data-urlencode */ in set_data()
1084 or - (stdin) follows */ in set_data()
1087 if(!strcmp("-", nextarg)) { in set_data()
1089 if(cmd == C_DATA_BINARY) /* forced data-binary */ in set_data()
1100 if((cmd == C_DATA_BINARY) || /* --data-binary */ in set_data()
1101 (cmd == C_JSON) /* --json */) in set_data()
1130 config->jsoned = TRUE; in set_data()
1132 if(curlx_dyn_len(&config->postdata)) { in set_data()
1133 /* skip separator append for --json */ in set_data()
1135 curlx_dyn_addn(&config->postdata, "&", 1)) in set_data()
1139 if(!err && curlx_dyn_addn(&config->postdata, postdata, size)) in set_data()
1144 config->postfields = curlx_dyn_ptr(&config->postdata); in set_data()
1151 /* --rate */ in set_rate()
1164 size_t numlen = div ? (size_t)(div - nextarg) : strlen(nextarg); in set_rate()
1165 if(numlen > sizeof(number) -1) in set_rate()
1192 errorf(global, "unsupported --rate unit"); in set_rate()
1203 global->ms_per_transfer = numerator/denominator; in set_rate()
1209 ParameterError getparameter(const char *flag, /* f or -long-flag */ in getparameter()
1215 struct OperationConfig *config) in getparameter() argument
1221 bool singleopt = FALSE; /* when true means '-o foo' used '-ofoo' */ in getparameter()
1224 by using --OPTION or --no-OPTION */ in getparameter()
1244 if(('-' != flag[0]) || ('-' == flag[1])) { in getparameter()
1246 const char *word = ('-' == flag[0]) ? flag + 2 : flag; in getparameter()
1251 if(!strncmp(word, "no-", 3)) { in getparameter()
1252 /* disable this option but ignore the "no-" part when looking for it */ in getparameter()
1257 else if(!strncmp(word, "expand-", 7)) { in getparameter()
1273 if(noflagged && (a->desc != ARG_BOOL)) { in getparameter()
1274 /* --no- prefixed an option that isn't boolean! */ in getparameter()
1282 if((a->desc != ARG_STRG) && in getparameter()
1283 (a->desc != ARG_FILE)) { in getparameter()
1284 /* --expand on an option that isn't a string or a filename */ in getparameter()
1305 /* we can loop here if we have multiple single-letters */ in getparameter()
1316 letter = a->letter; in getparameter()
1317 cmd = a->cmd; in getparameter()
1318 if(a->desc >= ARG_STRG) { in getparameter()
1335 if((a->desc == ARG_FILE) && in getparameter()
1336 (nextarg[0] == '-') && nextarg[1]) { in getparameter()
1347 else if((a->desc == ARG_NONE) && !toggle) { in getparameter()
1353 /* this is a precaution mostly to please scan-build, as all arguments in getparameter()
1360 case C_RANDOM_FILE: /* --random-file */ in getparameter()
1361 case C_EGD_FILE: /* --egd-file */ in getparameter()
1362 case C_NTLM_WB: /* --ntlm-wb */ in getparameter()
1363 warnf(global, "--%s is deprecated and has no function anymore", in getparameter()
1364 a->lname); in getparameter()
1366 case C_DNS_IPV4_ADDR: /* --dns-ipv4-addr */ in getparameter()
1367 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1371 err = getstr(&config->dns_ipv4_addr, nextarg, DENY_BLANK); in getparameter()
1373 case C_DNS_IPV6_ADDR: /* --dns-ipv6-addr */ in getparameter()
1374 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1378 err = getstr(&config->dns_ipv6_addr, nextarg, DENY_BLANK); in getparameter()
1380 case C_OAUTH2_BEARER: /* --oauth2-bearer */ in getparameter()
1381 err = getstr(&config->oauth_bearer, nextarg, DENY_BLANK); in getparameter()
1384 config->authtype |= CURLAUTH_BEARER; in getparameter()
1387 case C_CONNECT_TIMEOUT: /* --connect-timeout */ in getparameter()
1388 err = secs2ms(&config->connecttimeout_ms, nextarg); in getparameter()
1390 case C_DOH_URL: /* --doh-url */ in getparameter()
1391 err = getstr(&config->doh_url, nextarg, ALLOW_BLANK); in getparameter()
1392 if(!err && config->doh_url && !config->doh_url[0]) in getparameter()
1394 Curl_safefree(config->doh_url); in getparameter()
1396 case C_CIPHERS: /* -- ciphers */ in getparameter()
1397 err = getstr(&config->cipher_list, nextarg, DENY_BLANK); in getparameter()
1399 case C_DNS_INTERFACE: /* --dns-interface */ in getparameter()
1400 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1404 err = getstr(&config->dns_interface, nextarg, DENY_BLANK); in getparameter()
1406 case C_DISABLE_EPSV: /* --disable-epsv */ in getparameter()
1407 config->disable_epsv = toggle; in getparameter()
1409 case C_DISALLOW_USERNAME_IN_URL: /* --disallow-username-in-url */ in getparameter()
1410 config->disallow_username_in_url = toggle; in getparameter()
1412 case C_EPSV: /* --epsv */ in getparameter()
1413 config->disable_epsv = (!toggle)?TRUE:FALSE; in getparameter()
1415 case C_DNS_SERVERS: /* --dns-servers */ in getparameter()
1416 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
1420 err = getstr(&config->dns_servers, nextarg, DENY_BLANK); in getparameter()
1422 case C_TRACE: /* --trace */ in getparameter()
1423 err = getstr(&global->trace_dump, nextarg, DENY_BLANK); in getparameter()
1425 if(global->tracetype && (global->tracetype != TRACE_BIN)) in getparameter()
1426 warnf(global, "--trace overrides an earlier trace/verbose option"); in getparameter()
1427 global->tracetype = TRACE_BIN; in getparameter()
1430 case C_NPN: /* --npn */ in getparameter()
1431 warnf(global, "--npn is no longer supported"); in getparameter()
1433 case C_TRACE_ASCII: /* --trace-ascii */ in getparameter()
1434 err = getstr(&global->trace_dump, nextarg, DENY_BLANK); in getparameter()
1436 if(global->tracetype && (global->tracetype != TRACE_ASCII)) in getparameter()
1438 "--trace-ascii overrides an earlier trace/verbose option"); in getparameter()
1439 global->tracetype = TRACE_ASCII; in getparameter()
1442 case C_ALPN: /* --alpn */ in getparameter()
1443 config->noalpn = (!toggle)?TRUE:FALSE; in getparameter()
1445 case C_LIMIT_RATE: /* --limit-rate */ in getparameter()
1448 config->recvpersecond = value; in getparameter()
1449 config->sendpersecond = value; in getparameter()
1455 case C_COMPRESSED: /* --compressed */ in getparameter()
1459 config->encoding = toggle; in getparameter()
1461 case C_TR_ENCODING: /* --tr-encoding */ in getparameter()
1462 config->tr_encoding = toggle; in getparameter()
1464 case C_DIGEST: /* --digest */ in getparameter()
1466 config->authtype |= CURLAUTH_DIGEST; in getparameter()
1468 config->authtype &= ~CURLAUTH_DIGEST; in getparameter()
1470 case C_NEGOTIATE: /* --negotiate */ in getparameter()
1472 config->authtype &= ~CURLAUTH_NEGOTIATE; in getparameter()
1474 config->authtype |= CURLAUTH_NEGOTIATE; in getparameter()
1478 case C_NTLM: /* --ntlm */ in getparameter()
1480 config->authtype &= ~CURLAUTH_NTLM; in getparameter()
1482 config->authtype |= CURLAUTH_NTLM; in getparameter()
1486 case C_BASIC: /* --basic */ in getparameter()
1488 config->authtype |= CURLAUTH_BASIC; in getparameter()
1490 config->authtype &= ~CURLAUTH_BASIC; in getparameter()
1492 case C_ANYAUTH: /* --anyauth */ in getparameter()
1494 config->authtype = CURLAUTH_ANY; in getparameter()
1495 /* --no-anyauth simply doesn't touch it */ in getparameter()
1498 case C_WDEBUG: /* --wdebug */ in getparameter()
1502 case C_FTP_CREATE_DIRS: /* --ftp-create-dirs */ in getparameter()
1503 config->ftp_create_dirs = toggle; in getparameter()
1505 case C_CREATE_DIRS: /* --create-dirs */ in getparameter()
1506 config->create_dirs = toggle; in getparameter()
1508 case C_CREATE_FILE_MODE: /* --create-file-mode */ in getparameter()
1509 err = oct2nummax(&config->create_file_mode, nextarg, 0777); in getparameter()
1511 case C_MAX_REDIRS: /* --max-redirs */ in getparameter()
1512 /* specified max no of redirects (http(s)), this accepts -1 as a in getparameter()
1514 err = str2num(&config->maxredirs, nextarg); in getparameter()
1515 if(!err && (config->maxredirs < -1)) in getparameter()
1518 case C_IPFS_GATEWAY: /* --ipfs-gateway */ in getparameter()
1519 err = getstr(&config->ipfs_gateway, nextarg, DENY_BLANK); in getparameter()
1521 case C_PROXY_NTLM: /* --proxy-ntlm */ in getparameter()
1525 config->proxyntlm = toggle; in getparameter()
1527 case C_CRLF: /* --crlf */ in getparameter()
1528 /* LF -> CRLF conversion? */ in getparameter()
1529 config->crlf = toggle; in getparameter()
1531 case C_AWS_SIGV4: /* --aws-sigv4 */ in getparameter()
1532 config->authtype |= CURLAUTH_AWS_SIGV4; in getparameter()
1533 err = getstr(&config->aws_sigv4, nextarg, DENY_BLANK); in getparameter()
1535 case C_STDERR: /* --stderr */ in getparameter()
1538 case C_INTERFACE: /* --interface */ in getparameter()
1540 err = getstr(&config->iface, nextarg, DENY_BLANK); in getparameter()
1542 case C_KRB: /* --krb */ in getparameter()
1547 err = getstr(&config->krblevel, nextarg, DENY_BLANK); in getparameter()
1549 case C_HAPROXY_PROTOCOL: /* --haproxy-protocol */ in getparameter()
1550 config->haproxy_protocol = toggle; in getparameter()
1552 case C_HAPROXY_CLIENTIP: /* --haproxy-clientip */ in getparameter()
1553 err = getstr(&config->haproxy_clientip, nextarg, DENY_BLANK); in getparameter()
1555 case C_MAX_FILESIZE: /* --max-filesize */ in getparameter()
1556 err = GetSizeParameter(global, nextarg, "max-filesize", &value); in getparameter()
1558 config->max_filesize = value; in getparameter()
1560 case C_DISABLE_EPRT: /* --disable-eprt */ in getparameter()
1561 config->disable_eprt = toggle; in getparameter()
1563 case C_EPRT: /* --eprt */ in getparameter()
1564 config->disable_eprt = (!toggle)?TRUE:FALSE; in getparameter()
1566 case C_XATTR: /* --xattr */ in getparameter()
1567 config->xattr = toggle; in getparameter()
1569 case C_URL: /* --url */ in getparameter()
1570 if(!config->url_get) in getparameter()
1571 config->url_get = config->url_list; in getparameter()
1573 if(config->url_get) { in getparameter()
1574 /* there's a node here, if it already is filled-in continue to find in getparameter()
1576 while(config->url_get && (config->url_get->flags & GETOUT_URL)) in getparameter()
1577 config->url_get = config->url_get->next; in getparameter()
1582 if(config->url_get) in getparameter()
1584 url = config->url_get; in getparameter()
1587 config->url_get = url = new_getout(config); in getparameter()
1593 err = getstr(&url->url, nextarg, DENY_BLANK); in getparameter()
1594 url->flags |= GETOUT_URL; in getparameter()
1597 case C_FTP_SSL: /* --ftp-ssl */ in getparameter()
1598 case C_SSL: /* --ssl */ in getparameter()
1602 config->ftp_ssl = toggle; in getparameter()
1603 if(config->ftp_ssl) in getparameter()
1605 "--%s is an insecure option, consider --ssl-reqd instead", in getparameter()
1606 a->lname); in getparameter()
1609 case C_FTP_PASV: /* --ftp-pasv */ in getparameter()
1610 Curl_safefree(config->ftpport); in getparameter()
1612 case C_SOCKS5: /* --socks5 */ in getparameter()
1615 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1616 config->proxyver = CURLPROXY_SOCKS5; in getparameter()
1618 case C_SOCKS4: /* --socks4 */ in getparameter()
1619 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1620 config->proxyver = CURLPROXY_SOCKS4; in getparameter()
1622 case C_SOCKS4A: /* --socks4a */ in getparameter()
1623 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1624 config->proxyver = CURLPROXY_SOCKS4A; in getparameter()
1626 case C_SOCKS5_HOSTNAME: /* --socks5-hostname */ in getparameter()
1627 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1628 config->proxyver = CURLPROXY_SOCKS5_HOSTNAME; in getparameter()
1630 case C_TCP_NODELAY: /* --tcp-nodelay */ in getparameter()
1631 config->tcp_nodelay = toggle; in getparameter()
1633 case C_PROXY_DIGEST: /* --proxy-digest */ in getparameter()
1634 config->proxydigest = toggle; in getparameter()
1636 case C_PROXY_BASIC: /* --proxy-basic */ in getparameter()
1637 config->proxybasic = toggle; in getparameter()
1639 case C_RETRY: /* --retry */ in getparameter()
1640 err = str2unum(&config->req_retry, nextarg); in getparameter()
1642 case C_RETRY_CONNREFUSED: /* --retry-connrefused */ in getparameter()
1643 config->retry_connrefused = toggle; in getparameter()
1645 case C_RETRY_DELAY: /* --retry-delay */ in getparameter()
1646 err = str2unummax(&config->retry_delay, nextarg, LONG_MAX/1000); in getparameter()
1648 case C_RETRY_MAX_TIME: /* --retry-max-time */ in getparameter()
1649 err = str2unummax(&config->retry_maxtime, nextarg, LONG_MAX/1000); in getparameter()
1651 case C_RETRY_ALL_ERRORS: /* --retry-all-errors */ in getparameter()
1652 config->retry_all_errors = toggle; in getparameter()
1654 case C_PROXY_NEGOTIATE: /* --proxy-negotiate */ in getparameter()
1658 config->proxynegotiate = toggle; in getparameter()
1660 case C_FORM_ESCAPE: /* --form-escape */ in getparameter()
1661 config->mime_options &= ~CURLMIMEOPT_FORMESCAPE; in getparameter()
1663 config->mime_options |= CURLMIMEOPT_FORMESCAPE; in getparameter()
1665 case C_FTP_ACCOUNT: /* --ftp-account */ in getparameter()
1666 err = getstr(&config->ftp_account, nextarg, DENY_BLANK); in getparameter()
1668 case C_PROXY_ANYAUTH: /* --proxy-anyauth */ in getparameter()
1669 config->proxyanyauth = toggle; in getparameter()
1671 case C_TRACE_TIME: /* --trace-time */ in getparameter()
1672 global->tracetime = toggle; in getparameter()
1674 case C_IGNORE_CONTENT_LENGTH: /* --ignore-content-length */ in getparameter()
1675 config->ignorecl = toggle; in getparameter()
1677 case C_FTP_SKIP_PASV_IP: /* --ftp-skip-pasv-ip */ in getparameter()
1678 config->ftp_skip_ip = toggle; in getparameter()
1680 case C_FTP_METHOD: /* --ftp-method */ in getparameter()
1681 config->ftp_filemethod = ftpfilemethod(config, nextarg); in getparameter()
1683 case C_LOCAL_PORT: { /* --local-port */ in getparameter()
1692 rc = sscanf(p, " - %6s", lrange); in getparameter()
1693 *p = 0; /* null-terminate to make str2unum() work below */ in getparameter()
1698 err = str2unum(&config->localport, nextarg); in getparameter()
1699 if(err || (config->localport > 65535)) { in getparameter()
1704 config->localportrange = 1; /* default number of ports to try */ in getparameter()
1706 err = str2unum(&config->localportrange, lrange); in getparameter()
1707 if(err || (config->localportrange > 65535)) in getparameter()
1710 config->localportrange -= (config->localport-1); in getparameter()
1711 if(config->localportrange < 1) in getparameter()
1717 case C_FTP_ALTERNATIVE_TO_USER: /* --ftp-alternative-to-user */ in getparameter()
1718 err = getstr(&config->ftp_alternative_to_user, nextarg, DENY_BLANK); in getparameter()
1720 case C_FTP_SSL_REQD: /* --ftp-ssl-reqd */ in getparameter()
1721 case C_SSL_REQD: /* --ssl-reqd */ in getparameter()
1726 config->ftp_ssl_reqd = toggle; in getparameter()
1728 case C_SESSIONID: /* --sessionid */ in getparameter()
1729 config->disable_sessionid = (!toggle)?TRUE:FALSE; in getparameter()
1731 case C_FTP_SSL_CONTROL: /* --ftp-ssl-control */ in getparameter()
1735 config->ftp_ssl_control = toggle; in getparameter()
1737 case C_FTP_SSL_CCC: /* --ftp-ssl-ccc */ in getparameter()
1738 config->ftp_ssl_ccc = toggle; in getparameter()
1739 if(!config->ftp_ssl_ccc_mode) in getparameter()
1740 config->ftp_ssl_ccc_mode = CURLFTPSSL_CCC_PASSIVE; in getparameter()
1742 case C_FTP_SSL_CCC_MODE: /* --ftp-ssl-ccc-mode */ in getparameter()
1743 config->ftp_ssl_ccc = TRUE; in getparameter()
1744 config->ftp_ssl_ccc_mode = ftpcccmethod(config, nextarg); in getparameter()
1746 case C_LIBCURL: /* --libcurl */ in getparameter()
1749 "--libcurl option was disabled at build-time"); in getparameter()
1752 err = getstr(&global->libcurl, nextarg, DENY_BLANK); in getparameter()
1755 case C_RAW: /* --raw */ in getparameter()
1756 config->raw = toggle; in getparameter()
1758 case C_KEEPALIVE: /* --keepalive */ in getparameter()
1759 config->nokeepalive = (!toggle)?TRUE:FALSE; in getparameter()
1761 case C_KEEPALIVE_TIME: /* --keepalive-time */ in getparameter()
1762 err = str2unum(&config->alivetime, nextarg); in getparameter()
1764 case C_POST301: /* --post301 */ in getparameter()
1765 config->post301 = toggle; in getparameter()
1767 case C_POST302: /* --post302 */ in getparameter()
1768 config->post302 = toggle; in getparameter()
1770 case C_POST303: /* --post303 */ in getparameter()
1771 config->post303 = toggle; in getparameter()
1773 case C_NOPROXY: /* --noproxy */ in getparameter()
1775 err = getstr(&config->noproxy, nextarg, ALLOW_BLANK); in getparameter()
1777 case C_SOCKS5_GSSAPI_NEC: /* --socks5-gssapi-nec */ in getparameter()
1778 config->socks5_gssapi_nec = toggle; in getparameter()
1780 case C_PROXY1_0: /* --proxy1.0 */ in getparameter()
1782 err = getstr(&config->proxy, nextarg, DENY_BLANK); in getparameter()
1783 config->proxyver = CURLPROXY_HTTP_1_0; in getparameter()
1785 case C_TFTP_BLKSIZE: /* --tftp-blksize */ in getparameter()
1786 err = str2unum(&config->tftp_blksize, nextarg); in getparameter()
1788 case C_MAIL_FROM: /* --mail-from */ in getparameter()
1789 err = getstr(&config->mail_from, nextarg, DENY_BLANK); in getparameter()
1791 case C_MAIL_RCPT: /* --mail-rcpt */ in getparameter()
1793 err = add2list(&config->mail_rcpt, nextarg); in getparameter()
1795 case C_FTP_PRET: /* --ftp-pret */ in getparameter()
1796 config->ftp_pret = toggle; in getparameter()
1798 case C_PROTO: /* --proto */ in getparameter()
1799 config->proto_present = TRUE; in getparameter()
1800 err = proto2num(config, built_in_protos, &config->proto_str, nextarg); in getparameter()
1802 case C_PROTO_REDIR: /* --proto-redir */ in getparameter()
1803 config->proto_redir_present = TRUE; in getparameter()
1804 if(proto2num(config, redir_protos, &config->proto_redir_str, in getparameter()
1808 case C_RESOLVE: /* --resolve */ in getparameter()
1809 err = add2list(&config->resolve, nextarg); in getparameter()
1811 case C_DELEGATION: /* --delegation */ in getparameter()
1812 config->gssapi_delegation = delegation(config, nextarg); in getparameter()
1814 case C_MAIL_AUTH: /* --mail-auth */ in getparameter()
1815 err = getstr(&config->mail_auth, nextarg, DENY_BLANK); in getparameter()
1817 case C_METALINK: /* --metalink */ in getparameter()
1818 errorf(global, "--metalink is disabled"); in getparameter()
1821 case C_SASL_AUTHZID: /* --sasl-authzid */ in getparameter()
1822 err = getstr(&config->sasl_authzid, nextarg, DENY_BLANK); in getparameter()
1824 case C_SASL_IR: /* --sasl-ir */ in getparameter()
1825 config->sasl_ir = toggle; in getparameter()
1827 case C_TEST_EVENT: /* --test-event */ in getparameter()
1829 global->test_event_based = toggle; in getparameter()
1831 warnf(global, "--test-event is ignored unless a debug build"); in getparameter()
1834 case C_UNIX_SOCKET: /* --unix-socket */ in getparameter()
1835 config->abstract_unix_socket = FALSE; in getparameter()
1836 err = getstr(&config->unix_socket_path, nextarg, DENY_BLANK); in getparameter()
1838 case C_PATH_AS_IS: /* --path-as-is */ in getparameter()
1839 config->path_as_is = toggle; in getparameter()
1841 case C_PROXY_SERVICE_NAME: /* --proxy-service-name */ in getparameter()
1842 err = getstr(&config->proxy_service_name, nextarg, DENY_BLANK); in getparameter()
1844 case C_SERVICE_NAME: /* --service-name */ in getparameter()
1845 err = getstr(&config->service_name, nextarg, DENY_BLANK); in getparameter()
1847 case C_PROTO_DEFAULT: /* --proto-default */ in getparameter()
1848 err = getstr(&config->proto_default, nextarg, DENY_BLANK); in getparameter()
1850 err = check_protocol(config->proto_default); in getparameter()
1852 case C_EXPECT100_TIMEOUT: /* --expect100-timeout */ in getparameter()
1853 err = secs2ms(&config->expect100timeout_ms, nextarg); in getparameter()
1855 case C_TFTP_NO_OPTIONS: /* --tftp-no-options */ in getparameter()
1856 config->tftp_no_options = toggle; in getparameter()
1858 case C_CONNECT_TO: /* --connect-to */ in getparameter()
1859 err = add2list(&config->connect_to, nextarg); in getparameter()
1861 case C_ABSTRACT_UNIX_SOCKET: /* --abstract-unix-socket */ in getparameter()
1862 config->abstract_unix_socket = TRUE; in getparameter()
1863 err = getstr(&config->unix_socket_path, nextarg, DENY_BLANK); in getparameter()
1865 case C_TLS_MAX: /* --tls-max */ in getparameter()
1866 err = str2tls_max(&config->ssl_version_max, nextarg); in getparameter()
1868 case C_SUPPRESS_CONNECT_HEADERS: /* --suppress-connect-headers */ in getparameter()
1869 config->suppress_connect_headers = toggle; in getparameter()
1871 case C_COMPRESSED_SSH: /* --compressed-ssh */ in getparameter()
1872 config->ssh_compression = toggle; in getparameter()
1874 case C_HAPPY_EYEBALLS_TIMEOUT_MS: /* --happy-eyeballs-timeout-ms */ in getparameter()
1875 err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg); in getparameter()
1878 case C_TRACE_IDS: /* --trace-ids */ in getparameter()
1879 global->traceids = toggle; in getparameter()
1881 case C_TRACE_CONFIG: /* --trace-config */ in getparameter()
1885 case C_PROGRESS_METER: /* --progress-meter */ in getparameter()
1886 global->noprogress = !toggle; in getparameter()
1888 case C_PROGRESS_BAR: /* --progress-bar */ in getparameter()
1889 global->progressmode = toggle ? CURL_PROGRESS_BAR : CURL_PROGRESS_STATS; in getparameter()
1891 case C_VARIABLE: /* --Variable */ in getparameter()
1894 case C_NEXT: /* --next */ in getparameter()
1897 case C_HTTP1_0: /* --http1.0 */ in getparameter()
1899 sethttpver(global, config, CURL_HTTP_VERSION_1_0); in getparameter()
1901 case C_HTTP1_1: /* --http1.1 */ in getparameter()
1903 sethttpver(global, config, CURL_HTTP_VERSION_1_1); in getparameter()
1905 case C_HTTP2: /* --http2 */ in getparameter()
1909 sethttpver(global, config, CURL_HTTP_VERSION_2_0); in getparameter()
1911 case C_HTTP2_PRIOR_KNOWLEDGE: /* --http2-prior-knowledge */ in getparameter()
1915 sethttpver(global, config, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE); in getparameter()
1917 case C_HTTP3: /* --http3: */ in getparameter()
1922 sethttpver(global, config, CURL_HTTP_VERSION_3); in getparameter()
1924 case C_HTTP3_ONLY: /* --http3-only */ in getparameter()
1929 sethttpver(global, config, CURL_HTTP_VERSION_3ONLY); in getparameter()
1931 case C_HTTP0_9: /* --http0.9 */ in getparameter()
1933 config->http09_allowed = toggle; in getparameter()
1935 case C_PROXY_HTTP2: /* --proxy-http2 */ in getparameter()
1939 config->proxyver = CURLPROXY_HTTPS2; in getparameter()
1941 case C_TLSV1: /* --tlsv1 */ in getparameter()
1942 config->ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
1944 case C_TLSV1_0: /* --tlsv1.0 */ in getparameter()
1945 config->ssl_version = CURL_SSLVERSION_TLSv1_0; in getparameter()
1947 case C_TLSV1_1: /* --tlsv1.1 */ in getparameter()
1948 config->ssl_version = CURL_SSLVERSION_TLSv1_1; in getparameter()
1950 case C_TLSV1_2: /* --tlsv1.2 */ in getparameter()
1951 config->ssl_version = CURL_SSLVERSION_TLSv1_2; in getparameter()
1953 case C_TLSV1_3: /* --tlsv1.3 */ in getparameter()
1954 config->ssl_version = CURL_SSLVERSION_TLSv1_3; in getparameter()
1956 case C_TLS13_CIPHERS: /* --tls13-ciphers */ in getparameter()
1957 err = getstr(&config->cipher13_list, nextarg, DENY_BLANK); in getparameter()
1959 case C_PROXY_TLS13_CIPHERS: /* --proxy-tls13-ciphers */ in getparameter()
1960 err = getstr(&config->proxy_cipher13_list, nextarg, DENY_BLANK); in getparameter()
1962 case C_SSLV2: /* --sslv2 */ in getparameter()
1965 case C_SSLV3: /* --sslv3 */ in getparameter()
1968 case C_IPV4: /* --ipv4 */ in getparameter()
1969 config->ip_version = CURL_IPRESOLVE_V4; in getparameter()
1971 case C_IPV6: /* --ipv6 */ in getparameter()
1972 config->ip_version = CURL_IPRESOLVE_V6; in getparameter()
1974 case C_APPEND: /* --append */ in getparameter()
1976 config->ftp_append = toggle; in getparameter()
1978 case C_USER_AGENT: /* --user-agent */ in getparameter()
1979 err = getstr(&config->useragent, nextarg, ALLOW_BLANK); in getparameter()
1981 case C_ALT_SVC: /* --alt-svc */ in getparameter()
1985 err = getstr(&config->altsvc, nextarg, ALLOW_BLANK); in getparameter()
1987 case C_HSTS: /* --hsts */ in getparameter()
1991 err = getstr(&config->hsts, nextarg, ALLOW_BLANK); in getparameter()
1993 case C_COOKIE: /* --cookie */ in getparameter()
1995 /* A cookie string must have a =-letter */ in getparameter()
1996 err = add2list(&config->cookies, nextarg); in getparameter()
2001 err = add2list(&config->cookiefiles, nextarg); in getparameter()
2004 case C_USE_ASCII: /* --use-ascii */ in getparameter()
2005 config->use_ascii = toggle; in getparameter()
2007 case C_COOKIE_JAR: /* --cookie-jar */ in getparameter()
2008 err = getstr(&config->cookiejar, nextarg, DENY_BLANK); in getparameter()
2010 case C_CONTINUE_AT: /* --continue-at */ in getparameter()
2012 if(strcmp(nextarg, "-")) { in getparameter()
2013 err = str2offset(&config->resume_from, nextarg); in getparameter()
2014 config->resume_from_current = FALSE; in getparameter()
2017 config->resume_from_current = TRUE; in getparameter()
2018 config->resume_from = 0; in getparameter()
2020 config->use_resume = TRUE; in getparameter()
2022 case C_DATA: /* --data */ in getparameter()
2023 case C_DATA_ASCII: /* --data-ascii */ in getparameter()
2024 case C_DATA_BINARY: /* --data-binary */ in getparameter()
2025 case C_DATA_URLENCODE: /* --data-urlencode */ in getparameter()
2026 case C_JSON: /* --json */ in getparameter()
2027 case C_DATA_RAW: /* --data-raw */ in getparameter()
2028 err = set_data(cmd, nextarg, global, config); in getparameter()
2030 case C_URL_QUERY: /* --url-query */ in getparameter()
2031 err = url_query(nextarg, global, config); in getparameter()
2033 case C_DUMP_HEADER: /* --dump-header */ in getparameter()
2034 err = getstr(&config->headerfile, nextarg, DENY_BLANK); in getparameter()
2036 case C_REFERER: { /* --referer */ in getparameter()
2041 config->autoreferer = TRUE; in getparameter()
2042 *ptr = 0; /* null-terminate here */ in getparameter()
2045 config->autoreferer = FALSE; in getparameter()
2047 err = getstr(&config->referer, ptr, ALLOW_BLANK); in getparameter()
2050 case C_CERT: /* --cert */ in getparameter()
2052 GetFileAndPassword(nextarg, &config->cert, &config->key_passwd); in getparameter()
2054 case C_CACERT: /* --cacert */ in getparameter()
2055 err = getstr(&config->cacert, nextarg, DENY_BLANK); in getparameter()
2057 case C_CA_NATIVE: /* --ca-native */ in getparameter()
2058 config->native_ca_store = toggle; in getparameter()
2060 case C_PROXY_CA_NATIVE: /* --proxy-ca-native */ in getparameter()
2061 config->proxy_native_ca_store = toggle; in getparameter()
2063 case C_CERT_TYPE: /* --cert-type */ in getparameter()
2064 err = getstr(&config->cert_type, nextarg, DENY_BLANK); in getparameter()
2066 case C_KEY: /* --key */ in getparameter()
2067 err = getstr(&config->key, nextarg, DENY_BLANK); in getparameter()
2069 case C_KEY_TYPE: /* --key-type */ in getparameter()
2070 err = getstr(&config->key_type, nextarg, DENY_BLANK); in getparameter()
2072 case C_PASS: /* --pass */ in getparameter()
2073 err = getstr(&config->key_passwd, nextarg, DENY_BLANK); in getparameter()
2076 case C_ENGINE: /* --engine */ in getparameter()
2077 err = getstr(&config->engine, nextarg, DENY_BLANK); in getparameter()
2079 config->engine && !strcmp(config->engine, "list")) { in getparameter()
2084 case C_ECH: /* --ech, not implemented by default */ in getparameter()
2088 case C_ECH: /* --ech */ in getparameter()
2091 err = getstr(&config->ech_public, nextarg, DENY_BLANK); in getparameter()
2096 err = getstr(&config->ech_config, nextarg, DENY_BLANK); in getparameter()
2099 /* Indirect case: @filename or @- for stdin */ in getparameter()
2104 if(!strcmp("-", nextarg)) { in getparameter()
2113 "specified for \"--ech ecl:\" option", in getparameter()
2122 config->ech_config = aprintf("ecl:%s",tmpcfg); in getparameter()
2123 if(!config->ech_config) in getparameter()
2129 /* Simple case: just a string, with a keyword */ in getparameter()
2130 err = getstr(&config->ech, nextarg, DENY_BLANK); in getparameter()
2134 case C_CAPATH: /* --capath */ in getparameter()
2135 err = getstr(&config->capath, nextarg, DENY_BLANK); in getparameter()
2137 case C_PUBKEY: /* --pubkey */ in getparameter()
2138 err = getstr(&config->pubkey, nextarg, DENY_BLANK); in getparameter()
2140 case C_HOSTPUBMD5: /* --hostpubmd5 */ in getparameter()
2141 err = getstr(&config->hostpubmd5, nextarg, DENY_BLANK); in getparameter()
2143 if(!config->hostpubmd5 || strlen(config->hostpubmd5) != 32) in getparameter()
2147 case C_HOSTPUBSHA256: /* --hostpubsha256 */ in getparameter()
2148 err = getstr(&config->hostpubsha256, nextarg, DENY_BLANK); in getparameter()
2150 case C_CRLFILE: /* --crlfile */ in getparameter()
2151 err = getstr(&config->crlfile, nextarg, DENY_BLANK); in getparameter()
2153 case C_TLSUSER: /* --tlsuser */ in getparameter()
2157 err = getstr(&config->tls_username, nextarg, DENY_BLANK); in getparameter()
2160 case C_TLSPASSWORD: /* --tlspassword */ in getparameter()
2164 err = getstr(&config->tls_password, nextarg, ALLOW_BLANK); in getparameter()
2167 case C_TLSAUTHTYPE: /* --tlsauthtype */ in getparameter()
2171 err = getstr(&config->tls_authtype, nextarg, DENY_BLANK); in getparameter()
2172 if(!err && strcmp(config->tls_authtype, "SRP")) in getparameter()
2173 err = PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
2176 case C_SSL_ALLOW_BEAST: /* --ssl-allow-beast */ in getparameter()
2178 config->ssl_allow_beast = toggle; in getparameter()
2180 case C_SSL_AUTO_CLIENT_CERT: /* --ssl-auto-client-cert */ in getparameter()
2182 config->ssl_auto_client_cert = toggle; in getparameter()
2184 case C_PROXY_SSL_AUTO_CLIENT_CERT: /* --proxy-ssl-auto-client-cert */ in getparameter()
2186 config->proxy_ssl_auto_client_cert = toggle; in getparameter()
2188 case C_PINNEDPUBKEY: /* --pinnedpubkey */ in getparameter()
2189 err = getstr(&config->pinnedpubkey, nextarg, DENY_BLANK); in getparameter()
2191 case C_PROXY_PINNEDPUBKEY: /* --proxy-pinnedpubkey */ in getparameter()
2192 err = getstr(&config->proxy_pinnedpubkey, nextarg, DENY_BLANK); in getparameter()
2194 case C_CERT_STATUS: /* --cert-status */ in getparameter()
2195 config->verifystatus = TRUE; in getparameter()
2197 case C_DOH_CERT_STATUS: /* --doh-cert-status */ in getparameter()
2198 config->doh_verifystatus = TRUE; in getparameter()
2200 case C_FALSE_START: /* --false-start */ in getparameter()
2201 config->falsestart = TRUE; in getparameter()
2203 case C_SSL_NO_REVOKE: /* --ssl-no-revoke */ in getparameter()
2205 config->ssl_no_revoke = TRUE; in getparameter()
2207 case C_SSL_REVOKE_BEST_EFFORT: /* --ssl-revoke-best-effort */ in getparameter()
2209 config->ssl_revoke_best_effort = TRUE; in getparameter()
2211 case C_TCP_FASTOPEN: /* --tcp-fastopen */ in getparameter()
2212 config->tcp_fastopen = TRUE; in getparameter()
2214 case C_PROXY_TLSUSER: /* --proxy-tlsuser */ in getparameter()
2219 err = getstr(&config->proxy_tls_username, nextarg, ALLOW_BLANK); in getparameter()
2221 case C_PROXY_TLSPASSWORD: /* --proxy-tlspassword */ in getparameter()
2226 err = getstr(&config->proxy_tls_password, nextarg, DENY_BLANK); in getparameter()
2228 case C_PROXY_TLSAUTHTYPE: /* --proxy-tlsauthtype */ in getparameter()
2232 err = getstr(&config->proxy_tls_authtype, nextarg, DENY_BLANK); in getparameter()
2233 if(!err && strcmp(config->proxy_tls_authtype, "SRP")) in getparameter()
2234 err = PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
2237 case C_PROXY_CERT: /* --proxy-cert */ in getparameter()
2239 GetFileAndPassword(nextarg, &config->proxy_cert, in getparameter()
2240 &config->proxy_key_passwd); in getparameter()
2242 case C_PROXY_CERT_TYPE: /* --proxy-cert-type */ in getparameter()
2243 err = getstr(&config->proxy_cert_type, nextarg, DENY_BLANK); in getparameter()
2245 case C_PROXY_KEY: /* --proxy-key */ in getparameter()
2246 err = getstr(&config->proxy_key, nextarg, ALLOW_BLANK); in getparameter()
2248 case C_PROXY_KEY_TYPE: /* --proxy-key-type */ in getparameter()
2249 err = getstr(&config->proxy_key_type, nextarg, DENY_BLANK); in getparameter()
2251 case C_PROXY_PASS: /* --proxy-pass */ in getparameter()
2252 err = getstr(&config->proxy_key_passwd, nextarg, ALLOW_BLANK); in getparameter()
2255 case C_PROXY_CIPHERS: /* --proxy-ciphers */ in getparameter()
2256 err = getstr(&config->proxy_cipher_list, nextarg, DENY_BLANK); in getparameter()
2258 case C_PROXY_CRLFILE: /* --proxy-crlfile */ in getparameter()
2259 err = getstr(&config->proxy_crlfile, nextarg, DENY_BLANK); in getparameter()
2261 case C_PROXY_SSL_ALLOW_BEAST: /* --proxy-ssl-allow-beast */ in getparameter()
2263 config->proxy_ssl_allow_beast = toggle; in getparameter()
2265 case C_LOGIN_OPTIONS: /* --login-options */ in getparameter()
2266 err = getstr(&config->login_options, nextarg, ALLOW_BLANK); in getparameter()
2268 case C_PROXY_CACERT: /* --proxy-cacert */ in getparameter()
2269 err = getstr(&config->proxy_cacert, nextarg, DENY_BLANK); in getparameter()
2271 case C_PROXY_CAPATH: /* --proxy-capath */ in getparameter()
2272 err = getstr(&config->proxy_capath, nextarg, DENY_BLANK); in getparameter()
2274 case C_PROXY_INSECURE: /* --proxy-insecure */ in getparameter()
2275 config->proxy_insecure_ok = toggle; in getparameter()
2277 case C_PROXY_TLSV1: /* --proxy-tlsv1 */ in getparameter()
2279 config->proxy_ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
2281 case C_SOCKS5_BASIC: /* --socks5-basic */ in getparameter()
2283 config->socks5_auth |= CURLAUTH_BASIC; in getparameter()
2285 config->socks5_auth &= ~CURLAUTH_BASIC; in getparameter()
2287 case C_SOCKS5_GSSAPI: /* --socks5-gssapi */ in getparameter()
2289 config->socks5_auth |= CURLAUTH_GSSAPI; in getparameter()
2291 config->socks5_auth &= ~CURLAUTH_GSSAPI; in getparameter()
2293 case C_ETAG_SAVE: /* --etag-save */ in getparameter()
2294 err = getstr(&config->etag_save_file, nextarg, DENY_BLANK); in getparameter()
2296 case C_ETAG_COMPARE: /* --etag-compare */ in getparameter()
2297 err = getstr(&config->etag_compare_file, nextarg, DENY_BLANK); in getparameter()
2299 case C_CURVES: /* --curves */ in getparameter()
2300 err = getstr(&config->ssl_ec_curves, nextarg, DENY_BLANK); in getparameter()
2302 case C_FAIL_EARLY: /* --fail-early */ in getparameter()
2303 global->fail_early = toggle; in getparameter()
2305 case C_STYLED_OUTPUT: /* --styled-output */ in getparameter()
2306 global->styled_output = toggle; in getparameter()
2308 case C_MAIL_RCPT_ALLOWFAILS: /* --mail-rcpt-allowfails */ in getparameter()
2309 config->mail_rcpt_allowfails = toggle; in getparameter()
2311 case C_FAIL_WITH_BODY: /* --fail-with-body */ in getparameter()
2312 config->failwithbody = toggle; in getparameter()
2313 if(config->failonerror && config->failwithbody) { in getparameter()
2314 errorf(config->global, "You must select either --fail or " in getparameter()
2315 "--fail-with-body, not both."); in getparameter()
2319 case C_REMOVE_ON_ERROR: /* --remove-on-error */ in getparameter()
2320 config->rm_partial = toggle; in getparameter()
2322 case C_FAIL: /* --fail */ in getparameter()
2323 config->failonerror = toggle; in getparameter()
2324 if(config->failonerror && config->failwithbody) { in getparameter()
2325 errorf(config->global, "You must select either --fail or " in getparameter()
2326 "--fail-with-body, not both."); in getparameter()
2330 case C_FORM: /* --form */ in getparameter()
2331 case C_FORM_STRING: /* --form-string */ in getparameter()
2334 if(formparse(config, in getparameter()
2336 &config->mimeroot, in getparameter()
2337 &config->mimecurrent, in getparameter()
2340 else if(SetHTTPrequest(config, HTTPREQ_MIMEPOST, &config->httpreq)) in getparameter()
2343 case C_GLOBOFF: /* --globoff */ in getparameter()
2344 config->globoff = toggle; in getparameter()
2346 case C_GET: /* --get */ in getparameter()
2347 config->use_httpget = toggle; in getparameter()
2349 case C_REQUEST_TARGET: /* --request-target */ in getparameter()
2350 err = getstr(&config->request_target, nextarg, DENY_BLANK); in getparameter()
2352 case C_HELP: /* --help */ in getparameter()
2355 global->help_category = strdup(nextarg); in getparameter()
2356 if(!global->help_category) { in getparameter()
2363 /* we now actually support --no-help too! */ in getparameter()
2365 case C_HEADER: /* --header */ in getparameter()
2366 case C_PROXY_HEADER: /* --proxy-header */ in getparameter()
2372 bool use_stdin = !strcmp(&nextarg[1], "-"); in getparameter()
2385 if(cmd == C_PROXY_HEADER) /* --proxy-header */ in getparameter()
2386 err = add2list(&config->proxyheaders, h); in getparameter()
2388 err = add2list(&config->headers, h); in getparameter()
2400 if(cmd == C_PROXY_HEADER) /* --proxy-header */ in getparameter()
2401 err = add2list(&config->proxyheaders, nextarg); in getparameter()
2403 err = add2list(&config->headers, nextarg); in getparameter()
2406 case C_INCLUDE: /* --include */ in getparameter()
2407 config->show_headers = toggle; /* show the headers as well in the in getparameter()
2410 case C_JUNK_SESSION_COOKIES: /* --junk-session-cookies */ in getparameter()
2411 config->cookiesession = toggle; in getparameter()
2413 case C_HEAD: /* --head */ in getparameter()
2414 config->no_body = toggle; in getparameter()
2415 config->show_headers = toggle; in getparameter()
2416 if(SetHTTPrequest(config, in getparameter()
2417 (config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET, in getparameter()
2418 &config->httpreq)) in getparameter()
2421 case C_REMOTE_HEADER_NAME: /* --remote-header-name */ in getparameter()
2422 config->content_disposition = toggle; in getparameter()
2424 case C_INSECURE: /* --insecure */ in getparameter()
2425 config->insecure_ok = toggle; in getparameter()
2427 case C_DOH_INSECURE: /* --doh-insecure */ in getparameter()
2428 config->doh_insecure_ok = toggle; in getparameter()
2430 case C_CONFIG: /* --config */ in getparameter()
2432 errorf(global, "cannot read config from '%s'", nextarg); in getparameter()
2436 case C_LIST_ONLY: /* --list-only */ in getparameter()
2437 config->dirlistonly = toggle; /* only list the names of the FTP dir */ in getparameter()
2439 case C_LOCATION_TRUSTED: /* --location-trusted */ in getparameter()
2442 config->unrestricted_auth = toggle; in getparameter()
2444 case C_LOCATION: /* --location */ in getparameter()
2445 config->followlocation = toggle; /* Follow Location: HTTP headers */ in getparameter()
2447 case C_MAX_TIME: /* --max-time */ in getparameter()
2449 err = secs2ms(&config->timeout_ms, nextarg); in getparameter()
2451 case C_MANUAL: /* --manual */ in getparameter()
2452 if(toggle) { /* --no-manual shows no manual... */ in getparameter()
2455 "built-in manual was disabled at build-time"); in getparameter()
2460 case C_NETRC_OPTIONAL: /* --netrc-optional */ in getparameter()
2461 config->netrc_opt = toggle; in getparameter()
2463 case C_NETRC_FILE: /* --netrc-file */ in getparameter()
2464 err = getstr(&config->netrc_file, nextarg, DENY_BLANK); in getparameter()
2466 case C_NETRC: /* --netrc */ in getparameter()
2469 config->netrc = toggle; in getparameter()
2471 case C_BUFFER: /* --buffer */ in getparameter()
2473 --buffer but is mostly used in the negative form: --no-buffer */ in getparameter()
2474 config->nobuffer = longopt ? !toggle : TRUE; in getparameter()
2476 case C_REMOTE_NAME_ALL: /* --remote-name-all */ in getparameter()
2477 config->default_node_flags = toggle?GETOUT_USEREMOTE:0; in getparameter()
2479 case C_OUTPUT_DIR: /* --output-dir */ in getparameter()
2480 err = getstr(&config->output_dir, nextarg, DENY_BLANK); in getparameter()
2482 case C_CLOBBER: /* --clobber */ in getparameter()
2483 config->file_clobber_mode = toggle ? CLOBBER_ALWAYS : CLOBBER_NEVER; in getparameter()
2485 case C_OUTPUT: /* --output */ in getparameter()
2486 case C_REMOTE_NAME: /* --remote-name */ in getparameter()
2488 if(!config->url_out) in getparameter()
2489 config->url_out = config->url_list; in getparameter()
2490 if(config->url_out) { in getparameter()
2491 /* there's a node here, if it already is filled-in continue to find in getparameter()
2493 while(config->url_out && (config->url_out->flags & GETOUT_OUTFILE)) in getparameter()
2494 config->url_out = config->url_out->next; in getparameter()
2499 if(config->url_out) in getparameter()
2501 url = config->url_out; in getparameter()
2503 if(!toggle && !config->default_node_flags) in getparameter()
2506 config->url_out = url = new_getout(config); in getparameter()
2516 err = getstr(&url->outfile, nextarg, DENY_BLANK); in getparameter()
2517 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in getparameter()
2520 url->outfile = NULL; /* leave it */ in getparameter()
2522 url->flags |= GETOUT_USEREMOTE; /* switch on */ in getparameter()
2524 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in getparameter()
2526 url->flags |= GETOUT_OUTFILE; in getparameter()
2528 case C_FTP_PORT: /* --ftp-port */ in getparameter()
2534 err = getstr(&config->ftpport, nextarg, DENY_BLANK); in getparameter()
2536 case C_PROXYTUNNEL: /* --proxytunnel */ in getparameter()
2537 /* proxy tunnel for non-http protocols */ in getparameter()
2538 config->proxytunnel = toggle; in getparameter()
2541 case C_DISABLE: /* --disable */ in getparameter()
2545 case C_QUOTE: /* --quote */ in getparameter()
2548 case '-': in getparameter()
2551 err = add2list(&config->postquote, nextarg); in getparameter()
2554 /* prefixed with a plus makes it a just-before-transfer one */ in getparameter()
2556 err = add2list(&config->prequote, nextarg); in getparameter()
2559 err = add2list(&config->quote, nextarg); in getparameter()
2563 case C_RANGE: /* --range */ in getparameter()
2566 claimed that to be a good way, why this code is added to work-around in getparameter()
2568 if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) { in getparameter()
2576 "A specified range MUST include at least one dash (-). " in getparameter()
2578 msnprintf(buffer, sizeof(buffer), "%" CURL_FORMAT_CURL_OFF_T "-", in getparameter()
2580 Curl_safefree(config->range); in getparameter()
2581 config->range = strdup(buffer); in getparameter()
2582 if(!config->range) in getparameter()
2590 if(!ISDIGIT(*tmp_range) && *tmp_range != '-' && *tmp_range != ',') { in getparameter()
2593 "\'start\'-\'stop\'. The server's response to this " in getparameter()
2599 err = getstr(&config->range, nextarg, DENY_BLANK); in getparameter()
2602 case C_REMOTE_TIME: /* --remote-time */ in getparameter()
2604 config->remote_time = toggle; in getparameter()
2606 case C_SILENT: /* --silent */ in getparameter()
2607 global->silent = toggle; in getparameter()
2609 case C_SHOW_ERROR: /* --show-error */ in getparameter()
2610 global->showerror = toggle; in getparameter()
2612 case C_TELNET_OPTION: /* --telnet-option */ in getparameter()
2614 err = add2list(&config->telnet_options, nextarg); in getparameter()
2616 case C_UPLOAD_FILE: /* --upload-file */ in getparameter()
2618 if(!config->url_ul) in getparameter()
2619 config->url_ul = config->url_list; in getparameter()
2620 if(config->url_ul) { in getparameter()
2621 /* there's a node here, if it already is filled-in continue to find in getparameter()
2623 while(config->url_ul && (config->url_ul->flags & GETOUT_UPLOAD)) in getparameter()
2624 config->url_ul = config->url_ul->next; in getparameter()
2629 if(config->url_ul) in getparameter()
2631 url = config->url_ul; in getparameter()
2634 config->url_ul = url = new_getout(config); in getparameter()
2641 url->flags |= GETOUT_UPLOAD; /* mark -T used */ in getparameter()
2643 url->flags |= GETOUT_NOUPLOAD; in getparameter()
2645 /* "-" equals stdin, but keep the string around for now */ in getparameter()
2646 err = getstr(&url->infile, nextarg, DENY_BLANK); in getparameter()
2649 case C_USER: /* --user */ in getparameter()
2651 err = getstr(&config->userpwd, nextarg, ALLOW_BLANK); in getparameter()
2654 case C_PROXY_USER: /* --proxy-user */ in getparameter()
2656 err = getstr(&config->proxyuserpwd, nextarg, ALLOW_BLANK); in getparameter()
2659 case C_VERBOSE: /* --verbose */ in getparameter()
2662 Curl_safefree(global->trace_dump); in getparameter()
2663 global->trace_dump = strdup("%"); in getparameter()
2664 if(!global->trace_dump) in getparameter()
2667 if(global->tracetype && (global->tracetype != TRACE_PLAIN)) in getparameter()
2669 "-v, --verbose overrides an earlier trace/verbose option"); in getparameter()
2670 global->tracetype = TRACE_PLAIN; in getparameter()
2675 global->tracetype = TRACE_NONE; in getparameter()
2677 case C_VERSION: /* --version */ in getparameter()
2678 if(toggle) /* --no-version yields no output! */ in getparameter()
2681 case C_WRITE_OUT: /* --write-out */ in getparameter()
2685 or - (stdin) follows */ in getparameter()
2689 if(!strcmp("-", nextarg)) { in getparameter()
2702 Curl_safefree(config->writeout); in getparameter()
2703 err = file2string(&config->writeout, file); in getparameter()
2708 if(!config->writeout) in getparameter()
2712 err = getstr(&config->writeout, nextarg, ALLOW_BLANK); in getparameter()
2714 case C_PREPROXY: /* --preproxy */ in getparameter()
2715 err = getstr(&config->preproxy, nextarg, DENY_BLANK); in getparameter()
2717 case C_PROXY: /* --proxy */ in getparameter()
2718 /* --proxy */ in getparameter()
2719 err = getstr(&config->proxy, nextarg, ALLOW_BLANK); in getparameter()
2720 if(config->proxyver != CURLPROXY_HTTPS2) in getparameter()
2721 config->proxyver = CURLPROXY_HTTP; in getparameter()
2723 case C_REQUEST: /* --request */ in getparameter()
2725 err = getstr(&config->customrequest, nextarg, DENY_BLANK); in getparameter()
2727 case C_SPEED_TIME: /* --speed-time */ in getparameter()
2729 err = str2unum(&config->low_speed_time, nextarg); in getparameter()
2730 if(!err && !config->low_speed_limit) in getparameter()
2731 config->low_speed_limit = 1; in getparameter()
2733 case C_SPEED_LIMIT: /* --speed-limit */ in getparameter()
2735 err = str2unum(&config->low_speed_limit, nextarg); in getparameter()
2736 if(!err && !config->low_speed_time) in getparameter()
2737 config->low_speed_time = 30; in getparameter()
2739 case C_PARALLEL: /* --parallel */ in getparameter()
2740 global->parallel = toggle; in getparameter()
2742 case C_PARALLEL_MAX: { /* --parallel-max */ in getparameter()
2748 global->parallel_max = MAX_PARALLEL; in getparameter()
2750 global->parallel_max = PARALLEL_DEFAULT; in getparameter()
2752 global->parallel_max = (unsigned short)val; in getparameter()
2755 case C_PARALLEL_IMMEDIATE: /* --parallel-immediate */ in getparameter()
2756 global->parallel_connect = toggle; in getparameter()
2758 case C_TIME_COND: /* --time-cond */ in getparameter()
2764 /* If-Modified-Since: (section 14.28 in RFC2068) */ in getparameter()
2765 config->timecond = CURL_TIMECOND_IFMODSINCE; in getparameter()
2767 case '-': in getparameter()
2768 /* If-Unmodified-Since: (section 14.24 in RFC2068) */ in getparameter()
2769 config->timecond = CURL_TIMECOND_IFUNMODSINCE; in getparameter()
2773 /* Last-Modified: (section 14.29 in RFC2068) */ in getparameter()
2774 config->timecond = CURL_TIMECOND_LASTMOD; in getparameter()
2779 config->condtime = (curl_off_t)curl_getdate(nextarg, &now); in getparameter()
2780 if(-1 == config->condtime) { in getparameter()
2785 config->condtime = value; in getparameter()
2788 config->timecond = CURL_TIMECOND_NONE; in getparameter()
2790 "Illegal date format for -z, --time-cond (and not " in getparameter()
2817 struct OperationConfig *config = global->first; in parse_args() local
2824 if(stillflags && ('-' == orig_opt[0])) { in parse_args()
2827 if(!strcmp("--", orig_opt)) in parse_args()
2829 following (URL) argument to start with -. */ in parse_args()
2833 if(i < (argc - 1)) { in parse_args()
2842 global, config); in parse_args()
2845 config = global->last; in parse_args()
2851 if(config->url_list && config->url_list->url) { in parse_args()
2852 /* Allocate the next config */ in parse_args()
2853 config->next = malloc(sizeof(struct OperationConfig)); in parse_args()
2854 if(config->next) { in parse_args()
2855 /* Initialise the newly created config */ in parse_args()
2856 config_init(config->next); in parse_args()
2858 /* Set the global config pointer */ in parse_args()
2859 config->next->global = global; in parse_args()
2861 /* Update the last config pointer */ in parse_args()
2862 global->last = config->next; in parse_args()
2864 /* Move onto the new config */ in parse_args()
2865 config->next->prev = config; in parse_args()
2866 config = config->next; in parse_args()
2872 errorf(global, "missing URL before --next"); in parse_args()
2884 result = getparameter("--url", orig_opt, argv[i], &used, global, config); in parse_args()
2891 if(!result && config->content_disposition) { in parse_args()
2892 if(config->show_headers) in parse_args()
2894 else if(config->resume_from_current) in parse_args()