Lines Matching full:config
108 struct OperationConfig *config,
333 struct OperationConfig *config = per->config; /* for the macro below */ in pre_transfer() local
335 (void)config; in pre_transfer()
349 void single_transfer_cleanup(struct OperationConfig *config) in single_transfer_cleanup() argument
351 if(config) { in single_transfer_cleanup()
352 struct State *state = &config->state; in single_transfer_cleanup()
379 struct OperationConfig *config = per->config; in post_per_transfer() local
382 if(!curl || !config) in post_per_transfer()
399 if(!config->synthetic_error && result && in post_per_transfer()
407 else if(config->failwithbody) { in post_per_transfer()
420 if(!result && config->xattr && outs->fopened && outs->stream) { in post_per_transfer()
423 warnf(config->global, "Error setting extended attributes on '%s': %s", in post_per_transfer()
435 if(!cond_unmet && !tool_create_output_file(outs, config)) in post_per_transfer()
458 (!config->retry_maxtime || in post_per_transfer()
460 config->retry_maxtime*1000L)) ) { in post_per_transfer()
477 else if(config->retry_connrefused && in post_per_transfer()
485 ((config->failonerror || config->failwithbody) && in post_per_transfer()
535 if(result && !retry && config->retry_all_errors) in post_per_transfer()
563 if(config->retry_maxtime) { in post_per_transfer()
567 (seconds + retry_after > config->retry_maxtime)) { in post_per_transfer()
568 warnf(config->global, "The Retry-After: time would " in post_per_transfer()
576 warnf(config->global, "Problem %s. " in post_per_transfer()
582 if(!config->retry_delay) { in post_per_transfer()
590 notef(config->global, in post_per_transfer()
599 errorf(config->global, "Failed to truncate file"); in post_per_transfer()
613 errorf(config->global, "Failed seeking to end of file"); in post_per_transfer()
637 errorf(config->global, "curl: (%d) Failed writing body", result); in post_per_transfer()
639 if(result && config->rm_partial) { in post_per_transfer()
655 if(!result && config->remote_time && outs->s_isreg && outs->filename) { in post_per_transfer()
663 if(config->writeout) in post_per_transfer()
664 ourWriteOut(config, per, result); in post_per_transfer()
695 struct OperationConfig *config, in url_proto() argument
713 result = ipfs_url_rewrite(uh, schemep, url, config); in url_proto()
720 config->synthetic_error = TRUE; in url_proto()
737 struct OperationConfig *config, in single_transfer() argument
746 struct State *state = &config->state; in single_transfer()
751 if(config->postfields) { in single_transfer()
752 if(config->use_httpget) { in single_transfer()
755 httpgetfields = state->httpgetfields = config->postfields; in single_transfer()
756 config->postfields = NULL; in single_transfer()
757 if(SetHTTPrequest(config, in single_transfer()
758 (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET), in single_transfer()
759 &config->httpreq)) { in single_transfer()
765 if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq)) in single_transfer()
769 single_transfer_cleanup(config); in single_transfer()
775 state->urlnode = config->url_list; in single_transfer()
779 while(config->state.urlnode) { in single_transfer()
783 urlnode = config->state.urlnode; in single_transfer()
793 config->state.urlnode = urlnode->next; in single_transfer()
797 warnf(config->global, "Got more output options than URLs"); in single_transfer()
815 if(!config->globoff && infiles && !inglob) { in single_transfer()
822 config->state.inglob = inglob; in single_transfer()
850 if(!config->globoff) { in single_transfer()
882 if(config->etag_compare_file) { in single_transfer()
888 FILE *file = fopen(config->etag_compare_file, FOPEN_READTEXT); in single_transfer()
889 if(!file && !config->etag_save_file) { in single_transfer()
891 "Failed to open %s", config->etag_compare_file); in single_transfer()
914 pe = add2list(&config->headers, header); in single_transfer()
925 if(config->etag_save_file) { in single_transfer()
927 if(strcmp(config->etag_save_file, "-")) { in single_transfer()
928 FILE *newfile = fopen(config->etag_save_file, "wb"); in single_transfer()
931 "Skip this transfer", config->etag_save_file); in single_transfer()
937 etag_save->filename = config->etag_save_file; in single_transfer()
968 if(SetHTTPrequest(config, HTTPREQ_PUT, &config->httpreq)) { in single_transfer()
976 per->config = config; in single_transfer()
985 if(config->headerfile) { in single_transfer()
987 if(strcmp(config->headerfile, "-")) { in single_transfer()
999 if(!per->prev || per->prev->config != config) { in single_transfer()
1000 newfile = fopen(config->headerfile, "wb"); in single_transfer()
1004 newfile = fopen(config->headerfile, "ab"); in single_transfer()
1007 errorf(global, "Failed to open %s", config->headerfile); in single_transfer()
1012 heads->filename = config->headerfile; in single_transfer()
1076 if(!*per->outfile && !config->content_disposition) { in single_transfer()
1099 if(config->output_dir && *config->output_dir) { in single_transfer()
1100 char *d = aprintf("%s/%s", config->output_dir, per->outfile); in single_transfer()
1111 if(config->create_dirs) { in single_transfer()
1119 && config->content_disposition) { in single_transfer()
1124 if(config->resume_from_current) { in single_transfer()
1131 config->resume_from = fileinfo.st_size; in single_transfer()
1134 config->resume_from = 0; in single_transfer()
1137 if(config->resume_from) { in single_transfer()
1154 outs->init = config->resume_from; in single_transfer()
1178 if(config->authtype & (1UL << bitcheck++)) { in single_transfer()
1191 if(config->proxyanyauth || (authbits>1)) { in single_transfer()
1209 if(per->uploadfile && config->resume_from_current) in single_transfer()
1210 config->resume_from = -1; /* -1 will then force get-it-yourself */ in single_transfer()
1218 /* progress meter is per download, so restore config in single_transfer()
1224 if(httpgetfields || config->query) { in single_transfer()
1225 char *q = httpgetfields ? httpgetfields : config->query; in single_transfer()
1235 config->synthetic_error = TRUE; in single_transfer()
1257 !config->use_ascii) { in single_transfer()
1264 config->terminal_binary_ok = in single_transfer()
1273 result = url_proto(&per->this_url, config, &use_proto); in single_transfer()
1286 if(!config->tcp_nodelay) in single_transfer()
1289 if(config->tcp_fastopen) in single_transfer()
1325 if(config->recvpersecond && in single_transfer()
1326 (config->recvpersecond < BUFFER_SIZE)) in single_transfer()
1328 my_setopt(curl, CURLOPT_BUFFERSIZE, (long)config->recvpersecond); in single_transfer()
1336 if(config->no_body) in single_transfer()
1339 if(config->oauth_bearer) in single_transfer()
1340 my_setopt_str(curl, CURLOPT_XOAUTH2_BEARER, config->oauth_bearer); in single_transfer()
1342 my_setopt_str(curl, CURLOPT_PROXY, config->proxy); in single_transfer()
1344 if(config->proxy && result) { in single_transfer()
1346 config->synthetic_error = TRUE; in single_transfer()
1352 if(config->proxy) in single_transfer()
1353 my_setopt_enum(curl, CURLOPT_PROXYTYPE, config->proxyver); in single_transfer()
1355 my_setopt_str(curl, CURLOPT_PROXYUSERPWD, config->proxyuserpwd); in single_transfer()
1358 my_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, config->proxytunnel?1L:0L); in single_transfer()
1361 if(config->preproxy) in single_transfer()
1362 my_setopt_str(curl, CURLOPT_PRE_PROXY, config->preproxy); in single_transfer()
1365 if(config->proxyanyauth) in single_transfer()
1368 else if(config->proxynegotiate) in single_transfer()
1371 else if(config->proxyntlm) in single_transfer()
1374 else if(config->proxydigest) in single_transfer()
1377 else if(config->proxybasic) in single_transfer()
1382 my_setopt_str(curl, CURLOPT_NOPROXY, config->noproxy); in single_transfer()
1385 config->suppress_connect_headers?1L:0L); in single_transfer()
1387 my_setopt(curl, CURLOPT_FAILONERROR, config->failonerror?1L:0L); in single_transfer()
1388 my_setopt(curl, CURLOPT_REQUEST_TARGET, config->request_target); in single_transfer()
1390 my_setopt(curl, CURLOPT_DIRLISTONLY, config->dirlistonly?1L:0L); in single_transfer()
1391 my_setopt(curl, CURLOPT_APPEND, config->ftp_append?1L:0L); in single_transfer()
1393 if(config->netrc_opt) in single_transfer()
1395 else if(config->netrc || config->netrc_file) in single_transfer()
1400 if(config->netrc_file) in single_transfer()
1401 my_setopt_str(curl, CURLOPT_NETRC_FILE, config->netrc_file); in single_transfer()
1403 my_setopt(curl, CURLOPT_TRANSFERTEXT, config->use_ascii?1L:0L); in single_transfer()
1404 if(config->login_options) in single_transfer()
1405 my_setopt_str(curl, CURLOPT_LOGIN_OPTIONS, config->login_options); in single_transfer()
1406 my_setopt_str(curl, CURLOPT_USERPWD, config->userpwd); in single_transfer()
1407 my_setopt_str(curl, CURLOPT_RANGE, config->range); in single_transfer()
1412 my_setopt(curl, CURLOPT_TIMEOUT_MS, config->timeout_ms); in single_transfer()
1414 switch(config->httpreq) { in single_transfer()
1416 if(config->resume_from) { in single_transfer()
1422 curlx_dyn_ptr(&config->postdata)); in single_transfer()
1424 (curl_off_t)curlx_dyn_len(&config->postdata)); in single_transfer()
1429 curl_mime_free(config->mimepost); in single_transfer()
1430 config->mimepost = NULL; in single_transfer()
1431 if(config->resume_from) { in single_transfer()
1436 result = tool2curlmime(curl, config->mimeroot, &config->mimepost); in single_transfer()
1438 my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost); in single_transfer()
1448 if(config->mime_options) in single_transfer()
1449 my_setopt(curl, CURLOPT_MIME_OPTIONS, config->mime_options); in single_transfer()
1452 if(config->authtype) in single_transfer()
1453 my_setopt_bitmask(curl, CURLOPT_HTTPAUTH, (long)config->authtype); in single_transfer()
1455 my_setopt_slist(curl, CURLOPT_HTTPHEADER, config->headers); in single_transfer()
1458 my_setopt_str(curl, CURLOPT_REFERER, config->referer); in single_transfer()
1459 my_setopt_str(curl, CURLOPT_USERAGENT, config->useragent); in single_transfer()
1466 config->followlocation?1L:0L); in single_transfer()
1468 config->unrestricted_auth?1L:0L); in single_transfer()
1469 my_setopt_str(curl, CURLOPT_AWS_SIGV4, config->aws_sigv4); in single_transfer()
1470 my_setopt(curl, CURLOPT_AUTOREFERER, config->autoreferer?1L:0L); in single_transfer()
1473 if(config->proxyheaders) { in single_transfer()
1474 my_setopt_slist(curl, CURLOPT_PROXYHEADER, config->proxyheaders); in single_transfer()
1479 my_setopt(curl, CURLOPT_MAXREDIRS, config->maxredirs); in single_transfer()
1481 if(config->httpversion) in single_transfer()
1482 my_setopt_enum(curl, CURLOPT_HTTP_VERSION, config->httpversion); in single_transfer()
1488 if(config->post301) in single_transfer()
1490 if(config->post302) in single_transfer()
1492 if(config->post303) in single_transfer()
1497 if(config->encoding) in single_transfer()
1501 if(config->tr_encoding) in single_transfer()
1505 config->http09_allowed ? 1L : 0L); in single_transfer()
1514 my_setopt_str(curl, CURLOPT_FTPPORT, config->ftpport); in single_transfer()
1516 config->low_speed_limit); in single_transfer()
1517 my_setopt(curl, CURLOPT_LOW_SPEED_TIME, config->low_speed_time); in single_transfer()
1519 config->sendpersecond); in single_transfer()
1521 config->recvpersecond); in single_transfer()
1523 if(config->use_resume) in single_transfer()
1524 my_setopt(curl, CURLOPT_RESUME_FROM_LARGE, config->resume_from); in single_transfer()
1528 my_setopt_str(curl, CURLOPT_KEYPASSWD, config->key_passwd); in single_transfer()
1529 my_setopt_str(curl, CURLOPT_PROXY_KEYPASSWD, config->proxy_key_passwd); in single_transfer()
1534 my_setopt_str(curl, CURLOPT_SSH_PRIVATE_KEYFILE, config->key); in single_transfer()
1536 my_setopt_str(curl, CURLOPT_SSH_PUBLIC_KEYFILE, config->pubkey); in single_transfer()
1541 config->hostpubmd5); in single_transfer()
1546 config->hostpubsha256); in single_transfer()
1549 if(config->ssh_compression) in single_transfer()
1553 if(config->cacert) in single_transfer()
1554 my_setopt_str(curl, CURLOPT_CAINFO, config->cacert); in single_transfer()
1555 if(config->proxy_cacert) in single_transfer()
1556 my_setopt_str(curl, CURLOPT_PROXY_CAINFO, config->proxy_cacert); in single_transfer()
1558 if(config->capath) { in single_transfer()
1559 result = res_setopt_str(curl, CURLOPT_CAPATH, config->capath); in single_transfer()
1570 if(config->proxy_capath || config->capath) { in single_transfer()
1572 (config->proxy_capath ? in single_transfer()
1573 config->proxy_capath : in single_transfer()
1574 config->capath)); in single_transfer()
1577 if(config->proxy_capath) { in single_transfer()
1586 if(config->crlfile) in single_transfer()
1587 my_setopt_str(curl, CURLOPT_CRLFILE, config->crlfile); in single_transfer()
1588 if(config->proxy_crlfile) in single_transfer()
1589 my_setopt_str(curl, CURLOPT_PROXY_CRLFILE, config->proxy_crlfile); in single_transfer()
1590 else if(config->crlfile) /* CURLOPT_PROXY_CRLFILE default is crlfile */ in single_transfer()
1591 my_setopt_str(curl, CURLOPT_PROXY_CRLFILE, config->crlfile); in single_transfer()
1593 if(config->pinnedpubkey) in single_transfer()
1594 my_setopt_str(curl, CURLOPT_PINNEDPUBLICKEY, config->pinnedpubkey); in single_transfer()
1596 if(config->ssl_ec_curves) in single_transfer()
1597 my_setopt_str(curl, CURLOPT_SSL_EC_CURVES, config->ssl_ec_curves); in single_transfer()
1599 if(config->writeout) in single_transfer()
1603 /* Check if config->cert is a PKCS#11 URI and set the in single_transfer()
1604 * config->cert_type if necessary */ in single_transfer()
1605 if(config->cert) { in single_transfer()
1606 if(!config->cert_type) { in single_transfer()
1607 if(is_pkcs11_uri(config->cert)) { in single_transfer()
1608 config->cert_type = strdup("ENG"); in single_transfer()
1613 /* Check if config->key is a PKCS#11 URI and set the in single_transfer()
1614 * config->key_type if necessary */ in single_transfer()
1615 if(config->key) { in single_transfer()
1616 if(!config->key_type) { in single_transfer()
1617 if(is_pkcs11_uri(config->key)) { in single_transfer()
1618 config->key_type = strdup("ENG"); in single_transfer()
1623 /* Check if config->proxy_cert is a PKCS#11 URI and set the in single_transfer()
1624 * config->proxy_type if necessary */ in single_transfer()
1625 if(config->proxy_cert) { in single_transfer()
1626 if(!config->proxy_cert_type) { in single_transfer()
1627 if(is_pkcs11_uri(config->proxy_cert)) { in single_transfer()
1628 config->proxy_cert_type = strdup("ENG"); in single_transfer()
1633 /* Check if config->proxy_key is a PKCS#11 URI and set the in single_transfer()
1634 * config->proxy_key_type if necessary */ in single_transfer()
1635 if(config->proxy_key) { in single_transfer()
1636 if(!config->proxy_key_type) { in single_transfer()
1637 if(is_pkcs11_uri(config->proxy_key)) { in single_transfer()
1638 config->proxy_key_type = strdup("ENG"); in single_transfer()
1649 if(config->cert && (strlen(config->cert) > 8) && in single_transfer()
1650 (memcmp(config->cert, "loadmem=",8) == 0)) { in single_transfer()
1651 FILE *fInCert = fopen(config->cert + 8, "rb"); in single_transfer()
1684 my_setopt_str(curl, CURLOPT_SSLCERT, config->cert); in single_transfer()
1685 my_setopt_str(curl, CURLOPT_PROXY_SSLCERT, config->proxy_cert); in single_transfer()
1686 my_setopt_str(curl, CURLOPT_SSLCERTTYPE, config->cert_type); in single_transfer()
1688 config->proxy_cert_type); in single_transfer()
1692 if(config->key && (strlen(config->key) > 8) && in single_transfer()
1693 (memcmp(config->key, "loadmem=",8) == 0)) { in single_transfer()
1694 FILE *fInCert = fopen(config->key + 8, "rb"); in single_transfer()
1727 my_setopt_str(curl, CURLOPT_SSLKEY, config->key); in single_transfer()
1728 my_setopt_str(curl, CURLOPT_PROXY_SSLKEY, config->proxy_key); in single_transfer()
1729 my_setopt_str(curl, CURLOPT_SSLKEYTYPE, config->key_type); in single_transfer()
1731 config->proxy_key_type); in single_transfer()
1732 if(config->insecure_ok) { in single_transfer()
1742 if(config->doh_insecure_ok) { in single_transfer()
1747 if(config->proxy_insecure_ok) { in single_transfer()
1755 if(config->verifystatus) in single_transfer()
1758 if(config->doh_verifystatus) in single_transfer()
1761 if(config->falsestart) in single_transfer()
1765 config->ssl_version | config->ssl_version_max); in single_transfer()
1766 if(config->proxy) in single_transfer()
1768 config->proxy_ssl_version); in single_transfer()
1772 (config->ssl_allow_beast ? in single_transfer()
1774 (config->ssl_no_revoke ? in single_transfer()
1776 (config->ssl_revoke_best_effort ? in single_transfer()
1778 (config->native_ca_store ? in single_transfer()
1780 (config->ssl_auto_client_cert ? in single_transfer()
1789 (config->proxy_ssl_allow_beast ? in single_transfer()
1791 (config->proxy_ssl_auto_client_cert ? in single_transfer()
1793 (config->proxy_native_ca_store ? in single_transfer()
1801 if(config->path_as_is) in single_transfer()
1805 !config->insecure_ok) { in single_transfer()
1821 if(config->no_body || config->remote_time) { in single_transfer()
1826 my_setopt(curl, CURLOPT_CRLF, config->crlf?1L:0L); in single_transfer()
1827 my_setopt_slist(curl, CURLOPT_QUOTE, config->quote); in single_transfer()
1828 my_setopt_slist(curl, CURLOPT_POSTQUOTE, config->postquote); in single_transfer()
1829 my_setopt_slist(curl, CURLOPT_PREQUOTE, config->prequote); in single_transfer()
1831 if(config->cookies) { in single_transfer()
1838 for(cl = config->cookies; cl; cl = cl->next) { in single_transfer()
1839 if(cl == config->cookies) in single_transfer()
1856 if(config->cookiefiles) { in single_transfer()
1859 for(cfl = config->cookiefiles; cfl; cfl = cfl->next) in single_transfer()
1864 if(config->cookiejar) in single_transfer()
1865 my_setopt_str(curl, CURLOPT_COOKIEJAR, config->cookiejar); in single_transfer()
1868 my_setopt(curl, CURLOPT_COOKIESESSION, config->cookiesession?1L:0L); in single_transfer()
1870 my_setopt_enum(curl, CURLOPT_TIMECONDITION, (long)config->timecond); in single_transfer()
1871 my_setopt(curl, CURLOPT_TIMEVALUE_LARGE, config->condtime); in single_transfer()
1872 my_setopt_str(curl, CURLOPT_CUSTOMREQUEST, config->customrequest); in single_transfer()
1873 customrequest_helper(config, config->httpreq, config->customrequest); in single_transfer()
1877 my_setopt_str(curl, CURLOPT_INTERFACE, config->iface); in single_transfer()
1878 my_setopt_str(curl, CURLOPT_KRBLEVEL, config->krblevel); in single_transfer()
1879 progressbarinit(&per->progressbar, config); in single_transfer()
1897 if(config->dns_servers) in single_transfer()
1898 my_setopt_str(curl, CURLOPT_DNS_SERVERS, config->dns_servers); in single_transfer()
1901 if(config->dns_interface) in single_transfer()
1902 my_setopt_str(curl, CURLOPT_DNS_INTERFACE, config->dns_interface); in single_transfer()
1903 if(config->dns_ipv4_addr) in single_transfer()
1904 my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP4, config->dns_ipv4_addr); in single_transfer()
1905 if(config->dns_ipv6_addr) in single_transfer()
1906 my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP6, config->dns_ipv6_addr); in single_transfer()
1909 my_setopt_slist(curl, CURLOPT_TELNETOPTIONS, config->telnet_options); in single_transfer()
1912 my_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, config->connecttimeout_ms); in single_transfer()
1914 if(config->doh_url) in single_transfer()
1915 my_setopt_str(curl, CURLOPT_DOH_URL, config->doh_url); in single_transfer()
1917 if(config->cipher_list) in single_transfer()
1918 my_setopt_str(curl, CURLOPT_SSL_CIPHER_LIST, config->cipher_list); in single_transfer()
1920 if(config->proxy_cipher_list) in single_transfer()
1922 config->proxy_cipher_list); in single_transfer()
1924 if(config->cipher13_list) in single_transfer()
1925 my_setopt_str(curl, CURLOPT_TLS13_CIPHERS, config->cipher13_list); in single_transfer()
1927 if(config->proxy_cipher13_list) in single_transfer()
1929 config->proxy_cipher13_list); in single_transfer()
1932 if(config->disable_epsv) in single_transfer()
1937 if(config->disable_eprt) in single_transfer()
1943 my_setopt(curl, CURLOPT_DEBUGDATA, config); in single_transfer()
1948 if(config->engine) { in single_transfer()
1949 result = res_setopt_str(curl, CURLOPT_SSLENGINE, config->engine); in single_transfer()
1957 (long)(config->ftp_create_dirs? in single_transfer()
1962 if(config->max_filesize) in single_transfer()
1964 config->max_filesize); in single_transfer()
1966 my_setopt(curl, CURLOPT_IPRESOLVE, config->ip_version); in single_transfer()
1969 if(config->ftp_ssl_reqd) in single_transfer()
1973 else if(config->ftp_ssl) in single_transfer()
1977 else if(config->ftp_ssl_control) in single_transfer()
1981 if(config->ftp_ssl_ccc) in single_transfer()
1983 (long)config->ftp_ssl_ccc_mode); in single_transfer()
1986 if(config->socks5_gssapi_nec) in single_transfer()
1990 if(config->socks5_auth) in single_transfer()
1992 (long)config->socks5_auth); in single_transfer()
1995 if(config->proxy_service_name) in single_transfer()
1997 config->proxy_service_name); in single_transfer()
2000 if(config->service_name) in single_transfer()
2002 config->service_name); in single_transfer()
2005 my_setopt_str(curl, CURLOPT_FTP_ACCOUNT, config->ftp_account); in single_transfer()
2006 my_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, config->ignorecl?1L:0L); in single_transfer()
2009 my_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, config->ftp_skip_ip?1L:0L); in single_transfer()
2014 (long)config->ftp_filemethod); in single_transfer()
2017 if(config->localport) { in single_transfer()
2018 my_setopt(curl, CURLOPT_LOCALPORT, config->localport); in single_transfer()
2019 my_setopt_str(curl, CURLOPT_LOCALPORTRANGE, config->localportrange); in single_transfer()
2024 config->ftp_alternative_to_user); in single_transfer()
2027 if(config->disable_sessionid) in single_transfer()
2032 if(config->raw) { in single_transfer()
2038 if(!config->nokeepalive) { in single_transfer()
2040 if(config->alivetime) { in single_transfer()
2041 my_setopt(curl, CURLOPT_TCP_KEEPIDLE, config->alivetime); in single_transfer()
2042 my_setopt(curl, CURLOPT_TCP_KEEPINTVL, config->alivetime); in single_transfer()
2049 if(config->tftp_blksize && proto_tftp) in single_transfer()
2050 my_setopt(curl, CURLOPT_TFTP_BLKSIZE, config->tftp_blksize); in single_transfer()
2052 if(config->mail_from) in single_transfer()
2053 my_setopt_str(curl, CURLOPT_MAIL_FROM, config->mail_from); in single_transfer()
2055 if(config->mail_rcpt) in single_transfer()
2056 my_setopt_slist(curl, CURLOPT_MAIL_RCPT, config->mail_rcpt); in single_transfer()
2060 config->mail_rcpt_allowfails ? 1L : 0L); in single_transfer()
2063 if(config->ftp_pret) in single_transfer()
2066 if(config->create_file_mode) in single_transfer()
2067 my_setopt(curl, CURLOPT_NEW_FILE_PERMS, config->create_file_mode); in single_transfer()
2069 if(config->proto_present) in single_transfer()
2070 my_setopt_str(curl, CURLOPT_PROTOCOLS_STR, config->proto_str); in single_transfer()
2071 if(config->proto_redir_present) in single_transfer()
2073 config->proto_redir_str); in single_transfer()
2075 if(config->content_disposition in single_transfer()
2085 hdrcbdata->config = config; in single_transfer()
2090 if(config->resolve) in single_transfer()
2092 my_setopt_slist(curl, CURLOPT_RESOLVE, config->resolve); in single_transfer()
2094 if(config->connect_to) in single_transfer()
2096 my_setopt_slist(curl, CURLOPT_CONNECT_TO, config->connect_to); in single_transfer()
2100 if(config->tls_username) in single_transfer()
2102 config->tls_username); in single_transfer()
2103 if(config->tls_password) in single_transfer()
2105 config->tls_password); in single_transfer()
2106 if(config->tls_authtype) in single_transfer()
2108 config->tls_authtype); in single_transfer()
2109 if(config->proxy_tls_username) in single_transfer()
2111 config->proxy_tls_username); in single_transfer()
2112 if(config->proxy_tls_password) in single_transfer()
2114 config->proxy_tls_password); in single_transfer()
2115 if(config->proxy_tls_authtype) in single_transfer()
2117 config->proxy_tls_authtype); in single_transfer()
2121 if(config->gssapi_delegation) in single_transfer()
2123 config->gssapi_delegation); in single_transfer()
2125 if(config->mail_auth) in single_transfer()
2126 my_setopt_str(curl, CURLOPT_MAIL_AUTH, config->mail_auth); in single_transfer()
2129 if(config->sasl_authzid) in single_transfer()
2130 my_setopt_str(curl, CURLOPT_SASL_AUTHZID, config->sasl_authzid); in single_transfer()
2133 if(config->sasl_ir) in single_transfer()
2136 if(config->noalpn) { in single_transfer()
2141 if(config->unix_socket_path) { in single_transfer()
2142 if(config->abstract_unix_socket) { in single_transfer()
2144 config->unix_socket_path); in single_transfer()
2148 config->unix_socket_path); in single_transfer()
2153 if(config->proto_default) in single_transfer()
2154 my_setopt_str(curl, CURLOPT_DEFAULT_PROTOCOL, config->proto_default); in single_transfer()
2157 if(config->expect100timeout_ms > 0) in single_transfer()
2159 config->expect100timeout_ms); in single_transfer()
2162 if(config->tftp_no_options && proto_tftp) in single_transfer()
2166 if(config->happy_eyeballs_timeout_ms != CURL_HET_DEFAULT) in single_transfer()
2168 config->happy_eyeballs_timeout_ms); in single_transfer()
2171 if(config->haproxy_protocol) in single_transfer()
2175 if(config->haproxy_clientip) in single_transfer()
2177 config->haproxy_clientip); in single_transfer()
2179 if(config->disallow_username_in_url) in single_transfer()
2182 if(config->altsvc) in single_transfer()
2183 my_setopt_str(curl, CURLOPT_ALTSVC, config->altsvc); in single_transfer()
2185 if(config->hsts) in single_transfer()
2186 my_setopt_str(curl, CURLOPT_HSTS, config->hsts); in single_transfer()
2189 per->retry_sleep_default = (config->retry_delay) ? in single_transfer()
2190 config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */ in single_transfer()
2191 per->retry_numretries = config->req_retry; in single_transfer()
2223 config->state.urlnode = urlnode->next; in single_transfer()
2234 single_transfer_cleanup(config); in single_transfer()
2533 /* setup a transfer for the given config */
2535 struct OperationConfig *config, in transfer_per_config() argument
2544 if(!config->url_list || !config->url_list->url) { in transfer_per_config()
2559 if(!config->cacert && in transfer_per_config()
2560 !config->capath && in transfer_per_config()
2561 (!config->insecure_ok || (config->doh_url && !config->doh_insecure_ok))) { in transfer_per_config()
2588 config->cacert = strdup(env); in transfer_per_config()
2589 if(!config->cacert) { in transfer_per_config()
2599 config->capath = strdup(env); in transfer_per_config()
2600 if(!config->capath) { in transfer_per_config()
2611 config->cacert = strdup(env); in transfer_per_config()
2612 if(!config->cacert) { in transfer_per_config()
2615 free(config->capath); in transfer_per_config()
2627 result = FindWin32CACert(config, tls_backend_info->backend, in transfer_per_config()
2636 result = single_transfer(global, config, share, capath_from_env, added); in transfer_per_config()
2690 clean_getout(per->config); in run_all_transfers()
2695 /* Reset the global config variables */ in run_all_transfers()