• Home
  • Raw
  • Download

Lines Matching +full:ipv4 +full:- +full:simple +full:- +full:service +full:- +full:config

21  * SPDX-License-Identifier: curl
69 ARG_NONE, /* stand-alone but not a boolean */
70 ARG_BOOL, /* accepts a --no-[name] prefix */
80 {"*4", "dns-ipv4-addr", ARG_STRING},
81 {"*6", "dns-ipv6-addr", ARG_STRING},
82 {"*a", "random-file", ARG_FILENAME},
83 {"*b", "egd-file", ARG_STRING},
84 {"*B", "oauth2-bearer", ARG_STRING},
85 {"*c", "connect-timeout", ARG_STRING},
86 {"*C", "doh-url" , ARG_STRING},
88 {"*D", "dns-interface", ARG_STRING},
89 {"*e", "disable-epsv", ARG_BOOL},
90 {"*f", "disallow-username-in-url", ARG_BOOL},
92 /* 'epsv' made like this to make --no-epsv and --epsv to work
93 although --disable-epsv is the documented option */
94 {"*F", "dns-servers", ARG_STRING},
97 {"*h", "trace-ascii", ARG_FILENAME},
99 {"*i", "limit-rate", ARG_STRING},
102 {"*J", "tr-encoding", ARG_BOOL},
106 {"*M", "ntlm-wb", ARG_BOOL},
112 {"*q", "ftp-create-dirs", ARG_BOOL},
113 {"*r", "create-dirs", ARG_BOOL},
114 {"*R", "create-file-mode", ARG_STRING},
115 {"*s", "max-redirs", ARG_STRING},
116 {"*t", "proxy-ntlm", ARG_BOOL},
119 {"*V", "aws-sigv4", ARG_STRING},
124 {"*X", "haproxy-protocol", ARG_BOOL},
125 {"*y", "max-filesize", ARG_STRING},
126 {"*z", "disable-eprt", ARG_BOOL},
128 /* 'eprt' made like this to make --no-eprt and --eprt to work
129 although --disable-eprt is the documented option */
131 {"$a", "ftp-ssl", ARG_BOOL},
132 /* 'ftp-ssl' deprecated name since 7.20.0 */
134 /* 'ssl' new option name in 7.20.0, previously this was ftp-ssl */
135 {"$b", "ftp-pasv", ARG_BOOL},
137 {"$d", "tcp-nodelay", ARG_BOOL},
138 {"$e", "proxy-digest", ARG_BOOL},
139 {"$f", "proxy-basic", ARG_BOOL},
141 {"$V", "retry-connrefused", ARG_BOOL},
142 {"$h", "retry-delay", ARG_STRING},
143 {"$i", "retry-max-time", ARG_STRING},
144 {"$k", "proxy-negotiate", ARG_BOOL},
145 {"$l", "form-escape", ARG_BOOL},
146 {"$m", "ftp-account", ARG_STRING},
147 {"$n", "proxy-anyauth", ARG_BOOL},
148 {"$o", "trace-time", ARG_BOOL},
149 {"$p", "ignore-content-length", ARG_BOOL},
150 {"$q", "ftp-skip-pasv-ip", ARG_BOOL},
151 {"$r", "ftp-method", ARG_STRING},
152 {"$s", "local-port", ARG_STRING},
155 {"$u", "ftp-alternative-to-user", ARG_STRING},
156 {"$v", "ftp-ssl-reqd", ARG_BOOL},
157 /* 'ftp-ssl-reqd' deprecated name since 7.20.0 */
158 {"$v", "ssl-reqd", ARG_BOOL},
159 /* 'ssl-reqd' new in 7.20.0, previously this was ftp-ssl-reqd */
161 /* 'sessionid' listed as --no-sessionid in the help */
162 {"$x", "ftp-ssl-control", ARG_BOOL},
163 {"$y", "ftp-ssl-ccc", ARG_BOOL},
164 {"$j", "ftp-ssl-ccc-mode", ARG_STRING},
169 /* 'keepalive' listed as --no-keepalive in the help */
170 {"$2", "socks5-hostname", ARG_STRING},
171 {"$3", "keepalive-time", ARG_STRING},
174 {"$7", "socks5-gssapi-nec", ARG_BOOL},
176 {"$9", "tftp-blksize", ARG_STRING},
177 {"$A", "mail-from", ARG_STRING},
178 {"$B", "mail-rcpt", ARG_STRING},
179 {"$C", "ftp-pret", ARG_BOOL},
181 {"$E", "proto-redir", ARG_STRING},
184 {"$H", "mail-auth", ARG_STRING},
187 {"$6", "sasl-authzid", ARG_STRING},
188 {"$K", "sasl-ir", ARG_BOOL },
189 {"$L", "test-event", ARG_BOOL},
190 {"$M", "unix-socket", ARG_FILENAME},
191 {"$N", "path-as-is", ARG_BOOL},
192 {"$O", "socks5-gssapi-service", ARG_STRING},
193 /* 'socks5-gssapi-service' merged with'proxy-service-name' and
195 {"$O", "proxy-service-name", ARG_STRING},
196 {"$P", "service-name", ARG_STRING},
197 {"$Q", "proto-default", ARG_STRING},
198 {"$R", "expect100-timeout", ARG_STRING},
199 {"$S", "tftp-no-options", ARG_BOOL},
200 {"$U", "connect-to", ARG_STRING},
201 {"$W", "abstract-unix-socket", ARG_FILENAME},
202 {"$X", "tls-max", ARG_STRING},
203 {"$Y", "suppress-connect-headers", ARG_BOOL},
204 {"$Z", "compressed-ssh", ARG_BOOL},
205 {"$~", "happy-eyeballs-timeout-ms", ARG_STRING},
206 {"$!", "retry-all-errors", ARG_BOOL},
210 {"03", "http2-prior-knowledge", ARG_NONE},
212 {"05", "http3-only", ARG_NONE},
219 {"1A", "tls13-ciphers", ARG_STRING},
220 {"1B", "proxy-tls13-ciphers", ARG_STRING},
223 {"4", "ipv4", ARG_NONE},
226 {"A", "user-agent", ARG_STRING},
228 {"ba", "alt-svc", ARG_STRING},
230 {"B", "use-ascii", ARG_BOOL},
231 {"c", "cookie-jar", ARG_STRING},
232 {"C", "continue-at", ARG_STRING},
234 {"dr", "data-raw", ARG_STRING},
235 {"da", "data-ascii", ARG_STRING},
236 {"db", "data-binary", ARG_STRING},
237 {"de", "data-urlencode", ARG_STRING},
239 {"dg", "url-query", ARG_STRING},
240 {"D", "dump-header", ARG_FILENAME},
244 {"Eb", "cert-type", ARG_STRING},
246 {"Ed", "key-type", ARG_STRING},
257 {"En", "ssl-allow-beast", ARG_BOOL},
258 {"Eo", "ssl-auto-client-cert", ARG_BOOL},
259 {"EO", "proxy-ssl-auto-client-cert", ARG_BOOL},
261 {"EP", "proxy-pinnedpubkey", ARG_STRING},
262 {"Eq", "cert-status", ARG_BOOL},
263 {"EQ", "doh-cert-status", ARG_BOOL},
264 {"Er", "false-start", ARG_BOOL},
265 {"Es", "ssl-no-revoke", ARG_BOOL},
266 {"ES", "ssl-revoke-best-effort", ARG_BOOL},
267 {"Et", "tcp-fastopen", ARG_BOOL},
268 {"Eu", "proxy-tlsuser", ARG_STRING},
269 {"Ev", "proxy-tlspassword", ARG_STRING},
270 {"Ew", "proxy-tlsauthtype", ARG_STRING},
271 {"Ex", "proxy-cert", ARG_FILENAME},
272 {"Ey", "proxy-cert-type", ARG_STRING},
273 {"Ez", "proxy-key", ARG_FILENAME},
274 {"E0", "proxy-key-type", ARG_STRING},
275 {"E1", "proxy-pass", ARG_STRING},
276 {"E2", "proxy-ciphers", ARG_STRING},
277 {"E3", "proxy-crlfile", ARG_FILENAME},
278 {"E4", "proxy-ssl-allow-beast", ARG_BOOL},
279 {"E5", "login-options", ARG_STRING},
280 {"E6", "proxy-cacert", ARG_FILENAME},
281 {"E7", "proxy-capath", ARG_FILENAME},
282 {"E8", "proxy-insecure", ARG_BOOL},
283 {"E9", "proxy-tlsv1", ARG_NONE},
284 {"EA", "socks5-basic", ARG_BOOL},
285 {"EB", "socks5-gssapi", ARG_BOOL},
286 {"EC", "etag-save", ARG_FILENAME},
287 {"ED", "etag-compare", ARG_FILENAME},
290 {"fa", "fail-early", ARG_BOOL},
291 {"fb", "styled-output", ARG_BOOL},
292 {"fc", "mail-rcpt-allowfails", ARG_BOOL},
293 {"fd", "fail-with-body", ARG_BOOL},
294 {"fe", "remove-on-error", ARG_BOOL},
296 {"Fs", "form-string", ARG_STRING},
299 {"Ga", "request-target", ARG_STRING},
302 {"Hp", "proxy-header", ARG_STRING},
305 {"j", "junk-session-cookies", ARG_BOOL},
306 {"J", "remote-header-name", ARG_BOOL},
308 {"kd", "doh-insecure", ARG_BOOL},
309 {"K", "config", ARG_FILENAME},
310 {"l", "list-only", ARG_BOOL},
312 {"Lt", "location-trusted", ARG_BOOL},
313 {"m", "max-time", ARG_STRING},
316 {"no", "netrc-optional", ARG_BOOL},
317 {"ne", "netrc-file", ARG_FILENAME},
319 /* 'buffer' listed as --no-buffer in the help */
321 {"O", "remote-name", ARG_BOOL},
322 {"Oa", "remote-name-all", ARG_BOOL},
323 {"Ob", "output-dir", ARG_STRING},
326 {"P", "ftp-port", ARG_STRING},
330 {"R", "remote-time", ARG_BOOL},
332 {"S", "show-error", ARG_BOOL},
333 {"t", "telnet-option", ARG_STRING},
334 {"T", "upload-file", ARG_FILENAME},
336 {"U", "proxy-user", ARG_STRING},
339 {"w", "write-out", ARG_STRING},
343 {"Y", "speed-limit", ARG_STRING},
344 {"y", "speed-time", ARG_STRING},
345 {"z", "time-cond", ARG_STRING},
347 {"Zb", "parallel-max", ARG_STRING},
348 {"Zc", "parallel-immediate", ARG_BOOL},
349 {"#", "progress-bar", ARG_BOOL},
350 {"#m", "progress-meter", ARG_BOOL},
354 /* Split the argument of -E to 'certname' and 'passphrase' separated by colon.
377 * looks like a RFC7512 PKCS#11 URI which can be used as-is. in parse_cert_parameter()
397 /* we just ate all the non-special chars. now we're on either a special in parse_cert_parameter()
455 /* Replace (in-place) '%20' by '+' according to RFC1866 */
496 /* Get a size parameter for '--limit-rate' or '--max-filesize'.
538 /* for plain bytes, leave as-is */ in GetSizeParameter()
563 /* --data-urlencode */
585 nlen = p - nextarg; /* length of the name part */ in data_urlencode()
595 /* a '@' letter, it means that a file name or - (stdin) follows */ in data_urlencode()
596 if(!strcmp("-", p)) { in data_urlencode()
633 /* replace (in-place) '%20' by '+' according to RFC1866 */ in data_urlencode()
645 size = outlen-1; in data_urlencode()
649 size = outlen-2; /* since no '=' was inserted */ in data_urlencode()
663 struct OperationConfig *config, in sethttpver() argument
666 if(config->httpversion && in sethttpver()
667 (config->httpversion != httpversion)) in sethttpver()
670 config->httpversion = httpversion; in sethttpver()
673 ParameterError getparameter(const char *flag, /* f or -long-flag */ in getparameter()
679 struct OperationConfig *config) in getparameter() argument
687 int hit = -1; in getparameter()
689 bool singleopt = FALSE; /* when true means '-o foo' used '-ofoo' */ in getparameter()
692 by using --OPTION or --no-OPTION */ in getparameter()
708 if(('-' != flag[0]) || ('-' == flag[1])) { in getparameter()
710 const char *word = ('-' == flag[0]) ? flag + 2 : flag; in getparameter()
715 if(!strncmp(word, "no-", 3)) { in getparameter()
716 /* disable this option but ignore the "no-" part when looking for it */ in getparameter()
744 /* --no- prefixed an option that isn't boolean! */ in getparameter()
749 hit = -1; in getparameter()
754 /* we can loop here if we have multiple single-letters */ in getparameter()
793 (nextarg[0] == '-') && nextarg[1]) { in getparameter()
805 case '4': /* --dns-ipv4-addr */ in getparameter()
806 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
809 GetStr(&config->dns_ipv4_addr, nextarg); in getparameter()
811 case '6': /* --dns-ipv6-addr */ in getparameter()
812 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
815 GetStr(&config->dns_ipv6_addr, nextarg); in getparameter()
817 case 'a': /* random-file */ in getparameter()
819 case 'b': /* egd-file */ in getparameter()
822 GetStr(&config->oauth_bearer, nextarg); in getparameter()
824 config->authtype |= CURLAUTH_BEARER; in getparameter()
826 case 'c': /* connect-timeout */ in getparameter()
827 err = secs2ms(&config->connecttimeout_ms, nextarg); in getparameter()
831 case 'C': /* doh-url */ in getparameter()
832 GetStr(&config->doh_url, nextarg); in getparameter()
833 if(config->doh_url && !config->doh_url[0]) in getparameter()
835 Curl_safefree(config->doh_url); in getparameter()
838 GetStr(&config->cipher_list, nextarg); in getparameter()
840 case 'D': /* --dns-interface */ in getparameter()
841 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
844 GetStr(&config->dns_interface, nextarg); in getparameter()
846 case 'e': /* --disable-epsv */ in getparameter()
847 config->disable_epsv = toggle; in getparameter()
849 case 'f': /* --disallow-username-in-url */ in getparameter()
850 config->disallow_username_in_url = toggle; in getparameter()
852 case 'E': /* --epsv */ in getparameter()
853 config->disable_epsv = (!toggle)?TRUE:FALSE; in getparameter()
855 case 'F': /* --dns-servers */ in getparameter()
856 if(!curlinfo->ares_num) /* c-ares is needed for this */ in getparameter()
859 GetStr(&config->dns_servers, nextarg); in getparameter()
861 case 'g': /* --trace */ in getparameter()
862 GetStr(&global->trace_dump, nextarg); in getparameter()
863 if(global->tracetype && (global->tracetype != TRACE_BIN)) in getparameter()
864 warnf(global, "--trace overrides an earlier trace/verbose option\n"); in getparameter()
865 global->tracetype = TRACE_BIN; in getparameter()
867 case 'G': /* --npn */ in getparameter()
868 warnf(global, "--npn is no longer supported\n"); in getparameter()
870 case 'h': /* --trace-ascii */ in getparameter()
871 GetStr(&global->trace_dump, nextarg); in getparameter()
872 if(global->tracetype && (global->tracetype != TRACE_ASCII)) in getparameter()
874 "--trace-ascii overrides an earlier trace/verbose option\n"); in getparameter()
875 global->tracetype = TRACE_ASCII; in getparameter()
877 case 'H': /* --alpn */ in getparameter()
878 config->noalpn = (!toggle)?TRUE:FALSE; in getparameter()
880 case 'i': /* --limit-rate */ in getparameter()
887 config->recvpersecond = value; in getparameter()
888 config->sendpersecond = value; in getparameter()
891 case 'I': /* --rate (request rate) */ in getparameter()
904 size_t numlen = div ? (size_t)(div - nextarg) : strlen(nextarg); in getparameter()
905 if(numlen > sizeof(number)-1) in getparameter()
929 errorf(global, "unsupported --rate unit\n"); in getparameter()
933 global->ms_per_transfer = numerator/denominator; in getparameter()
937 case 'j': /* --compressed */ in getparameter()
940 config->encoding = toggle; in getparameter()
943 case 'J': /* --tr-encoding */ in getparameter()
944 config->tr_encoding = toggle; in getparameter()
947 case 'k': /* --digest */ in getparameter()
949 config->authtype |= CURLAUTH_DIGEST; in getparameter()
951 config->authtype &= ~CURLAUTH_DIGEST; in getparameter()
954 case 'l': /* --negotiate */ in getparameter()
956 config->authtype &= ~CURLAUTH_NEGOTIATE; in getparameter()
958 config->authtype |= CURLAUTH_NEGOTIATE; in getparameter()
963 case 'm': /* --ntlm */ in getparameter()
965 config->authtype &= ~CURLAUTH_NTLM; in getparameter()
967 config->authtype |= CURLAUTH_NTLM; in getparameter()
972 case 'M': /* --ntlm-wb */ in getparameter()
974 config->authtype &= ~CURLAUTH_NTLM_WB; in getparameter()
976 config->authtype |= CURLAUTH_NTLM_WB; in getparameter()
981 case 'n': /* --basic for completeness */ in getparameter()
983 config->authtype |= CURLAUTH_BASIC; in getparameter()
985 config->authtype &= ~CURLAUTH_BASIC; in getparameter()
988 case 'o': /* --anyauth, let libcurl pick it */ in getparameter()
990 config->authtype = CURLAUTH_ANY; in getparameter()
991 /* --no-anyauth simply doesn't touch it */ in getparameter()
995 case 'p': /* --wdebug */ in getparameter()
999 case 'q': /* --ftp-create-dirs */ in getparameter()
1000 config->ftp_create_dirs = toggle; in getparameter()
1003 case 'r': /* --create-dirs */ in getparameter()
1004 config->create_dirs = toggle; in getparameter()
1007 case 'R': /* --create-file-mode */ in getparameter()
1008 err = oct2nummax(&config->create_file_mode, nextarg, 0777); in getparameter()
1013 case 's': /* --max-redirs */ in getparameter()
1014 /* specified max no of redirects (http(s)), this accepts -1 as a in getparameter()
1016 err = str2num(&config->maxredirs, nextarg); in getparameter()
1019 if(config->maxredirs < -1) in getparameter()
1023 case 't': /* --proxy-ntlm */ in getparameter()
1026 config->proxyntlm = toggle; in getparameter()
1029 case 'u': /* --crlf */ in getparameter()
1030 /* LF -> CRLF conversion? */ in getparameter()
1031 config->crlf = toggle; in getparameter()
1034 case 'V': /* --aws-sigv4 */ in getparameter()
1035 config->authtype |= CURLAUTH_AWS_SIGV4; in getparameter()
1036 GetStr(&config->aws_sigv4, nextarg); in getparameter()
1039 case 'v': /* --stderr */ in getparameter()
1042 case 'w': /* --interface */ in getparameter()
1044 GetStr(&config->iface, nextarg); in getparameter()
1046 case 'x': /* --krb */ in getparameter()
1050 GetStr(&config->krblevel, nextarg); in getparameter()
1052 case 'X': /* --haproxy-protocol */ in getparameter()
1053 config->haproxy_protocol = toggle; in getparameter()
1055 case 'y': /* --max-filesize */ in getparameter()
1059 GetSizeParameter(global, nextarg, "max-filesize", &value); in getparameter()
1063 config->max_filesize = value; in getparameter()
1066 case 'z': /* --disable-eprt */ in getparameter()
1067 config->disable_eprt = toggle; in getparameter()
1069 case 'Z': /* --eprt */ in getparameter()
1070 config->disable_eprt = (!toggle)?TRUE:FALSE; in getparameter()
1072 case '~': /* --xattr */ in getparameter()
1073 config->xattr = toggle; in getparameter()
1079 if(!config->url_get) in getparameter()
1080 config->url_get = config->url_list; in getparameter()
1082 if(config->url_get) { in getparameter()
1083 /* there's a node here, if it already is filled-in continue to find in getparameter()
1085 while(config->url_get && (config->url_get->flags & GETOUT_URL)) in getparameter()
1086 config->url_get = config->url_get->next; in getparameter()
1091 if(config->url_get) in getparameter()
1093 url = config->url_get; in getparameter()
1096 config->url_get = url = new_getout(config); in getparameter()
1102 GetStr(&url->url, nextarg); in getparameter()
1103 url->flags |= GETOUT_URL; in getparameter()
1109 case 'a': /* --ssl */ in getparameter()
1112 config->ftp_ssl = toggle; in getparameter()
1113 if(config->ftp_ssl) in getparameter()
1115 "--ssl is an insecure option, consider --ssl-reqd instead\n"); in getparameter()
1117 case 'b': /* --ftp-pasv */ in getparameter()
1118 Curl_safefree(config->ftpport); in getparameter()
1120 case 'c': /* --socks5 specifies a socks5 proxy to use, and resolves in getparameter()
1122 GetStr(&config->proxy, nextarg); in getparameter()
1123 config->proxyver = CURLPROXY_SOCKS5; in getparameter()
1125 case 't': /* --socks4 specifies a socks4 proxy to use */ in getparameter()
1126 GetStr(&config->proxy, nextarg); in getparameter()
1127 config->proxyver = CURLPROXY_SOCKS4; in getparameter()
1129 case 'T': /* --socks4a specifies a socks4a proxy to use */ in getparameter()
1130 GetStr(&config->proxy, nextarg); in getparameter()
1131 config->proxyver = CURLPROXY_SOCKS4A; in getparameter()
1133 case '2': /* --socks5-hostname specifies a socks5 proxy and enables name in getparameter()
1135 GetStr(&config->proxy, nextarg); in getparameter()
1136 config->proxyver = CURLPROXY_SOCKS5_HOSTNAME; in getparameter()
1138 case 'd': /* --tcp-nodelay option */ in getparameter()
1139 config->tcp_nodelay = toggle; in getparameter()
1141 case 'e': /* --proxy-digest */ in getparameter()
1142 config->proxydigest = toggle; in getparameter()
1144 case 'f': /* --proxy-basic */ in getparameter()
1145 config->proxybasic = toggle; in getparameter()
1147 case 'g': /* --retry */ in getparameter()
1148 err = str2unum(&config->req_retry, nextarg); in getparameter()
1152 case 'V': /* --retry-connrefused */ in getparameter()
1153 config->retry_connrefused = toggle; in getparameter()
1155 case 'h': /* --retry-delay */ in getparameter()
1156 err = str2unummax(&config->retry_delay, nextarg, LONG_MAX/1000); in getparameter()
1160 case 'i': /* --retry-max-time */ in getparameter()
1161 err = str2unummax(&config->retry_maxtime, nextarg, LONG_MAX/1000); in getparameter()
1165 case '!': /* --retry-all-errors */ in getparameter()
1166 config->retry_all_errors = toggle; in getparameter()
1169 case 'k': /* --proxy-negotiate */ in getparameter()
1172 config->proxynegotiate = toggle; in getparameter()
1175 case 'l': /* --form-escape */ in getparameter()
1176 config->mime_options &= ~CURLMIMEOPT_FORMESCAPE; in getparameter()
1178 config->mime_options |= CURLMIMEOPT_FORMESCAPE; in getparameter()
1181 case 'm': /* --ftp-account */ in getparameter()
1182 GetStr(&config->ftp_account, nextarg); in getparameter()
1184 case 'n': /* --proxy-anyauth */ in getparameter()
1185 config->proxyanyauth = toggle; in getparameter()
1187 case 'o': /* --trace-time */ in getparameter()
1188 global->tracetime = toggle; in getparameter()
1190 case 'p': /* --ignore-content-length */ in getparameter()
1191 config->ignorecl = toggle; in getparameter()
1193 case 'q': /* --ftp-skip-pasv-ip */ in getparameter()
1194 config->ftp_skip_ip = toggle; in getparameter()
1196 case 'r': /* --ftp-method (undocumented at this point) */ in getparameter()
1197 config->ftp_filemethod = ftpfilemethod(config, nextarg); in getparameter()
1199 case 's': { /* --local-port */ in getparameter()
1208 rc = sscanf(p, " - %6s", lrange); in getparameter()
1209 *p = 0; /* null-terminate to make str2unum() work below */ in getparameter()
1214 err = str2unum(&config->localport, nextarg); in getparameter()
1215 if(err || (config->localport > 65535)) in getparameter()
1218 config->localportrange = 1; /* default number of ports to try */ in getparameter()
1220 err = str2unum(&config->localportrange, lrange); in getparameter()
1221 if(err || (config->localportrange > 65535)) in getparameter()
1223 config->localportrange -= (config->localport-1); in getparameter()
1224 if(config->localportrange < 1) in getparameter()
1229 case 'u': /* --ftp-alternative-to-user */ in getparameter()
1230 GetStr(&config->ftp_alternative_to_user, nextarg); in getparameter()
1232 case 'v': /* --ssl-reqd */ in getparameter()
1235 config->ftp_ssl_reqd = toggle; in getparameter()
1237 case 'w': /* --no-sessionid */ in getparameter()
1238 config->disable_sessionid = (!toggle)?TRUE:FALSE; in getparameter()
1240 case 'x': /* --ftp-ssl-control */ in getparameter()
1243 config->ftp_ssl_control = toggle; in getparameter()
1245 case 'y': /* --ftp-ssl-ccc */ in getparameter()
1246 config->ftp_ssl_ccc = toggle; in getparameter()
1247 if(!config->ftp_ssl_ccc_mode) in getparameter()
1248 config->ftp_ssl_ccc_mode = CURLFTPSSL_CCC_PASSIVE; in getparameter()
1250 case 'j': /* --ftp-ssl-ccc-mode */ in getparameter()
1251 config->ftp_ssl_ccc = TRUE; in getparameter()
1252 config->ftp_ssl_ccc_mode = ftpcccmethod(config, nextarg); in getparameter()
1254 case 'z': /* --libcurl */ in getparameter()
1257 "--libcurl option was disabled at build-time!\n"); in getparameter()
1260 GetStr(&global->libcurl, nextarg); in getparameter()
1263 case '#': /* --raw */ in getparameter()
1264 config->raw = toggle; in getparameter()
1266 case '0': /* --post301 */ in getparameter()
1267 config->post301 = toggle; in getparameter()
1269 case '1': /* --no-keepalive */ in getparameter()
1270 config->nokeepalive = (!toggle)?TRUE:FALSE; in getparameter()
1272 case '3': /* --keepalive-time */ in getparameter()
1273 err = str2unum(&config->alivetime, nextarg); in getparameter()
1277 case '4': /* --post302 */ in getparameter()
1278 config->post302 = toggle; in getparameter()
1280 case 'I': /* --post303 */ in getparameter()
1281 config->post303 = toggle; in getparameter()
1283 case '5': /* --noproxy */ in getparameter()
1285 GetStr(&config->noproxy, nextarg); in getparameter()
1287 case '7': /* --socks5-gssapi-nec */ in getparameter()
1288 config->socks5_gssapi_nec = toggle; in getparameter()
1290 case '8': /* --proxy1.0 */ in getparameter()
1292 GetStr(&config->proxy, nextarg); in getparameter()
1293 config->proxyver = CURLPROXY_HTTP_1_0; in getparameter()
1295 case '9': /* --tftp-blksize */ in getparameter()
1296 err = str2unum(&config->tftp_blksize, nextarg); in getparameter()
1300 case 'A': /* --mail-from */ in getparameter()
1301 GetStr(&config->mail_from, nextarg); in getparameter()
1303 case 'B': /* --mail-rcpt */ in getparameter()
1305 err = add2list(&config->mail_rcpt, nextarg); in getparameter()
1309 case 'C': /* --ftp-pret */ in getparameter()
1310 config->ftp_pret = toggle; in getparameter()
1312 case 'D': /* --proto */ in getparameter()
1313 config->proto_present = TRUE; in getparameter()
1314 err = proto2num(config, built_in_protos, &config->proto_str, nextarg); in getparameter()
1318 case 'E': /* --proto-redir */ in getparameter()
1319 config->proto_redir_present = TRUE; in getparameter()
1320 if(proto2num(config, redir_protos, &config->proto_redir_str, nextarg)) in getparameter()
1323 case 'F': /* --resolve */ in getparameter()
1324 err = add2list(&config->resolve, nextarg); in getparameter()
1328 case 'G': /* --delegation LEVEL */ in getparameter()
1329 config->gssapi_delegation = delegation(config, nextarg); in getparameter()
1331 case 'H': /* --mail-auth */ in getparameter()
1332 GetStr(&config->mail_auth, nextarg); in getparameter()
1334 case 'J': /* --metalink */ in getparameter()
1335 errorf(global, "--metalink is disabled\n"); in getparameter()
1337 case '6': /* --sasl-authzid */ in getparameter()
1338 GetStr(&config->sasl_authzid, nextarg); in getparameter()
1340 case 'K': /* --sasl-ir */ in getparameter()
1341 config->sasl_ir = toggle; in getparameter()
1343 case 'L': /* --test-event */ in getparameter()
1345 global->test_event_based = toggle; in getparameter()
1347 warnf(global, "--test-event is ignored unless a debug build!\n"); in getparameter()
1350 case 'M': /* --unix-socket */ in getparameter()
1351 config->abstract_unix_socket = FALSE; in getparameter()
1352 GetStr(&config->unix_socket_path, nextarg); in getparameter()
1354 case 'N': /* --path-as-is */ in getparameter()
1355 config->path_as_is = toggle; in getparameter()
1357 case 'O': /* --proxy-service-name */ in getparameter()
1358 GetStr(&config->proxy_service_name, nextarg); in getparameter()
1360 case 'P': /* --service-name */ in getparameter()
1361 GetStr(&config->service_name, nextarg); in getparameter()
1363 case 'Q': /* --proto-default */ in getparameter()
1364 GetStr(&config->proto_default, nextarg); in getparameter()
1365 err = check_protocol(config->proto_default); in getparameter()
1369 case 'R': /* --expect100-timeout */ in getparameter()
1370 err = secs2ms(&config->expect100timeout_ms, nextarg); in getparameter()
1374 case 'S': /* --tftp-no-options */ in getparameter()
1375 config->tftp_no_options = toggle; in getparameter()
1377 case 'U': /* --connect-to */ in getparameter()
1378 err = add2list(&config->connect_to, nextarg); in getparameter()
1382 case 'W': /* --abstract-unix-socket */ in getparameter()
1383 config->abstract_unix_socket = TRUE; in getparameter()
1384 GetStr(&config->unix_socket_path, nextarg); in getparameter()
1386 case 'X': /* --tls-max */ in getparameter()
1387 err = str2tls_max(&config->ssl_version_max, nextarg); in getparameter()
1391 case 'Y': /* --suppress-connect-headers */ in getparameter()
1392 config->suppress_connect_headers = toggle; in getparameter()
1394 case 'Z': /* --compressed-ssh */ in getparameter()
1395 config->ssh_compression = toggle; in getparameter()
1397 case '~': /* --happy-eyeballs-timeout-ms */ in getparameter()
1398 err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg); in getparameter()
1407 case 'm': /* --progress-meter */ in getparameter()
1408 global->noprogress = !toggle; in getparameter()
1410 default: /* --progress-bar */ in getparameter()
1411 global->progressmode = in getparameter()
1416 case ':': /* --next */ in getparameter()
1418 case '0': /* --http* options */ in getparameter()
1422 sethttpver(global, config, CURL_HTTP_VERSION_1_0); in getparameter()
1426 sethttpver(global, config, CURL_HTTP_VERSION_1_1); in getparameter()
1430 sethttpver(global, config, CURL_HTTP_VERSION_2_0); in getparameter()
1432 case '3': /* --http2-prior-knowledge */ in getparameter()
1434 sethttpver(global, config, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE); in getparameter()
1436 case '4': /* --http3 */ in getparameter()
1440 sethttpver(global, config, CURL_HTTP_VERSION_3); in getparameter()
1442 case '5': /* --http3-only */ in getparameter()
1446 sethttpver(global, config, CURL_HTTP_VERSION_3ONLY); in getparameter()
1450 config->http09_allowed = toggle; in getparameter()
1454 case '1': /* --tlsv1* options */ in getparameter()
1458 config->ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
1462 config->ssl_version = CURL_SSLVERSION_TLSv1_0; in getparameter()
1466 config->ssl_version = CURL_SSLVERSION_TLSv1_1; in getparameter()
1470 config->ssl_version = CURL_SSLVERSION_TLSv1_2; in getparameter()
1474 config->ssl_version = CURL_SSLVERSION_TLSv1_3; in getparameter()
1476 case 'A': /* --tls13-ciphers */ in getparameter()
1477 GetStr(&config->cipher13_list, nextarg); in getparameter()
1479 case 'B': /* --proxy-tls13-ciphers */ in getparameter()
1480 GetStr(&config->proxy_cipher13_list, nextarg); in getparameter()
1493 /* IPv4 */ in getparameter()
1494 config->ip_version = CURL_IPRESOLVE_V4; in getparameter()
1498 config->ip_version = CURL_IPRESOLVE_V6; in getparameter()
1502 config->ftp_append = toggle; in getparameter()
1505 /* This specifies the User-Agent name */ in getparameter()
1506 GetStr(&config->useragent, nextarg); in getparameter()
1510 case 'a': /* --alt-svc */ in getparameter()
1513 GetStr(&config->altsvc, nextarg); in getparameter()
1515 case 'b': /* --hsts */ in getparameter()
1518 GetStr(&config->hsts, nextarg); in getparameter()
1520 default: /* --cookie string coming up: */ in getparameter()
1525 /* A cookie string must have a =-letter */ in getparameter()
1526 err = add2list(&config->cookies, nextarg); in getparameter()
1532 err = add2list(&config->cookiefiles, nextarg); in getparameter()
1539 config->use_ascii = toggle; in getparameter()
1543 GetStr(&config->cookiejar, nextarg); in getparameter()
1547 if(strcmp(nextarg, "-")) { in getparameter()
1548 err = str2offset(&config->resume_from, nextarg); in getparameter()
1551 config->resume_from_current = FALSE; in getparameter()
1554 config->resume_from_current = TRUE; in getparameter()
1555 config->resume_from = 0; in getparameter()
1557 config->use_resume = TRUE; in getparameter()
1567 if(subletter == 'g') { /* --url-query */ in getparameter()
1585 if(config->query) { in getparameter()
1587 curlx_dyn_addf(&dyn, "%s&%s", config->query, query); in getparameter()
1591 free(config->query); in getparameter()
1592 config->query = curlx_dyn_ptr(&dyn); in getparameter()
1595 config->query = query; in getparameter()
1599 else if(subletter == 'e') { /* --data-urlencode */ in getparameter()
1606 or - (stdin) follows */ in getparameter()
1609 if(!strcmp("-", nextarg)) { in getparameter()
1611 if(subletter == 'b') /* forced data-binary */ in getparameter()
1621 if((subletter == 'b') || /* --data-binary */ in getparameter()
1622 (subletter == 'f') /* --json */) in getparameter()
1650 config->jsoned = TRUE; in getparameter()
1652 if(config->postfields) { in getparameter()
1654 &-letter */ in getparameter()
1655 char *oldpost = config->postfields; in getparameter()
1656 curl_off_t oldlen = config->postfieldsize; in getparameter()
1658 config->postfields = malloc((size_t)newlen); in getparameter()
1659 if(!config->postfields) { in getparameter()
1664 memcpy(config->postfields, oldpost, (size_t)oldlen); in getparameter()
1666 /* skip this treatment for --json */ in getparameter()
1667 /* use byte value 0x26 for '&' to accommodate non-ASCII platforms */ in getparameter()
1668 config->postfields[oldlen] = '\x26'; in getparameter()
1669 memcpy(&config->postfields[oldlen + 1], postdata, size); in getparameter()
1670 config->postfields[oldlen + 1 + size] = '\0'; in getparameter()
1671 config->postfieldsize += size + 1; in getparameter()
1674 memcpy(&config->postfields[oldlen], postdata, size); in getparameter()
1675 config->postfields[oldlen + size] = '\0'; in getparameter()
1676 config->postfieldsize += size; in getparameter()
1682 config->postfields = postdata; in getparameter()
1683 config->postfieldsize = curlx_uztoso(size); in getparameter()
1688 a simple GET if -G is used. Already or soon. in getparameter()
1690 if(SetHTTPrequest(HTTPREQ_SIMPLEPOST, &config->httpreq)) { in getparameter()
1697 /* dump-header to given file name */ in getparameter()
1698 GetStr(&config->headerfile, nextarg); in getparameter()
1706 config->autoreferer = TRUE; in getparameter()
1707 *ptr = 0; /* null-terminate here */ in getparameter()
1710 config->autoreferer = FALSE; in getparameter()
1712 GetStr(&config->referer, ptr); in getparameter()
1719 GetFileAndPassword(nextarg, &config->cert, &config->key_passwd); in getparameter()
1722 GetStr(&config->cacert, nextarg); in getparameter()
1725 GetStr(&config->cert_type, nextarg); in getparameter()
1728 GetStr(&config->key, nextarg); in getparameter()
1731 GetStr(&config->key_type, nextarg); in getparameter()
1734 GetStr(&config->key_passwd, nextarg); in getparameter()
1738 GetStr(&config->engine, nextarg); in getparameter()
1739 if(config->engine && curl_strequal(config->engine, "list")) in getparameter()
1743 GetStr(&config->capath, nextarg); in getparameter()
1745 case 'h': /* --pubkey public key file */ in getparameter()
1746 GetStr(&config->pubkey, nextarg); in getparameter()
1748 case 'i': /* --hostpubmd5 md5 of the host public key */ in getparameter()
1749 GetStr(&config->hostpubmd5, nextarg); in getparameter()
1750 if(!config->hostpubmd5 || strlen(config->hostpubmd5) != 32) in getparameter()
1753 case 'F': /* --hostpubsha256 sha256 of the host public key */ in getparameter()
1754 GetStr(&config->hostpubsha256, nextarg); in getparameter()
1757 GetStr(&config->crlfile, nextarg); in getparameter()
1764 GetStr(&config->tls_username, nextarg); in getparameter()
1772 GetStr(&config->tls_password, nextarg); in getparameter()
1778 GetStr(&config->tls_authtype, nextarg); in getparameter()
1779 if(!curl_strequal(config->tls_authtype, "SRP")) in getparameter()
1780 return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
1782 case 'n': /* no empty SSL fragments, --ssl-allow-beast */ in getparameter()
1784 config->ssl_allow_beast = toggle; in getparameter()
1787 case 'o': /* --ssl-auto-client-cert */ in getparameter()
1789 config->ssl_auto_client_cert = toggle; in getparameter()
1792 case 'O': /* --proxy-ssl-auto-client-cert */ in getparameter()
1794 config->proxy_ssl_auto_client_cert = toggle; in getparameter()
1798 GetStr(&config->pinnedpubkey, nextarg); in getparameter()
1802 GetStr(&config->proxy_pinnedpubkey, nextarg); in getparameter()
1805 case 'q': /* --cert-status */ in getparameter()
1806 config->verifystatus = TRUE; in getparameter()
1809 case 'Q': /* --doh-cert-status */ in getparameter()
1810 config->doh_verifystatus = TRUE; in getparameter()
1813 case 'r': /* --false-start */ in getparameter()
1814 config->falsestart = TRUE; in getparameter()
1817 case 's': /* --ssl-no-revoke */ in getparameter()
1819 config->ssl_no_revoke = TRUE; in getparameter()
1822 case 'S': /* --ssl-revoke-best-effort */ in getparameter()
1824 config->ssl_revoke_best_effort = TRUE; in getparameter()
1827 case 't': /* --tcp-fastopen */ in getparameter()
1828 config->tcp_fastopen = TRUE; in getparameter()
1835 GetStr(&config->proxy_tls_username, nextarg); in getparameter()
1842 GetStr(&config->proxy_tls_password, nextarg); in getparameter()
1848 GetStr(&config->proxy_tls_authtype, nextarg); in getparameter()
1849 if(!curl_strequal(config->proxy_tls_authtype, "SRP")) in getparameter()
1850 return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ in getparameter()
1855 GetFileAndPassword(nextarg, &config->proxy_cert, in getparameter()
1856 &config->proxy_key_passwd); in getparameter()
1860 GetStr(&config->proxy_cert_type, nextarg); in getparameter()
1864 GetStr(&config->proxy_key, nextarg); in getparameter()
1868 GetStr(&config->proxy_key_type, nextarg); in getparameter()
1872 GetStr(&config->proxy_key_passwd, nextarg); in getparameter()
1877 GetStr(&config->proxy_cipher_list, nextarg); in getparameter()
1881 GetStr(&config->proxy_crlfile, nextarg); in getparameter()
1886 config->proxy_ssl_allow_beast = toggle; in getparameter()
1889 case '5': /* --login-options */ in getparameter()
1890 GetStr(&config->login_options, nextarg); in getparameter()
1894 GetStr(&config->proxy_cacert, nextarg); in getparameter()
1898 GetStr(&config->proxy_capath, nextarg); in getparameter()
1902 config->proxy_insecure_ok = toggle; in getparameter()
1905 case '9': /* --proxy-tlsv1 */ in getparameter()
1907 config->proxy_ssl_version = CURL_SSLVERSION_TLSv1; in getparameter()
1911 /* --socks5-basic */ in getparameter()
1913 config->socks5_auth |= CURLAUTH_BASIC; in getparameter()
1915 config->socks5_auth &= ~CURLAUTH_BASIC; in getparameter()
1919 /* --socks5-gssapi */ in getparameter()
1921 config->socks5_auth |= CURLAUTH_GSSAPI; in getparameter()
1923 config->socks5_auth &= ~CURLAUTH_GSSAPI; in getparameter()
1927 GetStr(&config->etag_save_file, nextarg); in getparameter()
1931 GetStr(&config->etag_compare_file, nextarg); in getparameter()
1935 GetStr(&config->ssl_ec_curves, nextarg); in getparameter()
1944 case 'a': /* --fail-early */ in getparameter()
1945 global->fail_early = toggle; in getparameter()
1947 case 'b': /* --styled-output */ in getparameter()
1948 global->styled_output = toggle; in getparameter()
1950 case 'c': /* --mail-rcpt-allowfails */ in getparameter()
1951 config->mail_rcpt_allowfails = toggle; in getparameter()
1953 case 'd': /* --fail-with-body */ in getparameter()
1954 config->failwithbody = toggle; in getparameter()
1956 case 'e': /* --remove-on-error */ in getparameter()
1957 config->rm_partial = toggle; in getparameter()
1959 default: /* --fail (hard on errors) */ in getparameter()
1960 config->failonerror = toggle; in getparameter()
1963 if(config->failonerror && config->failwithbody) { in getparameter()
1964 errorf(config->global, "You must select either --fail or " in getparameter()
1965 "--fail-with-body, not both.\n"); in getparameter()
1972 if(formparse(config, in getparameter()
1974 &config->mimeroot, in getparameter()
1975 &config->mimecurrent, in getparameter()
1978 if(SetHTTPrequest(config, HTTPREQ_MIMEPOST, &config->httpreq)) in getparameter()
1983 config->globoff = toggle; in getparameter()
1987 if(subletter == 'a') { /* --request-target */ in getparameter()
1988 GetStr(&config->request_target, nextarg); in getparameter()
1991 config->use_httpget = toggle; in getparameter()
1997 global->help_category = strdup(nextarg); in getparameter()
1998 if(!global->help_category) in getparameter()
2003 /* we now actually support --no-help too! */ in getparameter()
2011 bool use_stdin = !strcmp(&nextarg[1], "-"); in getparameter()
2022 if(subletter == 'p') /* --proxy-header */ in getparameter()
2023 err = add2list(&config->proxyheaders, h); in getparameter()
2025 err = add2list(&config->headers, h); in getparameter()
2039 if(subletter == 'p') /* --proxy-header */ in getparameter()
2040 err = add2list(&config->proxyheaders, nextarg); in getparameter()
2042 err = add2list(&config->headers, nextarg); in getparameter()
2048 config->show_headers = toggle; /* show the headers as well in the in getparameter()
2052 config->cookiesession = toggle; in getparameter()
2054 case 'I': /* --head */ in getparameter()
2055 config->no_body = toggle; in getparameter()
2056 config->show_headers = toggle; in getparameter()
2057 if(SetHTTPrequest(config, in getparameter()
2058 (config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET, in getparameter()
2059 &config->httpreq)) in getparameter()
2062 case 'J': /* --remote-header-name */ in getparameter()
2063 config->content_disposition = toggle; in getparameter()
2066 if(subletter == 'd') /* --doh-insecure */ in getparameter()
2067 config->doh_insecure_ok = toggle; in getparameter()
2069 config->insecure_ok = toggle; in getparameter()
2071 case 'K': /* parse config file */ in getparameter()
2073 errorf(global, "cannot read config from '%s'\n", nextarg); in getparameter()
2078 config->dirlistonly = toggle; /* only list the names of the FTP dir */ in getparameter()
2081 config->followlocation = toggle; /* Follow Location: HTTP headers */ in getparameter()
2086 config->unrestricted_auth = toggle; in getparameter()
2092 err = secs2ms(&config->timeout_ms, nextarg); in getparameter()
2097 if(toggle) { /* --no-manual shows no manual... */ in getparameter()
2100 "built-in manual was disabled at build-time!\n"); in getparameter()
2108 config->netrc_opt = toggle; in getparameter()
2110 case 'e': /* netrc-file */ in getparameter()
2111 GetStr(&config->netrc_file, nextarg); in getparameter()
2116 config->netrc = toggle; in getparameter()
2122 --buffer but is mostly used in the negative form: --no-buffer */ in getparameter()
2123 config->nobuffer = longopt ? !toggle : TRUE; in getparameter()
2125 case 'O': /* --remote-name */ in getparameter()
2126 if(subletter == 'a') { /* --remote-name-all */ in getparameter()
2127 config->default_node_flags = toggle?GETOUT_USEREMOTE:0; in getparameter()
2130 else if(subletter == 'b') { /* --output-dir */ in getparameter()
2131 GetStr(&config->output_dir, nextarg); in getparameter()
2134 else if(subletter == 'c') { /* --clobber / --no-clobber */ in getparameter()
2135 config->file_clobber_mode = toggle ? CLOBBER_ALWAYS : CLOBBER_NEVER; in getparameter()
2139 case 'o': /* --output */ in getparameter()
2143 if(!config->url_out) in getparameter()
2144 config->url_out = config->url_list; in getparameter()
2145 if(config->url_out) { in getparameter()
2146 /* there's a node here, if it already is filled-in continue to find in getparameter()
2148 while(config->url_out && (config->url_out->flags & GETOUT_OUTFILE)) in getparameter()
2149 config->url_out = config->url_out->next; in getparameter()
2154 if(config->url_out) in getparameter()
2156 url = config->url_out; in getparameter()
2158 if(!toggle && !config->default_node_flags) in getparameter()
2161 config->url_out = url = new_getout(config); in getparameter()
2173 GetStr(&url->outfile, nextarg); in getparameter()
2174 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in getparameter()
2177 url->outfile = NULL; /* leave it */ in getparameter()
2179 url->flags |= GETOUT_USEREMOTE; /* switch on */ in getparameter()
2181 url->flags &= ~GETOUT_USEREMOTE; /* switch off */ in getparameter()
2183 url->flags |= GETOUT_OUTFILE; in getparameter()
2192 GetStr(&config->ftpport, nextarg); in getparameter()
2195 /* proxy tunnel for non-http protocols */ in getparameter()
2196 config->proxytunnel = toggle; in getparameter()
2205 case '-': in getparameter()
2208 err = add2list(&config->postquote, nextarg); in getparameter()
2211 /* prefixed with a plus makes it a just-before-transfer one */ in getparameter()
2213 err = add2list(&config->prequote, nextarg); in getparameter()
2216 err = add2list(&config->quote, nextarg); in getparameter()
2225 claimed that to be a good way, why this code is added to work-around in getparameter()
2227 if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) { in getparameter()
2235 "A specified range MUST include at least one dash (-). " in getparameter()
2237 msnprintf(buffer, sizeof(buffer), "%" CURL_FORMAT_CURL_OFF_T "-", off); in getparameter()
2238 Curl_safefree(config->range); in getparameter()
2239 config->range = strdup(buffer); in getparameter()
2240 if(!config->range) in getparameter()
2247 if(!ISDIGIT(*tmp_range) && *tmp_range != '-' && *tmp_range != ',') { in getparameter()
2250 "\'start\'-\'stop\'. The server's response to this " in getparameter()
2256 GetStr(&config->range, nextarg); in getparameter()
2261 config->remote_time = toggle; in getparameter()
2263 case 's': /* --silent */ in getparameter()
2264 global->silent = toggle; in getparameter()
2266 case 'S': /* --show-error */ in getparameter()
2267 global->showerror = toggle; in getparameter()
2271 err = add2list(&config->telnet_options, nextarg); in getparameter()
2279 if(!config->url_ul) in getparameter()
2280 config->url_ul = config->url_list; in getparameter()
2281 if(config->url_ul) { in getparameter()
2282 /* there's a node here, if it already is filled-in continue to find in getparameter()
2284 while(config->url_ul && (config->url_ul->flags & GETOUT_UPLOAD)) in getparameter()
2285 config->url_ul = config->url_ul->next; in getparameter()
2290 if(config->url_ul) in getparameter()
2292 url = config->url_ul; in getparameter()
2295 config->url_ul = url = new_getout(config); in getparameter()
2300 url->flags |= GETOUT_UPLOAD; /* mark -T used */ in getparameter()
2302 url->flags |= GETOUT_NOUPLOAD; in getparameter()
2304 /* "-" equals stdin, but keep the string around for now */ in getparameter()
2305 GetStr(&url->infile, nextarg); in getparameter()
2311 GetStr(&config->userpwd, nextarg); in getparameter()
2316 GetStr(&config->proxyuserpwd, nextarg); in getparameter()
2322 Curl_safefree(global->trace_dump); in getparameter()
2323 global->trace_dump = strdup("%"); in getparameter()
2324 if(!global->trace_dump) in getparameter()
2326 if(global->tracetype && (global->tracetype != TRACE_PLAIN)) in getparameter()
2328 "-v, --verbose overrides an earlier trace/verbose option\n"); in getparameter()
2329 global->tracetype = TRACE_PLAIN; in getparameter()
2333 global->tracetype = TRACE_NONE; in getparameter()
2336 if(toggle) /* --no-version yields no output! */ in getparameter()
2344 or - (stdin) follows */ in getparameter()
2348 if(!strcmp("-", nextarg)) { in getparameter()
2356 Curl_safefree(config->writeout); in getparameter()
2357 err = file2string(&config->writeout, file); in getparameter()
2362 if(!config->writeout) in getparameter()
2366 GetStr(&config->writeout, nextarg); in getparameter()
2370 case 'a': /* --preproxy */ in getparameter()
2371 GetStr(&config->preproxy, nextarg); in getparameter()
2374 /* --proxy */ in getparameter()
2375 GetStr(&config->proxy, nextarg); in getparameter()
2376 config->proxyver = CURLPROXY_HTTP; in getparameter()
2382 GetStr(&config->customrequest, nextarg); in getparameter()
2386 err = str2unum(&config->low_speed_time, nextarg); in getparameter()
2389 if(!config->low_speed_limit) in getparameter()
2390 config->low_speed_limit = 1; in getparameter()
2394 err = str2unum(&config->low_speed_limit, nextarg); in getparameter()
2397 if(!config->low_speed_time) in getparameter()
2398 config->low_speed_time = 30; in getparameter()
2402 case '\0': /* --parallel */ in getparameter()
2403 global->parallel = toggle; in getparameter()
2405 case 'b': /* --parallel-max */ in getparameter()
2406 err = str2unum(&global->parallel_max, nextarg); in getparameter()
2409 if(global->parallel_max > MAX_PARALLEL) in getparameter()
2410 global->parallel_max = MAX_PARALLEL; in getparameter()
2411 else if(global->parallel_max < 1) in getparameter()
2412 global->parallel_max = PARALLEL_DEFAULT; in getparameter()
2414 case 'c': /* --parallel-connect */ in getparameter()
2415 global->parallel_connect = toggle; in getparameter()
2425 /* If-Modified-Since: (section 14.28 in RFC2068) */ in getparameter()
2426 config->timecond = CURL_TIMECOND_IFMODSINCE; in getparameter()
2428 case '-': in getparameter()
2429 /* If-Unmodified-Since: (section 14.24 in RFC2068) */ in getparameter()
2430 config->timecond = CURL_TIMECOND_IFUNMODSINCE; in getparameter()
2434 /* Last-Modified: (section 14.29 in RFC2068) */ in getparameter()
2435 config->timecond = CURL_TIMECOND_LASTMOD; in getparameter()
2440 config->condtime = (curl_off_t)curl_getdate(nextarg, &now); in getparameter()
2441 if(-1 == config->condtime) { in getparameter()
2446 config->condtime = filetime; in getparameter()
2450 config->timecond = CURL_TIMECOND_NONE; in getparameter()
2452 "Illegal date format for -z, --time-cond (and not " in getparameter()
2461 hit = -1; in getparameter()
2475 struct OperationConfig *config = global->first; in parse_args() local
2482 if(stillflags && ('-' == orig_opt[0])) { in parse_args()
2485 if(!strcmp("--", orig_opt)) in parse_args()
2487 following (URL) argument to start with -. */ in parse_args()
2491 if(i < (argc - 1)) { in parse_args()
2500 global, config); in parse_args()
2503 config = global->last; in parse_args()
2509 if(config->url_list && config->url_list->url) { in parse_args()
2510 /* Allocate the next config */ in parse_args()
2511 config->next = malloc(sizeof(struct OperationConfig)); in parse_args()
2512 if(config->next) { in parse_args()
2513 /* Initialise the newly created config */ in parse_args()
2514 config_init(config->next); in parse_args()
2516 /* Set the global config pointer */ in parse_args()
2517 config->next->global = global; in parse_args()
2519 /* Update the last config pointer */ in parse_args()
2520 global->last = config->next; in parse_args()
2522 /* Move onto the new config */ in parse_args()
2523 config->next->prev = config; in parse_args()
2524 config = config->next; in parse_args()
2530 errorf(global, "missing URL before --next\n"); in parse_args()
2542 result = getparameter("--url", orig_opt, argv[i], &used, global, config); in parse_args()
2549 if(!result && config->content_disposition) { in parse_args()
2550 if(config->show_headers) in parse_args()
2552 else if(config->resume_from_current) in parse_args()