#include "curl_setup.h"#include "urldata.h"#include "netrc.h"#include "formdata.h"#include "vtls/vtls.h"#include "hostip.h"#include "transfer.h"#include "sendf.h"#include "progress.h"#include "cookie.h"#include "strcase.h"#include "strerror.h"#include "escape.h"#include "strtok.h"#include "share.h"#include "content_encoding.h"#include "http_digest.h"#include "http_negotiate.h"#include "select.h"#include "multiif.h"#include "easyif.h"#include "speedcheck.h"#include "warnless.h"#include "non-ascii.h"#include "inet_pton.h"#include "getinfo.h"#include "ftp.h"#include "dict.h"#include "telnet.h"#include "tftp.h"#include "http.h"#include "http2.h"#include "file.h"#include "curl_ldap.h"#include "ssh.h"#include "imap.h"#include "url.h"#include "connect.h"#include "inet_ntop.h"#include "http_ntlm.h"#include "curl_ntlm_wb.h"#include "socks.h"#include "curl_rtmp.h"#include "gopher.h"#include "http_proxy.h"#include "conncache.h"#include "multihandle.h"#include "pipeline.h"#include "dotdot.h"#include "strdup.h"#include "curl_printf.h"#include "curl_memory.h"#include "memdebug.h"Go to the source code of this file.
Defines | |
| #define | conn_reset_all_postponed_data(c) do {} WHILE_FALSE |
| #define | conn_reset_postponed_data(c, n) do {} WHILE_FALSE |
| #define | LEAST_PATH_ALLOC 256 |
Functions | |
| static struct connectdata * | allocate_conn (struct Curl_easy *data) |
| static int | call_disconnect_if_dead (struct connectdata *conn, void *param) |
| static bool | check_noproxy (const char *name, const char *no_proxy) |
| static void | conn_free (struct connectdata *conn) |
| static bool | ConnectionExists (struct Curl_easy *data, struct connectdata *needle, struct connectdata **usethis, bool *force_reuse, bool *waitpipe) |
| static CURLcode | create_conn (struct Curl_easy *data, struct connectdata **in_connect, bool *async) |
| CURLcode | Curl_close (struct Curl_easy *data) |
| CURLcode | Curl_connect (struct Curl_easy *data, struct connectdata **in_connect, bool *asyncp, bool *protocol_done) |
| CURLcode | Curl_connected_proxy (struct connectdata *conn, int sockindex) |
| CURLcode | Curl_disconnect (struct connectdata *conn, bool dead_connection) |
| int | Curl_doing_getsock (struct connectdata *conn, curl_socket_t *socks, int numsocks) |
| CURLcode | Curl_dupset (struct Curl_easy *dst, struct Curl_easy *src) |
| void | Curl_free_request_state (struct Curl_easy *data) |
| void | Curl_freeset (struct Curl_easy *data) |
| void | Curl_getoff_all_pipelines (struct Curl_easy *data, struct connectdata *conn) |
| CURLcode | Curl_init_do (struct Curl_easy *data, struct connectdata *conn) |
| CURLcode | Curl_init_userdefined (struct UserDefined *set) |
| struct connectdata * | Curl_oldest_idle_connection (struct Curl_easy *data) |
| CURLcode | Curl_open (struct Curl_easy **curl) |
| CURLcode | Curl_protocol_connect (struct connectdata *conn, bool *protocol_done) |
| CURLcode | Curl_protocol_connecting (struct connectdata *conn, bool *done) |
| CURLcode | Curl_protocol_doing (struct connectdata *conn, bool *done) |
| int | Curl_protocol_getsock (struct connectdata *conn, curl_socket_t *socks, int numsocks) |
| int | Curl_removeHandleFromPipeline (struct Curl_easy *handle, struct curl_llist *pipeline) |
| CURLcode | Curl_setopt (struct Curl_easy *data, CURLoption option, va_list param) |
| CURLcode | Curl_setup_conn (struct connectdata *conn, bool *protocol_done) |
| void | Curl_verboseconnect (struct connectdata *conn) |
| static char * | detect_proxy (struct connectdata *conn) |
| static bool | disconnect_if_dead (struct connectdata *conn, struct Curl_easy *data) |
| static struct connectdata * | find_oldest_idle_connection_in_bundle (struct Curl_easy *data, struct connectbundle *bundle) |
| static CURLcode | findprotocol (struct Curl_easy *data, struct connectdata *conn, const char *protostr) |
| static void | fix_hostname (struct connectdata *conn, struct hostname *host) |
| static void | free_fixed_hostname (struct hostname *host) |
| static unsigned int | get_protocol_family (unsigned int protocol) |
| static struct Curl_easy * | gethandleathead (struct curl_llist *pipeline) |
| static bool | is_ASCII_name (const char *hostname) |
| static bool | IsPipeliningPossible (const struct Curl_easy *handle, const struct connectdata *conn) |
| static void | llist_dtor (void *user, void *element) |
| static size_t | max_pipeline_length (struct Curl_multi *multi) |
| static CURLcode | override_login (struct Curl_easy *data, struct connectdata *conn, char **userp, char **passwdp, char **optionsp) |
| static CURLcode | parse_connect_to_host_port (struct Curl_easy *data, const char *host, char **hostname_result, int *port_result) |
| static CURLcode | parse_connect_to_slist (struct Curl_easy *data, struct connectdata *conn, struct curl_slist *conn_to_host) |
| static CURLcode | parse_connect_to_string (struct Curl_easy *data, struct connectdata *conn, const char *conn_to_host, char **host_result, int *port_result) |
| static CURLcode | parse_login_details (const char *login, const size_t len, char **userptr, char **passwdptr, char **optionsptr) |
| static CURLcode | parse_proxy (struct Curl_easy *data, struct connectdata *conn, char *proxy, curl_proxytype proxytype) |
| static CURLcode | parse_proxy_auth (struct Curl_easy *data, struct connectdata *conn) |
| static CURLcode | parse_remote_port (struct Curl_easy *data, struct connectdata *conn) |
| static CURLcode | parse_url_login (struct Curl_easy *data, struct connectdata *conn, char **userptr, char **passwdptr, char **optionsptr) |
| static CURLcode | parseurlandfillconn (struct Curl_easy *data, struct connectdata *conn, bool *prot_missing, char **userp, char **passwdp, char **optionsp) |
| static bool | proxy_info_matches (const struct proxy_info *data, const struct proxy_info *needle) |
| static void | prune_dead_connections (struct Curl_easy *data) |
| static CURLcode | resolve_server (struct Curl_easy *data, struct connectdata *conn, bool *async) |
| static void | reuse_conn (struct connectdata *old_conn, struct connectdata *conn) |
| static CURLcode | set_login (struct connectdata *conn, const char *user, const char *passwd, const char *options) |
| static CURLcode | setstropt (char **charp, const char *s) |
| static CURLcode | setstropt_userpwd (char *option, char **userp, char **passwdp) |
| static CURLcode | setup_connection_internals (struct connectdata *conn) |
| static CURLcode | setup_range (struct Curl_easy *data) |
| static void | signalPipeClose (struct curl_llist *pipeline, bool pipe_broke) |
| static bool | SocketIsDead (curl_socket_t sock) |
Variables | |
| static struct Curl_handler | Curl_handler_dummy |
| static struct Curl_handler *const | protocols [] |
| #define conn_reset_all_postponed_data | ( | c | ) | do {} WHILE_FALSE |
| #define conn_reset_postponed_data | ( | c, | |
| n | |||
| ) | do {} WHILE_FALSE |
| #define LEAST_PATH_ALLOC 256 |
| static struct connectdata* allocate_conn | ( | struct Curl_easy * | data | ) | [static, read] |
| static int call_disconnect_if_dead | ( | struct connectdata * | conn, |
| void * | param | ||
| ) | [static] |
| static bool check_noproxy | ( | const char * | name, |
| const char * | no_proxy | ||
| ) | [static] |
| static void conn_free | ( | struct connectdata * | conn | ) | [static] |
| static bool ConnectionExists | ( | struct Curl_easy * | data, |
| struct connectdata * | needle, | ||
| struct connectdata ** | usethis, | ||
| bool * | force_reuse, | ||
| bool * | waitpipe | ||
| ) | [static] |
| static CURLcode create_conn | ( | struct Curl_easy * | data, |
| struct connectdata ** | in_connect, | ||
| bool * | async | ||
| ) | [static] |
create_conn() sets up a new connectdata struct, or re-uses an already existing one, and resolves host name.
if this function returns CURLE_OK and *async is set to TRUE, the resolve response will be coming asynchronously. If *async is FALSE, the name is already resolved.
| data | The sessionhandle pointer |
| in_connect | is set to the next connection data pointer |
| async | is set TRUE when an async DNS resolution is pending |
*NOTE* this function assigns the conn->data pointer!
| CURLcode Curl_close | ( | struct Curl_easy * | data | ) |
| CURLcode Curl_connect | ( | struct Curl_easy * | data, |
| struct connectdata ** | in_connect, | ||
| bool * | asyncp, | ||
| bool * | protocol_done | ||
| ) |
| CURLcode Curl_connected_proxy | ( | struct connectdata * | conn, |
| int | sockindex | ||
| ) |
| CURLcode Curl_disconnect | ( | struct connectdata * | conn, |
| bool | dead_connection | ||
| ) |
| int Curl_doing_getsock | ( | struct connectdata * | conn, |
| curl_socket_t * | socks, | ||
| int | numsocks | ||
| ) |
| CURLcode Curl_dupset | ( | struct Curl_easy * | dst, |
| struct Curl_easy * | src | ||
| ) |
| void Curl_free_request_state | ( | struct Curl_easy * | data | ) |
| void Curl_freeset | ( | struct Curl_easy * | data | ) |
| void Curl_getoff_all_pipelines | ( | struct Curl_easy * | data, |
| struct connectdata * | conn | ||
| ) |
| CURLcode Curl_init_do | ( | struct Curl_easy * | data, |
| struct connectdata * | conn | ||
| ) |
| CURLcode Curl_init_userdefined | ( | struct UserDefined * | set | ) |
| struct connectdata* Curl_oldest_idle_connection | ( | struct Curl_easy * | data | ) | [read] |
| curl | is a pointer to a sessionhandle pointer that gets set by this function. |
| CURLcode Curl_protocol_connect | ( | struct connectdata * | conn, |
| bool * | protocol_done | ||
| ) |
| CURLcode Curl_protocol_connecting | ( | struct connectdata * | conn, |
| bool * | done | ||
| ) |
| CURLcode Curl_protocol_doing | ( | struct connectdata * | conn, |
| bool * | done | ||
| ) |
| int Curl_protocol_getsock | ( | struct connectdata * | conn, |
| curl_socket_t * | socks, | ||
| int | numsocks | ||
| ) |
| int Curl_removeHandleFromPipeline | ( | struct Curl_easy * | handle, |
| struct curl_llist * | pipeline | ||
| ) |
| CURLcode Curl_setopt | ( | struct Curl_easy * | data, |
| CURLoption | option, | ||
| va_list | param | ||
| ) |
| CURLcode Curl_setup_conn | ( | struct connectdata * | conn, |
| bool * | protocol_done | ||
| ) |
| void Curl_verboseconnect | ( | struct connectdata * | conn | ) |
| static char* detect_proxy | ( | struct connectdata * | conn | ) | [static] |
| static bool disconnect_if_dead | ( | struct connectdata * | conn, |
| struct Curl_easy * | data | ||
| ) | [static] |
| static struct connectdata * find_oldest_idle_connection_in_bundle | ( | struct Curl_easy * | data, |
| struct connectbundle * | bundle | ||
| ) | [static, read] |
| static CURLcode findprotocol | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| const char * | protostr | ||
| ) | [static] |
| static void fix_hostname | ( | struct connectdata * | conn, |
| struct hostname * | host | ||
| ) | [static] |
| static void free_fixed_hostname | ( | struct hostname * | host | ) | [static] |
| unsigned int get_protocol_family | ( | unsigned int | protocol | ) | [static] |
| static struct Curl_easy* gethandleathead | ( | struct curl_llist * | pipeline | ) | [static, read] |
| static bool is_ASCII_name | ( | const char * | hostname | ) | [static] |
| static bool IsPipeliningPossible | ( | const struct Curl_easy * | handle, |
| const struct connectdata * | conn | ||
| ) | [static] |
| static void llist_dtor | ( | void * | user, |
| void * | element | ||
| ) | [static] |
| static size_t max_pipeline_length | ( | struct Curl_multi * | multi | ) | [static] |
| static CURLcode override_login | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| char ** | userp, | ||
| char ** | passwdp, | ||
| char ** | optionsp | ||
| ) | [static] |
| static CURLcode parse_connect_to_host_port | ( | struct Curl_easy * | data, |
| const char * | host, | ||
| char ** | hostname_result, | ||
| int * | port_result | ||
| ) | [static] |
| static CURLcode parse_connect_to_slist | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| struct curl_slist * | conn_to_host | ||
| ) | [static] |
| static CURLcode parse_connect_to_string | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| const char * | conn_to_host, | ||
| char ** | host_result, | ||
| int * | port_result | ||
| ) | [static] |
| static CURLcode parse_login_details | ( | const char * | login, |
| const size_t | len, | ||
| char ** | userptr, | ||
| char ** | passwdptr, | ||
| char ** | optionsptr | ||
| ) | [static] |
| static CURLcode parse_proxy | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| char * | proxy, | ||
| curl_proxytype | proxytype | ||
| ) | [static] |
| static CURLcode parse_proxy_auth | ( | struct Curl_easy * | data, |
| struct connectdata * | conn | ||
| ) | [static] |
| static CURLcode parse_remote_port | ( | struct Curl_easy * | data, |
| struct connectdata * | conn | ||
| ) | [static] |
| static CURLcode parse_url_login | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| char ** | userptr, | ||
| char ** | passwdptr, | ||
| char ** | optionsptr | ||
| ) | [static] |
| static CURLcode parseurlandfillconn | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| bool * | prot_missing, | ||
| char ** | userp, | ||
| char ** | passwdp, | ||
| char ** | optionsp | ||
| ) | [static] |
| static bool proxy_info_matches | ( | const struct proxy_info * | data, |
| const struct proxy_info * | needle | ||
| ) | [static] |
| static void prune_dead_connections | ( | struct Curl_easy * | data | ) | [static] |
| static CURLcode resolve_server | ( | struct Curl_easy * | data, |
| struct connectdata * | conn, | ||
| bool * | async | ||
| ) | [static] |
| static void reuse_conn | ( | struct connectdata * | old_conn, |
| struct connectdata * | conn | ||
| ) | [static] |
| static CURLcode set_login | ( | struct connectdata * | conn, |
| const char * | user, | ||
| const char * | passwd, | ||
| const char * | options | ||
| ) | [static] |
| static CURLcode setstropt_userpwd | ( | char * | option, |
| char ** | userp, | ||
| char ** | passwdp | ||
| ) | [static] |
| static CURLcode setup_connection_internals | ( | struct connectdata * | conn | ) | [static] |
| static CURLcode setup_range | ( | struct Curl_easy * | data | ) | [static] |
| static void signalPipeClose | ( | struct curl_llist * | pipeline, |
| bool | pipe_broke | ||
| ) | [static] |
| static bool SocketIsDead | ( | curl_socket_t | sock | ) | [static] |
struct Curl_handler Curl_handler_dummy [static] |
struct Curl_handler* const protocols[] [static] |