#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] |