• Home
  • Raw
  • Download

Lines Matching +full:remote +full:- +full:build +full:- +full:cache +full:- +full:proxy +full:- +full:enabled

23  * SPDX-License-Identifier: curl
157 /* return the count of bytes sent, or -1 on error */
164 /* return the count of bytes read, or -1 on error */
191 #include "c-hyper.h"
192 #include "cf-socket.h"
230 /* On a debug build, we want to fail hard on easy handles that
234 (((x) && ((x)->magic == CURLEASY_MAGIC_NUMBER))? TRUE: \
238 ((x) && ((x)->magic == CURLEASY_MAGIC_NUMBER))
242 /* Types needed for krb5-ftp connections */
276 /* SSL backend-specific data; declared differently by each SSL backend */
317 BIT(sessionid); /* cache session IDs or not */
343 size_t max_ssl_sessions; /* SSL session id cache size */
344 int ca_cache_timeout; /* Certificate store cache timeout (seconds) */
358 int remote_port; /* remote port */
359 int conn_to_port; /* remote port for the connection (may be -1) */
369 /* Struct used for Digest challenge-response authentication */
388 BIT(stale); /* set true for re-negotiation */
428 /* Struct used for SCRAM-SHA-1 authentication */
437 /* Struct used for NTLM challenge-response authentication */
460 void *target_info; /* TargetInfo received in the ntlm type-2 message */
499 #define CONN_IS_PROXIED(x) x->bits.proxy
507 BIT(httpproxy); /* if set, this transfer is done through an HTTP proxy */
508 BIT(socksproxy); /* if set, this transfer is done through a socks proxy */
509 BIT(proxy_user_passwd); /* user+password for the proxy? */
510 BIT(tunnel_proxy); /* if CONNECT is used to "tunnel" through the proxy.
511 This is implicit when SSL-protocols are used through
512 proxies, but can also be enabled explicitly by
514 BIT(proxy_connect_closed); /* TRUE if a proxy disconnected the connection
517 BIT(proxy); /* if set, this transfer is done through a proxy - any type */
522 BIT(altused); /* this is an alt-svc "redirect" */
526 that overrides the port in the URL (remote port) */
527 BIT(ipv6_ip); /* we communicate with a remote site specified with pure IPv6
530 BIT(do_more); /* this is set TRUE if the ->curl_do_more() function is
531 supposed to be called, after ->curl_do() */
535 re-attempted at another connection. */
543 BIT(ftp_use_data_ssl); /* Enabled SSL for the data connection */
544 BIT(ftp_use_control_ssl); /* Enabled SSL for the control connection */
569 char *encalloc; /* allocated IDN-encoded version of the name */
593 * This is used in HTTP for 'Expect: 100-continue' waiting. */
601 (((data)->req.keepon & KEEP_SENDBITS) == KEEP_SEND)
604 (((data)->req.keepon & KEEP_RECVBITS) == KEEP_RECV)
612 void *resolver; /* resolver state, if it is used in the URL state -
634 /* Explicit values for first two symbols so as to match hard-coded
640 /* Space here for (possibly build-specific) additional slot definitions */
676 /* This function *MAY* be set to a protocol-dependent function that is run
680 * should call the ->connecting() function until it is.
709 /* This function *MAY* be set to a protocol-dependent function that is run
741 curl_prot_t protocol; /* See CURLPROTO_* - this needs to be the single
744 non-TLS name of the protocol this is */
769 #define PROTOPT_PROXY_AS_HTTP (1<<11) /* allow this non-HTTP scheme over a
770 HTTP proxy as HTTP proxies may know
775 #define PROTOPT_NOTCPPROXY (1<<14) /* this protocol can't proxy over TCP */
794 unsigned char proxytype; /* curl_proxytype: what kind of proxy that is in
796 char *user; /* proxy user name string, allocated */
797 char *passwd; /* proxy password string, allocated */
817 /* This is used by the connection cache logic. If this returns TRUE, this
821 #define CONN_INUSE(c) ((c)->easyq.size)
828 DNS cache and it will not get pruned while locked. It gets unlocked in
847 (local/remote numerical ip address and port) whenever a is *attempted*.
860 struct curltime lastused; /* when returned to the connection cache */
871 struct ConnectBits bits; /* various state-flags for this connection */
889 BIT(sec_complete); /* if Kerberos is enabled for this connection */
900 #if defined(USE_KERBEROS5) /* Consider moving some of the above GSS-API */
906 /*************** Request - specific items ************/
927 struct ntlmdata proxyntlm; /* NTLM data for proxy */
935 struct negotiatedata proxyneg; /* state data for proxy Negotiate auth */
989 that subsequent bound-requested connections aren't accidentally reusing
998 int remote_port; /* the remote port, not the proxy port! */
999 int conn_to_port; /* the remote port to connect to. valid only if
1005 unsigned short secondary_port; /* secondary socket remote port to connect to
1010 unsigned char proxy_alpn; /* APLN of proxy tunnel, CURL_HTTP_VERSION* */
1021 ((c)->bits.socksproxy ? (c)->socks_proxy.host.dispname : \
1022 (c)->bits.httpproxy ? (c)->http_proxy.host.dispname : \
1023 (c)->bits.conn_to_host ? (c)->conn_to_host.dispname : \
1024 (c)->host.dispname)
1027 (c)->bits.conn_to_host ? (c)->conn_to_host.dispname : \
1028 (c)->host.dispname
1039 int httpproxycode; /* response code from proxy when received separate */
1041 time_t filetime; /* If requested, this is might get set. Set to -1 if the
1044 unsigned long proxyauthavail; /* what proxy auth types were announced */
1049 curl_off_t retry_after; /* info from Retry-After: header */
1057 that might be reused, in the connection cache. */
1059 int conn_remote_port; /* this is the "remote port", which is the port
1060 number of the used URL, independent of proxy or
1069 BIT(used_proxy); /* the transfer used a proxy */
1147 BIT(iestyle); /* TRUE if digest should be done IE-style or FALSE if it
1182 EXPIRE_HAPPY_EYEBALLS_DNS, /* See asyn-ares.c */
1226 /* Points to the connection cache */
1231 curl_off_t lastconnect_id; /* The last connection, -1 if undefined */
1256 /* storage for the previous bag^H^H^HSIGPIPE signal handler :-) */
1261 struct digestdata proxydigest; /* state data for proxy Digest auth */
1264 struct auth authproxy; /* auth details for proxy */
1281 /* do FTP line-end conversions on most platforms */
1300 curl_off_t infilesize; /* size of file to upload, -1 means unknown.
1303 struct Curl_data_priority priority; /* shallow copy of data->set */
1317 curl_mimepart *formp; /* storage for old API form-posting, allocated on
1369 unsigned char httpwant; /* when non-zero, a specific HTTP version requested
1375 unsigned char select_bits; /* != 0 -> bitmask of socket events for this
1452 STRING_SSL_PINNEDPUBLICKEY_PROXY, /* public key file to verify proxy */
1457 STRING_PROXY_SERVICE_NAME, /* Proxy service name */
1466 STRING_ENCODING, /* Accept-Encoding string */
1480 STRING_PROXY, /* proxy to use */
1481 STRING_PRE_PROXY, /* pre socks proxy to use */
1486 STRING_USERAGENT, /* User-Agent string */
1492 STRING_PROXYUSERNAME, /* Proxy <username>, if used */
1493 STRING_PROXYPASSWORD, /* Proxy <password>, if used */
1494 STRING_NOPROXY, /* List of hosts which should not use the proxy, if
1552 /* -- end of null-terminated strings -- */
1556 /* -- below this are pointers to binary data that cannot be strdup'ed. --- */
1560 STRING_LAST /* not used, just an end-of-list marker */
1588 void *writeheader; /* write the header to this if non-NULL */
1591 unsigned long proxyauth; /* kind of proxy authentication to use (bitmask) */
1592 long maxredirs; /* maximum no. of http(s) redirects to follow, set to -1
1623 curl_prereq_callback fprereq; /* pre-initial request callback */
1624 void *prereq_userp; /* pre-initial request user data */
1646 curl_off_t filesize; /* size of file to upload, -1 means unknown */
1662 DNS cache */
1668 unsigned char httpwant; /* when non-zero, a specific HTTP version requested
1672 struct ssl_config_data proxy_ssl; /* user defined SSL stuff for proxy */
1674 unsigned short proxyport; /* If non-zero, use this port number by
1675 default. If the proxy string features a
1677 unsigned char proxytype; /* what kind of proxy: curl_proxytype */
1681 int dns_cache_timeout; /* DNS cache timeout (seconds) */
1685 void *private_data; /* application-private data */
1690 file 0 - whatever, 1 - v2, 2 - v6 */
1703 1 - create directories that don't exist
1704 2 - the same but also allow MKD to fail once
1716 unsigned int new_directory_perms; /* when creating remote dirs */
1721 unsigned int new_file_perms; /* when creating remote files */
1730 void *rtp_out; /* write RTP to this if non-NULL */
1744 /* GSS-API credential delegation, see the documentation of
1775 unsigned int maxconnects; /* Max idle connections in the connection cache */
1783 BIT(is_fread_set); /* has read callback been set to non-NULL? */
1787 BIT(sep_headers); /* handle host and proxy headers separately */
1803 BIT(get_filetime); /* get the time and get of the remote file */
1805 BIT(tunnel_thru_httpproxy); /* use CONNECT through an HTTP proxy */
1825 BIT(http_transfer_encoding); /* request compressed HTTP transfer-encoding */
1842 transfer-encoded (chunked, compressed) */
1844 content-encoded (chunked, compressed) */
1846 FTP via an HTTP proxy */
1857 BIT(suppress_connect_headers); /* suppress proxy CONNECT response headers
1861 BIT(haproxyprotocol); /* whether to send HAProxy PROXY protocol v1
1869 BIT(doh); /* DNS-over-HTTPS enabled */
1884 #define IS_MIME_POST(a) ((a)->set.mimepost.kind != MIMEKIND_NONE)
1912 /* once an easy handle is tied to a connection cache
1913 a non-negative number to distinguish this transfer from
1914 other using the same cache. For easier tracking
1941 struct Curl_multi *multi; /* if non-NULL, points to the multi handle
1944 struct Curl_multi *multi_easy; /* if non-NULL, points to the multi handle
1949 struct PslCache *psl; /* The associated PSL cache. */
1951 struct SingleRequest req; /* Request-specific data */
1963 struct altsvcinfo *asi; /* the alt-svc cache */