• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:config

8  * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
66 ARG_NONE, /* stand-alone but not a boolean */
67 ARG_BOOL, /* accepts a --no-[name] prefix */
77 {"*4", "dns-ipv4-addr", ARG_STRING},
78 {"*6", "dns-ipv6-addr", ARG_STRING},
79 {"*a", "random-file", ARG_FILENAME},
80 {"*b", "egd-file", ARG_STRING},
81 {"*B", "oauth2-bearer", ARG_STRING},
82 {"*c", "connect-timeout", ARG_STRING},
83 {"*C", "doh-url" , ARG_STRING},
85 {"*D", "dns-interface", ARG_STRING},
86 {"*e", "disable-epsv", ARG_BOOL},
87 {"*f", "disallow-username-in-url", ARG_BOOL},
89 /* 'epsv' made like this to make --no-epsv and --epsv to work
90 although --disable-epsv is the documented option */
91 {"*F", "dns-servers", ARG_STRING},
94 {"*h", "trace-ascii", ARG_FILENAME},
96 {"*i", "limit-rate", ARG_STRING},
98 {"*J", "tr-encoding", ARG_BOOL},
102 {"*M", "ntlm-wb", ARG_BOOL},
108 {"*q", "ftp-create-dirs", ARG_BOOL},
109 {"*r", "create-dirs", ARG_BOOL},
110 {"*R", "create-file-mode", ARG_STRING},
111 {"*s", "max-redirs", ARG_STRING},
112 {"*t", "proxy-ntlm", ARG_BOOL},
115 {"*V", "aws-sigv4", ARG_STRING},
120 {"*X", "haproxy-protocol", ARG_BOOL},
121 {"*y", "max-filesize", ARG_STRING},
122 {"*z", "disable-eprt", ARG_BOOL},
124 /* 'eprt' made like this to make --no-eprt and --eprt to work
125 although --disable-eprt is the documented option */
127 {"$a", "ftp-ssl", ARG_BOOL},
128 /* 'ftp-ssl' deprecated name since 7.20.0 */
130 /* 'ssl' new option name in 7.20.0, previously this was ftp-ssl */
131 {"$b", "ftp-pasv", ARG_BOOL},
133 {"$d", "tcp-nodelay", ARG_BOOL},
134 {"$e", "proxy-digest", ARG_BOOL},
135 {"$f", "proxy-basic", ARG_BOOL},
137 {"$V", "retry-connrefused", ARG_BOOL},
138 {"$h", "retry-delay", ARG_STRING},
139 {"$i", "retry-max-time", ARG_STRING},
140 {"$k", "proxy-negotiate", ARG_BOOL},
141 {"$m", "ftp-account", ARG_STRING},
142 {"$n", "proxy-anyauth", ARG_BOOL},
143 {"$o", "trace-time", ARG_BOOL},
144 {"$p", "ignore-content-length", ARG_BOOL},
145 {"$q", "ftp-skip-pasv-ip", ARG_BOOL},
146 {"$r", "ftp-method", ARG_STRING},
147 {"$s", "local-port", ARG_STRING},
150 {"$u", "ftp-alternative-to-user", ARG_STRING},
151 {"$v", "ftp-ssl-reqd", ARG_BOOL},
152 /* 'ftp-ssl-reqd' deprecated name since 7.20.0 */
153 {"$v", "ssl-reqd", ARG_BOOL},
154 /* 'ssl-reqd' new in 7.20.0, previously this was ftp-ssl-reqd */
156 /* 'sessionid' listed as --no-sessionid in the help */
157 {"$x", "ftp-ssl-control", ARG_BOOL},
158 {"$y", "ftp-ssl-ccc", ARG_BOOL},
159 {"$j", "ftp-ssl-ccc-mode", ARG_STRING},
164 /* 'keepalive' listed as --no-keepalive in the help */
165 {"$2", "socks5-hostname", ARG_STRING},
166 {"$3", "keepalive-time", ARG_STRING},
169 {"$7", "socks5-gssapi-nec", ARG_BOOL},
171 {"$9", "tftp-blksize", ARG_STRING},
172 {"$A", "mail-from", ARG_STRING},
173 {"$B", "mail-rcpt", ARG_STRING},
174 {"$C", "ftp-pret", ARG_BOOL},
176 {"$E", "proto-redir", ARG_STRING},
179 {"$H", "mail-auth", ARG_STRING},
182 {"$6", "sasl-authzid", ARG_STRING},
183 {"$K", "sasl-ir", ARG_BOOL },
184 {"$L", "test-event", ARG_BOOL},
185 {"$M", "unix-socket", ARG_FILENAME},
186 {"$N", "path-as-is", ARG_BOOL},
187 {"$O", "socks5-gssapi-service", ARG_STRING},
188 /* 'socks5-gssapi-service' merged with'proxy-service-name' and
190 {"$O", "proxy-service-name", ARG_STRING},
191 {"$P", "service-name", ARG_STRING},
192 {"$Q", "proto-default", ARG_STRING},
193 {"$R", "expect100-timeout", ARG_STRING},
194 {"$S", "tftp-no-options", ARG_BOOL},
195 {"$U", "connect-to", ARG_STRING},
196 {"$W", "abstract-unix-socket", ARG_FILENAME},
197 {"$X", "tls-max", ARG_STRING},
198 {"$Y", "suppress-connect-headers", ARG_BOOL},
199 {"$Z", "compressed-ssh", ARG_BOOL},
200 {"$~", "happy-eyeballs-timeout-ms", ARG_STRING},
201 {"$!", "retry-all-errors", ARG_BOOL},
205 {"03", "http2-prior-knowledge", ARG_NONE},
213 {"1A", "tls13-ciphers", ARG_STRING},
214 {"1B", "proxy-tls13-ciphers", ARG_STRING},
220 {"A", "user-agent", ARG_STRING},
222 {"ba", "alt-svc", ARG_STRING},
224 {"B", "use-ascii", ARG_BOOL},
225 {"c", "cookie-jar", ARG_STRING},
226 {"C", "continue-at", ARG_STRING},
228 {"dr", "data-raw", ARG_STRING},
229 {"da", "data-ascii", ARG_STRING},
230 {"db", "data-binary", ARG_STRING},
231 {"de", "data-urlencode", ARG_STRING},
232 {"D", "dump-header", ARG_FILENAME},
236 {"Eb", "cert-type", ARG_STRING},
238 {"Ed", "key-type", ARG_STRING},
248 {"En", "ssl-allow-beast", ARG_BOOL},
249 {"Eo", "ssl-auto-client-cert", ARG_BOOL},
250 {"EO", "proxy-ssl-auto-client-cert", ARG_BOOL},
252 {"EP", "proxy-pinnedpubkey", ARG_STRING},
253 {"Eq", "cert-status", ARG_BOOL},
254 {"EQ", "doh-cert-status", ARG_BOOL},
255 {"Er", "false-start", ARG_BOOL},
256 {"Es", "ssl-no-revoke", ARG_BOOL},
257 {"ES", "ssl-revoke-best-effort", ARG_BOOL},
258 {"Et", "tcp-fastopen", ARG_BOOL},
259 {"Eu", "proxy-tlsuser", ARG_STRING},
260 {"Ev", "proxy-tlspassword", ARG_STRING},
261 {"Ew", "proxy-tlsauthtype", ARG_STRING},
262 {"Ex", "proxy-cert", ARG_FILENAME},
263 {"Ey", "proxy-cert-type", ARG_STRING},
264 {"Ez", "proxy-key", ARG_FILENAME},
265 {"E0", "proxy-key-type", ARG_STRING},
266 {"E1", "proxy-pass", ARG_STRING},
267 {"E2", "proxy-ciphers", ARG_STRING},
268 {"E3", "proxy-crlfile", ARG_FILENAME},
269 {"E4", "proxy-ssl-allow-beast", ARG_BOOL},
270 {"E5", "login-options", ARG_STRING},
271 {"E6", "proxy-cacert", ARG_FILENAME},
272 {"E7", "proxy-capath", ARG_FILENAME},
273 {"E8", "proxy-insecure", ARG_BOOL},
274 {"E9", "proxy-tlsv1", ARG_NONE},
275 {"EA", "socks5-basic", ARG_BOOL},
276 {"EB", "socks5-gssapi", ARG_BOOL},
277 {"EC", "etag-save", ARG_FILENAME},
278 {"ED", "etag-compare", ARG_FILENAME},
281 {"fa", "fail-early", ARG_BOOL},
282 {"fb", "styled-output", ARG_BOOL},
283 {"fc", "mail-rcpt-allowfails", ARG_BOOL},
284 {"fd", "fail-with-body", ARG_BOOL},
286 {"Fs", "form-string", ARG_STRING},
289 {"Ga", "request-target", ARG_STRING},
292 {"Hp", "proxy-header", ARG_STRING},
295 {"j", "junk-session-cookies", ARG_BOOL},
296 {"J", "remote-header-name", ARG_BOOL},
298 {"kd", "doh-insecure", ARG_BOOL},
299 {"K", "config", ARG_FILENAME},
300 {"l", "list-only", ARG_BOOL},
302 {"Lt", "location-trusted", ARG_BOOL},
303 {"m", "max-time", ARG_STRING},
306 {"no", "netrc-optional", ARG_BOOL},
307 {"ne", "netrc-file", ARG_FILENAME},
309 /* 'buffer' listed as --no-buffer in the help */
311 {"O", "remote-name", ARG_NONE},
312 {"Oa", "remote-name-all", ARG_BOOL},
313 {"Ob", "output-dir", ARG_STRING},
315 {"P", "ftp-port", ARG_STRING},
319 {"R", "remote-time", ARG_BOOL},
321 {"S", "show-error", ARG_BOOL},
322 {"t", "telnet-option", ARG_STRING},
323 {"T", "upload-file", ARG_FILENAME},
325 {"U", "proxy-user", ARG_STRING},
328 {"w", "write-out", ARG_STRING},
332 {"Y", "speed-limit", ARG_STRING},
333 {"y", "speed-time", ARG_STRING},
334 {"z", "time-cond", ARG_STRING},
336 {"Zb", "parallel-max", ARG_STRING},
337 {"Zc", "parallel-immediate", ARG_BOOL},
338 {"#", "progress-bar", ARG_BOOL},
339 {"#m", "progress-meter", ARG_BOOL},
343 /* Split the argument of -E to 'certname' and 'passphrase' separated by colon.
366 * looks like a RFC7512 PKCS#11 URI which can be used as-is. in parse_cert_parameter()
386 /* we just ate all the non-special chars. now we're on either a special in parse_cert_parameter()
445 /* Replace (in-place) '%20' by '+' according to RFC1866 */
487 /* Get a size parameter for '--limit-rate' or '--max-filesize'.
529 /* for plain bytes, leave as-is */ in GetSizeParameter()
539 ParameterError getparameter(const char *flag, /* f or -long-flag */ in getparameter()
544 struct OperationConfig *config) in getparameter() argument
552 int hit = -1; in getparameter()
554 bool singleopt = FALSE; /* when true means '-o foo' used '-ofoo' */ in getparameter()
557 by using --OPTION or --no-OPTION */ in getparameter()
561 if(('-' != flag[0]) || ('-' == flag[1])) { in getparameter()
563 const char *word = ('-' == flag[0]) ? flag + 2 : flag; in getparameter()
568 if(!strncmp(word, "no-", 3)) { in getparameter()
569 /* disable this option but ignore the "no-" part when looking for it */ in getparameter()
597 /* --no- prefixed an option that isn't boolean! */ in getparameter()
602 hit = -1; in getparameter()
607 /* we can loop here if we have multiple single-letters */ in getparameter()
642 (nextarg[0] == '-') && nextarg[1]) { in getparameter()
654 case '4': /* --dns-ipv4-addr */ in getparameter()
656 GetStr(&config->dns_ipv4_addr, nextarg); in getparameter()
658 case '6': /* --dns-ipv6-addr */ in getparameter()
660 GetStr(&config->dns_ipv6_addr, nextarg); in getparameter()
662 case 'a': /* random-file */ in getparameter()
663 GetStr(&config->random_file, nextarg); in getparameter()
665 case 'b': /* egd-file */ in getparameter()
666 GetStr(&config->egd_file, nextarg); in getparameter()
669 GetStr(&config->oauth_bearer, nextarg); in getparameter()
670 config->authtype |= CURLAUTH_BEARER; in getparameter()
672 case 'c': /* connect-timeout */ in getparameter()
673 err = str2udouble(&config->connecttimeout, nextarg, in getparameter()
678 case 'C': /* doh-url */ in getparameter()
679 GetStr(&config->doh_url, nextarg); in getparameter()
682 GetStr(&config->cipher_list, nextarg); in getparameter()
684 case 'D': /* --dns-interface */ in getparameter()
686 GetStr(&config->dns_interface, nextarg); in getparameter()
688 case 'e': /* --disable-epsv */ in getparameter()
689 config->disable_epsv = toggle; in getparameter()
691 case 'f': /* --disallow-username-in-url */ in getparameter()
692 config->disallow_username_in_url = toggle; in getparameter()
694 case 'E': /* --epsv */ in getparameter()
695 config->disable_epsv = (!toggle)?TRUE:FALSE; in getparameter()
697 case 'F': /* --dns-servers */ in getparameter()
699 GetStr(&config->dns_servers, nextarg); in getparameter()
701 case 'g': /* --trace */ in getparameter()
702 GetStr(&global->trace_dump, nextarg); in getparameter()
703 if(global->tracetype && (global->tracetype != TRACE_BIN)) in getparameter()
704 warnf(global, "--trace overrides an earlier trace/verbose option\n"); in getparameter()
705 global->tracetype = TRACE_BIN; in getparameter()
707 case 'G': /* --npn */ in getparameter()
708 config->nonpn = (!toggle)?TRUE:FALSE; in getparameter()
710 case 'h': /* --trace-ascii */ in getparameter()
711 GetStr(&global->trace_dump, nextarg); in getparameter()
712 if(global->tracetype && (global->tracetype != TRACE_ASCII)) in getparameter()
714 "--trace-ascii overrides an earlier trace/verbose option\n"); in getparameter()
715 global->tracetype = TRACE_ASCII; in getparameter()
717 case 'H': /* --alpn */ in getparameter()
718 config->noalpn = (!toggle)?TRUE:FALSE; in getparameter()
720 case 'i': /* --limit-rate */ in getparameter()
727 config->recvpersecond = value; in getparameter()
728 config->sendpersecond = value; in getparameter()
732 case 'j': /* --compressed */ in getparameter()
734 !(curlinfo->features & (CURL_VERSION_LIBZ | in getparameter()
737 config->encoding = toggle; in getparameter()
740 case 'J': /* --tr-encoding */ in getparameter()
741 config->tr_encoding = toggle; in getparameter()
744 case 'k': /* --digest */ in getparameter()
746 config->authtype |= CURLAUTH_DIGEST; in getparameter()
748 config->authtype &= ~CURLAUTH_DIGEST; in getparameter()
751 case 'l': /* --negotiate */ in getparameter()
753 if(curlinfo->features & CURL_VERSION_SPNEGO) in getparameter()
754 config->authtype |= CURLAUTH_NEGOTIATE; in getparameter()
759 config->authtype &= ~CURLAUTH_NEGOTIATE; in getparameter()
762 case 'm': /* --ntlm */ in getparameter()
764 if(curlinfo->features & CURL_VERSION_NTLM) in getparameter()
765 config->authtype |= CURLAUTH_NTLM; in getparameter()
770 config->authtype &= ~CURLAUTH_NTLM; in getparameter()
773 case 'M': /* --ntlm-wb */ in getparameter()
775 if(curlinfo->features & CURL_VERSION_NTLM_WB) in getparameter()
776 config->authtype |= CURLAUTH_NTLM_WB; in getparameter()
781 config->authtype &= ~CURLAUTH_NTLM_WB; in getparameter()
784 case 'n': /* --basic for completeness */ in getparameter()
786 config->authtype |= CURLAUTH_BASIC; in getparameter()
788 config->authtype &= ~CURLAUTH_BASIC; in getparameter()
791 case 'o': /* --anyauth, let libcurl pick it */ in getparameter()
793 config->authtype = CURLAUTH_ANY; in getparameter()
794 /* --no-anyauth simply doesn't touch it */ in getparameter()
798 case 'p': /* --wdebug */ in getparameter()
802 case 'q': /* --ftp-create-dirs */ in getparameter()
803 config->ftp_create_dirs = toggle; in getparameter()
806 case 'r': /* --create-dirs */ in getparameter()
807 config->create_dirs = toggle; in getparameter()
810 case 'R': /* --create-file-mode */ in getparameter()
811 err = oct2nummax(&config->create_file_mode, nextarg, 0777); in getparameter()
816 case 's': /* --max-redirs */ in getparameter()
817 /* specified max no of redirects (http(s)), this accepts -1 as a in getparameter()
819 err = str2num(&config->maxredirs, nextarg); in getparameter()
822 if(config->maxredirs < -1) in getparameter()
826 case 't': /* --proxy-ntlm */ in getparameter()
827 if(curlinfo->features & CURL_VERSION_NTLM) in getparameter()
828 config->proxyntlm = toggle; in getparameter()
833 case 'u': /* --crlf */ in getparameter()
834 /* LF -> CRLF conversion? */ in getparameter()
835 config->crlf = toggle; in getparameter()
838 case 'V': /* --aws-sigv4 */ in getparameter()
839 config->authtype |= CURLAUTH_AWS_SIGV4; in getparameter()
840 GetStr(&config->aws_sigv4, nextarg); in getparameter()
843 case 'v': /* --stderr */ in getparameter()
844 if(strcmp(nextarg, "-")) { in getparameter()
849 if(global->errors_fopened) in getparameter()
850 fclose(global->errors); in getparameter()
851 global->errors = newfile; in getparameter()
852 global->errors_fopened = TRUE; in getparameter()
856 global->errors = stdout; in getparameter()
858 case 'w': /* --interface */ in getparameter()
860 GetStr(&config->iface, nextarg); in getparameter()
862 case 'x': /* --krb */ in getparameter()
864 if(curlinfo->features & CURL_VERSION_SPNEGO) in getparameter()
865 GetStr(&config->krblevel, nextarg); in getparameter()
869 case 'X': /* --haproxy-protocol */ in getparameter()
870 config->haproxy_protocol = toggle; in getparameter()
872 case 'y': /* --max-filesize */ in getparameter()
876 GetSizeParameter(global, nextarg, "max-filesize", &value); in getparameter()
880 config->max_filesize = value; in getparameter()
883 case 'z': /* --disable-eprt */ in getparameter()
884 config->disable_eprt = toggle; in getparameter()
886 case 'Z': /* --eprt */ in getparameter()
887 config->disable_eprt = (!toggle)?TRUE:FALSE; in getparameter()
889 case '~': /* --xattr */ in getparameter()
890 config->xattr = toggle; in getparameter()
896 if(!config->url_get) in getparameter()
897 config->url_get = config->url_list; in getparameter()
899 if(config->url_get) { in getparameter()
900 /* there's a node here, if it already is filled-in continue to find in getparameter()
902 while(config->url_get && (config->url_get->flags & GETOUT_URL)) in getparameter()
903 config->url_get = config->url_get->next; in getparameter()
908 if(config->url_get) in getparameter()
910 url = config->url_get; in getparameter()
913 config->url_get = url = new_getout(config); in getparameter()
919 GetStr(&url->url, nextarg); in getparameter()
920 url->flags |= GETOUT_URL; in getparameter()
926 case 'a': /* --ssl */ in getparameter()
927 if(toggle && !(curlinfo->features & CURL_VERSION_SSL)) in getparameter()
929 config->ftp_ssl = toggle; in getparameter()
931 case 'b': /* --ftp-pasv */ in getparameter()
932 Curl_safefree(config->ftpport); in getparameter()
934 case 'c': /* --socks5 specifies a socks5 proxy to use, and resolves in getparameter()
936 GetStr(&config->proxy, nextarg); in getparameter()
937 config->proxyver = CURLPROXY_SOCKS5; in getparameter()
939 case 't': /* --socks4 specifies a socks4 proxy to use */ in getparameter()
940 GetStr(&config->proxy, nextarg); in getparameter()
941 config->proxyver = CURLPROXY_SOCKS4; in getparameter()
943 case 'T': /* --socks4a specifies a socks4a proxy to use */ in getparameter()
944 GetStr(&config->proxy, nextarg); in getparameter()
945 config->proxyver = CURLPROXY_SOCKS4A; in getparameter()
947 case '2': /* --socks5-hostname specifies a socks5 proxy and enables name in getparameter()
949 GetStr(&config->proxy, nextarg); in getparameter()
950 config->proxyver = CURLPROXY_SOCKS5_HOSTNAME; in getparameter()
952 case 'd': /* --tcp-nodelay option */ in getparameter()
953 config->tcp_nodelay = toggle; in getparameter()
955 case 'e': /* --proxy-digest */ in getparameter()
956 config->proxydigest = toggle; in getparameter()
958 case 'f': /* --proxy-basic */ in getparameter()
959 config->proxybasic = toggle; in getparameter()
961 case 'g': /* --retry */ in getparameter()
962 err = str2unum(&config->req_retry, nextarg); in getparameter()
966 case 'V': /* --retry-connrefused */ in getparameter()
967 config->retry_connrefused = toggle; in getparameter()
969 case 'h': /* --retry-delay */ in getparameter()
970 err = str2unummax(&config->retry_delay, nextarg, LONG_MAX/1000); in getparameter()
974 case 'i': /* --retry-max-time */ in getparameter()
975 err = str2unummax(&config->retry_maxtime, nextarg, LONG_MAX/1000); in getparameter()
979 case '!': /* --retry-all-errors */ in getparameter()
980 config->retry_all_errors = toggle; in getparameter()
983 case 'k': /* --proxy-negotiate */ in getparameter()
984 if(curlinfo->features & CURL_VERSION_SPNEGO) in getparameter()
985 config->proxynegotiate = toggle; in getparameter()
990 case 'm': /* --ftp-account */ in getparameter()
991 GetStr(&config->ftp_account, nextarg); in getparameter()
993 case 'n': /* --proxy-anyauth */ in getparameter()
994 config->proxyanyauth = toggle; in getparameter()
996 case 'o': /* --trace-time */ in getparameter()
997 global->tracetime = toggle; in getparameter()
999 case 'p': /* --ignore-content-length */ in getparameter()
1000 config->ignorecl = toggle; in getparameter()
1002 case 'q': /* --ftp-skip-pasv-ip */ in getparameter()
1003 config->ftp_skip_ip = toggle; in getparameter()
1005 case 'r': /* --ftp-method (undocumented at this point) */ in getparameter()
1006 config->ftp_filemethod = ftpfilemethod(config, nextarg); in getparameter()
1008 case 's': { /* --local-port */ in getparameter()
1016 rc = sscanf(p, " - %6s", lrange); in getparameter()
1017 *p = 0; /* null-terminate to make str2unum() work below */ in getparameter()
1022 err = str2unum(&config->localport, nextarg); in getparameter()
1023 if(err || (config->localport > 65535)) in getparameter()
1026 config->localportrange = 1; /* default number of ports to try */ in getparameter()
1028 err = str2unum(&config->localportrange, lrange); in getparameter()
1029 if(err || (config->localportrange > 65535)) in getparameter()
1031 config->localportrange -= (config->localport-1); in getparameter()
1032 if(config->localportrange < 1) in getparameter()
1037 case 'u': /* --ftp-alternative-to-user */ in getparameter()
1038 GetStr(&config->ftp_alternative_to_user, nextarg); in getparameter()
1040 case 'v': /* --ssl-reqd */ in getparameter()
1041 if(toggle && !(curlinfo->features & CURL_VERSION_SSL)) in getparameter()
1043 config->ftp_ssl_reqd = toggle; in getparameter()
1045 case 'w': /* --no-sessionid */ in getparameter()
1046 config->disable_sessionid = (!toggle)?TRUE:FALSE; in getparameter()
1048 case 'x': /* --ftp-ssl-control */ in getparameter()
1049 if(toggle && !(curlinfo->features & CURL_VERSION_SSL)) in getparameter()
1051 config->ftp_ssl_control = toggle; in getparameter()
1053 case 'y': /* --ftp-ssl-ccc */ in getparameter()
1054 config->ftp_ssl_ccc = toggle; in getparameter()
1055 if(!config->ftp_ssl_ccc_mode) in getparameter()
1056 config->ftp_ssl_ccc_mode = CURLFTPSSL_CCC_PASSIVE; in getparameter()
1058 case 'j': /* --ftp-ssl-ccc-mode */ in getparameter()
1059 config->ftp_ssl_ccc = TRUE; in getparameter()
1060 config->ftp_ssl_ccc_mode = ftpcccmethod(config, nextarg); in getparameter()
1062 case 'z': /* --libcurl */ in getparameter()
1065 "--libcurl option was disabled at build-time!\n"); in getparameter()
1068 GetStr(&global->libcurl, nextarg); in getparameter()
1071 case '#': /* --raw */ in getparameter()
1072 config->raw = toggle; in getparameter()
1074 case '0': /* --post301 */ in getparameter()
1075 config->post301 = toggle; in getparameter()
1077 case '1': /* --no-keepalive */ in getparameter()
1078 config->nokeepalive = (!toggle)?TRUE:FALSE; in getparameter()
1080 case '3': /* --keepalive-time */ in getparameter()
1081 err = str2unum(&config->alivetime, nextarg); in getparameter()
1085 case '4': /* --post302 */ in getparameter()
1086 config->post302 = toggle; in getparameter()
1088 case 'I': /* --post303 */ in getparameter()
1089 config->post303 = toggle; in getparameter()
1091 case '5': /* --noproxy */ in getparameter()
1093 GetStr(&config->noproxy, nextarg); in getparameter()
1095 case '7': /* --socks5-gssapi-nec*/ in getparameter()
1096 config->socks5_gssapi_nec = toggle; in getparameter()
1098 case '8': /* --proxy1.0 */ in getparameter()
1100 GetStr(&config->proxy, nextarg); in getparameter()
1101 config->proxyver = CURLPROXY_HTTP_1_0; in getparameter()
1103 case '9': /* --tftp-blksize */ in getparameter()
1104 err = str2unum(&config->tftp_blksize, nextarg); in getparameter()
1108 case 'A': /* --mail-from */ in getparameter()
1109 GetStr(&config->mail_from, nextarg); in getparameter()
1111 case 'B': /* --mail-rcpt */ in getparameter()
1113 err = add2list(&config->mail_rcpt, nextarg); in getparameter()
1117 case 'C': /* --ftp-pret */ in getparameter()
1118 config->ftp_pret = toggle; in getparameter()
1120 case 'D': /* --proto */ in getparameter()
1121 config->proto_present = TRUE; in getparameter()
1122 if(proto2num(config, &config->proto, nextarg)) in getparameter()
1125 case 'E': /* --proto-redir */ in getparameter()
1126 config->proto_redir_present = TRUE; in getparameter()
1127 if(proto2num(config, &config->proto_redir, nextarg)) in getparameter()
1130 case 'F': /* --resolve */ in getparameter()
1131 err = add2list(&config->resolve, nextarg); in getparameter()
1135 case 'G': /* --delegation LEVEL */ in getparameter()
1136 config->gssapi_delegation = delegation(config, nextarg); in getparameter()
1138 case 'H': /* --mail-auth */ in getparameter()
1139 GetStr(&config->mail_auth, nextarg); in getparameter()
1141 case 'J': /* --metalink */ in getparameter()
1142 errorf(global, "--metalink is disabled\n"); in getparameter()
1144 case '6': /* --sasl-authzid */ in getparameter()
1145 GetStr(&config->sasl_authzid, nextarg); in getparameter()
1147 case 'K': /* --sasl-ir */ in getparameter()
1148 config->sasl_ir = toggle; in getparameter()
1150 case 'L': /* --test-event */ in getparameter()
1152 global->test_event_based = toggle; in getparameter()
1154 warnf(global, "--test-event is ignored unless a debug build!\n"); in getparameter()
1157 case 'M': /* --unix-socket */ in getparameter()
1158 config->abstract_unix_socket = FALSE; in getparameter()
1159 GetStr(&config->unix_socket_path, nextarg); in getparameter()
1161 case 'N': /* --path-as-is */ in getparameter()
1162 config->path_as_is = toggle; in getparameter()
1164 case 'O': /* --proxy-service-name */ in getparameter()
1165 GetStr(&config->proxy_service_name, nextarg); in getparameter()
1167 case 'P': /* --service-name */ in getparameter()
1168 GetStr(&config->service_name, nextarg); in getparameter()
1170 case 'Q': /* --proto-default */ in getparameter()
1171 GetStr(&config->proto_default, nextarg); in getparameter()
1172 err = check_protocol(config->proto_default); in getparameter()
1176 case 'R': /* --expect100-timeout */ in getparameter()
1177 err = str2udouble(&config->expect100timeout, nextarg, LONG_MAX/1000); in getparameter()
1181 case 'S': /* --tftp-no-options */ in getparameter()
1182 config->tftp_no_options = toggle; in getparameter()
1184 case 'U': /* --connect-to */ in getparameter()
1185 err = add2list(&config->connect_to, nextarg); in getparameter()
1189 case 'W': /* --abstract-unix-socket */ in getparameter()
1190 config->abstract_unix_socket = TRUE; in getparameter()
1191 GetStr(&config->unix_socket_path, nextarg); in getparameter()
1193 case 'X': /* --tls-max */ in getparameter()
1194 err = str2tls_max(&config->ssl_version_max, nextarg); in getparameter()
1198 case 'Y': /* --suppress-connect-headers */ in getparameter()
1199 config->suppress_connect_headers = toggle; in getparameter()
1201 case 'Z': /* --compressed-ssh */ in getparameter()
1202 config->ssh_compression = toggle; in getparameter()
1204 case '~': /* --happy-eyeballs-timeout-ms */ in getparameter()
1205 err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg); in getparameter()
1214 case 'm': /* --progress-meter */ in getparameter()
1215 global->noprogress = !toggle; in getparameter()
1217 default: /* --progress-bar */ in getparameter()
1218 global->progressmode = in getparameter()
1223 case ':': /* --next */ in getparameter()
1225 case '0': /* --http* options */ in getparameter()
1229 config->httpversion = CURL_HTTP_VERSION_1_0; in getparameter()
1233 config->httpversion = CURL_HTTP_VERSION_1_1; in getparameter()
1237 config->httpversion = CURL_HTTP_VERSION_2_0; in getparameter()
1239 case '3': /* --http2-prior-knowledge */ in getparameter()
1241 config->httpversion = CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE; in getparameter()
1243 case '4': /* --http3 */ in getparameter()
1244 /* HTTP version 3 go over QUIC - at once */ in getparameter()
1245 if(curlinfo->features & CURL_VERSION_HTTP3) in getparameter()
1246 config->httpversion = CURL_HTTP_VERSION_3; in getparameter()
1252 config->http09_allowed = toggle; in getparameter()
1256 case '1': /* --tlsv1* options */ in getparameter()
1260 config->ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
1264 config->ssl_version = CURL_SSLVERSION_TLSv1_0; in getparameter()
1268 config->ssl_version = CURL_SSLVERSION_TLSv1_1; in getparameter()
1272 config->ssl_version = CURL_SSLVERSION_TLSv1_2; in getparameter()
1276 config->ssl_version = CURL_SSLVERSION_TLSv1_3; in getparameter()
1278 case 'A': /* --tls13-ciphers */ in getparameter()
1279 GetStr(&config->cipher13_list, nextarg); in getparameter()
1281 case 'B': /* --proxy-tls13-ciphers */ in getparameter()
1282 GetStr(&config->proxy_cipher13_list, nextarg); in getparameter()
1296 config->ip_version = CURL_IPRESOLVE_V4; in getparameter()
1300 config->ip_version = CURL_IPRESOLVE_V6; in getparameter()
1304 config->ftp_append = toggle; in getparameter()
1307 /* This specifies the User-Agent name */ in getparameter()
1308 GetStr(&config->useragent, nextarg); in getparameter()
1312 case 'a': /* --alt-svc */ in getparameter()
1313 if(curlinfo->features & CURL_VERSION_ALTSVC) in getparameter()
1314 GetStr(&config->altsvc, nextarg); in getparameter()
1318 case 'b': /* --hsts */ in getparameter()
1319 if(curlinfo->features & CURL_VERSION_HSTS) in getparameter()
1320 GetStr(&config->hsts, nextarg); in getparameter()
1324 default: /* --cookie string coming up: */ in getparameter()
1329 /* A cookie string must have a =-letter */ in getparameter()
1330 err = add2list(&config->cookies, nextarg); in getparameter()
1336 err = add2list(&config->cookiefiles, nextarg); in getparameter()
1343 config->use_ascii = toggle; in getparameter()
1347 GetStr(&config->cookiejar, nextarg); in getparameter()
1351 if(strcmp(nextarg, "-")) { in getparameter()
1352 err = str2offset(&config->resume_from, nextarg); in getparameter()
1355 config->resume_from_current = FALSE; in getparameter()
1358 config->resume_from_current = TRUE; in getparameter()
1359 config->resume_from = 0; in getparameter()
1361 config->use_resume = TRUE; in getparameter()
1371 if(subletter == 'e') { /* --data-urlencode*/ in getparameter()
1385 nlen = p - nextarg; /* length of the name part */ in getparameter()
1394 /* a '@' letter, it means that a file name or - (stdin) follows */ in getparameter()
1395 if(!strcmp("-", p)) { in getparameter()
1432 /* replace (in-place) '%20' by '+' acording to RFC1866 */ in getparameter()
1444 size = outlen-1; in getparameter()
1448 size = outlen-2; /* since no '=' was inserted */ in getparameter()
1459 or - (stdin) follows */ in getparameter()
1462 if(!strcmp("-", nextarg)) { in getparameter()
1464 if(subletter == 'b') /* forced data-binary */ in getparameter()
1512 if(config->postfields) { in getparameter()
1514 &-letter */ in getparameter()
1515 char *oldpost = config->postfields; in getparameter()
1516 curl_off_t oldlen = config->postfieldsize; in getparameter()
1518 config->postfields = malloc((size_t)newlen); in getparameter()
1519 if(!config->postfields) { in getparameter()
1524 memcpy(config->postfields, oldpost, (size_t)oldlen); in getparameter()
1525 /* use byte value 0x26 for '&' to accommodate non-ASCII platforms */ in getparameter()
1526 config->postfields[oldlen] = '\x26'; in getparameter()
1527 memcpy(&config->postfields[oldlen + 1], postdata, size); in getparameter()
1528 config->postfields[oldlen + 1 + size] = '\0'; in getparameter()
1531 config->postfieldsize += size + 1; in getparameter()
1534 config->postfields = postdata; in getparameter()
1535 config->postfieldsize = curlx_uztoso(size); in getparameter()
1540 a simple GET if -G is used. Already or soon. in getparameter()
1542 if(SetHTTPrequest(HTTPREQ_SIMPLEPOST, &config->httpreq)) { in getparameter()
1549 /* dump-header to given file name */ in getparameter()
1550 GetStr(&config->headerfile, nextarg); in getparameter()
1558 config->autoreferer = TRUE; in getparameter()
1559 *ptr = 0; /* null-terminate here */ in getparameter()
1562 config->autoreferer = FALSE; in getparameter()
1564 GetStr(&config->referer, ptr); in getparameter()
1570 GetFileAndPassword(nextarg, &config->cert, &config->key_passwd); in getparameter()
1573 GetStr(&config->cacert, nextarg); in getparameter()
1576 GetStr(&config->cert_type, nextarg); in getparameter()
1579 GetStr(&config->key, nextarg); in getparameter()
1582 GetStr(&config->key_type, nextarg); in getparameter()
1585 GetStr(&config->key_passwd, nextarg); in getparameter()
1589 GetStr(&config->engine, nextarg); in getparameter()
1590 if(config->engine && curl_strequal(config->engine, "list")) in getparameter()
1594 GetStr(&config->capath, nextarg); in getparameter()
1596 case 'h': /* --pubkey public key file */ in getparameter()
1597 GetStr(&config->pubkey, nextarg); in getparameter()
1599 case 'i': /* --hostpubmd5 md5 of the host public key */ in getparameter()
1600 GetStr(&config->hostpubmd5, nextarg); in getparameter()
1601 if(!config->hostpubmd5 || strlen(config->hostpubmd5) != 32) in getparameter()
1605 GetStr(&config->crlfile, nextarg); in getparameter()
1608 if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) in getparameter()
1609 GetStr(&config->tls_username, nextarg); in getparameter()
1614 if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) in getparameter()
1615 GetStr(&config->tls_password, nextarg); in getparameter()
1620 if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) { in getparameter()
1621 GetStr(&config->tls_authtype, nextarg); in getparameter()
1622 if(!curl_strequal(config->tls_authtype, "SRP")) in getparameter()
1623 return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
1628 case 'n': /* no empty SSL fragments, --ssl-allow-beast */ in getparameter()
1629 if(curlinfo->features & CURL_VERSION_SSL) in getparameter()
1630 config->ssl_allow_beast = toggle; in getparameter()
1633 case 'o': /* --ssl-auto-client-cert */ in getparameter()
1634 if(curlinfo->features & CURL_VERSION_SSL) in getparameter()
1635 config->ssl_auto_client_cert = toggle; in getparameter()
1638 case 'O': /* --proxy-ssl-auto-client-cert */ in getparameter()
1639 if(curlinfo->features & CURL_VERSION_SSL) in getparameter()
1640 config->proxy_ssl_auto_client_cert = toggle; in getparameter()
1644 GetStr(&config->pinnedpubkey, nextarg); in getparameter()
1648 GetStr(&config->proxy_pinnedpubkey, nextarg); in getparameter()
1651 case 'q': /* --cert-status */ in getparameter()
1652 config->verifystatus = TRUE; in getparameter()
1655 case 'Q': /* --doh-cert-status */ in getparameter()
1656 config->doh_verifystatus = TRUE; in getparameter()
1659 case 'r': /* --false-start */ in getparameter()
1660 config->falsestart = TRUE; in getparameter()
1663 case 's': /* --ssl-no-revoke */ in getparameter()
1664 if(curlinfo->features & CURL_VERSION_SSL) in getparameter()
1665 config->ssl_no_revoke = TRUE; in getparameter()
1668 case 'S': /* --ssl-revoke-best-effort */ in getparameter()
1669 if(curlinfo->features & CURL_VERSION_SSL) in getparameter()
1670 config->ssl_revoke_best_effort = TRUE; in getparameter()
1673 case 't': /* --tcp-fastopen */ in getparameter()
1674 config->tcp_fastopen = TRUE; in getparameter()
1678 if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) in getparameter()
1679 GetStr(&config->proxy_tls_username, nextarg); in getparameter()
1685 if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) in getparameter()
1686 GetStr(&config->proxy_tls_password, nextarg); in getparameter()
1692 if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) { in getparameter()
1693 GetStr(&config->proxy_tls_authtype, nextarg); in getparameter()
1694 if(!curl_strequal(config->proxy_tls_authtype, "SRP")) in getparameter()
1695 return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
1702 GetFileAndPassword(nextarg, &config->proxy_cert, in getparameter()
1703 &config->proxy_key_passwd); in getparameter()
1707 GetStr(&config->proxy_cert_type, nextarg); in getparameter()
1711 GetStr(&config->proxy_key, nextarg); in getparameter()
1715 GetStr(&config->proxy_key_type, nextarg); in getparameter()
1719 GetStr(&config->proxy_key_passwd, nextarg); in getparameter()
1724 GetStr(&config->proxy_cipher_list, nextarg); in getparameter()
1728 GetStr(&config->proxy_crlfile, nextarg); in getparameter()
1732 if(curlinfo->features & CURL_VERSION_SSL) in getparameter()
1733 config->proxy_ssl_allow_beast = toggle; in getparameter()
1736 case '5': /* --login-options */ in getparameter()
1737 GetStr(&config->login_options, nextarg); in getparameter()
1741 GetStr(&config->proxy_cacert, nextarg); in getparameter()
1745 GetStr(&config->proxy_capath, nextarg); in getparameter()
1749 config->proxy_insecure_ok = toggle; in getparameter()
1752 case '9': /* --proxy-tlsv1 */ in getparameter()
1754 config->proxy_ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
1758 /* --socks5-basic */ in getparameter()
1760 config->socks5_auth |= CURLAUTH_BASIC; in getparameter()
1762 config->socks5_auth &= ~CURLAUTH_BASIC; in getparameter()
1766 /* --socks5-gssapi */ in getparameter()
1768 config->socks5_auth |= CURLAUTH_GSSAPI; in getparameter()
1770 config->socks5_auth &= ~CURLAUTH_GSSAPI; in getparameter()
1774 GetStr(&config->etag_save_file, nextarg); in getparameter()
1778 GetStr(&config->etag_compare_file, nextarg); in getparameter()
1782 GetStr(&config->ssl_ec_curves, nextarg); in getparameter()
1791 case 'a': /* --fail-early */ in getparameter()
1792 global->fail_early = toggle; in getparameter()
1794 case 'b': /* --styled-output */ in getparameter()
1795 global->styled_output = toggle; in getparameter()
1797 case 'c': /* --mail-rcpt-allowfails */ in getparameter()
1798 config->mail_rcpt_allowfails = toggle; in getparameter()
1800 case 'd': /* --fail-with-body */ in getparameter()
1801 config->failwithbody = toggle; in getparameter()
1803 default: /* --fail (hard on errors) */ in getparameter()
1804 config->failonerror = toggle; in getparameter()
1807 if(config->failonerror && config->failwithbody) { in getparameter()
1808 errorf(config->global, "You must select either --fail or " in getparameter()
1809 "--fail-with-body, not both.\n"); in getparameter()
1816 if(formparse(config, in getparameter()
1818 &config->mimeroot, in getparameter()
1819 &config->mimecurrent, in getparameter()
1822 if(SetHTTPrequest(config, HTTPREQ_MIMEPOST, &config->httpreq)) in getparameter()
1827 config->globoff = toggle; in getparameter()
1831 if(subletter == 'a') { /* --request-target */ in getparameter()
1832 GetStr(&config->request_target, nextarg); in getparameter()
1835 config->use_httpget = TRUE; in getparameter()
1841 global->help_category = strdup(nextarg); in getparameter()
1842 if(!global->help_category) in getparameter()
1847 /* we now actually support --no-help too! */ in getparameter()
1855 bool use_stdin = !strcmp(&nextarg[1], "-"); in getparameter()
1866 if(subletter == 'p') /* --proxy-header */ in getparameter()
1867 err = add2list(&config->proxyheaders, h); in getparameter()
1869 err = add2list(&config->headers, h); in getparameter()
1883 if(subletter == 'p') /* --proxy-header */ in getparameter()
1884 err = add2list(&config->proxyheaders, nextarg); in getparameter()
1886 err = add2list(&config->headers, nextarg); in getparameter()
1892 if(config->content_disposition) { in getparameter()
1894 "--include and --remote-header-name cannot be combined.\n"); in getparameter()
1897 config->show_headers = toggle; /* show the headers as well in the in getparameter()
1901 config->cookiesession = toggle; in getparameter()
1903 case 'I': /* --head */ in getparameter()
1904 config->no_body = toggle; in getparameter()
1905 config->show_headers = toggle; in getparameter()
1906 if(SetHTTPrequest(config, in getparameter()
1907 (config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET, in getparameter()
1908 &config->httpreq)) in getparameter()
1911 case 'J': /* --remote-header-name */ in getparameter()
1912 if(config->show_headers) { in getparameter()
1914 "--include and --remote-header-name cannot be combined.\n"); in getparameter()
1917 config->content_disposition = toggle; in getparameter()
1920 if(subletter == 'd') /* --doh-insecure */ in getparameter()
1921 config->doh_insecure_ok = toggle; in getparameter()
1923 config->insecure_ok = toggle; in getparameter()
1925 case 'K': /* parse config file */ in getparameter()
1927 warnf(global, "error trying read config from the '%s' file\n", in getparameter()
1931 config->dirlistonly = toggle; /* only list the names of the FTP dir */ in getparameter()
1934 config->followlocation = toggle; /* Follow Location: HTTP headers */ in getparameter()
1939 config->unrestricted_auth = toggle; in getparameter()
1945 err = str2udouble(&config->timeout, nextarg, LONG_MAX/1000); in getparameter()
1950 if(toggle) { /* --no-manual shows no manual... */ in getparameter()
1955 "built-in manual was disabled at build-time!\n"); in getparameter()
1963 config->netrc_opt = toggle; in getparameter()
1965 case 'e': /* netrc-file */ in getparameter()
1966 GetStr(&config->netrc_file, nextarg); in getparameter()
1971 config->netrc = toggle; in getparameter()
1977 --buffer but is mostly used in the negative form: --no-buffer */ in getparameter()
1979 config->nobuffer = (!toggle)?TRUE:FALSE; in getparameter()
1981 config->nobuffer = toggle; in getparameter()
1983 case 'O': /* --remote-name */ in getparameter()
1984 if(subletter == 'a') { /* --remote-name-all */ in getparameter()
1985 config->default_node_flags = toggle?GETOUT_USEREMOTE:0; in getparameter()
1988 else if(subletter == 'b') { /* --output-dir */ in getparameter()
1989 GetStr(&config->output_dir, nextarg); in getparameter()
1993 case 'o': /* --output */ in getparameter()
1997 if(!config->url_out) in getparameter()
1998 config->url_out = config->url_list; in getparameter()
1999 if(config->url_out) { in getparameter()
2000 /* there's a node here, if it already is filled-in continue to find in getparameter()
2002 while(config->url_out && (config->url_out->flags & GETOUT_OUTFILE)) in getparameter()
2003 config->url_out = config->url_out->next; in getparameter()
2008 if(config->url_out) in getparameter()
2010 url = config->url_out; in getparameter()
2013 config->url_out = url = new_getout(config); in getparameter()
2020 GetStr(&url->outfile, nextarg); in getparameter()
2021 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in getparameter()
2024 url->outfile = NULL; /* leave it */ in getparameter()
2026 url->flags |= GETOUT_USEREMOTE; /* switch on */ in getparameter()
2028 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in getparameter()
2030 url->flags |= GETOUT_OUTFILE; in getparameter()
2039 GetStr(&config->ftpport, nextarg); in getparameter()
2042 /* proxy tunnel for non-http protocols */ in getparameter()
2043 config->proxytunnel = toggle; in getparameter()
2052 case '-': in getparameter()
2055 err = add2list(&config->postquote, nextarg); in getparameter()
2058 /* prefixed with a plus makes it a just-before-transfer one */ in getparameter()
2060 err = add2list(&config->prequote, nextarg); in getparameter()
2063 err = add2list(&config->quote, nextarg); in getparameter()
2072 claimed that to be a good way, why this code is added to work-around in getparameter()
2074 if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) { in getparameter()
2082 "A specified range MUST include at least one dash (-). " in getparameter()
2084 msnprintf(buffer, sizeof(buffer), "%" CURL_FORMAT_CURL_OFF_T "-", off); in getparameter()
2085 Curl_safefree(config->range); in getparameter()
2086 config->range = strdup(buffer); in getparameter()
2087 if(!config->range) in getparameter()
2094 if(!ISDIGIT(*tmp_range) && *tmp_range != '-' && *tmp_range != ',') { in getparameter()
2097 "\'start\'-\'stop\'. The server's response to this " in getparameter()
2104 GetStr(&config->range, nextarg); in getparameter()
2109 config->remote_time = toggle; in getparameter()
2114 global->mute = global->noprogress = TRUE; in getparameter()
2116 global->mute = global->noprogress = FALSE; in getparameter()
2117 if(global->showerror < 0) in getparameter()
2119 toggle. This is to allow -S and -s to be used in an independent in getparameter()
2121 global->showerror = (!toggle)?TRUE:FALSE; /* toggle off */ in getparameter()
2125 global->showerror = toggle?1:0; /* toggle on if used with -s */ in getparameter()
2129 err = add2list(&config->telnet_options, nextarg); in getparameter()
2137 if(!config->url_ul) in getparameter()
2138 config->url_ul = config->url_list; in getparameter()
2139 if(config->url_ul) { in getparameter()
2140 /* there's a node here, if it already is filled-in continue to find in getparameter()
2142 while(config->url_ul && (config->url_ul->flags & GETOUT_UPLOAD)) in getparameter()
2143 config->url_ul = config->url_ul->next; in getparameter()
2148 if(config->url_ul) in getparameter()
2150 url = config->url_ul; in getparameter()
2153 config->url_ul = url = new_getout(config); in getparameter()
2158 url->flags |= GETOUT_UPLOAD; /* mark -T used */ in getparameter()
2160 url->flags |= GETOUT_NOUPLOAD; in getparameter()
2162 /* "-" equals stdin, but keep the string around for now */ in getparameter()
2163 GetStr(&url->infile, nextarg); in getparameter()
2169 GetStr(&config->userpwd, nextarg); in getparameter()
2174 GetStr(&config->proxyuserpwd, nextarg); in getparameter()
2180 Curl_safefree(global->trace_dump); in getparameter()
2181 global->trace_dump = strdup("%"); in getparameter()
2182 if(!global->trace_dump) in getparameter()
2184 if(global->tracetype && (global->tracetype != TRACE_PLAIN)) in getparameter()
2186 "-v, --verbose overrides an earlier trace/verbose option\n"); in getparameter()
2187 global->tracetype = TRACE_PLAIN; in getparameter()
2191 global->tracetype = TRACE_NONE; in getparameter()
2194 if(toggle) /* --no-version yields no output! */ in getparameter()
2202 or - (stdin) follows */ in getparameter()
2206 if(!strcmp("-", nextarg)) { in getparameter()
2214 Curl_safefree(config->writeout); in getparameter()
2215 err = file2string(&config->writeout, file); in getparameter()
2220 if(!config->writeout) in getparameter()
2224 GetStr(&config->writeout, nextarg); in getparameter()
2228 case 'a': /* --preproxy */ in getparameter()
2229 GetStr(&config->preproxy, nextarg); in getparameter()
2232 /* --proxy */ in getparameter()
2233 GetStr(&config->proxy, nextarg); in getparameter()
2234 config->proxyver = CURLPROXY_HTTP; in getparameter()
2240 GetStr(&config->customrequest, nextarg); in getparameter()
2244 err = str2unum(&config->low_speed_time, nextarg); in getparameter()
2247 if(!config->low_speed_limit) in getparameter()
2248 config->low_speed_limit = 1; in getparameter()
2252 err = str2unum(&config->low_speed_limit, nextarg); in getparameter()
2255 if(!config->low_speed_time) in getparameter()
2256 config->low_speed_time = 30; in getparameter()
2260 case '\0': /* --parallel */ in getparameter()
2261 global->parallel = toggle; in getparameter()
2263 case 'b': /* --parallel-max */ in getparameter()
2264 err = str2unum(&global->parallel_max, nextarg); in getparameter()
2267 if((global->parallel_max > MAX_PARALLEL) || in getparameter()
2268 (global->parallel_max < 1)) in getparameter()
2269 global->parallel_max = PARALLEL_DEFAULT; in getparameter()
2271 case 'c': /* --parallel-connect */ in getparameter()
2272 global->parallel_connect = toggle; in getparameter()
2282 /* If-Modified-Since: (section 14.28 in RFC2068) */ in getparameter()
2283 config->timecond = CURL_TIMECOND_IFMODSINCE; in getparameter()
2285 case '-': in getparameter()
2286 /* If-Unmodified-Since: (section 14.24 in RFC2068) */ in getparameter()
2287 config->timecond = CURL_TIMECOND_IFUNMODSINCE; in getparameter()
2291 /* Last-Modified: (section 14.29 in RFC2068) */ in getparameter()
2292 config->timecond = CURL_TIMECOND_LASTMOD; in getparameter()
2297 config->condtime = (curl_off_t)curl_getdate(nextarg, &now); in getparameter()
2298 if(-1 == config->condtime) { in getparameter()
2303 config->condtime = filetime; in getparameter()
2307 config->timecond = CURL_TIMECOND_NONE; in getparameter()
2309 "Illegal date format for -z, --time-cond (and not " in getparameter()
2318 hit = -1; in getparameter()
2332 struct OperationConfig *config = global->first; in parse_args() local
2339 if(stillflags && ('-' == orig_opt[0])) { in parse_args()
2342 if(!strcmp("--", orig_opt)) in parse_args()
2344 following (URL) argument to start with -. */ in parse_args()
2347 char *nextarg = (i < (argc - 1)) in parse_args()
2351 result = getparameter(orig_opt, nextarg, &passarg, global, config); in parse_args()
2353 config = global->last; in parse_args()
2359 if(config->url_list && config->url_list->url) { in parse_args()
2360 /* Allocate the next config */ in parse_args()
2361 config->next = malloc(sizeof(struct OperationConfig)); in parse_args()
2362 if(config->next) { in parse_args()
2363 /* Initialise the newly created config */ in parse_args()
2364 config_init(config->next); in parse_args()
2366 /* Set the global config pointer */ in parse_args()
2367 config->next->global = global; in parse_args()
2369 /* Update the last config pointer */ in parse_args()
2370 global->last = config->next; in parse_args()
2372 /* Move onto the new config */ in parse_args()
2373 config->next->prev = config; in parse_args()
2374 config = config->next; in parse_args()
2388 result = getparameter("--url", orig_opt, &used, global, in parse_args()
2389 config); in parse_args()
2403 helpf(global->errors, "option %s: %s\n", orig_opt, reason); in parse_args()
2405 helpf(global->errors, "%s\n", reason); in parse_args()