1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 15:48:49 -05:00

internals: rename the SessionHandle struct to Curl_easy

This commit is contained in:
Daniel Stenberg 2016-06-21 15:47:12 +02:00
parent 9adf3c473a
commit 434f8d0389
124 changed files with 841 additions and 871 deletions

View File

@ -166,8 +166,8 @@ Windows vs Unix
Library Library
======= =======
(See `LIBCURL-STRUCTS` for a separate document describing all major internal (See [Structs in libcurl](#structs) for the separate section describing all
structs and their purposes.) major internal structs and their purposes.)
There are plenty of entry points to the library, namely each publicly defined There are plenty of entry points to the library, namely each publicly defined
function that libcurl offers to applications. All of those functions are function that libcurl offers to applications. All of those functions are
@ -184,14 +184,14 @@ Library
[ `curl_easy_init()`][2] allocates an internal struct and makes some [ `curl_easy_init()`][2] allocates an internal struct and makes some
initializations. The returned handle does not reveal internals. This is the initializations. The returned handle does not reveal internals. This is the
'SessionHandle' struct which works as an "anchor" struct for all `curl_easy` 'Curl_easy' struct which works as an "anchor" struct for all `curl_easy`
functions. All connections performed will get connect-specific data allocated functions. All connections performed will get connect-specific data allocated
that should be used for things related to particular connections/requests. that should be used for things related to particular connections/requests.
[`curl_easy_setopt()`][1] takes three arguments, where the option stuff must [`curl_easy_setopt()`][1] takes three arguments, where the option stuff must
be passed in pairs: the parameter-ID and the parameter-value. The list of be passed in pairs: the parameter-ID and the parameter-value. The list of
options is documented in the man page. This function mainly sets things in options is documented in the man page. This function mainly sets things in
the 'SessionHandle' struct. the 'Curl_easy' struct.
`curl_easy_perform()` is just a wrapper function that makes use of the multi `curl_easy_perform()` is just a wrapper function that makes use of the multi
API. It basically calls `curl_multi_init()`, `curl_multi_add_handle()`, API. It basically calls `curl_multi_init()`, `curl_multi_add_handle()`,
@ -218,7 +218,7 @@ Curl_connect()
This function makes sure there's an allocated and initiated 'connectdata' This function makes sure there's an allocated and initiated 'connectdata'
struct that is used for this particular connection only (although there may struct that is used for this particular connection only (although there may
be several requests performed on the same connect). A bunch of things are be several requests performed on the same connect). A bunch of things are
inited/inherited from the SessionHandle struct. inited/inherited from the Curl_easy struct.
<a name="Curl_do"></a> <a name="Curl_do"></a>
Curl_do() Curl_do()
@ -385,11 +385,11 @@ Persistent Connections
The persistent connection support in libcurl requires some considerations on The persistent connection support in libcurl requires some considerations on
how to do things inside of the library. how to do things inside of the library.
- The 'SessionHandle' struct returned in the [`curl_easy_init()`][2] call - The 'Curl_easy' struct returned in the [`curl_easy_init()`][2] call
must never hold connection-oriented data. It is meant to hold the root data must never hold connection-oriented data. It is meant to hold the root data
as well as all the options etc that the library-user may choose. as well as all the options etc that the library-user may choose.
- The 'SessionHandle' struct holds the "connection cache" (an array of - The 'Curl_easy' struct holds the "connection cache" (an array of
pointers to 'connectdata' structs). pointers to 'connectdata' structs).
- This enables the 'curl handle' to be reused on subsequent transfers. - This enables the 'curl handle' to be reused on subsequent transfers.
@ -856,38 +856,38 @@ Structs in libcurl
This section should cover 7.32.0 pretty accurately, but will make sense even This section should cover 7.32.0 pretty accurately, but will make sense even
for older and later versions as things don't change drastically that often. for older and later versions as things don't change drastically that often.
## SessionHandle ## Curl_easy
The SessionHandle handle struct is the one returned to the outside in the The Curl_easy struct is the one returned to the outside in the external API
external API as a "CURL *". This is usually known as an easy handle in API as a "CURL *". This is usually known as an easy handle in API documentations
documentations and examples. and examples.
Information and state that is related to the actual connection is in the Information and state that is related to the actual connection is in the
'connectdata' struct. When a transfer is about to be made, libcurl will 'connectdata' struct. When a transfer is about to be made, libcurl will
either create a new connection or re-use an existing one. The particular either create a new connection or re-use an existing one. The particular
connectdata that is used by this handle is pointed out by connectdata that is used by this handle is pointed out by
SessionHandle->easy_conn. Curl_easy->easy_conn.
Data and information that regard this particular single transfer is put in Data and information that regard this particular single transfer is put in
the SingleRequest sub-struct. the SingleRequest sub-struct.
When the SessionHandle struct is added to a multi handle, as it must be in When the Curl_easy struct is added to a multi handle, as it must be in order
order to do any transfer, the ->multi member will point to the `Curl_multi` to do any transfer, the ->multi member will point to the `Curl_multi` struct
struct it belongs to. The ->prev and ->next members will then be used by the it belongs to. The ->prev and ->next members will then be used by the multi
multi code to keep a linked list of SessionHandle structs that are added to code to keep a linked list of Curl_easy structs that are added to that same
that same multi handle. libcurl always uses multi so ->multi *will* point to multi handle. libcurl always uses multi so ->multi *will* point to a
a `Curl_multi` when a transfer is in progress. `Curl_multi` when a transfer is in progress.
->mstate is the multi state of this particular SessionHandle. When ->mstate is the multi state of this particular Curl_easy. When
`multi_runsingle()` is called, it will act on this handle according to which `multi_runsingle()` is called, it will act on this handle according to which
state it is in. The mstate is also what tells which sockets to return for a state it is in. The mstate is also what tells which sockets to return for a
specific SessionHandle when [`curl_multi_fdset()`][12] is called etc. specific Curl_easy when [`curl_multi_fdset()`][12] is called etc.
The libcurl source code generally use the name 'data' for the variable that The libcurl source code generally use the name 'data' for the variable that
points to the SessionHandle. points to the Curl_easy.
When doing multiplexed HTTP/2 transfers, each SessionHandle is associated When doing multiplexed HTTP/2 transfers, each Curl_easy is associated with
with an individual stream, sharing the same connectdata struct. Multiplexing an individual stream, sharing the same connectdata struct. Multiplexing
makes it even more important to keep things associated with the right thing! makes it even more important to keep things associated with the right thing!
## connectdata ## connectdata
@ -901,22 +901,21 @@ for older and later versions as things don't change drastically that often.
the connection can't be kept alive, the connection will be closed after use the connection can't be kept alive, the connection will be closed after use
and then this struct can be removed from the cache and freed. and then this struct can be removed from the cache and freed.
Thus, the same SessionHandle can be used multiple times and each time select Thus, the same Curl_easy can be used multiple times and each time select
another connectdata struct to use for the connection. Keep this in mind, as another connectdata struct to use for the connection. Keep this in mind, as
it is then important to consider if options or choices are based on the it is then important to consider if options or choices are based on the
connection or the SessionHandle. connection or the Curl_easy.
Functions in libcurl will assume that connectdata->data points to the Functions in libcurl will assume that connectdata->data points to the
SessionHandle that uses this connection (for the moment). Curl_easy that uses this connection (for the moment).
As a special complexity, some protocols supported by libcurl require a As a special complexity, some protocols supported by libcurl require a
special disconnect procedure that is more than just shutting down the special disconnect procedure that is more than just shutting down the
socket. It can involve sending one or more commands to the server before socket. It can involve sending one or more commands to the server before
doing so. Since connections are kept in the connection cache after use, the doing so. Since connections are kept in the connection cache after use, the
original SessionHandle may no longer be around when the time comes to shut original Curl_easy may no longer be around when the time comes to shut down
down a particular connection. For this purpose, libcurl holds a special a particular connection. For this purpose, libcurl holds a special dummy
dummy `closure_handle` SessionHandle in the `Curl_multi` struct to use when `closure_handle` Curl_easy in the `Curl_multi` struct to use when needed.
needed.
FTP uses two TCP connections for a typical transfer but it keeps both in FTP uses two TCP connections for a typical transfer but it keeps both in
this single struct and thus can be considered a single connection for most this single struct and thus can be considered a single connection for most
@ -932,25 +931,25 @@ for older and later versions as things don't change drastically that often.
`Curl_multi` is the multi handle struct exposed as "CURLM *" in external APIs. `Curl_multi` is the multi handle struct exposed as "CURLM *" in external APIs.
This struct holds a list of SessionHandle structs that have been added to This struct holds a list of Curl_easy structs that have been added to this
this handle with [`curl_multi_add_handle()`][13]. The start of the list is handle with [`curl_multi_add_handle()`][13]. The start of the list is
->easyp and ->num_easy is a counter of added SessionHandles. ->easyp and ->num_easy is a counter of added Curl_easys.
->msglist is a linked list of messages to send back when ->msglist is a linked list of messages to send back when
[`curl_multi_info_read()`][14] is called. Basically a node is added to that [`curl_multi_info_read()`][14] is called. Basically a node is added to that
list when an individual SessionHandle's transfer has completed. list when an individual Curl_easy's transfer has completed.
->hostcache points to the name cache. It is a hash table for looking up name ->hostcache points to the name cache. It is a hash table for looking up name
to IP. The nodes have a limited life time in there and this cache is meant to IP. The nodes have a limited life time in there and this cache is meant
to reduce the time for when the same name is wanted within a short period of to reduce the time for when the same name is wanted within a short period of
time. time.
->timetree points to a tree of SessionHandles, sorted by the remaining time ->timetree points to a tree of Curl_easys, sorted by the remaining time
until it should be checked - normally some sort of timeout. Each until it should be checked - normally some sort of timeout. Each Curl_easy
SessionHandle has one node in the tree. has one node in the tree.
->sockhash is a hash table to allow fast lookups of socket descriptor to ->sockhash is a hash table to allow fast lookups of socket descriptor to
which SessionHandle that uses that descriptor. This is necessary for the which Curl_easy that uses that descriptor. This is necessary for the
`multi_socket` API. `multi_socket` API.
->conn_cache points to the connection cache. It keeps track of all ->conn_cache points to the connection cache. It keeps track of all
@ -977,11 +976,11 @@ for older and later versions as things don't change drastically that often.
setup so HTTPS separate from HTTP. setup so HTTPS separate from HTTP.
->setup_connection is called to allow the protocol code to allocate protocol ->setup_connection is called to allow the protocol code to allocate protocol
specific data that then gets associated with that SessionHandle for the rest specific data that then gets associated with that Curl_easy for the rest of
of this transfer. It gets freed again at the end of the transfer. It will be this transfer. It gets freed again at the end of the transfer. It will be
called before the 'connectdata' for the transfer has been selected/created. called before the 'connectdata' for the transfer has been selected/created.
Most protocols will allocate its private 'struct [PROTOCOL]' here and assign Most protocols will allocate its private 'struct [PROTOCOL]' here and assign
SessionHandle->req.protop to point to it. Curl_easy->req.protop to point to it.
->connect_it allows a protocol to do some specific actions after the TCP ->connect_it allows a protocol to do some specific actions after the TCP
connect is done, that can still be considered part of the connection phase. connect is done, that can still be considered part of the connection phase.
@ -1051,9 +1050,9 @@ for older and later versions as things don't change drastically that often.
## conncache ## conncache
Is a hash table with connections for later re-use. Each SessionHandle has Is a hash table with connections for later re-use. Each Curl_easy has a
a pointer to its connection cache. Each multi handle sets up a connection pointer to its connection cache. Each multi handle sets up a connection
cache that all added SessionHandles share by default. cache that all added Curl_easys share by default.
## Curl_share ## Curl_share
@ -1062,10 +1061,10 @@ for older and later versions as things don't change drastically that often.
The idea is that the struct can have a set of own versions of caches and The idea is that the struct can have a set of own versions of caches and
pools and then by providing this struct in the `CURLOPT_SHARE` option, those pools and then by providing this struct in the `CURLOPT_SHARE` option, those
specific SessionHandles will use the caches/pools that this share handle specific Curl_easys will use the caches/pools that this share handle
holds. holds.
Then individual SessionHandle structs can be made to share specific things Then individual Curl_easy structs can be made to share specific things
that they otherwise wouldn't, such as cookies. that they otherwise wouldn't, such as cookies.
The `Curl_share` struct can currently hold cookies, DNS cache and the SSL The `Curl_share` struct can currently hold cookies, DNS cache and the SSL
@ -1074,7 +1073,7 @@ for older and later versions as things don't change drastically that often.
## CookieInfo ## CookieInfo
This is the main cookie struct. It holds all known cookies and related This is the main cookie struct. It holds all known cookies and related
information. Each SessionHandle has its own private CookieInfo even when information. Each Curl_easy has its own private CookieInfo even when
they are added to a multi handle. They can be made to share cookies by using they are added to a multi handle. They can be made to share cookies by using
the share API. the share API.

View File

@ -91,7 +91,7 @@
extern "C" { extern "C" {
#endif #endif
typedef struct SessionHandle CURL; typedef struct Curl_easy CURL;
/* /*
* libcurl external API function linkage decorations. * libcurl external API function linkage decorations.

View File

@ -249,7 +249,7 @@ int Curl_resolver_getsock(struct connectdata *conn,
static int waitperform(struct connectdata *conn, int timeout_ms) static int waitperform(struct connectdata *conn, int timeout_ms)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
int nfds; int nfds;
int bitmask; int bitmask;
ares_socket_t socks[ARES_GETSOCK_MAXNUM]; ares_socket_t socks[ARES_GETSOCK_MAXNUM];
@ -309,7 +309,7 @@ static int waitperform(struct connectdata *conn, int timeout_ms)
CURLcode Curl_resolver_is_resolved(struct connectdata *conn, CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
struct Curl_dns_entry **dns) struct Curl_dns_entry **dns)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ResolverResults *res = (struct ResolverResults *) struct ResolverResults *res = (struct ResolverResults *)
conn->async.os_specific; conn->async.os_specific;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -353,7 +353,7 @@ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn,
struct Curl_dns_entry **entry) struct Curl_dns_entry **entry)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
long timeout; long timeout;
struct timeval now = Curl_tvnow(); struct timeval now = Curl_tvnow();
struct Curl_dns_entry *temp_entry; struct Curl_dns_entry *temp_entry;
@ -492,7 +492,7 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
int *waitp) int *waitp)
{ {
char *bufp; char *bufp;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct in_addr in; struct in_addr in;
int family = PF_INET; int family = PF_INET;
#ifdef ENABLE_IPV6 /* CURLRES_IPV6 */ #ifdef ENABLE_IPV6 /* CURLRES_IPV6 */
@ -583,7 +583,7 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
return NULL; /* no struct yet */ return NULL; /* no struct yet */
} }
CURLcode Curl_set_dns_servers(struct SessionHandle *data, CURLcode Curl_set_dns_servers(struct Curl_easy *data,
char *servers) char *servers)
{ {
CURLcode result = CURLE_NOT_BUILT_IN; CURLcode result = CURLE_NOT_BUILT_IN;
@ -621,7 +621,7 @@ CURLcode Curl_set_dns_servers(struct SessionHandle *data,
return result; return result;
} }
CURLcode Curl_set_dns_interface(struct SessionHandle *data, CURLcode Curl_set_dns_interface(struct Curl_easy *data,
const char *interf) const char *interf)
{ {
#if (ARES_VERSION >= 0x010704) #if (ARES_VERSION >= 0x010704)
@ -638,7 +638,7 @@ CURLcode Curl_set_dns_interface(struct SessionHandle *data,
#endif #endif
} }
CURLcode Curl_set_dns_local_ip4(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
const char *local_ip4) const char *local_ip4)
{ {
#if (ARES_VERSION >= 0x010704) #if (ARES_VERSION >= 0x010704)
@ -663,7 +663,7 @@ CURLcode Curl_set_dns_local_ip4(struct SessionHandle *data,
#endif #endif
} }
CURLcode Curl_set_dns_local_ip6(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data,
const char *local_ip6) const char *local_ip6)
{ {
#if (ARES_VERSION >= 0x010704) && defined(ENABLE_IPV6) #if (ARES_VERSION >= 0x010704) && defined(ENABLE_IPV6)

View File

@ -497,7 +497,7 @@ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn,
CURLcode Curl_resolver_is_resolved(struct connectdata *conn, CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
struct Curl_dns_entry **entry) struct Curl_dns_entry **entry)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct thread_data *td = (struct thread_data*) conn->async.os_specific; struct thread_data *td = (struct thread_data*) conn->async.os_specific;
int done = 0; int done = 0;
@ -671,7 +671,7 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
#endif /* !HAVE_GETADDRINFO */ #endif /* !HAVE_GETADDRINFO */
CURLcode Curl_set_dns_servers(struct SessionHandle *data, CURLcode Curl_set_dns_servers(struct Curl_easy *data,
char *servers) char *servers)
{ {
(void)data; (void)data;
@ -680,7 +680,7 @@ CURLcode Curl_set_dns_servers(struct SessionHandle *data,
} }
CURLcode Curl_set_dns_interface(struct SessionHandle *data, CURLcode Curl_set_dns_interface(struct Curl_easy *data,
const char *interf) const char *interf)
{ {
(void)data; (void)data;
@ -688,7 +688,7 @@ CURLcode Curl_set_dns_interface(struct SessionHandle *data,
return CURLE_NOT_BUILT_IN; return CURLE_NOT_BUILT_IN;
} }
CURLcode Curl_set_dns_local_ip4(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
const char *local_ip4) const char *local_ip4)
{ {
(void)data; (void)data;
@ -696,7 +696,7 @@ CURLcode Curl_set_dns_local_ip4(struct SessionHandle *data,
return CURLE_NOT_BUILT_IN; return CURLE_NOT_BUILT_IN;
} }
CURLcode Curl_set_dns_local_ip6(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data,
const char *local_ip6) const char *local_ip6)
{ {
(void)data; (void)data;

View File

@ -27,7 +27,7 @@
struct addrinfo; struct addrinfo;
struct hostent; struct hostent;
struct SessionHandle; struct Curl_easy;
struct connectdata; struct connectdata;
struct Curl_dns_entry; struct Curl_dns_entry;

View File

@ -23,7 +23,7 @@
/* Base64 encoding/decoding */ /* Base64 encoding/decoding */
#include "curl_setup.h" #include "curl_setup.h"
#include "urldata.h" /* for the SessionHandle definition */ #include "urldata.h" /* for the Curl_easy definition */
#include "warnless.h" #include "warnless.h"
#include "curl_base64.h" #include "curl_base64.h"
#include "non-ascii.h" #include "non-ascii.h"
@ -169,7 +169,7 @@ CURLcode Curl_base64_decode(const char *src,
} }
static CURLcode base64_encode(const char *table64, static CURLcode base64_encode(const char *table64,
struct SessionHandle *data, struct Curl_easy *data,
const char *inputbuff, size_t insize, const char *inputbuff, size_t insize,
char **outptr, size_t *outlen) char **outptr, size_t *outlen)
{ {
@ -283,7 +283,7 @@ static CURLcode base64_encode(const char *table64,
* *
* @unittest: 1302 * @unittest: 1302
*/ */
CURLcode Curl_base64_encode(struct SessionHandle *data, CURLcode Curl_base64_encode(struct Curl_easy *data,
const char *inputbuff, size_t insize, const char *inputbuff, size_t insize,
char **outptr, size_t *outlen) char **outptr, size_t *outlen)
{ {
@ -307,7 +307,7 @@ CURLcode Curl_base64_encode(struct SessionHandle *data,
* *
* @unittest: 1302 * @unittest: 1302
*/ */
CURLcode Curl_base64url_encode(struct SessionHandle *data, CURLcode Curl_base64url_encode(struct Curl_easy *data,
const char *inputbuff, size_t insize, const char *inputbuff, size_t insize,
char **outptr, size_t *outlen) char **outptr, size_t *outlen)
{ {

View File

@ -45,7 +45,7 @@ static void conn_llist_dtor(void *user, void *element)
data->bundle = NULL; data->bundle = NULL;
} }
static CURLcode bundle_create(struct SessionHandle *data, static CURLcode bundle_create(struct Curl_easy *data,
struct connectbundle **cb_ptr) struct connectbundle **cb_ptr)
{ {
(void)data; (void)data;
@ -199,7 +199,7 @@ CURLcode Curl_conncache_add_conn(struct conncache *connc,
CURLcode result; CURLcode result;
struct connectbundle *bundle; struct connectbundle *bundle;
struct connectbundle *new_bundle = NULL; struct connectbundle *new_bundle = NULL;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
bundle = Curl_conncache_find_bundle(conn, data->state.conn_cache); bundle = Curl_conncache_find_bundle(conn, data->state.conn_cache);
if(!bundle) { if(!bundle) {

View File

@ -104,7 +104,7 @@ struct tcp_keepalive {
#endif #endif
static void static void
tcpkeepalive(struct SessionHandle *data, tcpkeepalive(struct Curl_easy *data,
curl_socket_t sockfd) curl_socket_t sockfd)
{ {
int optval = data->set.tcp_keepalive?1:0; int optval = data->set.tcp_keepalive?1:0;
@ -179,7 +179,7 @@ singleipconnect(struct connectdata *conn,
* *
* @unittest: 1303 * @unittest: 1303
*/ */
long Curl_timeleft(struct SessionHandle *data, long Curl_timeleft(struct Curl_easy *data,
struct timeval *nowp, struct timeval *nowp,
bool duringconnect) bool duringconnect)
{ {
@ -239,7 +239,7 @@ long Curl_timeleft(struct SessionHandle *data,
static CURLcode bindlocal(struct connectdata *conn, static CURLcode bindlocal(struct connectdata *conn,
curl_socket_t sockfd, int af, unsigned int scope) curl_socket_t sockfd, int af, unsigned int scope)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct Curl_sockaddr_storage sa; struct Curl_sockaddr_storage sa;
struct sockaddr *sock = (struct sockaddr *)&sa; /* bind to this address */ struct sockaddr *sock = (struct sockaddr *)&sa; /* bind to this address */
@ -663,7 +663,7 @@ void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd)
curl_socklen_t len; curl_socklen_t len;
struct Curl_sockaddr_storage ssrem; struct Curl_sockaddr_storage ssrem;
struct Curl_sockaddr_storage ssloc; struct Curl_sockaddr_storage ssloc;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(conn->socktype == SOCK_DGRAM) if(conn->socktype == SOCK_DGRAM)
/* there's no connection! */ /* there's no connection! */
@ -720,7 +720,7 @@ CURLcode Curl_is_connected(struct connectdata *conn,
int sockindex, int sockindex,
bool *connected) bool *connected)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
long allow; long allow;
int error = 0; int error = 0;
@ -871,7 +871,7 @@ void Curl_tcpnodelay(struct connectdata *conn, curl_socket_t sockfd)
{ {
#if defined(TCP_NODELAY) #if defined(TCP_NODELAY)
#if !defined(CURL_DISABLE_VERBOSE_STRINGS) #if !defined(CURL_DISABLE_VERBOSE_STRINGS)
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#endif #endif
curl_socklen_t onoff = (curl_socklen_t) 1; curl_socklen_t onoff = (curl_socklen_t) 1;
int level = IPPROTO_TCP; int level = IPPROTO_TCP;
@ -913,7 +913,7 @@ void Curl_tcpnodelay(struct connectdata *conn, curl_socket_t sockfd)
static void nosigpipe(struct connectdata *conn, static void nosigpipe(struct connectdata *conn,
curl_socket_t sockfd) curl_socket_t sockfd)
{ {
struct SessionHandle *data= conn->data; struct Curl_easy *data= conn->data;
int onoff = 1; int onoff = 1;
if(setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&onoff, if(setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&onoff,
sizeof(onoff)) < 0) sizeof(onoff)) < 0)
@ -985,7 +985,7 @@ static CURLcode singleipconnect(struct connectdata *conn,
int rc = -1; int rc = -1;
int error = 0; int error = 0;
bool isconnected = FALSE; bool isconnected = FALSE;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
curl_socket_t sockfd; curl_socket_t sockfd;
CURLcode result; CURLcode result;
char ipaddress[MAX_IPADR_LEN]; char ipaddress[MAX_IPADR_LEN];
@ -1146,7 +1146,7 @@ static CURLcode singleipconnect(struct connectdata *conn,
CURLcode Curl_connecthost(struct connectdata *conn, /* context */ CURLcode Curl_connecthost(struct connectdata *conn, /* context */
const struct Curl_dns_entry *remotehost) const struct Curl_dns_entry *remotehost)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct timeval before = Curl_tvnow(); struct timeval before = Curl_tvnow();
CURLcode result = CURLE_COULDNT_CONNECT; CURLcode result = CURLE_COULDNT_CONNECT;
@ -1205,11 +1205,11 @@ static int conn_is_conn(struct connectdata *conn, void *param)
/* /*
* Used to extract socket and connectdata struct for the most recent * Used to extract socket and connectdata struct for the most recent
* transfer on the given SessionHandle. * transfer on the given Curl_easy.
* *
* The returned socket will be CURL_SOCKET_BAD in case of failure! * The returned socket will be CURL_SOCKET_BAD in case of failure!
*/ */
curl_socket_t Curl_getconnectinfo(struct SessionHandle *data, curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,
struct connectdata **connp) struct connectdata **connp)
{ {
curl_socket_t sockfd; curl_socket_t sockfd;
@ -1309,7 +1309,7 @@ CURLcode Curl_socket(struct connectdata *conn,
struct Curl_sockaddr_ex *addr, struct Curl_sockaddr_ex *addr,
curl_socket_t *sockfd) curl_socket_t *sockfd)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct Curl_sockaddr_ex dummy; struct Curl_sockaddr_ex dummy;
if(!addr) if(!addr)

View File

@ -35,7 +35,7 @@ CURLcode Curl_connecthost(struct connectdata *conn,
/* generic function that returns how much time there's left to run, according /* generic function that returns how much time there's left to run, according
to the timeouts set */ to the timeouts set */
long Curl_timeleft(struct SessionHandle *data, long Curl_timeleft(struct Curl_easy *data,
struct timeval *nowp, struct timeval *nowp,
bool duringconnect); bool duringconnect);
@ -45,11 +45,11 @@ long Curl_timeleft(struct SessionHandle *data,
/* /*
* Used to extract socket and connectdata struct for the most recent * Used to extract socket and connectdata struct for the most recent
* transfer on the given SessionHandle. * transfer on the given Curl_easy.
* *
* The returned socket will be CURL_SOCKET_BAD in case of failure! * The returned socket will be CURL_SOCKET_BAD in case of failure!
*/ */
curl_socket_t Curl_getconnectinfo(struct SessionHandle *data, curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,
struct connectdata **connp); struct connectdata **connp);
#ifdef USE_WINSOCK #ifdef USE_WINSOCK

View File

@ -67,7 +67,7 @@ zfree_cb(voidpf opaque, voidpf ptr)
static CURLcode static CURLcode
process_zlib_error(struct connectdata *conn, z_stream *z) process_zlib_error(struct connectdata *conn, z_stream *z)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(z->msg) if(z->msg)
failf (data, "Error while processing content unencoding: %s", failf (data, "Error while processing content unencoding: %s",
z->msg); z->msg);
@ -425,7 +425,7 @@ Curl_unencode_gzip_write(struct connectdata *conn,
void Curl_unencode_cleanup(struct connectdata *conn) void Curl_unencode_cleanup(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
z_stream *z = &k->z; z_stream *z = &k->z;
if(k->zlib_init != ZLIB_UNINIT) if(k->zlib_init != ZLIB_UNINIT)

View File

@ -26,13 +26,13 @@
RECEIVING COOKIE INFORMATION RECEIVING COOKIE INFORMATION
============================ ============================
struct CookieInfo *Curl_cookie_init(struct SessionHandle *data, struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,
const char *file, struct CookieInfo *inc, bool newsession); const char *file, struct CookieInfo *inc, bool newsession);
Inits a cookie struct to store data in a local file. This is always Inits a cookie struct to store data in a local file. This is always
called before any cookies are set. called before any cookies are set.
struct Cookie *Curl_cookie_add(struct SessionHandle *data, struct Cookie *Curl_cookie_add(struct Curl_easy *data,
struct CookieInfo *c, bool httpheader, char *lineptr, struct CookieInfo *c, bool httpheader, char *lineptr,
const char *domain, const char *path); const char *domain, const char *path);
@ -260,7 +260,7 @@ static char *sanitize_cookie_path(const char *cookie_path)
* *
* NOTE: OOM or cookie parsing failures are ignored. * NOTE: OOM or cookie parsing failures are ignored.
*/ */
void Curl_cookie_loadfiles(struct SessionHandle *data) void Curl_cookie_loadfiles(struct Curl_easy *data)
{ {
struct curl_slist *list = data->change.cookielist; struct curl_slist *list = data->change.cookielist;
if(list) { if(list) {
@ -362,7 +362,7 @@ static bool isip(const char *domain)
***************************************************************************/ ***************************************************************************/
struct Cookie * struct Cookie *
Curl_cookie_add(struct SessionHandle *data, Curl_cookie_add(struct Curl_easy *data,
/* The 'data' pointer here may be NULL at times, and thus /* The 'data' pointer here may be NULL at times, and thus
must only be used very carefully for things that can deal must only be used very carefully for things that can deal
with data being NULL. Such as infof() and similar */ with data being NULL. Such as infof() and similar */
@ -913,7 +913,7 @@ Curl_cookie_add(struct SessionHandle *data,
* *
* Returns NULL on out of memory. Invalid cookies are ignored. * Returns NULL on out of memory. Invalid cookies are ignored.
****************************************************************************/ ****************************************************************************/
struct CookieInfo *Curl_cookie_init(struct SessionHandle *data, struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,
const char *file, const char *file,
struct CookieInfo *inc, struct CookieInfo *inc,
bool newsession) bool newsession)
@ -1326,7 +1326,7 @@ static int cookie_output(struct CookieInfo *c, const char *dumphere)
return 0; return 0;
} }
struct curl_slist *Curl_cookie_list(struct SessionHandle *data) struct curl_slist *Curl_cookie_list(struct Curl_easy *data)
{ {
struct curl_slist *list = NULL; struct curl_slist *list = NULL;
struct curl_slist *beg; struct curl_slist *beg;
@ -1357,7 +1357,7 @@ struct curl_slist *Curl_cookie_list(struct SessionHandle *data)
return list; return list;
} }
void Curl_flush_cookies(struct SessionHandle *data, int cleanup) void Curl_flush_cookies(struct Curl_easy *data, int cleanup)
{ {
if(data->set.str[STRING_COOKIEJAR]) { if(data->set.str[STRING_COOKIEJAR]) {
if(data->change.cookielist) { if(data->change.cookielist) {

View File

@ -70,13 +70,13 @@ struct CookieInfo {
#define MAX_NAME 1024 #define MAX_NAME 1024
#define MAX_NAME_TXT "1023" #define MAX_NAME_TXT "1023"
struct SessionHandle; struct Curl_easy;
/* /*
* Add a cookie to the internal list of cookies. The domain and path arguments * Add a cookie to the internal list of cookies. The domain and path arguments
* are only used if the header boolean is TRUE. * are only used if the header boolean is TRUE.
*/ */
struct Cookie *Curl_cookie_add(struct SessionHandle *data, struct Cookie *Curl_cookie_add(struct Curl_easy *data,
struct CookieInfo *, bool header, char *lineptr, struct CookieInfo *, bool header, char *lineptr,
const char *domain, const char *path); const char *domain, const char *path);
@ -93,12 +93,12 @@ void Curl_cookie_clearsess(struct CookieInfo *cookies);
#define Curl_cookie_cleanup(x) Curl_nop_stmt #define Curl_cookie_cleanup(x) Curl_nop_stmt
#define Curl_flush_cookies(x,y) Curl_nop_stmt #define Curl_flush_cookies(x,y) Curl_nop_stmt
#else #else
void Curl_flush_cookies(struct SessionHandle *data, int cleanup); void Curl_flush_cookies(struct Curl_easy *data, int cleanup);
void Curl_cookie_cleanup(struct CookieInfo *); void Curl_cookie_cleanup(struct CookieInfo *);
struct CookieInfo *Curl_cookie_init(struct SessionHandle *data, struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,
const char *, struct CookieInfo *, bool); const char *, struct CookieInfo *, bool);
struct curl_slist *Curl_cookie_list(struct SessionHandle *data); struct curl_slist *Curl_cookie_list(struct Curl_easy *data);
void Curl_cookie_loadfiles(struct SessionHandle *data); void Curl_cookie_loadfiles(struct Curl_easy *data);
#endif #endif
#endif /* HEADER_CURL_COOKIE_H */ #endif /* HEADER_CURL_COOKIE_H */

View File

@ -22,10 +22,10 @@
* *
***************************************************************************/ ***************************************************************************/
CURLcode Curl_base64_encode(struct SessionHandle *data, CURLcode Curl_base64_encode(struct Curl_easy *data,
const char *inputbuff, size_t insize, const char *inputbuff, size_t insize,
char **outptr, size_t *outlen); char **outptr, size_t *outlen);
CURLcode Curl_base64url_encode(struct SessionHandle *data, CURLcode Curl_base64url_encode(struct Curl_easy *data,
const char *inputbuff, size_t insize, const char *inputbuff, size_t insize,
char **outptr, size_t *outlen); char **outptr, size_t *outlen);

View File

@ -33,7 +33,7 @@ static char krb5_oid_bytes[] = "\x2a\x86\x48\x86\xf7\x12\x01\x02\x02";
gss_OID_desc Curl_krb5_mech_oid = { 9, &krb5_oid_bytes }; gss_OID_desc Curl_krb5_mech_oid = { 9, &krb5_oid_bytes };
OM_uint32 Curl_gss_init_sec_context( OM_uint32 Curl_gss_init_sec_context(
struct SessionHandle *data, struct Curl_easy *data,
OM_uint32 *minor_status, OM_uint32 *minor_status,
gss_ctx_id_t *context, gss_ctx_id_t *context,
gss_name_t target_name, gss_name_t target_name,
@ -114,7 +114,7 @@ static size_t display_gss_error(OM_uint32 status, int type,
* major [in] - The major status code. * major [in] - The major status code.
* minor [in] - The minor status code. * minor [in] - The minor status code.
*/ */
void Curl_gss_log_error(struct SessionHandle *data, const char *prefix, void Curl_gss_log_error(struct Curl_easy *data, const char *prefix,
OM_uint32 major, OM_uint32 minor) OM_uint32 major, OM_uint32 minor)
{ {
char buf[GSS_LOG_BUFFER_LEN]; char buf[GSS_LOG_BUFFER_LEN];

View File

@ -44,7 +44,7 @@ extern gss_OID_desc Curl_krb5_mech_oid;
/* Common method for using GSS-API */ /* Common method for using GSS-API */
OM_uint32 Curl_gss_init_sec_context( OM_uint32 Curl_gss_init_sec_context(
struct SessionHandle *data, struct Curl_easy *data,
OM_uint32 *minor_status, OM_uint32 *minor_status,
gss_ctx_id_t *context, gss_ctx_id_t *context,
gss_name_t target_name, gss_name_t target_name,
@ -56,7 +56,7 @@ OM_uint32 Curl_gss_init_sec_context(
OM_uint32 *ret_flags); OM_uint32 *ret_flags);
/* Helper to log a GSS-API error status */ /* Helper to log a GSS-API error status */
void Curl_gss_log_error(struct SessionHandle *data, const char *prefix, void Curl_gss_log_error(struct Curl_easy *data, const char *prefix,
OM_uint32 major, OM_uint32 minor); OM_uint32 major, OM_uint32 minor);
/* Provide some definitions missing in old headers */ /* Provide some definitions missing in old headers */

View File

@ -411,7 +411,7 @@ void Curl_ntlm_core_lm_resp(const unsigned char *keys,
/* /*
* Set up lanmanager hashed password * Set up lanmanager hashed password
*/ */
CURLcode Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, CURLcode Curl_ntlm_core_mk_lm_hash(struct Curl_easy *data,
const char *password, const char *password,
unsigned char *lmbuffer /* 21 bytes */) unsigned char *lmbuffer /* 21 bytes */)
{ {
@ -505,7 +505,7 @@ static void ascii_uppercase_to_unicode_le(unsigned char *dest,
* Set up nt hashed passwords * Set up nt hashed passwords
* @unittest: 1600 * @unittest: 1600
*/ */
CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data, CURLcode Curl_ntlm_core_mk_nt_hash(struct Curl_easy *data,
const char *password, const char *password,
unsigned char *ntbuffer /* 21 bytes */) unsigned char *ntbuffer /* 21 bytes */)
{ {

View File

@ -64,12 +64,12 @@ void Curl_ntlm_core_lm_resp(const unsigned char *keys,
const unsigned char *plaintext, const unsigned char *plaintext,
unsigned char *results); unsigned char *results);
CURLcode Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, CURLcode Curl_ntlm_core_mk_lm_hash(struct Curl_easy *data,
const char *password, const char *password,
unsigned char *lmbuffer /* 21 bytes */); unsigned char *lmbuffer /* 21 bytes */);
#if USE_NTRESPONSES #if USE_NTRESPONSES
CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data, CURLcode Curl_ntlm_core_mk_nt_hash(struct Curl_easy *data,
const char *password, const char *password,
unsigned char *ntbuffer /* 21 bytes */); unsigned char *ntbuffer /* 21 bytes */);

View File

@ -257,7 +257,7 @@ CURLcode Curl_sasl_start(struct SASL *sasl, struct connectdata *conn,
bool force_ir, saslprogress *progress) bool force_ir, saslprogress *progress)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
unsigned int enabledmechs; unsigned int enabledmechs;
const char *mech = NULL; const char *mech = NULL;
char *resp = NULL; char *resp = NULL;
@ -405,7 +405,7 @@ CURLcode Curl_sasl_continue(struct SASL *sasl, struct connectdata *conn,
int code, saslprogress *progress) int code, saslprogress *progress)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
saslstate newstate = SASL_FINAL; saslstate newstate = SASL_FINAL;
char *resp = NULL; char *resp = NULL;
#if !defined(CURL_DISABLE_CRYPTO_AUTH) #if !defined(CURL_DISABLE_CRYPTO_AUTH)

View File

@ -24,7 +24,7 @@
#include <curl/curl.h> #include <curl/curl.h>
struct SessionHandle; struct Curl_easy;
struct connectdata; struct connectdata;
/* Authentication mechanism flags */ /* Authentication mechanism flags */

View File

@ -91,7 +91,7 @@ const struct Curl_handler Curl_handler_dict = {
PROTOPT_NONE | PROTOPT_NOURLQUERY /* flags */ PROTOPT_NONE | PROTOPT_NOURLQUERY /* flags */
}; };
static char *unescape_word(struct SessionHandle *data, const char *inputbuff) static char *unescape_word(struct Curl_easy *data, const char *inputbuff)
{ {
char *newp; char *newp;
char *dictp; char *dictp;
@ -133,7 +133,7 @@ static CURLcode dict_do(struct connectdata *conn, bool *done)
char *nthdef = NULL; /* This is not part of the protocol, but required char *nthdef = NULL; /* This is not part of the protocol, but required
by RFC 2229 */ by RFC 2229 */
CURLcode result=CURLE_OK; CURLcode result=CURLE_OK;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
char *path = data->state.path; char *path = data->state.path;

View File

@ -368,7 +368,7 @@ void curl_global_cleanup(void)
CURL *curl_easy_init(void) CURL *curl_easy_init(void)
{ {
CURLcode result; CURLcode result;
struct SessionHandle *data; struct Curl_easy *data;
/* Make sure we inited the global SSL stuff */ /* Make sure we inited the global SSL stuff */
if(!initialized) { if(!initialized) {
@ -396,13 +396,12 @@ CURL *curl_easy_init(void)
*/ */
#undef curl_easy_setopt #undef curl_easy_setopt
CURLcode curl_easy_setopt(CURL *curl, CURLoption tag, ...) CURLcode curl_easy_setopt(CURL *data, CURLoption tag, ...)
{ {
va_list arg; va_list arg;
struct SessionHandle *data = curl;
CURLcode result; CURLcode result;
if(!curl) if(!data)
return CURLE_BAD_FUNCTION_ARGUMENT; return CURLE_BAD_FUNCTION_ARGUMENT;
va_start(arg, tag); va_start(arg, tag);
@ -765,7 +764,7 @@ static CURLcode easy_transfer(CURLM *multi)
* DEBUG: if 'events' is set TRUE, this function will use a replacement engine * DEBUG: if 'events' is set TRUE, this function will use a replacement engine
* instead of curl_multi_perform() and use curl_multi_socket_action(). * instead of curl_multi_perform() and use curl_multi_socket_action().
*/ */
static CURLcode easy_perform(struct SessionHandle *data, bool events) static CURLcode easy_perform(struct Curl_easy *data, bool events)
{ {
CURLM *multi; CURLM *multi;
CURLMcode mcode; CURLMcode mcode;
@ -827,9 +826,9 @@ static CURLcode easy_perform(struct SessionHandle *data, bool events)
* curl_easy_perform() is the external interface that performs a blocking * curl_easy_perform() is the external interface that performs a blocking
* transfer as previously setup. * transfer as previously setup.
*/ */
CURLcode curl_easy_perform(CURL *easy) CURLcode curl_easy_perform(CURL *data)
{ {
return easy_perform(easy, FALSE); return easy_perform(data, FALSE);
} }
#ifdef CURLDEBUG #ifdef CURLDEBUG
@ -837,9 +836,9 @@ CURLcode curl_easy_perform(CURL *easy)
* curl_easy_perform_ev() is the external interface that performs a blocking * curl_easy_perform_ev() is the external interface that performs a blocking
* transfer using the event-based API internally. * transfer using the event-based API internally.
*/ */
CURLcode curl_easy_perform_ev(CURL *easy) CURLcode curl_easy_perform_ev(CURL *data)
{ {
return easy_perform(easy, TRUE); return easy_perform(data, TRUE);
} }
#endif #endif
@ -848,9 +847,8 @@ CURLcode curl_easy_perform_ev(CURL *easy)
* curl_easy_cleanup() is the external interface to cleaning/freeing the given * curl_easy_cleanup() is the external interface to cleaning/freeing the given
* easy handle. * easy handle.
*/ */
void curl_easy_cleanup(CURL *curl) void curl_easy_cleanup(CURL *data)
{ {
struct SessionHandle *data = (struct SessionHandle *)curl;
SIGPIPE_VARIABLE(pipe_st); SIGPIPE_VARIABLE(pipe_st);
if(!data) if(!data)
@ -866,12 +864,11 @@ void curl_easy_cleanup(CURL *curl)
* information from a performed transfer and similar. * information from a performed transfer and similar.
*/ */
#undef curl_easy_getinfo #undef curl_easy_getinfo
CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...) CURLcode curl_easy_getinfo(CURL *data, CURLINFO info, ...)
{ {
va_list arg; va_list arg;
void *paramp; void *paramp;
CURLcode result; CURLcode result;
struct SessionHandle *data = (struct SessionHandle *)curl;
va_start(arg, info); va_start(arg, info);
paramp = va_arg(arg, void *); paramp = va_arg(arg, void *);
@ -887,11 +884,9 @@ CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...)
* given input easy handle. The returned handle will be a new working handle * given input easy handle. The returned handle will be a new working handle
* with all options set exactly as the input source handle. * with all options set exactly as the input source handle.
*/ */
CURL *curl_easy_duphandle(CURL *incurl) CURL *curl_easy_duphandle(CURL *data)
{ {
struct SessionHandle *data=(struct SessionHandle *)incurl; struct Curl_easy *outcurl = calloc(1, sizeof(struct Curl_easy));
struct SessionHandle *outcurl = calloc(1, sizeof(struct SessionHandle));
if(NULL == outcurl) if(NULL == outcurl)
goto fail; goto fail;
@ -982,10 +977,8 @@ CURL *curl_easy_duphandle(CURL *incurl)
* curl_easy_reset() is an external interface that allows an app to re- * curl_easy_reset() is an external interface that allows an app to re-
* initialize a session handle to the default values. * initialize a session handle to the default values.
*/ */
void curl_easy_reset(CURL *curl) void curl_easy_reset(CURL *data)
{ {
struct SessionHandle *data = (struct SessionHandle *)curl;
Curl_safefree(data->state.pathbuffer); Curl_safefree(data->state.pathbuffer);
data->state.path = NULL; data->state.path = NULL;
@ -1014,9 +1007,8 @@ void curl_easy_reset(CURL *curl)
* *
* Action is a bitmask consisting of CURLPAUSE_* bits in curl/curl.h * Action is a bitmask consisting of CURLPAUSE_* bits in curl/curl.h
*/ */
CURLcode curl_easy_pause(CURL *curl, int action) CURLcode curl_easy_pause(CURL *data, int action)
{ {
struct SessionHandle *data = (struct SessionHandle *)curl;
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -1056,7 +1048,7 @@ CURLcode curl_easy_pause(CURL *curl, int action)
} }
static CURLcode easy_connection(struct SessionHandle *data, static CURLcode easy_connection(struct Curl_easy *data,
curl_socket_t *sfd, curl_socket_t *sfd,
struct connectdata **connp) struct connectdata **connp)
{ {
@ -1084,13 +1076,12 @@ static CURLcode easy_connection(struct SessionHandle *data,
* curl_easy_perform() with CURLOPT_CONNECT_ONLY option. * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
* Returns CURLE_OK on success, error code on error. * Returns CURLE_OK on success, error code on error.
*/ */
CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, size_t *n) CURLcode curl_easy_recv(CURL *data, void *buffer, size_t buflen, size_t *n)
{ {
curl_socket_t sfd; curl_socket_t sfd;
CURLcode result; CURLcode result;
ssize_t n1; ssize_t n1;
struct connectdata *c; struct connectdata *c;
struct SessionHandle *data = (struct SessionHandle *)curl;
result = easy_connection(data, &sfd, &c); result = easy_connection(data, &sfd, &c);
if(result) if(result)
@ -1111,14 +1102,13 @@ CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, size_t *n)
* Sends data over the connected socket. Use after successful * Sends data over the connected socket. Use after successful
* curl_easy_perform() with CURLOPT_CONNECT_ONLY option. * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
*/ */
CURLcode curl_easy_send(CURL *curl, const void *buffer, size_t buflen, CURLcode curl_easy_send(CURL *data, const void *buffer, size_t buflen,
size_t *n) size_t *n)
{ {
curl_socket_t sfd; curl_socket_t sfd;
CURLcode result; CURLcode result;
ssize_t n1; ssize_t n1;
struct connectdata *c = NULL; struct connectdata *c = NULL;
struct SessionHandle *data = (struct SessionHandle *)curl;
result = easy_connection(data, &sfd, &c); result = easy_connection(data, &sfd, &c);
if(result) if(result)

View File

@ -139,7 +139,7 @@ char *curl_easy_escape(CURL *handle, const char *string, int inlength)
* *olen. If length == 0, the length is assumed to be strlen(string). * *olen. If length == 0, the length is assumed to be strlen(string).
* *
*/ */
CURLcode Curl_urldecode(struct SessionHandle *data, CURLcode Curl_urldecode(struct Curl_easy *data,
const char *string, size_t length, const char *string, size_t length,
char **ostring, size_t *olen, char **ostring, size_t *olen,
bool reject_ctrl) bool reject_ctrl)

View File

@ -24,7 +24,7 @@
/* Escape and unescape URL encoding in strings. The functions return a new /* Escape and unescape URL encoding in strings. The functions return a new
* allocated string or NULL if an error occurred. */ * allocated string or NULL if an error occurred. */
CURLcode Curl_urldecode(struct SessionHandle *data, CURLcode Curl_urldecode(struct Curl_easy *data,
const char *string, size_t length, const char *string, size_t length,
char **ostring, size_t *olen, char **ostring, size_t *olen,
bool reject_crlf); bool reject_crlf);

View File

@ -135,7 +135,7 @@ static CURLcode file_range(struct connectdata *conn)
curl_off_t totalsize=-1; curl_off_t totalsize=-1;
char *ptr; char *ptr;
char *ptr2; char *ptr2;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(data->state.use_range && data->state.range) { if(data->state.use_range && data->state.range) {
from=curlx_strtoofft(data->state.range, &ptr, 0); from=curlx_strtoofft(data->state.range, &ptr, 0);
@ -185,7 +185,7 @@ static CURLcode file_range(struct connectdata *conn)
*/ */
static CURLcode file_connect(struct connectdata *conn, bool *done) static CURLcode file_connect(struct connectdata *conn, bool *done)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char *real_path; char *real_path;
struct FILEPROTO *file = data->req.protop; struct FILEPROTO *file = data->req.protop;
int fd; int fd;
@ -301,7 +301,7 @@ static CURLcode file_upload(struct connectdata *conn)
int fd; int fd;
int mode; int mode;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char *buf = data->state.buffer; char *buf = data->state.buffer;
size_t nread; size_t nread;
size_t nwrite; size_t nwrite;
@ -428,7 +428,7 @@ static CURLcode file_do(struct connectdata *conn, bool *done)
bool size_known; bool size_known;
bool fstated=FALSE; bool fstated=FALSE;
ssize_t nread; ssize_t nread;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char *buf = data->state.buffer; char *buf = data->state.buffer;
curl_off_t bytecount = 0; curl_off_t bytecount = 0;
int fd; int fd;

View File

@ -30,7 +30,7 @@
#include <libgen.h> #include <libgen.h>
#endif #endif
#include "urldata.h" /* for struct SessionHandle */ #include "urldata.h" /* for struct Curl_easy */
#include "formdata.h" #include "formdata.h"
#include "vtls/vtls.h" #include "vtls/vtls.h"
#include "strequal.h" #include "strequal.h"
@ -47,7 +47,7 @@ static char *Curl_basename(char *path);
#endif #endif
static size_t readfromfile(struct Form *form, char *buffer, size_t size); static size_t readfromfile(struct Form *form, char *buffer, size_t size);
static char *formboundary(struct SessionHandle *data); static char *formboundary(struct Curl_easy *data);
/* What kind of Content-Type to use on un-specified files with unrecognized /* What kind of Content-Type to use on un-specified files with unrecognized
extensions. */ extensions. */
@ -1136,7 +1136,7 @@ static CURLcode formdata_add_filename(const struct curl_httppost *file,
* a NULL pointer in the 'data' argument. * a NULL pointer in the 'data' argument.
*/ */
CURLcode Curl_getformdata(struct SessionHandle *data, CURLcode Curl_getformdata(struct Curl_easy *data,
struct FormData **finalform, struct FormData **finalform,
struct curl_httppost *post, struct curl_httppost *post,
const char *custom_content_type, const char *custom_content_type,
@ -1549,7 +1549,7 @@ char *Curl_formpostheader(void *formp, size_t *len)
* formboundary() creates a suitable boundary string and returns an allocated * formboundary() creates a suitable boundary string and returns an allocated
* one. * one.
*/ */
static char *formboundary(struct SessionHandle *data) static char *formboundary(struct Curl_easy *data)
{ {
/* 24 dashes and 16 hexadecimal digits makes 64 bit (18446744073709551615) /* 24 dashes and 16 hexadecimal digits makes 64 bit (18446744073709551615)
combinations */ combinations */

View File

@ -70,7 +70,7 @@ typedef struct FormInfo {
int Curl_FormInit(struct Form *form, struct FormData *formdata); int Curl_FormInit(struct Form *form, struct FormData *formdata);
CURLcode Curl_getformdata(struct SessionHandle *data, CURLcode Curl_getformdata(struct Curl_easy *data,
struct FormData **, struct FormData **,
struct curl_httppost *post, struct curl_httppost *post,
const char *custom_contenttype, const char *custom_contenttype,
@ -93,6 +93,6 @@ char *Curl_FormBoundary(void);
void Curl_formclean(struct FormData **); void Curl_formclean(struct FormData **);
CURLcode Curl_formconvert(struct SessionHandle *, struct FormData *); CURLcode Curl_formconvert(struct Curl_easy *, struct FormData *);
#endif /* HEADER_CURL_FORMDATA_H */ #endif /* HEADER_CURL_FORMDATA_H */

View File

@ -327,7 +327,7 @@ static bool isBadFtpString(const char *string)
*/ */
static CURLcode AcceptServerConnect(struct connectdata *conn) static CURLcode AcceptServerConnect(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
curl_socket_t sock = conn->sock[SECONDARYSOCKET]; curl_socket_t sock = conn->sock[SECONDARYSOCKET];
curl_socket_t s = CURL_SOCKET_BAD; curl_socket_t s = CURL_SOCKET_BAD;
#ifdef ENABLE_IPV6 #ifdef ENABLE_IPV6
@ -384,7 +384,7 @@ static CURLcode AcceptServerConnect(struct connectdata *conn)
* Curl_pgrsTime(..., TIMER_STARTACCEPT); * Curl_pgrsTime(..., TIMER_STARTACCEPT);
* *
*/ */
static long ftp_timeleft_accept(struct SessionHandle *data) static long ftp_timeleft_accept(struct Curl_easy *data)
{ {
long timeout_ms = DEFAULT_ACCEPT_TIMEOUT; long timeout_ms = DEFAULT_ACCEPT_TIMEOUT;
long other; long other;
@ -424,7 +424,7 @@ static long ftp_timeleft_accept(struct SessionHandle *data)
*/ */
static CURLcode ReceivedServerConnect(struct connectdata *conn, bool *received) static CURLcode ReceivedServerConnect(struct connectdata *conn, bool *received)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
curl_socket_t ctrl_sock = conn->sock[FIRSTSOCKET]; curl_socket_t ctrl_sock = conn->sock[FIRSTSOCKET];
curl_socket_t data_sock = conn->sock[SECONDARYSOCKET]; curl_socket_t data_sock = conn->sock[SECONDARYSOCKET];
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
@ -495,7 +495,7 @@ static CURLcode ReceivedServerConnect(struct connectdata *conn, bool *received)
*/ */
static CURLcode InitiateTransfer(struct connectdata *conn) static CURLcode InitiateTransfer(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -546,7 +546,7 @@ static CURLcode InitiateTransfer(struct connectdata *conn)
*/ */
static CURLcode AllowServerConnect(struct connectdata *conn, bool *connected) static CURLcode AllowServerConnect(struct connectdata *conn, bool *connected)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
long timeout_ms; long timeout_ms;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -617,7 +617,7 @@ static CURLcode ftp_readresp(curl_socket_t sockfd,
size_t *size) /* size of the response */ size_t *size) /* size of the response */
{ {
struct connectdata *conn = pp->conn; struct connectdata *conn = pp->conn;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#ifdef HAVE_GSSAPI #ifdef HAVE_GSSAPI
char * const buf = data->state.buffer; char * const buf = data->state.buffer;
#endif #endif
@ -689,7 +689,7 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
long timeout; /* timeout in milliseconds */ long timeout; /* timeout in milliseconds */
long interval_ms; long interval_ms;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
struct pingpong *pp = &ftpc->pp; struct pingpong *pp = &ftpc->pp;
@ -980,7 +980,7 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
curl_socket_t portsock= CURL_SOCKET_BAD; curl_socket_t portsock= CURL_SOCKET_BAD;
char myhost[256] = ""; char myhost[256] = "";
@ -1403,7 +1403,7 @@ static CURLcode ftp_state_prepare_transfer(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct FTP *ftp = conn->data->req.protop; struct FTP *ftp = conn->data->req.protop;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(ftp->transfer != FTPTRANSFER_BODY) { if(ftp->transfer != FTPTRANSFER_BODY) {
/* doesn't transfer any data */ /* doesn't transfer any data */
@ -1486,7 +1486,7 @@ static CURLcode ftp_state_size(struct connectdata *conn)
static CURLcode ftp_state_list(struct connectdata *conn) static CURLcode ftp_state_list(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* If this output is to be machine-parsed, the NLST command might be better /* If this output is to be machine-parsed, the NLST command might be better
to use, since the LIST command output is not specified or standard in any to use, since the LIST command output is not specified or standard in any
@ -1575,7 +1575,7 @@ static CURLcode ftp_state_type(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct FTP *ftp = conn->data->req.protop; struct FTP *ftp = conn->data->req.protop;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
/* If we have selected NOBODY and HEADER, it means that we only want file /* If we have selected NOBODY and HEADER, it means that we only want file
@ -1607,7 +1607,7 @@ static CURLcode ftp_state_type(struct connectdata *conn)
static CURLcode ftp_state_mdtm(struct connectdata *conn) static CURLcode ftp_state_mdtm(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
/* Requested time of file or time-depended transfer? */ /* Requested time of file or time-depended transfer? */
@ -1632,7 +1632,7 @@ static CURLcode ftp_state_ul_setup(struct connectdata *conn,
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct FTP *ftp = conn->data->req.protop; struct FTP *ftp = conn->data->req.protop;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
int seekerr = CURL_SEEKFUNC_OK; int seekerr = CURL_SEEKFUNC_OK;
@ -1728,7 +1728,7 @@ static CURLcode ftp_state_quote(struct connectdata *conn,
ftpstate instate) ftpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
bool quote=FALSE; bool quote=FALSE;
@ -1859,7 +1859,7 @@ static CURLcode proxy_magic(struct connectdata *conn,
bool *magicdone) bool *magicdone)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#if defined(CURL_DISABLE_PROXY) #if defined(CURL_DISABLE_PROXY)
(void) newhost; (void) newhost;
@ -1950,7 +1950,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
{ {
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
CURLcode result; CURLcode result;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
struct Curl_dns_entry *addr=NULL; struct Curl_dns_entry *addr=NULL;
int rc; int rc;
unsigned short connectport; /* the local port connect() should use! */ unsigned short connectport; /* the local port connect() should use! */
@ -2125,7 +2125,7 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
static CURLcode ftp_state_port_resp(struct connectdata *conn, static CURLcode ftp_state_port_resp(struct connectdata *conn,
int ftpcode) int ftpcode)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
ftpport fcmd = (ftpport)ftpc->count1; ftpport fcmd = (ftpport)ftpc->count1;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -2162,7 +2162,7 @@ static CURLcode ftp_state_mdtm_resp(struct connectdata *conn,
int ftpcode) int ftpcode)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
@ -2267,7 +2267,7 @@ static CURLcode ftp_state_type_resp(struct connectdata *conn,
ftpstate instate) ftpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
if(ftpcode/100 != 2) { if(ftpcode/100 != 2) {
/* "sasserftpd" and "(u)r(x)bot ftpd" both responds with 226 after a /* "sasserftpd" and "(u)r(x)bot ftpd" both responds with 226 after a
@ -2296,7 +2296,7 @@ static CURLcode ftp_state_retr(struct connectdata *conn,
curl_off_t filesize) curl_off_t filesize)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
@ -2379,7 +2379,7 @@ static CURLcode ftp_state_size_resp(struct connectdata *conn,
ftpstate instate) ftpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
curl_off_t filesize; curl_off_t filesize;
char *buf = data->state.buffer; char *buf = data->state.buffer;
@ -2451,7 +2451,7 @@ static CURLcode ftp_state_stor_resp(struct connectdata *conn,
int ftpcode, ftpstate instate) int ftpcode, ftpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(ftpcode>=400) { if(ftpcode>=400) {
failf(data, "Failed FTP upload: %0d", ftpcode); failf(data, "Failed FTP upload: %0d", ftpcode);
@ -2490,7 +2490,7 @@ static CURLcode ftp_state_get_resp(struct connectdata *conn,
ftpstate instate) ftpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
char *buf = data->state.buffer; char *buf = data->state.buffer;
@ -2647,7 +2647,7 @@ static CURLcode ftp_state_user_resp(struct connectdata *conn,
ftpstate instate) ftpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -2702,7 +2702,7 @@ static CURLcode ftp_state_acct_resp(struct connectdata *conn,
int ftpcode) int ftpcode)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(ftpcode != 230) { if(ftpcode != 230) {
failf(data, "ACCT rejected by server: %03d", ftpcode); failf(data, "ACCT rejected by server: %03d", ftpcode);
result = CURLE_FTP_WEIRD_PASS_REPLY; /* FIX */ result = CURLE_FTP_WEIRD_PASS_REPLY; /* FIX */
@ -2718,7 +2718,7 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
{ {
CURLcode result; CURLcode result;
curl_socket_t sock = conn->sock[FIRSTSOCKET]; curl_socket_t sock = conn->sock[FIRSTSOCKET];
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
int ftpcode; int ftpcode;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
struct pingpong *pp = &ftpc->pp; struct pingpong *pp = &ftpc->pp;
@ -3243,7 +3243,7 @@ static CURLcode ftp_connect(struct connectdata *conn,
static CURLcode ftp_done(struct connectdata *conn, CURLcode status, static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
bool premature) bool premature)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
struct pingpong *pp = &ftpc->pp; struct pingpong *pp = &ftpc->pp;
@ -3587,7 +3587,7 @@ static CURLcode ftp_range(struct connectdata *conn)
curl_off_t from, to; curl_off_t from, to;
char *ptr; char *ptr;
char *ptr2; char *ptr2;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
if(data->state.use_range && data->state.range) { if(data->state.use_range && data->state.range) {
@ -3645,7 +3645,7 @@ static CURLcode ftp_range(struct connectdata *conn)
static CURLcode ftp_do_more(struct connectdata *conn, int *completep) static CURLcode ftp_do_more(struct connectdata *conn, int *completep)
{ {
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
bool connected = FALSE; bool connected = FALSE;
@ -4209,7 +4209,7 @@ static CURLcode ftp_disconnect(struct connectdata *conn, bool dead_connection)
(void)ftp_quit(conn); /* ignore errors on the QUIT */ (void)ftp_quit(conn); /* ignore errors on the QUIT */
if(ftpc->entrypath) { if(ftpc->entrypath) {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(data->state.most_recent_ftp_entrypath == ftpc->entrypath) { if(data->state.most_recent_ftp_entrypath == ftpc->entrypath) {
data->state.most_recent_ftp_entrypath = NULL; data->state.most_recent_ftp_entrypath = NULL;
} }
@ -4242,7 +4242,7 @@ static CURLcode ftp_disconnect(struct connectdata *conn, bool dead_connection)
static static
CURLcode ftp_parse_url_path(struct connectdata *conn) CURLcode ftp_parse_url_path(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* the ftp struct is already inited in ftp_connect() */ /* the ftp struct is already inited in ftp_connect() */
struct FTP *ftp = data->req.protop; struct FTP *ftp = data->req.protop;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
@ -4494,7 +4494,7 @@ CURLcode ftp_regular_transfer(struct connectdata *conn,
{ {
CURLcode result=CURLE_OK; CURLcode result=CURLE_OK;
bool connected=FALSE; bool connected=FALSE;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc; struct ftp_conn *ftpc = &conn->proto.ftpc;
data->req.size = -1; /* make sure this is unknown at this point */ data->req.size = -1; /* make sure this is unknown at this point */
@ -4528,7 +4528,7 @@ CURLcode ftp_regular_transfer(struct connectdata *conn,
static CURLcode ftp_setup_connection(struct connectdata *conn) static CURLcode ftp_setup_connection(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char *type; char *type;
char command; char command;
struct FTP *ftp; struct FTP *ftp;

View File

@ -97,9 +97,9 @@ typedef enum {
file */ file */
} curl_ftpfile; } curl_ftpfile;
/* This FTP struct is used in the SessionHandle. All FTP data that is /* This FTP struct is used in the Curl_easy. All FTP data that is
connection-oriented must be in FTP_conn to properly deal with the fact that connection-oriented must be in FTP_conn to properly deal with the fact that
perhaps the SessionHandle is changed between the times the connection is perhaps the Curl_easy is changed between the times the connection is
used. */ used. */
struct FTP { struct FTP {
curl_off_t *bytecountp; curl_off_t *bytecountp;

View File

@ -39,7 +39,7 @@
* This is supposed to be called in the beginning of a perform() session * This is supposed to be called in the beginning of a perform() session
* and should reset all session-info variables * and should reset all session-info variables
*/ */
CURLcode Curl_initinfo(struct SessionHandle *data) CURLcode Curl_initinfo(struct Curl_easy *data)
{ {
struct Progress *pro = &data->progress; struct Progress *pro = &data->progress;
struct PureInfo *info = &data->info; struct PureInfo *info = &data->info;
@ -73,7 +73,7 @@ CURLcode Curl_initinfo(struct SessionHandle *data)
return CURLE_OK; return CURLE_OK;
} }
static CURLcode getinfo_char(struct SessionHandle *data, CURLINFO info, static CURLcode getinfo_char(struct Curl_easy *data, CURLINFO info,
char **param_charp) char **param_charp)
{ {
switch(info) { switch(info) {
@ -119,7 +119,7 @@ static CURLcode getinfo_char(struct SessionHandle *data, CURLINFO info,
return CURLE_OK; return CURLE_OK;
} }
static CURLcode getinfo_long(struct SessionHandle *data, CURLINFO info, static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info,
long *param_longp) long *param_longp)
{ {
curl_socket_t sockfd; curl_socket_t sockfd;
@ -222,7 +222,7 @@ static CURLcode getinfo_long(struct SessionHandle *data, CURLINFO info,
return CURLE_OK; return CURLE_OK;
} }
static CURLcode getinfo_double(struct SessionHandle *data, CURLINFO info, static CURLcode getinfo_double(struct Curl_easy *data, CURLINFO info,
double *param_doublep) double *param_doublep)
{ {
switch(info) { switch(info) {
@ -275,7 +275,7 @@ static CURLcode getinfo_double(struct SessionHandle *data, CURLINFO info,
return CURLE_OK; return CURLE_OK;
} }
static CURLcode getinfo_slist(struct SessionHandle *data, CURLINFO info, static CURLcode getinfo_slist(struct Curl_easy *data, CURLINFO info,
struct curl_slist **param_slistp) struct curl_slist **param_slistp)
{ {
union { union {
@ -351,7 +351,7 @@ static CURLcode getinfo_slist(struct SessionHandle *data, CURLINFO info,
return CURLE_OK; return CURLE_OK;
} }
static CURLcode getinfo_socket(struct SessionHandle *data, CURLINFO info, static CURLcode getinfo_socket(struct Curl_easy *data, CURLINFO info,
curl_socket_t *param_socketp) curl_socket_t *param_socketp)
{ {
switch(info) { switch(info) {
@ -365,7 +365,7 @@ static CURLcode getinfo_socket(struct SessionHandle *data, CURLINFO info,
return CURLE_OK; return CURLE_OK;
} }
CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...) CURLcode Curl_getinfo(struct Curl_easy *data, CURLINFO info, ...)
{ {
va_list arg; va_list arg;
long *param_longp = NULL; long *param_longp = NULL;

View File

@ -21,7 +21,7 @@
* KIND, either express or implied. * KIND, either express or implied.
* *
***************************************************************************/ ***************************************************************************/
CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...); CURLcode Curl_getinfo(struct Curl_easy *data, CURLINFO info, ...);
CURLcode Curl_initinfo(struct SessionHandle *data); CURLcode Curl_initinfo(struct Curl_easy *data);
#endif /* HEADER_CURL_GETINFO_H */ #endif /* HEADER_CURL_GETINFO_H */

View File

@ -75,7 +75,7 @@ const struct Curl_handler Curl_handler_gopher = {
static CURLcode gopher_do(struct connectdata *conn, bool *done) static CURLcode gopher_do(struct connectdata *conn, bool *done)
{ {
CURLcode result=CURLE_OK; CURLcode result=CURLE_OK;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
curl_off_t *bytecount = &data->req.bytecount; curl_off_t *bytecount = &data->req.bytecount;

View File

@ -77,7 +77,7 @@ CURLcode Curl_addrinfo_callback(struct connectdata *conn,
if(CURL_ASYNC_SUCCESS == status) { if(CURL_ASYNC_SUCCESS == status) {
if(ai) { if(ai) {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(data->share) if(data->share)
Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE); Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);

View File

@ -254,7 +254,7 @@ hostcache_prune(struct curl_hash *hostcache, long cache_timeout, time_t now)
* Library-wide function for pruning the DNS cache. This function takes and * Library-wide function for pruning the DNS cache. This function takes and
* returns the appropriate locks. * returns the appropriate locks.
*/ */
void Curl_hostcache_prune(struct SessionHandle *data) void Curl_hostcache_prune(struct Curl_easy *data)
{ {
time_t now; time_t now;
@ -293,7 +293,7 @@ fetch_addr(struct connectdata *conn,
char *entry_id = NULL; char *entry_id = NULL;
struct Curl_dns_entry *dns = NULL; struct Curl_dns_entry *dns = NULL;
size_t entry_len; size_t entry_len;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Create an entry id, based upon the hostname and port */ /* Create an entry id, based upon the hostname and port */
entry_id = create_hostcache_id(hostname, port); entry_id = create_hostcache_id(hostname, port);
@ -345,7 +345,7 @@ Curl_fetch_addr(struct connectdata *conn,
const char *hostname, const char *hostname,
int port) int port)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct Curl_dns_entry *dns = NULL; struct Curl_dns_entry *dns = NULL;
if(data->share) if(data->share)
@ -372,7 +372,7 @@ Curl_fetch_addr(struct connectdata *conn,
* Returns the Curl_dns_entry entry pointer or NULL if the storage failed. * Returns the Curl_dns_entry entry pointer or NULL if the storage failed.
*/ */
struct Curl_dns_entry * struct Curl_dns_entry *
Curl_cache_addr(struct SessionHandle *data, Curl_cache_addr(struct Curl_easy *data,
Curl_addrinfo *addr, Curl_addrinfo *addr,
const char *hostname, const char *hostname,
int port) int port)
@ -447,7 +447,7 @@ int Curl_resolv(struct connectdata *conn,
struct Curl_dns_entry **entry) struct Curl_dns_entry **entry)
{ {
struct Curl_dns_entry *dns = NULL; struct Curl_dns_entry *dns = NULL;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode result; CURLcode result;
int rc = CURLRESOLV_ERROR; /* default to failure */ int rc = CURLRESOLV_ERROR; /* default to failure */
@ -582,7 +582,7 @@ int Curl_resolv_timeout(struct connectdata *conn,
#endif /* HAVE_SIGACTION */ #endif /* HAVE_SIGACTION */
volatile long timeout; volatile long timeout;
volatile unsigned int prev_alarm = 0; volatile unsigned int prev_alarm = 0;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#endif /* USE_ALARM_TIMEOUT */ #endif /* USE_ALARM_TIMEOUT */
int rc; int rc;
@ -716,7 +716,7 @@ clean_up:
* *
* May be called with 'data' == NULL for global cache. * May be called with 'data' == NULL for global cache.
*/ */
void Curl_resolv_unlock(struct SessionHandle *data, struct Curl_dns_entry *dns) void Curl_resolv_unlock(struct Curl_easy *data, struct Curl_dns_entry *dns)
{ {
if(data && data->share) if(data && data->share)
Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE); Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);
@ -758,7 +758,7 @@ int Curl_mk_dnscache(struct curl_hash *hash)
* can be done! * can be done!
*/ */
void Curl_hostcache_clean(struct SessionHandle *data, void Curl_hostcache_clean(struct Curl_easy *data,
struct curl_hash *hash) struct curl_hash *hash)
{ {
if(data && data->share) if(data && data->share)
@ -771,7 +771,7 @@ void Curl_hostcache_clean(struct SessionHandle *data,
} }
CURLcode Curl_loadhostpairs(struct SessionHandle *data) CURLcode Curl_loadhostpairs(struct Curl_easy *data)
{ {
struct curl_slist *hostp; struct curl_slist *hostp;
char hostname[256]; char hostname[256];

View File

@ -50,7 +50,7 @@
struct addrinfo; struct addrinfo;
struct hostent; struct hostent;
struct SessionHandle; struct Curl_easy;
struct connectdata; struct connectdata;
/* /*
@ -118,7 +118,7 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
/* unlock a previously resolved dns entry */ /* unlock a previously resolved dns entry */
void Curl_resolv_unlock(struct SessionHandle *data, void Curl_resolv_unlock(struct Curl_easy *data,
struct Curl_dns_entry *dns); struct Curl_dns_entry *dns);
/* for debugging purposes only: */ /* for debugging purposes only: */
@ -128,7 +128,7 @@ void Curl_scan_cache_used(void *user, void *ptr);
int Curl_mk_dnscache(struct curl_hash *hash); int Curl_mk_dnscache(struct curl_hash *hash);
/* prune old entries from the DNS cache */ /* prune old entries from the DNS cache */
void Curl_hostcache_prune(struct SessionHandle *data); void Curl_hostcache_prune(struct Curl_easy *data);
/* Return # of adresses in a Curl_addrinfo struct */ /* Return # of adresses in a Curl_addrinfo struct */
int Curl_num_addresses (const Curl_addrinfo *addr); int Curl_num_addresses (const Curl_addrinfo *addr);
@ -188,7 +188,7 @@ Curl_fetch_addr(struct connectdata *conn,
* Returns the Curl_dns_entry entry pointer or NULL if the storage failed. * Returns the Curl_dns_entry entry pointer or NULL if the storage failed.
*/ */
struct Curl_dns_entry * struct Curl_dns_entry *
Curl_cache_addr(struct SessionHandle *data, Curl_addrinfo *addr, Curl_cache_addr(struct Curl_easy *data, Curl_addrinfo *addr,
const char *hostname, int port); const char *hostname, int port);
#ifndef INADDR_NONE #ifndef INADDR_NONE
@ -209,42 +209,42 @@ extern sigjmp_buf curl_jmpenv;
/* /*
* Function provided by the resolver backend to set DNS servers to use. * Function provided by the resolver backend to set DNS servers to use.
*/ */
CURLcode Curl_set_dns_servers(struct SessionHandle *data, char *servers); CURLcode Curl_set_dns_servers(struct Curl_easy *data, char *servers);
/* /*
* Function provided by the resolver backend to set * Function provided by the resolver backend to set
* outgoing interface to use for DNS requests * outgoing interface to use for DNS requests
*/ */
CURLcode Curl_set_dns_interface(struct SessionHandle *data, CURLcode Curl_set_dns_interface(struct Curl_easy *data,
const char *interf); const char *interf);
/* /*
* Function provided by the resolver backend to set * Function provided by the resolver backend to set
* local IPv4 address to use as source address for DNS requests * local IPv4 address to use as source address for DNS requests
*/ */
CURLcode Curl_set_dns_local_ip4(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
const char *local_ip4); const char *local_ip4);
/* /*
* Function provided by the resolver backend to set * Function provided by the resolver backend to set
* local IPv6 address to use as source address for DNS requests * local IPv6 address to use as source address for DNS requests
*/ */
CURLcode Curl_set_dns_local_ip6(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data,
const char *local_ip6); const char *local_ip6);
/* /*
* Clean off entries from the cache * Clean off entries from the cache
*/ */
void Curl_hostcache_clean(struct SessionHandle *data, struct curl_hash *hash); void Curl_hostcache_clean(struct Curl_easy *data, struct curl_hash *hash);
/* /*
* Destroy the hostcache of this handle. * Destroy the hostcache of this handle.
*/ */
void Curl_hostcache_destroy(struct SessionHandle *data); void Curl_hostcache_destroy(struct Curl_easy *data);
/* /*
* Populate the cache with specified entries from CURLOPT_RESOLVE. * Populate the cache with specified entries from CURLOPT_RESOLVE.
*/ */
CURLcode Curl_loadhostpairs(struct SessionHandle *data); CURLcode Curl_loadhostpairs(struct Curl_easy *data);
#endif /* HEADER_CURL_HOSTIP_H */ #endif /* HEADER_CURL_HOSTIP_H */

View File

@ -172,7 +172,7 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
#endif #endif
int pf; int pf;
#if !defined(CURL_DISABLE_VERBOSE_STRINGS) #if !defined(CURL_DISABLE_VERBOSE_STRINGS)
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#endif #endif
*waitp = 0; /* synchronous response only */ *waitp = 0; /* synchronous response only */

View File

@ -59,7 +59,7 @@
/* /*
* Function provided by the resolver backend to set DNS servers to use. * Function provided by the resolver backend to set DNS servers to use.
*/ */
CURLcode Curl_set_dns_servers(struct SessionHandle *data, CURLcode Curl_set_dns_servers(struct Curl_easy *data,
char *servers) char *servers)
{ {
(void)data; (void)data;
@ -72,7 +72,7 @@ CURLcode Curl_set_dns_servers(struct SessionHandle *data,
* Function provided by the resolver backend to set * Function provided by the resolver backend to set
* outgoing interface to use for DNS requests * outgoing interface to use for DNS requests
*/ */
CURLcode Curl_set_dns_interface(struct SessionHandle *data, CURLcode Curl_set_dns_interface(struct Curl_easy *data,
const char *interf) const char *interf)
{ {
(void)data; (void)data;
@ -84,7 +84,7 @@ CURLcode Curl_set_dns_interface(struct SessionHandle *data,
* Function provided by the resolver backend to set * Function provided by the resolver backend to set
* local IPv4 address to use as source address for DNS requests * local IPv4 address to use as source address for DNS requests
*/ */
CURLcode Curl_set_dns_local_ip4(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
const char *local_ip4) const char *local_ip4)
{ {
(void)data; (void)data;
@ -96,7 +96,7 @@ CURLcode Curl_set_dns_local_ip4(struct SessionHandle *data,
* Function provided by the resolver backend to set * Function provided by the resolver backend to set
* local IPv6 address to use as source address for DNS requests * local IPv6 address to use as source address for DNS requests
*/ */
CURLcode Curl_set_dns_local_ip6(struct SessionHandle *data, CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data,
const char *local_ip6) const char *local_ip6)
{ {
(void)data; (void)data;

View File

@ -151,7 +151,7 @@ const struct Curl_handler Curl_handler_https = {
CURLcode Curl_http_setup_conn(struct connectdata *conn) CURLcode Curl_http_setup_conn(struct connectdata *conn)
{ {
/* allocate the HTTP-specific struct for the SessionHandle, only to survive /* allocate the HTTP-specific struct for the Curl_easy, only to survive
during this request */ during this request */
struct HTTP *http; struct HTTP *http;
DEBUGASSERT(conn->data->req.protop == NULL); DEBUGASSERT(conn->data->req.protop == NULL);
@ -179,7 +179,7 @@ char *Curl_checkheaders(const struct connectdata *conn,
{ {
struct curl_slist *head; struct curl_slist *head;
size_t thislen = strlen(thisheader); size_t thislen = strlen(thisheader);
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
for(head = data->set.headers;head; head=head->next) { for(head = data->set.headers;head; head=head->next) {
if(Curl_raw_nequal(head->data, thisheader, thislen)) if(Curl_raw_nequal(head->data, thisheader, thislen))
@ -194,7 +194,7 @@ char *Curl_checkheaders(const struct connectdata *conn,
* if proxy headers are not available, then it will lookup into http header * if proxy headers are not available, then it will lookup into http header
* link list * link list
* *
* It takes a connectdata struct as input instead of the SessionHandle simply * It takes a connectdata struct as input instead of the Curl_easy simply
* to know if this is a proxy request or not, as it then might check a * to know if this is a proxy request or not, as it then might check a
* different header list. * different header list.
*/ */
@ -203,7 +203,7 @@ char *Curl_checkProxyheaders(const struct connectdata *conn,
{ {
struct curl_slist *head; struct curl_slist *head;
size_t thislen = strlen(thisheader); size_t thislen = strlen(thisheader);
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
for(head = (conn->bits.proxy && data->set.sep_headers) ? for(head = (conn->bits.proxy && data->set.sep_headers) ?
data->set.proxyheaders : data->set.headers; data->set.proxyheaders : data->set.headers;
@ -280,7 +280,7 @@ static CURLcode http_output_basic(struct connectdata *conn, bool proxy)
{ {
size_t size = 0; size_t size = 0;
char *authorization = NULL; char *authorization = NULL;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char **userp; char **userp;
const char *user; const char *user;
const char *pwd; const char *pwd;
@ -377,7 +377,7 @@ static bool pickoneauth(struct auth *pick)
*/ */
static CURLcode http_perhapsrewind(struct connectdata *conn) static CURLcode http_perhapsrewind(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct HTTP *http = data->req.protop; struct HTTP *http = data->req.protop;
curl_off_t bytessent; curl_off_t bytessent;
curl_off_t expectsend = -1; /* default is unknown */ curl_off_t expectsend = -1; /* default is unknown */
@ -485,7 +485,7 @@ static CURLcode http_perhapsrewind(struct connectdata *conn)
CURLcode Curl_http_auth_act(struct connectdata *conn) CURLcode Curl_http_auth_act(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
bool pickhost = FALSE; bool pickhost = FALSE;
bool pickproxy = FALSE; bool pickproxy = FALSE;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -567,7 +567,7 @@ output_auth_headers(struct connectdata *conn,
const char *auth = NULL; const char *auth = NULL;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
#if !defined(CURL_DISABLE_VERBOSE_STRINGS) || defined(USE_SPNEGO) #if !defined(CURL_DISABLE_VERBOSE_STRINGS) || defined(USE_SPNEGO)
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#endif #endif
#ifdef USE_SPNEGO #ifdef USE_SPNEGO
struct negotiatedata *negdata = proxy ? struct negotiatedata *negdata = proxy ?
@ -674,7 +674,7 @@ Curl_http_output_auth(struct connectdata *conn,
up the proxy tunnel */ up the proxy tunnel */
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct auth *authhost; struct auth *authhost;
struct auth *authproxy; struct auth *authproxy;
@ -747,7 +747,7 @@ CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy,
/* /*
* This resource requires authentication * This resource requires authentication
*/ */
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#ifdef USE_SPNEGO #ifdef USE_SPNEGO
struct negotiatedata *negdata = proxy? struct negotiatedata *negdata = proxy?
@ -907,7 +907,7 @@ CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy,
*/ */
static int http_should_fail(struct connectdata *conn) static int http_should_fail(struct connectdata *conn)
{ {
struct SessionHandle *data; struct Curl_easy *data;
int httpcode; int httpcode;
DEBUGASSERT(conn); DEBUGASSERT(conn);
@ -1441,7 +1441,7 @@ static int https_getsock(struct connectdata *conn,
CURLcode Curl_http_done(struct connectdata *conn, CURLcode Curl_http_done(struct connectdata *conn,
CURLcode status, bool premature) CURLcode status, bool premature)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct HTTP *http = data->req.protop; struct HTTP *http = data->req.protop;
#ifdef USE_NGHTTP2 #ifdef USE_NGHTTP2
struct http_conn *httpc = &conn->proto.httpc; struct http_conn *httpc = &conn->proto.httpc;
@ -1539,7 +1539,7 @@ CURLcode Curl_http_done(struct connectdata *conn,
* - if any server previously contacted to handle this request only supports * - if any server previously contacted to handle this request only supports
* 1.0. * 1.0.
*/ */
static bool use_http_1_1plus(const struct SessionHandle *data, static bool use_http_1_1plus(const struct Curl_easy *data,
const struct connectdata *conn) const struct connectdata *conn)
{ {
if((data->state.httpversion == 10) || (conn->httpversion == 10)) if((data->state.httpversion == 10) || (conn->httpversion == 10))
@ -1552,7 +1552,7 @@ static bool use_http_1_1plus(const struct SessionHandle *data,
} }
/* check and possibly add an Expect: header */ /* check and possibly add an Expect: header */
static CURLcode expect100(struct SessionHandle *data, static CURLcode expect100(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
Curl_send_buffer *req_buffer) Curl_send_buffer *req_buffer)
{ {
@ -1595,7 +1595,7 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn,
struct curl_slist *h[2]; struct curl_slist *h[2];
struct curl_slist *headers; struct curl_slist *headers;
int numlists=1; /* by default */ int numlists=1; /* by default */
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
int i; int i;
enum proxy_use proxy; enum proxy_use proxy;
@ -1700,7 +1700,7 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn,
return CURLE_OK; return CURLE_OK;
} }
CURLcode Curl_add_timecondition(struct SessionHandle *data, CURLcode Curl_add_timecondition(struct Curl_easy *data,
Curl_send_buffer *req_buffer) Curl_send_buffer *req_buffer)
{ {
const struct tm *tm; const struct tm *tm;
@ -1764,7 +1764,7 @@ CURLcode Curl_add_timecondition(struct SessionHandle *data,
*/ */
CURLcode Curl_http(struct connectdata *conn, bool *done) CURLcode Curl_http(struct connectdata *conn, bool *done)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct HTTP *http; struct HTTP *http;
const char *ppath = data->state.path; const char *ppath = data->state.path;
@ -2777,7 +2777,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
* Returns TRUE if member of the list matches prefix of string * Returns TRUE if member of the list matches prefix of string
*/ */
static bool static bool
checkhttpprefix(struct SessionHandle *data, checkhttpprefix(struct Curl_easy *data,
const char *s) const char *s)
{ {
struct curl_slist *head = data->set.http200aliases; struct curl_slist *head = data->set.http200aliases;
@ -2816,7 +2816,7 @@ checkhttpprefix(struct SessionHandle *data,
#ifndef CURL_DISABLE_RTSP #ifndef CURL_DISABLE_RTSP
static bool static bool
checkrtspprefix(struct SessionHandle *data, checkrtspprefix(struct Curl_easy *data,
const char *s) const char *s)
{ {
@ -2844,7 +2844,7 @@ checkrtspprefix(struct SessionHandle *data,
#endif /* CURL_DISABLE_RTSP */ #endif /* CURL_DISABLE_RTSP */
static bool static bool
checkprotoprefix(struct SessionHandle *data, struct connectdata *conn, checkprotoprefix(struct Curl_easy *data, struct connectdata *conn,
const char *s) const char *s)
{ {
#ifndef CURL_DISABLE_RTSP #ifndef CURL_DISABLE_RTSP
@ -2862,7 +2862,7 @@ checkprotoprefix(struct SessionHandle *data, struct connectdata *conn,
* header. We make sure that the full string fit in the allocated header * header. We make sure that the full string fit in the allocated header
* buffer, or else we enlarge it. * buffer, or else we enlarge it.
*/ */
static CURLcode header_append(struct SessionHandle *data, static CURLcode header_append(struct Curl_easy *data,
struct SingleRequest *k, struct SingleRequest *k,
size_t length) size_t length)
{ {
@ -2900,7 +2900,7 @@ static CURLcode header_append(struct SessionHandle *data,
return CURLE_OK; return CURLE_OK;
} }
static void print_http_error(struct SessionHandle *data) static void print_http_error(struct Curl_easy *data)
{ {
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
char *beg = k->p; char *beg = k->p;
@ -2940,7 +2940,7 @@ static void print_http_error(struct SessionHandle *data)
/* /*
* Read any HTTP header lines from the server and pass them to the client app. * Read any HTTP header lines from the server and pass them to the client app.
*/ */
CURLcode Curl_http_readwrite_headers(struct SessionHandle *data, CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
ssize_t *nread, ssize_t *nread,
bool *stop_reading) bool *stop_reading)

View File

@ -69,7 +69,7 @@ CURLcode Curl_add_buffer_send(Curl_send_buffer *in,
size_t included_body_bytes, size_t included_body_bytes,
int socketindex); int socketindex);
CURLcode Curl_add_timecondition(struct SessionHandle *data, CURLcode Curl_add_timecondition(struct Curl_easy *data,
Curl_send_buffer *buf); Curl_send_buffer *buf);
CURLcode Curl_add_custom_headers(struct connectdata *conn, CURLcode Curl_add_custom_headers(struct connectdata *conn,
bool is_connect, bool is_connect,
@ -87,7 +87,7 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap,
ssize_t length, ssize_t *wrote); ssize_t length, ssize_t *wrote);
/* These functions are in http.c */ /* These functions are in http.c */
void Curl_http_auth_stage(struct SessionHandle *data, int stage); void Curl_http_auth_stage(struct Curl_easy *data, int stage);
CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy, CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy,
const char *auth); const char *auth);
CURLcode Curl_http_auth_act(struct connectdata *conn); CURLcode Curl_http_auth_act(struct connectdata *conn);
@ -216,14 +216,14 @@ struct http_conn {
nghttp2_session_mem_recv */ nghttp2_session_mem_recv */
size_t drain_total; /* sum of all stream's UrlState.drain */ size_t drain_total; /* sum of all stream's UrlState.drain */
/* this is a hash of all individual streams (SessionHandle structs) */ /* this is a hash of all individual streams (Curl_easy structs) */
struct h2settings settings; struct h2settings settings;
#else #else
int unused; /* prevent a compiler warning */ int unused; /* prevent a compiler warning */
#endif #endif
}; };
CURLcode Curl_http_readwrite_headers(struct SessionHandle *data, CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
ssize_t *nread, ssize_t *nread,
bool *stop_reading); bool *stop_reading);

View File

@ -139,7 +139,7 @@ static CURLcode http2_disconnect(struct connectdata *conn,
} }
/* called from Curl_http_setup_conn */ /* called from Curl_http_setup_conn */
void Curl_http2_setup_req(struct SessionHandle *data) void Curl_http2_setup_req(struct Curl_easy *data)
{ {
struct HTTP *http = data->req.protop; struct HTTP *http = data->req.protop;
@ -284,7 +284,7 @@ static ssize_t send_callback(nghttp2_session *h2,
/* We pass a pointer to this struct in the push callback, but the contents of /* We pass a pointer to this struct in the push callback, but the contents of
the struct are hidden from the user. */ the struct are hidden from the user. */
struct curl_pushheaders { struct curl_pushheaders {
struct SessionHandle *data; struct Curl_easy *data;
const nghttp2_push_promise *frame; const nghttp2_push_promise *frame;
}; };
@ -335,9 +335,9 @@ char *curl_pushheader_byname(struct curl_pushheaders *h, const char *header)
return NULL; return NULL;
} }
static CURL *duphandle(struct SessionHandle *data) static CURL *duphandle(struct Curl_easy *data)
{ {
struct SessionHandle *second = curl_easy_duphandle(data); struct Curl_easy *second = curl_easy_duphandle(data);
if(second) { if(second) {
/* setup the request struct */ /* setup the request struct */
struct HTTP *http = calloc(1, sizeof(struct HTTP)); struct HTTP *http = calloc(1, sizeof(struct HTTP));
@ -363,7 +363,7 @@ static CURL *duphandle(struct SessionHandle *data)
} }
static int push_promise(struct SessionHandle *data, static int push_promise(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
const nghttp2_push_promise *frame) const nghttp2_push_promise *frame)
{ {
@ -378,7 +378,7 @@ static int push_promise(struct SessionHandle *data,
struct http_conn *httpc; struct http_conn *httpc;
size_t i; size_t i;
/* clone the parent */ /* clone the parent */
struct SessionHandle *newhandle = duphandle(data); struct Curl_easy *newhandle = duphandle(data);
if(!newhandle) { if(!newhandle) {
infof(data, "failed to duplicate handle\n"); infof(data, "failed to duplicate handle\n");
rv = 1; /* FAIL HARD */ rv = 1; /* FAIL HARD */
@ -445,7 +445,7 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
{ {
struct connectdata *conn = (struct connectdata *)userp; struct connectdata *conn = (struct connectdata *)userp;
struct http_conn *httpc = &conn->proto.httpc; struct http_conn *httpc = &conn->proto.httpc;
struct SessionHandle *data_s = NULL; struct Curl_easy *data_s = NULL;
struct HTTP *stream = NULL; struct HTTP *stream = NULL;
static int lastStream = -1; static int lastStream = -1;
int rv; int rv;
@ -482,7 +482,7 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
} }
if(!data_s) { if(!data_s) {
DEBUGF(infof(conn->data, DEBUGF(infof(conn->data,
"No SessionHandle associated with stream: %x\n", "No Curl_easy associated with stream: %x\n",
stream_id)); stream_id));
return 0; return 0;
} }
@ -573,7 +573,7 @@ static int on_invalid_frame_recv(nghttp2_session *session,
const nghttp2_frame *frame, const nghttp2_frame *frame,
int lib_error_code, void *userp) int lib_error_code, void *userp)
{ {
struct SessionHandle *data_s = NULL; struct Curl_easy *data_s = NULL;
(void)userp; (void)userp;
data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id); data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
@ -590,7 +590,7 @@ static int on_data_chunk_recv(nghttp2_session *session, uint8_t flags,
const uint8_t *data, size_t len, void *userp) const uint8_t *data, size_t len, void *userp)
{ {
struct HTTP *stream; struct HTTP *stream;
struct SessionHandle *data_s; struct Curl_easy *data_s;
size_t nread; size_t nread;
struct connectdata *conn = (struct connectdata *)userp; struct connectdata *conn = (struct connectdata *)userp;
(void)session; (void)session;
@ -656,7 +656,7 @@ static int before_frame_send(nghttp2_session *session,
const nghttp2_frame *frame, const nghttp2_frame *frame,
void *userp) void *userp)
{ {
struct SessionHandle *data_s; struct Curl_easy *data_s;
(void)userp; (void)userp;
data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id); data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
@ -670,7 +670,7 @@ static int on_frame_send(nghttp2_session *session,
const nghttp2_frame *frame, const nghttp2_frame *frame,
void *userp) void *userp)
{ {
struct SessionHandle *data_s; struct Curl_easy *data_s;
(void)userp; (void)userp;
data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id); data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
@ -684,7 +684,7 @@ static int on_frame_not_send(nghttp2_session *session,
const nghttp2_frame *frame, const nghttp2_frame *frame,
int lib_error_code, void *userp) int lib_error_code, void *userp)
{ {
struct SessionHandle *data_s; struct Curl_easy *data_s;
(void)userp; (void)userp;
data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id); data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
@ -698,7 +698,7 @@ static int on_frame_not_send(nghttp2_session *session,
static int on_stream_close(nghttp2_session *session, int32_t stream_id, static int on_stream_close(nghttp2_session *session, int32_t stream_id,
uint32_t error_code, void *userp) uint32_t error_code, void *userp)
{ {
struct SessionHandle *data_s; struct Curl_easy *data_s;
struct HTTP *stream; struct HTTP *stream;
struct connectdata *conn = (struct connectdata *)userp; struct connectdata *conn = (struct connectdata *)userp;
(void)session; (void)session;
@ -735,7 +735,7 @@ static int on_begin_headers(nghttp2_session *session,
const nghttp2_frame *frame, void *userp) const nghttp2_frame *frame, void *userp)
{ {
struct HTTP *stream; struct HTTP *stream;
struct SessionHandle *data_s = NULL; struct Curl_easy *data_s = NULL;
(void)userp; (void)userp;
data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id); data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
@ -802,7 +802,7 @@ static int on_header(nghttp2_session *session, const nghttp2_frame *frame,
void *userp) void *userp)
{ {
struct HTTP *stream; struct HTTP *stream;
struct SessionHandle *data_s; struct Curl_easy *data_s;
int32_t stream_id = frame->hd.stream_id; int32_t stream_id = frame->hd.stream_id;
struct connectdata *conn = (struct connectdata *)userp; struct connectdata *conn = (struct connectdata *)userp;
(void)flags; (void)flags;
@ -914,7 +914,7 @@ static ssize_t data_source_read_callback(nghttp2_session *session,
nghttp2_data_source *source, nghttp2_data_source *source,
void *userp) void *userp)
{ {
struct SessionHandle *data_s; struct Curl_easy *data_s;
struct HTTP *stream = NULL; struct HTTP *stream = NULL;
size_t nread; size_t nread;
(void)source; (void)source;
@ -1096,7 +1096,7 @@ static int should_close_session(struct http_conn *httpc) {
!nghttp2_session_want_write(httpc->h2); !nghttp2_session_want_write(httpc->h2);
} }
static int h2_session_send(struct SessionHandle *data, static int h2_session_send(struct Curl_easy *data,
nghttp2_session *h2); nghttp2_session *h2);
/* /*
@ -1105,7 +1105,7 @@ static int h2_session_send(struct SessionHandle *data,
* This function returns 0 if it succeeds, or -1 and error code will * This function returns 0 if it succeeds, or -1 and error code will
* be assigned to *err. * be assigned to *err.
*/ */
static int h2_process_pending_input(struct SessionHandle *data, static int h2_process_pending_input(struct Curl_easy *data,
struct http_conn *httpc, struct http_conn *httpc,
CURLcode *err) { CURLcode *err) {
ssize_t nread; ssize_t nread;
@ -1156,7 +1156,7 @@ static int h2_process_pending_input(struct SessionHandle *data,
} }
static ssize_t http2_handle_stream_close(struct connectdata *conn, static ssize_t http2_handle_stream_close(struct connectdata *conn,
struct SessionHandle *data, struct Curl_easy *data,
struct HTTP *stream, CURLcode *err) { struct HTTP *stream, CURLcode *err) {
char *trailer_pos, *trailer_end; char *trailer_pos, *trailer_end;
CURLcode result; CURLcode result;
@ -1226,7 +1226,7 @@ static ssize_t http2_handle_stream_close(struct connectdata *conn,
* struct. * struct.
*/ */
static void h2_pri_spec(struct SessionHandle *data, static void h2_pri_spec(struct Curl_easy *data,
nghttp2_priority_spec *pri_spec) nghttp2_priority_spec *pri_spec)
{ {
struct HTTP *depstream = (data->set.stream_depends_on? struct HTTP *depstream = (data->set.stream_depends_on?
@ -1244,7 +1244,7 @@ static void h2_pri_spec(struct SessionHandle *data,
* dependency settings and if so it submits a PRIORITY frame with the updated * dependency settings and if so it submits a PRIORITY frame with the updated
* info. * info.
*/ */
static int h2_session_send(struct SessionHandle *data, static int h2_session_send(struct Curl_easy *data,
nghttp2_session *h2) nghttp2_session *h2)
{ {
struct HTTP *stream = data->req.protop; struct HTTP *stream = data->req.protop;
@ -1279,7 +1279,7 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
ssize_t rv; ssize_t rv;
ssize_t nread; ssize_t nread;
struct http_conn *httpc = &conn->proto.httpc; struct http_conn *httpc = &conn->proto.httpc;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct HTTP *stream = data->req.protop; struct HTTP *stream = data->req.protop;
(void)sockindex; /* we always do HTTP2 on sockindex 0 */ (void)sockindex; /* we always do HTTP2 on sockindex 0 */
@ -1297,7 +1297,7 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
stream->upload_len = 0; stream->upload_len = 0;
/* /*
* At this point 'stream' is just in the SessionHandle the connection * At this point 'stream' is just in the Curl_easy the connection
* identifies as its owner at this time. * identifies as its owner at this time.
*/ */
@ -1864,7 +1864,7 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
struct http_conn *httpc = &conn->proto.httpc; struct http_conn *httpc = &conn->proto.httpc;
int rv; int rv;
ssize_t nproc; ssize_t nproc;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct HTTP *stream = conn->data->req.protop; struct HTTP *stream = conn->data->req.protop;
result = Curl_http2_setup(conn); result = Curl_http2_setup(conn);

View File

@ -50,7 +50,7 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
const char *data, size_t nread); const char *data, size_t nread);
/* called from Curl_http_setup_conn */ /* called from Curl_http_setup_conn */
void Curl_http2_setup_conn(struct connectdata *conn); void Curl_http2_setup_conn(struct connectdata *conn);
void Curl_http2_setup_req(struct SessionHandle *data); void Curl_http2_setup_req(struct Curl_easy *data);
#else /* USE_NGHTTP2 */ #else /* USE_NGHTTP2 */
#define Curl_http2_init(x) CURLE_UNSUPPORTED_PROTOCOL #define Curl_http2_init(x) CURLE_UNSUPPORTED_PROTOCOL
#define Curl_http2_send_request(x) CURLE_UNSUPPORTED_PROTOCOL #define Curl_http2_send_request(x) CURLE_UNSUPPORTED_PROTOCOL

View File

@ -108,7 +108,7 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
ssize_t *wrotep) ssize_t *wrotep)
{ {
CURLcode result=CURLE_OK; CURLcode result=CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct Curl_chunker *ch = &conn->chunk; struct Curl_chunker *ch = &conn->chunk;
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
size_t piece; size_t piece;

View File

@ -45,7 +45,7 @@ CURLcode Curl_input_digest(struct connectdata *conn,
const char *header) /* rest of the *-authenticate: const char *header) /* rest of the *-authenticate:
header */ header */
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Point to the correct struct with this */ /* Point to the correct struct with this */
struct digestdata *digest; struct digestdata *digest;
@ -73,7 +73,7 @@ CURLcode Curl_output_digest(struct connectdata *conn,
const unsigned char *uripath) const unsigned char *uripath)
{ {
CURLcode result; CURLcode result;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
unsigned char *path; unsigned char *path;
char *tmp; char *tmp;
char *response; char *response;
@ -169,7 +169,7 @@ CURLcode Curl_output_digest(struct connectdata *conn,
return CURLE_OK; return CURLE_OK;
} }
void Curl_digest_cleanup(struct SessionHandle *data) void Curl_digest_cleanup(struct Curl_easy *data)
{ {
Curl_auth_digest_cleanup(&data->state.digest); Curl_auth_digest_cleanup(&data->state.digest);
Curl_auth_digest_cleanup(&data->state.proxydigest); Curl_auth_digest_cleanup(&data->state.proxydigest);

View File

@ -34,7 +34,7 @@ CURLcode Curl_output_digest(struct connectdata *conn,
const unsigned char *uripath); const unsigned char *uripath);
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH) #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH)
void Curl_digest_cleanup(struct SessionHandle *data); void Curl_digest_cleanup(struct Curl_easy *data);
#else #else
#define Curl_digest_cleanup(x) Curl_nop_stmt #define Curl_digest_cleanup(x) Curl_nop_stmt
#endif #endif

View File

@ -38,7 +38,7 @@
CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy, CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
const char *header) const char *header)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
size_t len; size_t len;
/* Point to the username, password, service and host */ /* Point to the username, password, service and host */
@ -124,7 +124,7 @@ CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy)
return (userp == NULL) ? CURLE_OUT_OF_MEMORY : CURLE_OK; return (userp == NULL) ? CURLE_OUT_OF_MEMORY : CURLE_OK;
} }
void Curl_cleanup_negotiate(struct SessionHandle *data) void Curl_cleanup_negotiate(struct Curl_easy *data)
{ {
Curl_auth_spnego_cleanup(&data->state.negotiate); Curl_auth_spnego_cleanup(&data->state.negotiate);
Curl_auth_spnego_cleanup(&data->state.proxyneg); Curl_auth_spnego_cleanup(&data->state.proxyneg);

View File

@ -31,7 +31,7 @@ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
/* this is for creating Negotiate header output */ /* this is for creating Negotiate header output */
CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy); CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy);
void Curl_cleanup_negotiate(struct SessionHandle *data); void Curl_cleanup_negotiate(struct Curl_easy *data);
#endif /* USE_SPNEGO */ #endif /* USE_SPNEGO */

View File

@ -107,7 +107,7 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
bool blocking) bool blocking)
{ {
int subversion=0; int subversion=0;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
CURLcode result; CURLcode result;
curl_socket_t tunnelsocket = conn->sock[sockindex]; curl_socket_t tunnelsocket = conn->sock[sockindex];

View File

@ -648,7 +648,7 @@ static CURLcode imap_perform_authentication(struct connectdata *conn)
static CURLcode imap_perform_list(struct connectdata *conn) static CURLcode imap_perform_list(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap = data->req.protop; struct IMAP *imap = data->req.protop;
char *mailbox; char *mailbox;
@ -683,7 +683,7 @@ static CURLcode imap_perform_list(struct connectdata *conn)
static CURLcode imap_perform_select(struct connectdata *conn) static CURLcode imap_perform_select(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap = data->req.protop; struct IMAP *imap = data->req.protop;
struct imap_conn *imapc = &conn->proto.imapc; struct imap_conn *imapc = &conn->proto.imapc;
char *mailbox; char *mailbox;
@ -840,7 +840,7 @@ static CURLcode imap_state_servergreet_resp(struct connectdata *conn,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -860,7 +860,7 @@ static CURLcode imap_state_capability_resp(struct connectdata *conn,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct imap_conn *imapc = &conn->proto.imapc; struct imap_conn *imapc = &conn->proto.imapc;
const char *line = data->state.buffer; const char *line = data->state.buffer;
size_t wordlen; size_t wordlen;
@ -947,7 +947,7 @@ static CURLcode imap_state_starttls_resp(struct connectdata *conn,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -971,7 +971,7 @@ static CURLcode imap_state_auth_resp(struct connectdata *conn,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct imap_conn *imapc = &conn->proto.imapc; struct imap_conn *imapc = &conn->proto.imapc;
saslprogress progress; saslprogress progress;
@ -1005,7 +1005,7 @@ static CURLcode imap_state_login_resp(struct connectdata *conn,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -1051,7 +1051,7 @@ static CURLcode imap_state_select_resp(struct connectdata *conn, int imapcode,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap = conn->data->req.protop; struct IMAP *imap = conn->data->req.protop;
struct imap_conn *imapc = &conn->proto.imapc; struct imap_conn *imapc = &conn->proto.imapc;
const char *line = data->state.buffer; const char *line = data->state.buffer;
@ -1098,7 +1098,7 @@ static CURLcode imap_state_fetch_resp(struct connectdata *conn, int imapcode,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct imap_conn *imapc = &conn->proto.imapc; struct imap_conn *imapc = &conn->proto.imapc;
struct pingpong *pp = &imapc->pp; struct pingpong *pp = &imapc->pp;
const char *ptr = data->state.buffer; const char *ptr = data->state.buffer;
@ -1211,7 +1211,7 @@ static CURLcode imap_state_append_resp(struct connectdata *conn, int imapcode,
imapstate instate) imapstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* No use for this yet */ (void)instate; /* No use for this yet */
@ -1371,12 +1371,12 @@ static CURLcode imap_block_statemach(struct connectdata *conn)
return result; return result;
} }
/* Allocate and initialize the struct IMAP for the current SessionHandle if /* Allocate and initialize the struct IMAP for the current Curl_easy if
required */ required */
static CURLcode imap_init(struct connectdata *conn) static CURLcode imap_init(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap; struct IMAP *imap;
imap = data->req.protop = calloc(sizeof(struct IMAP), 1); imap = data->req.protop = calloc(sizeof(struct IMAP), 1);
@ -1456,7 +1456,7 @@ static CURLcode imap_done(struct connectdata *conn, CURLcode status,
bool premature) bool premature)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap = data->req.protop; struct IMAP *imap = data->req.protop;
(void)premature; (void)premature;
@ -1518,7 +1518,7 @@ static CURLcode imap_perform(struct connectdata *conn, bool *connected,
{ {
/* This is IMAP and no proxy */ /* This is IMAP and no proxy */
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap = data->req.protop; struct IMAP *imap = data->req.protop;
struct imap_conn *imapc = &conn->proto.imapc; struct imap_conn *imapc = &conn->proto.imapc;
bool selected = FALSE; bool selected = FALSE;
@ -1683,7 +1683,7 @@ static CURLcode imap_regular_transfer(struct connectdata *conn,
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
bool connected = FALSE; bool connected = FALSE;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Make sure size is unknown at this point */ /* Make sure size is unknown at this point */
data->req.size = -1; data->req.size = -1;
@ -1706,7 +1706,7 @@ static CURLcode imap_regular_transfer(struct connectdata *conn,
static CURLcode imap_setup_connection(struct connectdata *conn) static CURLcode imap_setup_connection(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Initialise the IMAP layer */ /* Initialise the IMAP layer */
CURLcode result = imap_init(conn); CURLcode result = imap_init(conn);
@ -1971,7 +1971,7 @@ static CURLcode imap_parse_url_path(struct connectdata *conn)
{ {
/* The imap struct is already initialised in imap_connect() */ /* The imap struct is already initialised in imap_connect() */
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap = data->req.protop; struct IMAP *imap = data->req.protop;
const char *begin = data->state.path; const char *begin = data->state.path;
const char *ptr = begin; const char *ptr = begin;
@ -2101,7 +2101,7 @@ static CURLcode imap_parse_url_path(struct connectdata *conn)
static CURLcode imap_parse_custom_request(struct connectdata *conn) static CURLcode imap_parse_custom_request(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct IMAP *imap = data->req.protop; struct IMAP *imap = data->req.protop;
const char *custom = data->set.str[STRING_CUSTOMREQUEST]; const char *custom = data->set.str[STRING_CUSTOMREQUEST];

View File

@ -49,9 +49,9 @@ typedef enum {
IMAP_LAST /* never used */ IMAP_LAST /* never used */
} imapstate; } imapstate;
/* This IMAP struct is used in the SessionHandle. All IMAP data that is /* This IMAP struct is used in the Curl_easy. All IMAP data that is
connection-oriented must be in imap_conn to properly deal with the fact that connection-oriented must be in imap_conn to properly deal with the fact that
perhaps the SessionHandle is changed between the times the connection is perhaps the Curl_easy is changed between the times the connection is
used. */ used. */
struct IMAP { struct IMAP {
curl_pp_transfer transfer; curl_pp_transfer transfer;

View File

@ -150,7 +150,7 @@ krb5_auth(void *app_data, struct connectdata *conn)
const char *host = conn->host.name; const char *host = conn->host.name;
ssize_t nread; ssize_t nread;
curl_socklen_t l = sizeof(conn->local_addr); curl_socklen_t l = sizeof(conn->local_addr);
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode result; CURLcode result;
const char *service = data->set.str[STRING_SERVICE_NAME] ? const char *service = data->set.str[STRING_SERVICE_NAME] ?
data->set.str[STRING_SERVICE_NAME] : data->set.str[STRING_SERVICE_NAME] :

View File

@ -192,7 +192,7 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
LDAPMessage *ldapmsg = NULL; LDAPMessage *ldapmsg = NULL;
LDAPMessage *entryIterator; LDAPMessage *entryIterator;
int num = 0; int num = 0;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
int ldap_proto = LDAP_VERSION3; int ldap_proto = LDAP_VERSION3;
int ldap_ssl = 0; int ldap_ssl = 0;
char *val_b64 = NULL; char *val_b64 = NULL;

View File

@ -64,12 +64,12 @@
((x) && (((struct Curl_multi *)(x))->type == CURL_MULTI_HANDLE)) ((x) && (((struct Curl_multi *)(x))->type == CURL_MULTI_HANDLE))
static void singlesocket(struct Curl_multi *multi, static void singlesocket(struct Curl_multi *multi,
struct SessionHandle *data); struct Curl_easy *data);
static int update_timer(struct Curl_multi *multi); static int update_timer(struct Curl_multi *multi);
static CURLMcode add_next_timeout(struct timeval now, static CURLMcode add_next_timeout(struct timeval now,
struct Curl_multi *multi, struct Curl_multi *multi,
struct SessionHandle *d); struct Curl_easy *d);
static CURLMcode multi_timeout(struct Curl_multi *multi, static CURLMcode multi_timeout(struct Curl_multi *multi,
long *timeout_ms); long *timeout_ms);
@ -100,10 +100,10 @@ static const char * const statename[]={
static void multi_freetimeout(void *a, void *b); static void multi_freetimeout(void *a, void *b);
/* function pointer called once when switching TO a state */ /* function pointer called once when switching TO a state */
typedef void (*init_multistate_func)(struct SessionHandle *data); typedef void (*init_multistate_func)(struct Curl_easy *data);
/* always use this function to change state, to make debugging easier */ /* always use this function to change state, to make debugging easier */
static void mstate(struct SessionHandle *data, CURLMstate state static void mstate(struct Curl_easy *data, CURLMstate state
#ifdef DEBUGBUILD #ifdef DEBUGBUILD
, int lineno , int lineno
#endif #endif
@ -162,7 +162,7 @@ static void mstate(struct SessionHandle *data, CURLMstate state
*/ */
struct Curl_sh_entry { struct Curl_sh_entry {
struct SessionHandle *easy; struct Curl_easy *easy;
int action; /* what action READ/WRITE this socket waits for */ int action; /* what action READ/WRITE this socket waits for */
curl_socket_t socket; /* mainly to ease debugging */ curl_socket_t socket; /* mainly to ease debugging */
void *socketp; /* settable by users with curl_multi_assign() */ void *socketp; /* settable by users with curl_multi_assign() */
@ -185,7 +185,7 @@ static struct Curl_sh_entry *sh_getentry(struct curl_hash *sh,
/* make sure this socket is present in the hash for this handle */ /* make sure this socket is present in the hash for this handle */
static struct Curl_sh_entry *sh_addentry(struct curl_hash *sh, static struct Curl_sh_entry *sh_addentry(struct curl_hash *sh,
curl_socket_t s, curl_socket_t s,
struct SessionHandle *data) struct Curl_easy *data)
{ {
struct Curl_sh_entry *there = sh_getentry(sh, s); struct Curl_sh_entry *there = sh_getentry(sh, s);
struct Curl_sh_entry *check; struct Curl_sh_entry *check;
@ -356,19 +356,16 @@ CURLM *curl_multi_init(void)
CURL_CONNECTION_HASH_SIZE); CURL_CONNECTION_HASH_SIZE);
} }
CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURLMcode curl_multi_add_handle(CURLM *multi, CURL *data)
CURL *easy_handle)
{ {
struct curl_llist *timeoutlist; struct curl_llist *timeoutlist;
struct Curl_multi *multi = (struct Curl_multi *)multi_handle;
struct SessionHandle *data = (struct SessionHandle *)easy_handle;
/* First, make some basic checks that the CURLM handle is a good handle */ /* First, make some basic checks that the CURLM handle is a good handle */
if(!GOOD_MULTI_HANDLE(multi)) if(!GOOD_MULTI_HANDLE(multi))
return CURLM_BAD_HANDLE; return CURLM_BAD_HANDLE;
/* Verify that we got a somewhat good easy handle too */ /* Verify that we got a somewhat good easy handle too */
if(!GOOD_EASY_HANDLE(easy_handle)) if(!GOOD_EASY_HANDLE(data))
return CURLM_BAD_EASY_HANDLE; return CURLM_BAD_EASY_HANDLE;
/* Prevent users from adding same easy handle more than once and prevent /* Prevent users from adding same easy handle more than once and prevent
@ -417,14 +414,14 @@ CURLMcode curl_multi_add_handle(CURLM *multi_handle,
data->state.conn_cache = &multi->conn_cache; data->state.conn_cache = &multi->conn_cache;
/* This adds the new entry at the 'end' of the doubly-linked circular /* This adds the new entry at the 'end' of the doubly-linked circular
list of SessionHandle structs to try and maintain a FIFO queue so list of Curl_easy structs to try and maintain a FIFO queue so
the pipelined requests are in order. */ the pipelined requests are in order. */
/* We add this new entry last in the list. */ /* We add this new entry last in the list. */
data->next = NULL; /* end of the line */ data->next = NULL; /* end of the line */
if(multi->easyp) { if(multi->easyp) {
struct SessionHandle *last = multi->easylp; struct Curl_easy *last = multi->easylp;
last->next = data; last->next = data;
data->prev = last; data->prev = last;
multi->easylp = data; /* the new last node */ multi->easylp = data; /* the new last node */
@ -435,8 +432,8 @@ CURLMcode curl_multi_add_handle(CURLM *multi_handle,
multi->easylp = multi->easyp = data; /* both first and last */ multi->easylp = multi->easyp = data; /* both first and last */
} }
/* make the SessionHandle refer back to this multi handle */ /* make the Curl_easy refer back to this multi handle */
data->multi = multi_handle; data->multi = multi;
/* Set the timeout for this handle to expire really soon so that it will /* Set the timeout for this handle to expire really soon so that it will
be taken care of even when this handle is added in the midst of operation be taken care of even when this handle is added in the midst of operation
@ -487,7 +484,7 @@ static void debug_print_sock_hash(void *p)
/* Mark the connection as 'idle', or close it if the cache is full. /* Mark the connection as 'idle', or close it if the cache is full.
Returns TRUE if the connection is kept, or FALSE if it was closed. */ Returns TRUE if the connection is kept, or FALSE if it was closed. */
static bool static bool
ConnectionDone(struct SessionHandle *data, struct connectdata *conn) ConnectionDone(struct Curl_easy *data, struct connectdata *conn)
{ {
/* data->multi->maxconnects can be negative, deal with it. */ /* data->multi->maxconnects can be negative, deal with it. */
size_t maxconnects = size_t maxconnects =
@ -523,7 +520,7 @@ static CURLcode multi_done(struct connectdata **connp,
{ {
CURLcode result; CURLcode result;
struct connectdata *conn; struct connectdata *conn;
struct SessionHandle *data; struct Curl_easy *data;
DEBUGASSERT(*connp); DEBUGASSERT(*connp);
@ -645,12 +642,9 @@ static CURLcode multi_done(struct connectdata **connp,
return result; return result;
} }
CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURLMcode curl_multi_remove_handle(CURLM *multi, CURL *data)
CURL *curl_handle)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle; struct Curl_easy *easy = data;
struct SessionHandle *easy = curl_handle;
struct SessionHandle *data = easy;
bool premature; bool premature;
bool easy_owns_conn; bool easy_owns_conn;
struct curl_llist_element *e; struct curl_llist_element *e;
@ -660,7 +654,7 @@ CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
return CURLM_BAD_HANDLE; return CURLM_BAD_HANDLE;
/* Verify that we got a somewhat good easy handle too */ /* Verify that we got a somewhat good easy handle too */
if(!GOOD_EASY_HANDLE(curl_handle)) if(!GOOD_EASY_HANDLE(data))
return CURLM_BAD_EASY_HANDLE; return CURLM_BAD_EASY_HANDLE;
/* Prevent users from trying to remove same easy handle more than once */ /* Prevent users from trying to remove same easy handle more than once */
@ -791,7 +785,7 @@ bool Curl_pipeline_wanted(const struct Curl_multi *multi, int bits)
return (multi && (multi->pipelining & bits)) ? TRUE : FALSE; return (multi && (multi->pipelining & bits)) ? TRUE : FALSE;
} }
void Curl_multi_handlePipeBreak(struct SessionHandle *data) void Curl_multi_handlePipeBreak(struct Curl_easy *data)
{ {
data->easy_conn = NULL; data->easy_conn = NULL;
} }
@ -844,7 +838,7 @@ static int domore_getsock(struct connectdata *conn,
} }
/* returns bitmapped flags for this handle and its sockets */ /* returns bitmapped flags for this handle and its sockets */
static int multi_getsock(struct SessionHandle *data, static int multi_getsock(struct Curl_easy *data,
curl_socket_t *socks, /* points to numsocks number curl_socket_t *socks, /* points to numsocks number
of sockets */ of sockets */
int numsocks) int numsocks)
@ -910,15 +904,14 @@ static int multi_getsock(struct SessionHandle *data,
} }
CURLMcode curl_multi_fdset(CURLM *multi_handle, CURLMcode curl_multi_fdset(CURLM *multi,
fd_set *read_fd_set, fd_set *write_fd_set, fd_set *read_fd_set, fd_set *write_fd_set,
fd_set *exc_fd_set, int *max_fd) fd_set *exc_fd_set, int *max_fd)
{ {
/* Scan through all the easy handles to get the file descriptors set. /* Scan through all the easy handles to get the file descriptors set.
Some easy handles may not have connected to the remote host yet, Some easy handles may not have connected to the remote host yet,
and then we must make sure that is done. */ and then we must make sure that is done. */
struct Curl_multi *multi=(struct Curl_multi *)multi_handle; struct Curl_easy *data;
struct SessionHandle *data;
int this_max_fd=-1; int this_max_fd=-1;
curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE]; curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE];
int bitmap; int bitmap;
@ -960,14 +953,13 @@ CURLMcode curl_multi_fdset(CURLM *multi_handle,
return CURLM_OK; return CURLM_OK;
} }
CURLMcode curl_multi_wait(CURLM *multi_handle, CURLMcode curl_multi_wait(CURLM *multi,
struct curl_waitfd extra_fds[], struct curl_waitfd extra_fds[],
unsigned int extra_nfds, unsigned int extra_nfds,
int timeout_ms, int timeout_ms,
int *ret) int *ret)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle; struct Curl_easy *data;
struct SessionHandle *data;
curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE]; curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE];
int bitmap; int bitmap;
unsigned int i; unsigned int i;
@ -1130,7 +1122,7 @@ static bool multi_ischanged(struct Curl_multi *multi, bool clear)
} }
CURLMcode Curl_multi_add_perform(struct Curl_multi *multi, CURLMcode Curl_multi_add_perform(struct Curl_multi *multi,
struct SessionHandle *data, struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
CURLMcode rc; CURLMcode rc;
@ -1155,7 +1147,7 @@ static CURLcode multi_reconnect_request(struct connectdata **connp)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct connectdata *conn = *connp; struct connectdata *conn = *connp;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* This was a re-use of a connection and we got a write error in the /* This was a re-use of a connection and we got a write error in the
* DO-phase. Then we DISCONNECT this connection and have another attempt to * DO-phase. Then we DISCONNECT this connection and have another attempt to
@ -1223,7 +1215,7 @@ static CURLcode multi_do(struct connectdata **connp, bool *done)
{ {
CURLcode result=CURLE_OK; CURLcode result=CURLE_OK;
struct connectdata *conn = *connp; struct connectdata *conn = *connp;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(conn->handler->do_it) { if(conn->handler->do_it) {
/* generic protocol-specific function pointer set in curl_connect() */ /* generic protocol-specific function pointer set in curl_connect() */
@ -1286,7 +1278,7 @@ static CURLcode multi_do_more(struct connectdata *conn, int *complete)
static CURLMcode multi_runsingle(struct Curl_multi *multi, static CURLMcode multi_runsingle(struct Curl_multi *multi,
struct timeval now, struct timeval now,
struct SessionHandle *data) struct Curl_easy *data)
{ {
struct Curl_message *msg = NULL; struct Curl_message *msg = NULL;
bool connected; bool connected;
@ -2102,10 +2094,9 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
} }
CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles) CURLMcode curl_multi_perform(CURLM *multi, int *running_handles)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle; struct Curl_easy *data;
struct SessionHandle *data;
CURLMcode returncode=CURLM_OK; CURLMcode returncode=CURLM_OK;
struct Curl_tree *t; struct Curl_tree *t;
struct timeval now = Curl_tvnow(); struct timeval now = Curl_tvnow();
@ -2172,11 +2163,10 @@ static void close_all_connections(struct Curl_multi *multi)
} }
} }
CURLMcode curl_multi_cleanup(CURLM *multi_handle) CURLMcode curl_multi_cleanup(CURLM *multi)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle; struct Curl_easy *data;
struct SessionHandle *data; struct Curl_easy *nextdata;
struct SessionHandle *nextdata;
if(GOOD_MULTI_HANDLE(multi)) { if(GOOD_MULTI_HANDLE(multi)) {
bool restore_pipe = FALSE; bool restore_pipe = FALSE;
@ -2247,9 +2237,8 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle)
* beyond. The current design is fully O(1). * beyond. The current design is fully O(1).
*/ */
CURLMsg *curl_multi_info_read(CURLM *multi_handle, int *msgs_in_queue) CURLMsg *curl_multi_info_read(CURLM *multi, int *msgs_in_queue)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
struct Curl_message *msg; struct Curl_message *msg;
*msgs_in_queue = 0; /* default to none */ *msgs_in_queue = 0; /* default to none */
@ -2280,7 +2269,7 @@ CURLMsg *curl_multi_info_read(CURLM *multi_handle, int *msgs_in_queue)
* call the callback accordingly. * call the callback accordingly.
*/ */
static void singlesocket(struct Curl_multi *multi, static void singlesocket(struct Curl_multi *multi,
struct SessionHandle *data) struct Curl_easy *data)
{ {
curl_socket_t socks[MAX_SOCKSPEREASYHANDLE]; curl_socket_t socks[MAX_SOCKSPEREASYHANDLE];
int i; int i;
@ -2452,7 +2441,7 @@ void Curl_multi_closed(struct connectdata *conn, curl_socket_t s)
/* /*
* add_next_timeout() * add_next_timeout()
* *
* Each SessionHandle has a list of timeouts. The add_next_timeout() is called * Each Curl_easy has a list of timeouts. The add_next_timeout() is called
* when it has just been removed from the splay tree because the timeout has * when it has just been removed from the splay tree because the timeout has
* expired. This function is then to advance in the list to pick the next * expired. This function is then to advance in the list to pick the next
* timeout to use (skip the already expired ones) and add this node back to * timeout to use (skip the already expired ones) and add this node back to
@ -2463,7 +2452,7 @@ void Curl_multi_closed(struct connectdata *conn, curl_socket_t s)
*/ */
static CURLMcode add_next_timeout(struct timeval now, static CURLMcode add_next_timeout(struct timeval now,
struct Curl_multi *multi, struct Curl_multi *multi,
struct SessionHandle *d) struct Curl_easy *d)
{ {
struct timeval *tv = &d->state.expiretime; struct timeval *tv = &d->state.expiretime;
struct curl_llist *list = d->state.timeoutlist; struct curl_llist *list = d->state.timeoutlist;
@ -2511,7 +2500,7 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
int *running_handles) int *running_handles)
{ {
CURLMcode result = CURLM_OK; CURLMcode result = CURLM_OK;
struct SessionHandle *data = NULL; struct Curl_easy *data = NULL;
struct Curl_tree *t; struct Curl_tree *t;
struct timeval now = Curl_tvnow(); struct timeval now = Curl_tvnow();
@ -2639,10 +2628,9 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
} }
#undef curl_multi_setopt #undef curl_multi_setopt
CURLMcode curl_multi_setopt(CURLM *multi_handle, CURLMcode curl_multi_setopt(CURLM *multi,
CURLMoption option, ...) CURLMoption option, ...)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
CURLMcode res = CURLM_OK; CURLMcode res = CURLM_OK;
va_list param; va_list param;
@ -2710,33 +2698,32 @@ CURLMcode curl_multi_setopt(CURLM *multi_handle,
/* we define curl_multi_socket() in the public multi.h header */ /* we define curl_multi_socket() in the public multi.h header */
#undef curl_multi_socket #undef curl_multi_socket
CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s, CURLMcode curl_multi_socket(CURLM *multi, curl_socket_t s,
int *running_handles) int *running_handles)
{ {
CURLMcode result = multi_socket((struct Curl_multi *)multi_handle, FALSE, s, CURLMcode result = multi_socket(multi, FALSE, s, 0, running_handles);
0, running_handles);
if(CURLM_OK >= result) if(CURLM_OK >= result)
update_timer((struct Curl_multi *)multi_handle); update_timer(multi);
return result; return result;
} }
CURLMcode curl_multi_socket_action(CURLM *multi_handle, curl_socket_t s, CURLMcode curl_multi_socket_action(CURLM *multi, curl_socket_t s,
int ev_bitmask, int *running_handles) int ev_bitmask, int *running_handles)
{ {
CURLMcode result = multi_socket((struct Curl_multi *)multi_handle, FALSE, s, CURLMcode result = multi_socket(multi, FALSE, s,
ev_bitmask, running_handles); ev_bitmask, running_handles);
if(CURLM_OK >= result) if(CURLM_OK >= result)
update_timer((struct Curl_multi *)multi_handle); update_timer(multi);
return result; return result;
} }
CURLMcode curl_multi_socket_all(CURLM *multi_handle, int *running_handles) CURLMcode curl_multi_socket_all(CURLM *multi, int *running_handles)
{ {
CURLMcode result = multi_socket((struct Curl_multi *)multi_handle, CURLMcode result = multi_socket(multi, TRUE, CURL_SOCKET_BAD, 0,
TRUE, CURL_SOCKET_BAD, 0, running_handles); running_handles);
if(CURLM_OK >= result) if(CURLM_OK >= result)
update_timer((struct Curl_multi *)multi_handle); update_timer(multi);
return result; return result;
} }
@ -2775,11 +2762,9 @@ static CURLMcode multi_timeout(struct Curl_multi *multi,
return CURLM_OK; return CURLM_OK;
} }
CURLMcode curl_multi_timeout(CURLM *multi_handle, CURLMcode curl_multi_timeout(CURLM *multi,
long *timeout_ms) long *timeout_ms)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
/* First, make some basic checks that the CURLM handle is a good handle */ /* First, make some basic checks that the CURLM handle is a good handle */
if(!GOOD_MULTI_HANDLE(multi)) if(!GOOD_MULTI_HANDLE(multi))
return CURLM_BAD_HANDLE; return CURLM_BAD_HANDLE;
@ -2806,7 +2791,7 @@ static int update_timer(struct Curl_multi *multi)
multi->timer_lastcall = none; multi->timer_lastcall = none;
/* there's no timeout now but there was one previously, tell the app to /* there's no timeout now but there was one previously, tell the app to
disable it */ disable it */
return multi->timer_cb((CURLM*)multi, -1, multi->timer_userp); return multi->timer_cb(multi, -1, multi->timer_userp);
} }
return 0; return 0;
} }
@ -2820,7 +2805,7 @@ static int update_timer(struct Curl_multi *multi)
multi->timer_lastcall = multi->timetree->key; multi->timer_lastcall = multi->timetree->key;
return multi->timer_cb((CURLM*)multi, timeout_ms, multi->timer_userp); return multi->timer_cb(multi, timeout_ms, multi->timer_userp);
} }
/* /*
@ -2892,7 +2877,7 @@ multi_addtimeout(struct curl_llist *timeoutlist,
* *
* Pass zero to clear all timeout values for this handle. * Pass zero to clear all timeout values for this handle.
*/ */
void Curl_expire(struct SessionHandle *data, long milli) void Curl_expire(struct Curl_easy *data, long milli)
{ {
struct Curl_multi *multi = data->multi; struct Curl_multi *multi = data->multi;
struct timeval *nowp = &data->state.expiretime; struct timeval *nowp = &data->state.expiretime;
@ -2986,7 +2971,7 @@ void Curl_expire(struct SessionHandle *data, long milli)
* time-out period to expire. * time-out period to expire.
* *
*/ */
void Curl_expire_latest(struct SessionHandle *data, long milli) void Curl_expire_latest(struct Curl_easy *data, long milli)
{ {
struct timeval *expire = &data->state.expiretime; struct timeval *expire = &data->state.expiretime;
@ -3015,11 +3000,9 @@ void Curl_expire_latest(struct SessionHandle *data, long milli)
Curl_expire(data, milli); Curl_expire(data, milli);
} }
CURLMcode curl_multi_assign(CURLM *multi_handle, CURLMcode curl_multi_assign(CURLM *multi, curl_socket_t s, void *hashp)
curl_socket_t s, void *hashp)
{ {
struct Curl_sh_entry *there = NULL; struct Curl_sh_entry *there = NULL;
struct Curl_multi *multi = (struct Curl_multi *)multi_handle;
there = sh_getentry(&multi->sockhash, s); there = sh_getentry(&multi->sockhash, s);
@ -3066,7 +3049,7 @@ void Curl_multi_process_pending_handles(struct Curl_multi *multi)
struct curl_llist_element *e = multi->pending->head; struct curl_llist_element *e = multi->pending->head;
while(e) { while(e) {
struct SessionHandle *data = e->ptr; struct Curl_easy *data = e->ptr;
struct curl_llist_element *next = e->next; struct curl_llist_element *next = e->next;
if(data->mstate == CURLM_STATE_CONNECT_PEND) { if(data->mstate == CURLM_STATE_CONNECT_PEND) {
@ -3084,10 +3067,9 @@ void Curl_multi_process_pending_handles(struct Curl_multi *multi)
} }
#ifdef DEBUGBUILD #ifdef DEBUGBUILD
void Curl_multi_dump(const struct Curl_multi *multi_handle) void Curl_multi_dump(struct Curl_multi *multi)
{ {
struct Curl_multi *multi=(struct Curl_multi *)multi_handle; struct Curl_easy *data;
struct SessionHandle *data;
int i; int i;
fprintf(stderr, "* Multi status: %d handles, %d alive\n", fprintf(stderr, "* Multi status: %d handles, %d alive\n",
multi->num_easy, multi->num_alive); multi->num_easy, multi->num_alive);

View File

@ -71,8 +71,8 @@ struct Curl_multi {
long type; long type;
/* We have a doubly-linked circular list with easy handles */ /* We have a doubly-linked circular list with easy handles */
struct SessionHandle *easyp; struct Curl_easy *easyp;
struct SessionHandle *easylp; /* last node */ struct Curl_easy *easylp; /* last node */
int num_easy; /* amount of entries in the linked list above. */ int num_easy; /* amount of entries in the linked list above. */
int num_alive; /* amount of easy handles that are added but have not yet int num_alive; /* amount of easy handles that are added but have not yet
@ -80,7 +80,7 @@ struct Curl_multi {
struct curl_llist *msglist; /* a list of messages from completed transfers */ struct curl_llist *msglist; /* a list of messages from completed transfers */
struct curl_llist *pending; /* SessionHandles that are in the struct curl_llist *pending; /* Curl_easys that are in the
CURLM_STATE_CONNECT_PEND state */ CURLM_STATE_CONNECT_PEND state */
/* callback function and user data pointer for the *socket() API */ /* callback function and user data pointer for the *socket() API */
@ -113,7 +113,7 @@ struct Curl_multi {
/* This handle will be used for closing the cached connections in /* This handle will be used for closing the cached connections in
curl_multi_cleanup() */ curl_multi_cleanup() */
struct SessionHandle *closure_handle; struct Curl_easy *closure_handle;
long maxconnects; /* if >0, a fixed limit of the maximum number of entries long maxconnects; /* if >0, a fixed limit of the maximum number of entries
we're allowed to grow the connection cache to */ we're allowed to grow the connection cache to */

View File

@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
@ -25,10 +25,10 @@
/* /*
* Prototypes for library-wide functions provided by multi.c * Prototypes for library-wide functions provided by multi.c
*/ */
void Curl_expire(struct SessionHandle *data, long milli); void Curl_expire(struct Curl_easy *data, long milli);
void Curl_expire_latest(struct SessionHandle *data, long milli); void Curl_expire_latest(struct Curl_easy *data, long milli);
bool Curl_pipeline_wanted(const struct Curl_multi* multi, int bits); bool Curl_pipeline_wanted(const struct Curl_multi* multi, int bits);
void Curl_multi_handlePipeBreak(struct SessionHandle *data); void Curl_multi_handlePipeBreak(struct Curl_easy *data);
/* Internal version of curl_multi_init() accepts size parameters for the /* Internal version of curl_multi_init() accepts size parameters for the
socket and connection hashes */ socket and connection hashes */
@ -51,7 +51,7 @@ struct Curl_multi *Curl_multi_handle(int hashsize, int chashsize);
* allow easier tracking of the internal handle's state and what sockets * allow easier tracking of the internal handle's state and what sockets
* they use. Only for research and development DEBUGBUILD enabled builds. * they use. Only for research and development DEBUGBUILD enabled builds.
*/ */
void Curl_multi_dump(const struct Curl_multi *multi_handle); void Curl_multi_dump(struct Curl_multi *multi);
#endif #endif
void Curl_multi_process_pending_handles(struct Curl_multi *multi); void Curl_multi_process_pending_handles(struct Curl_multi *multi);
@ -92,6 +92,6 @@ void Curl_multi_closed(struct connectdata *conn, curl_socket_t s);
* Add a handle and move it into PERFORM state at once. For pushed streams. * Add a handle and move it into PERFORM state at once. For pushed streams.
*/ */
CURLMcode Curl_multi_add_perform(struct Curl_multi *multi, CURLMcode Curl_multi_add_perform(struct Curl_multi *multi,
struct SessionHandle *data, struct Curl_easy *data,
struct connectdata *conn); struct connectdata *conn);
#endif /* HEADER_CURL_MULTIIF_H */ #endif /* HEADER_CURL_MULTIIF_H */

View File

@ -51,7 +51,7 @@
* Curl_convert_clone() returns a malloced copy of the source string (if * Curl_convert_clone() returns a malloced copy of the source string (if
* returning CURLE_OK), with the data converted to network format. * returning CURLE_OK), with the data converted to network format.
*/ */
CURLcode Curl_convert_clone(struct SessionHandle *data, CURLcode Curl_convert_clone(struct Curl_easy *data,
const char *indata, const char *indata,
size_t insize, size_t insize,
char **outbuf) char **outbuf)
@ -79,7 +79,7 @@ CURLcode Curl_convert_clone(struct SessionHandle *data,
* Curl_convert_to_network() is an internal function for performing ASCII * Curl_convert_to_network() is an internal function for performing ASCII
* conversions on non-ASCII platforms. It convers the buffer _in place_. * conversions on non-ASCII platforms. It convers the buffer _in place_.
*/ */
CURLcode Curl_convert_to_network(struct SessionHandle *data, CURLcode Curl_convert_to_network(struct Curl_easy *data,
char *buffer, size_t length) char *buffer, size_t length)
{ {
if(data->set.convtonetwork) { if(data->set.convtonetwork) {
@ -139,7 +139,7 @@ CURLcode Curl_convert_to_network(struct SessionHandle *data,
* Curl_convert_from_network() is an internal function for performing ASCII * Curl_convert_from_network() is an internal function for performing ASCII
* conversions on non-ASCII platforms. It convers the buffer _in place_. * conversions on non-ASCII platforms. It convers the buffer _in place_.
*/ */
CURLcode Curl_convert_from_network(struct SessionHandle *data, CURLcode Curl_convert_from_network(struct Curl_easy *data,
char *buffer, size_t length) char *buffer, size_t length)
{ {
if(data->set.convfromnetwork) { if(data->set.convfromnetwork) {
@ -199,7 +199,7 @@ CURLcode Curl_convert_from_network(struct SessionHandle *data,
* Curl_convert_from_utf8() is an internal function for performing UTF-8 * Curl_convert_from_utf8() is an internal function for performing UTF-8
* conversions on non-ASCII platforms. * conversions on non-ASCII platforms.
*/ */
CURLcode Curl_convert_from_utf8(struct SessionHandle *data, CURLcode Curl_convert_from_utf8(struct Curl_easy *data,
char *buffer, size_t length) char *buffer, size_t length)
{ {
if(data->set.convfromutf8) { if(data->set.convfromutf8) {
@ -261,9 +261,9 @@ CURLcode Curl_convert_from_utf8(struct SessionHandle *data,
} }
/* /*
* Init conversion stuff for a SessionHandle * Init conversion stuff for a Curl_easy
*/ */
void Curl_convert_init(struct SessionHandle *data) void Curl_convert_init(struct Curl_easy *data)
{ {
#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV) #if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
/* conversion descriptors for iconv calls */ /* conversion descriptors for iconv calls */
@ -276,9 +276,9 @@ void Curl_convert_init(struct SessionHandle *data)
} }
/* /*
* Setup conversion stuff for a SessionHandle * Setup conversion stuff for a Curl_easy
*/ */
void Curl_convert_setup(struct SessionHandle *data) void Curl_convert_setup(struct Curl_easy *data)
{ {
data->inbound_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST, data->inbound_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST,
CURL_ICONV_CODESET_OF_NETWORK); CURL_ICONV_CODESET_OF_NETWORK);
@ -289,10 +289,10 @@ void Curl_convert_setup(struct SessionHandle *data)
} }
/* /*
* Close conversion stuff for a SessionHandle * Close conversion stuff for a Curl_easy
*/ */
void Curl_convert_close(struct SessionHandle *data) void Curl_convert_close(struct Curl_easy *data)
{ {
#ifdef HAVE_ICONV #ifdef HAVE_ICONV
/* close iconv conversion descriptors */ /* close iconv conversion descriptors */
@ -314,7 +314,7 @@ void Curl_convert_close(struct SessionHandle *data)
* Curl_convert_form() is used from http.c, this converts any form items that * Curl_convert_form() is used from http.c, this converts any form items that
need to be sent in the network encoding. Returns CURLE_OK on success. need to be sent in the network encoding. Returns CURLE_OK on success.
*/ */
CURLcode Curl_convert_form(struct SessionHandle *data, struct FormData *form) CURLcode Curl_convert_form(struct Curl_easy *data, struct FormData *form)
{ {
CURLcode result; CURLcode result;

View File

@ -33,22 +33,22 @@
* *
* If no conversion was needed *outbuf may be NULL. * If no conversion was needed *outbuf may be NULL.
*/ */
CURLcode Curl_convert_clone(struct SessionHandle *data, CURLcode Curl_convert_clone(struct Curl_easy *data,
const char *indata, const char *indata,
size_t insize, size_t insize,
char **outbuf); char **outbuf);
void Curl_convert_init(struct SessionHandle *data); void Curl_convert_init(struct Curl_easy *data);
void Curl_convert_setup(struct SessionHandle *data); void Curl_convert_setup(struct Curl_easy *data);
void Curl_convert_close(struct SessionHandle *data); void Curl_convert_close(struct Curl_easy *data);
CURLcode Curl_convert_to_network(struct SessionHandle *data, CURLcode Curl_convert_to_network(struct Curl_easy *data,
char *buffer, size_t length); char *buffer, size_t length);
CURLcode Curl_convert_from_network(struct SessionHandle *data, CURLcode Curl_convert_from_network(struct Curl_easy *data,
char *buffer, size_t length); char *buffer, size_t length);
CURLcode Curl_convert_from_utf8(struct SessionHandle *data, CURLcode Curl_convert_from_utf8(struct Curl_easy *data,
char *buffer, size_t length); char *buffer, size_t length);
CURLcode Curl_convert_form(struct SessionHandle *data, struct FormData *form); CURLcode Curl_convert_form(struct Curl_easy *data, struct FormData *form);
#else #else
#define Curl_convert_clone(a,b,c,d) ((void)a, CURLE_OK) #define Curl_convert_clone(a,b,c,d) ((void)a, CURLE_OK)
#define Curl_convert_init(x) Curl_nop_stmt #define Curl_convert_init(x) Curl_nop_stmt

View File

@ -150,7 +150,7 @@ static CURLcode ldap_setup_connection(struct connectdata *conn)
{ {
ldapconninfo *li; ldapconninfo *li;
LDAPURLDesc *lud; LDAPURLDesc *lud;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
int rc, proto; int rc, proto;
CURLcode status; CURLcode status;
@ -188,7 +188,7 @@ static Sockbuf_IO ldapsb_tls;
static CURLcode ldap_connect(struct connectdata *conn, bool *done) static CURLcode ldap_connect(struct connectdata *conn, bool *done)
{ {
ldapconninfo *li = conn->proto.generic; ldapconninfo *li = conn->proto.generic;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
int rc, proto = LDAP_VERSION3; int rc, proto = LDAP_VERSION3;
char hosturl[1024]; char hosturl[1024];
char *ptr; char *ptr;
@ -226,7 +226,7 @@ static CURLcode ldap_connect(struct connectdata *conn, bool *done)
static CURLcode ldap_connecting(struct connectdata *conn, bool *done) static CURLcode ldap_connecting(struct connectdata *conn, bool *done)
{ {
ldapconninfo *li = conn->proto.generic; ldapconninfo *li = conn->proto.generic;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
LDAPMessage *msg = NULL; LDAPMessage *msg = NULL;
struct timeval tv = {0, 1}, *tvp; struct timeval tv = {0, 1}, *tvp;
int rc, err; int rc, err;
@ -352,7 +352,7 @@ static CURLcode ldap_do(struct connectdata *conn, bool *done)
int rc = 0; int rc = 0;
LDAPURLDesc *ludp = NULL; LDAPURLDesc *ludp = NULL;
int msgid; int msgid;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
connkeep(conn, "OpenLDAP do"); connkeep(conn, "OpenLDAP do");
@ -415,7 +415,7 @@ static ssize_t ldap_recv(struct connectdata *conn, int sockindex, char *buf,
size_t len, CURLcode *err) size_t len, CURLcode *err)
{ {
ldapconninfo *li = conn->proto.generic; ldapconninfo *li = conn->proto.generic;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
ldapreqinfo *lr = data->req.protop; ldapreqinfo *lr = data->req.protop;
int rc, ret; int rc, ret;
LDAPMessage *msg = NULL; LDAPMessage *msg = NULL;

View File

@ -47,7 +47,7 @@
long Curl_pp_state_timeout(struct pingpong *pp) long Curl_pp_state_timeout(struct pingpong *pp)
{ {
struct connectdata *conn = pp->conn; struct connectdata *conn = pp->conn;
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
long timeout_ms; /* in milliseconds */ long timeout_ms; /* in milliseconds */
long timeout2_ms; /* in milliseconds */ long timeout2_ms; /* in milliseconds */
long response_time= (data->set.server_response_timeout)? long response_time= (data->set.server_response_timeout)?
@ -85,7 +85,7 @@ CURLcode Curl_pp_statemach(struct pingpong *pp, bool block)
int rc; int rc;
long interval_ms; long interval_ms;
long timeout_ms = Curl_pp_state_timeout(pp); long timeout_ms = Curl_pp_state_timeout(pp);
struct SessionHandle *data=conn->data; struct Curl_easy *data=conn->data;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
if(timeout_ms <=0) { if(timeout_ms <=0) {
@ -165,7 +165,7 @@ CURLcode Curl_pp_vsendf(struct pingpong *pp,
char *s; char *s;
CURLcode result; CURLcode result;
struct connectdata *conn = pp->conn; struct connectdata *conn = pp->conn;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
#ifdef HAVE_GSSAPI #ifdef HAVE_GSSAPI
enum protection_level data_sec = conn->data_prot; enum protection_level data_sec = conn->data_prot;
@ -271,7 +271,7 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
ssize_t gotbytes; ssize_t gotbytes;
char *ptr; char *ptr;
struct connectdata *conn = pp->conn; struct connectdata *conn = pp->conn;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char * const buf = data->state.buffer; char * const buf = data->state.buffer;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;

View File

@ -57,7 +57,7 @@ static void server_blacklist_llist_dtor(void *user, void *element)
free(element); free(element);
} }
bool Curl_pipeline_penalized(struct SessionHandle *data, bool Curl_pipeline_penalized(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
if(data) { if(data) {
@ -70,7 +70,7 @@ bool Curl_pipeline_penalized(struct SessionHandle *data,
/* Find the head of the recv pipe, if any */ /* Find the head of the recv pipe, if any */
if(conn->recv_pipe && conn->recv_pipe->head) { if(conn->recv_pipe && conn->recv_pipe->head) {
struct SessionHandle *recv_handle = conn->recv_pipe->head->ptr; struct Curl_easy *recv_handle = conn->recv_pipe->head->ptr;
recv_size = recv_handle->req.size; recv_size = recv_handle->req.size;
@ -91,7 +91,7 @@ bool Curl_pipeline_penalized(struct SessionHandle *data,
return FALSE; return FALSE;
} }
static CURLcode addHandleToPipeline(struct SessionHandle *data, static CURLcode addHandleToPipeline(struct Curl_easy *data,
struct curl_llist *pipeline) struct curl_llist *pipeline)
{ {
if(!Curl_llist_insert_next(pipeline, pipeline->tail, data)) if(!Curl_llist_insert_next(pipeline, pipeline->tail, data))
@ -100,7 +100,7 @@ static CURLcode addHandleToPipeline(struct SessionHandle *data,
} }
CURLcode Curl_add_handle_to_pipeline(struct SessionHandle *handle, CURLcode Curl_add_handle_to_pipeline(struct Curl_easy *handle,
struct connectdata *conn) struct connectdata *conn)
{ {
struct curl_llist_element *sendhead = conn->send_pipe->head; struct curl_llist_element *sendhead = conn->send_pipe->head;
@ -130,7 +130,7 @@ CURLcode Curl_add_handle_to_pipeline(struct SessionHandle *handle,
checked to update what sockets it acts on. checked to update what sockets it acts on.
*/ */
void Curl_move_handle_from_send_to_recv_pipe(struct SessionHandle *handle, void Curl_move_handle_from_send_to_recv_pipe(struct Curl_easy *handle,
struct connectdata *conn) struct connectdata *conn)
{ {
struct curl_llist_element *curr; struct curl_llist_element *curr;
@ -162,7 +162,7 @@ void Curl_move_handle_from_send_to_recv_pipe(struct SessionHandle *handle,
} }
} }
bool Curl_pipeline_site_blacklisted(struct SessionHandle *handle, bool Curl_pipeline_site_blacklisted(struct Curl_easy *handle,
struct connectdata *conn) struct connectdata *conn)
{ {
if(handle->multi) { if(handle->multi) {
@ -254,7 +254,7 @@ CURLMcode Curl_pipeline_set_site_blacklist(char **sites,
return CURLM_OK; return CURLM_OK;
} }
bool Curl_pipeline_server_blacklisted(struct SessionHandle *handle, bool Curl_pipeline_server_blacklisted(struct Curl_easy *handle,
char *server_name) char *server_name)
{ {
if(handle->multi && server_name) { if(handle->multi && server_name) {
@ -320,7 +320,7 @@ CURLMcode Curl_pipeline_set_server_blacklist(char **servers,
return CURLM_OK; return CURLM_OK;
} }
static bool pipe_head(struct SessionHandle *data, static bool pipe_head(struct Curl_easy *data,
struct curl_llist *pipeline) struct curl_llist *pipeline)
{ {
if(pipeline) { if(pipeline) {
@ -332,14 +332,14 @@ static bool pipe_head(struct SessionHandle *data,
} }
/* returns TRUE if the given handle is head of the recv pipe */ /* returns TRUE if the given handle is head of the recv pipe */
bool Curl_recvpipe_head(struct SessionHandle *data, bool Curl_recvpipe_head(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
return pipe_head(data, conn->recv_pipe); return pipe_head(data, conn->recv_pipe);
} }
/* returns TRUE if the given handle is head of the send pipe */ /* returns TRUE if the given handle is head of the send pipe */
bool Curl_sendpipe_head(struct SessionHandle *data, bool Curl_sendpipe_head(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
return pipe_head(data, conn->send_pipe); return pipe_head(data, conn->send_pipe);
@ -353,7 +353,7 @@ bool Curl_sendpipe_head(struct SessionHandle *data,
* If not available, return FALSE. * If not available, return FALSE.
*/ */
bool Curl_pipeline_checkget_write(struct SessionHandle *data, bool Curl_pipeline_checkget_write(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
if(conn->bits.multiplex) if(conn->bits.multiplex)
@ -376,7 +376,7 @@ bool Curl_pipeline_checkget_write(struct SessionHandle *data,
* If not available, return FALSE. * If not available, return FALSE.
*/ */
bool Curl_pipeline_checkget_read(struct SessionHandle *data, bool Curl_pipeline_checkget_read(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
if(conn->bits.multiplex) if(conn->bits.multiplex)
@ -413,7 +413,7 @@ void print_pipeline(struct connectdata *conn)
{ {
struct curl_llist_element *curr; struct curl_llist_element *curr;
struct connectbundle *cb_ptr; struct connectbundle *cb_ptr;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
cb_ptr = conn->bundle; cb_ptr = conn->bundle;

View File

@ -23,34 +23,34 @@
* *
***************************************************************************/ ***************************************************************************/
CURLcode Curl_add_handle_to_pipeline(struct SessionHandle *handle, CURLcode Curl_add_handle_to_pipeline(struct Curl_easy *handle,
struct connectdata *conn); struct connectdata *conn);
void Curl_move_handle_from_send_to_recv_pipe(struct SessionHandle *handle, void Curl_move_handle_from_send_to_recv_pipe(struct Curl_easy *handle,
struct connectdata *conn); struct connectdata *conn);
bool Curl_pipeline_penalized(struct SessionHandle *data, bool Curl_pipeline_penalized(struct Curl_easy *data,
struct connectdata *conn); struct connectdata *conn);
bool Curl_pipeline_site_blacklisted(struct SessionHandle *handle, bool Curl_pipeline_site_blacklisted(struct Curl_easy *handle,
struct connectdata *conn); struct connectdata *conn);
CURLMcode Curl_pipeline_set_site_blacklist(char **sites, CURLMcode Curl_pipeline_set_site_blacklist(char **sites,
struct curl_llist **list_ptr); struct curl_llist **list_ptr);
bool Curl_pipeline_server_blacklisted(struct SessionHandle *handle, bool Curl_pipeline_server_blacklisted(struct Curl_easy *handle,
char *server_name); char *server_name);
CURLMcode Curl_pipeline_set_server_blacklist(char **servers, CURLMcode Curl_pipeline_set_server_blacklist(char **servers,
struct curl_llist **list_ptr); struct curl_llist **list_ptr);
bool Curl_pipeline_checkget_write(struct SessionHandle *data, bool Curl_pipeline_checkget_write(struct Curl_easy *data,
struct connectdata *conn); struct connectdata *conn);
bool Curl_pipeline_checkget_read(struct SessionHandle *data, bool Curl_pipeline_checkget_read(struct Curl_easy *data,
struct connectdata *conn); struct connectdata *conn);
void Curl_pipeline_leave_write(struct connectdata *conn); void Curl_pipeline_leave_write(struct connectdata *conn);
void Curl_pipeline_leave_read(struct connectdata *conn); void Curl_pipeline_leave_read(struct connectdata *conn);
bool Curl_recvpipe_head(struct SessionHandle *data, bool Curl_recvpipe_head(struct Curl_easy *data,
struct connectdata *conn); struct connectdata *conn);
bool Curl_sendpipe_head(struct SessionHandle *data, bool Curl_sendpipe_head(struct Curl_easy *data,
struct connectdata *conn); struct connectdata *conn);
#endif /* HEADER_CURL_PIPELINE_H */ #endif /* HEADER_CURL_PIPELINE_H */

View File

@ -597,7 +597,7 @@ static CURLcode pop3_perform_authentication(struct connectdata *conn)
static CURLcode pop3_perform_command(struct connectdata *conn) static CURLcode pop3_perform_command(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct POP3 *pop3 = data->req.protop; struct POP3 *pop3 = data->req.protop;
const char *command = NULL; const char *command = NULL;
@ -653,7 +653,7 @@ static CURLcode pop3_state_servergreet_resp(struct connectdata *conn,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct pop3_conn *pop3c = &conn->proto.pop3c; struct pop3_conn *pop3c = &conn->proto.pop3c;
const char *line = data->state.buffer; const char *line = data->state.buffer;
size_t len = strlen(line); size_t len = strlen(line);
@ -704,7 +704,7 @@ static CURLcode pop3_state_capa_resp(struct connectdata *conn, int pop3code,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct pop3_conn *pop3c = &conn->proto.pop3c; struct pop3_conn *pop3c = &conn->proto.pop3c;
const char *line = data->state.buffer; const char *line = data->state.buffer;
size_t len = strlen(line); size_t len = strlen(line);
@ -795,7 +795,7 @@ static CURLcode pop3_state_starttls_resp(struct connectdata *conn,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -819,7 +819,7 @@ static CURLcode pop3_state_auth_resp(struct connectdata *conn,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct pop3_conn *pop3c = &conn->proto.pop3c; struct pop3_conn *pop3c = &conn->proto.pop3c;
saslprogress progress; saslprogress progress;
@ -859,7 +859,7 @@ static CURLcode pop3_state_apop_resp(struct connectdata *conn, int pop3code,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -880,7 +880,7 @@ static CURLcode pop3_state_user_resp(struct connectdata *conn, int pop3code,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -903,7 +903,7 @@ static CURLcode pop3_state_pass_resp(struct connectdata *conn, int pop3code,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -924,7 +924,7 @@ static CURLcode pop3_state_command_resp(struct connectdata *conn,
pop3state instate) pop3state instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct POP3 *pop3 = data->req.protop; struct POP3 *pop3 = data->req.protop;
struct pop3_conn *pop3c = &conn->proto.pop3c; struct pop3_conn *pop3c = &conn->proto.pop3c;
struct pingpong *pp = &pop3c->pp; struct pingpong *pp = &pop3c->pp;
@ -1078,12 +1078,12 @@ static CURLcode pop3_block_statemach(struct connectdata *conn)
return result; return result;
} }
/* Allocate and initialize the POP3 struct for the current SessionHandle if /* Allocate and initialize the POP3 struct for the current Curl_easy if
required */ required */
static CURLcode pop3_init(struct connectdata *conn) static CURLcode pop3_init(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct POP3 *pop3; struct POP3 *pop3;
pop3 = data->req.protop = calloc(sizeof(struct POP3), 1); pop3 = data->req.protop = calloc(sizeof(struct POP3), 1);
@ -1160,7 +1160,7 @@ static CURLcode pop3_done(struct connectdata *conn, CURLcode status,
bool premature) bool premature)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct POP3 *pop3 = data->req.protop; struct POP3 *pop3 = data->req.protop;
(void)premature; (void)premature;
@ -1324,7 +1324,7 @@ static CURLcode pop3_regular_transfer(struct connectdata *conn,
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
bool connected = FALSE; bool connected = FALSE;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Make sure size is unknown at this point */ /* Make sure size is unknown at this point */
data->req.size = -1; data->req.size = -1;
@ -1347,7 +1347,7 @@ static CURLcode pop3_regular_transfer(struct connectdata *conn,
static CURLcode pop3_setup_connection(struct connectdata *conn) static CURLcode pop3_setup_connection(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Initialise the POP3 layer */ /* Initialise the POP3 layer */
CURLcode result = pop3_init(conn); CURLcode result = pop3_init(conn);
@ -1454,7 +1454,7 @@ static CURLcode pop3_parse_url_options(struct connectdata *conn)
static CURLcode pop3_parse_url_path(struct connectdata *conn) static CURLcode pop3_parse_url_path(struct connectdata *conn)
{ {
/* The POP3 struct is already initialised in pop3_connect() */ /* The POP3 struct is already initialised in pop3_connect() */
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct POP3 *pop3 = data->req.protop; struct POP3 *pop3 = data->req.protop;
const char *path = data->state.path; const char *path = data->state.path;
@ -1471,7 +1471,7 @@ static CURLcode pop3_parse_url_path(struct connectdata *conn)
static CURLcode pop3_parse_custom_request(struct connectdata *conn) static CURLcode pop3_parse_custom_request(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct POP3 *pop3 = data->req.protop; struct POP3 *pop3 = data->req.protop;
const char *custom = data->set.str[STRING_CUSTOMREQUEST]; const char *custom = data->set.str[STRING_CUSTOMREQUEST];
@ -1493,7 +1493,7 @@ CURLcode Curl_pop3_write(struct connectdata *conn, char *str, size_t nread)
{ {
/* This code could be made into a special function in the handler struct */ /* This code could be made into a special function in the handler struct */
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
struct pop3_conn *pop3c = &conn->proto.pop3c; struct pop3_conn *pop3c = &conn->proto.pop3c;

View File

@ -45,9 +45,9 @@ typedef enum {
POP3_LAST /* never used */ POP3_LAST /* never used */
} pop3state; } pop3state;
/* This POP3 struct is used in the SessionHandle. All POP3 data that is /* This POP3 struct is used in the Curl_easy. All POP3 data that is
connection-oriented must be in pop3_conn to properly deal with the fact that connection-oriented must be in pop3_conn to properly deal with the fact that
perhaps the SessionHandle is changed between the times the connection is perhaps the Curl_easy is changed between the times the connection is
used. */ used. */
struct POP3 { struct POP3 {
curl_pp_transfer transfer; curl_pp_transfer transfer;

View File

@ -133,7 +133,7 @@ static char *max5data(curl_off_t bytes, char *max5)
int Curl_pgrsDone(struct connectdata *conn) int Curl_pgrsDone(struct connectdata *conn)
{ {
int rc; int rc;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
data->progress.lastshow=0; data->progress.lastshow=0;
rc = Curl_pgrsUpdate(conn); /* the final (forced) update */ rc = Curl_pgrsUpdate(conn); /* the final (forced) update */
if(rc) if(rc)
@ -150,7 +150,7 @@ int Curl_pgrsDone(struct connectdata *conn)
} }
/* reset all times except redirect, and reset the known transfer sizes */ /* reset all times except redirect, and reset the known transfer sizes */
void Curl_pgrsResetTimesSizes(struct SessionHandle *data) void Curl_pgrsResetTimesSizes(struct Curl_easy *data)
{ {
data->progress.t_nslookup = 0.0; data->progress.t_nslookup = 0.0;
data->progress.t_connect = 0.0; data->progress.t_connect = 0.0;
@ -161,7 +161,7 @@ void Curl_pgrsResetTimesSizes(struct SessionHandle *data)
Curl_pgrsSetUploadSize(data, -1); Curl_pgrsSetUploadSize(data, -1);
} }
void Curl_pgrsTime(struct SessionHandle *data, timerid timer) void Curl_pgrsTime(struct Curl_easy *data, timerid timer)
{ {
struct timeval now = Curl_tvnow(); struct timeval now = Curl_tvnow();
@ -212,7 +212,7 @@ void Curl_pgrsTime(struct SessionHandle *data, timerid timer)
} }
} }
void Curl_pgrsStartNow(struct SessionHandle *data) void Curl_pgrsStartNow(struct Curl_easy *data)
{ {
data->progress.speeder_c = 0; /* reset the progress meter display */ data->progress.speeder_c = 0; /* reset the progress meter display */
data->progress.start = Curl_tvnow(); data->progress.start = Curl_tvnow();
@ -220,17 +220,17 @@ void Curl_pgrsStartNow(struct SessionHandle *data)
data->progress.flags &= PGRS_HIDE|PGRS_HEADERS_OUT; data->progress.flags &= PGRS_HIDE|PGRS_HEADERS_OUT;
} }
void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, curl_off_t size) void Curl_pgrsSetDownloadCounter(struct Curl_easy *data, curl_off_t size)
{ {
data->progress.downloaded = size; data->progress.downloaded = size;
} }
void Curl_pgrsSetUploadCounter(struct SessionHandle *data, curl_off_t size) void Curl_pgrsSetUploadCounter(struct Curl_easy *data, curl_off_t size)
{ {
data->progress.uploaded = size; data->progress.uploaded = size;
} }
void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size) void Curl_pgrsSetDownloadSize(struct Curl_easy *data, curl_off_t size)
{ {
if(size >= 0) { if(size >= 0) {
data->progress.size_dl = size; data->progress.size_dl = size;
@ -242,7 +242,7 @@ void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size)
} }
} }
void Curl_pgrsSetUploadSize(struct SessionHandle *data, curl_off_t size) void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size)
{ {
if(size >= 0) { if(size >= 0) {
data->progress.size_ul = size; data->progress.size_ul = size;
@ -269,7 +269,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
curl_off_t total_transfer; curl_off_t total_transfer;
curl_off_t total_expected_transfer; curl_off_t total_expected_transfer;
curl_off_t timespent; curl_off_t timespent;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
int nowindex = data->progress.speeder_c% CURR_TIME; int nowindex = data->progress.speeder_c% CURR_TIME;
int checkindex; int checkindex;
int countindex; /* amount of seconds stored in the speeder array */ int countindex; /* amount of seconds stored in the speeder array */

View File

@ -41,14 +41,14 @@ typedef enum {
} timerid; } timerid;
int Curl_pgrsDone(struct connectdata *); int Curl_pgrsDone(struct connectdata *);
void Curl_pgrsStartNow(struct SessionHandle *data); void Curl_pgrsStartNow(struct Curl_easy *data);
void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size); void Curl_pgrsSetDownloadSize(struct Curl_easy *data, curl_off_t size);
void Curl_pgrsSetUploadSize(struct SessionHandle *data, curl_off_t size); void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size);
void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, curl_off_t size); void Curl_pgrsSetDownloadCounter(struct Curl_easy *data, curl_off_t size);
void Curl_pgrsSetUploadCounter(struct SessionHandle *data, curl_off_t size); void Curl_pgrsSetUploadCounter(struct Curl_easy *data, curl_off_t size);
int Curl_pgrsUpdate(struct connectdata *); int Curl_pgrsUpdate(struct connectdata *);
void Curl_pgrsResetTimesSizes(struct SessionHandle *data); void Curl_pgrsResetTimesSizes(struct Curl_easy *data);
void Curl_pgrsTime(struct SessionHandle *data, timerid timer); void Curl_pgrsTime(struct Curl_easy *data, timerid timer);
/* Don't show progress for sizes smaller than: */ /* Don't show progress for sizes smaller than: */

View File

@ -73,7 +73,7 @@ static int rtsp_getsock_do(struct connectdata *conn,
* data is parsed and k->str is moved up * data is parsed and k->str is moved up
* readmore: whether or not the RTP parser needs more data right away * readmore: whether or not the RTP parser needs more data right away
*/ */
static CURLcode rtsp_rtp_readwrite(struct SessionHandle *data, static CURLcode rtsp_rtp_readwrite(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
ssize_t *nread, ssize_t *nread,
bool *readmore); bool *readmore);
@ -158,7 +158,7 @@ bool Curl_rtsp_connisdead(struct connectdata *check)
} }
else if((sval & CURL_CSELECT_IN) && check->data) { else if((sval & CURL_CSELECT_IN) && check->data) {
/* readable with no error. could be closed or could be alive but we can /* readable with no error. could be closed or could be alive but we can
only check if we have a proper SessionHandle for the connection */ only check if we have a proper Curl_easy for the connection */
curl_socket_t connectinfo = Curl_getconnectinfo(check->data, &check); curl_socket_t connectinfo = Curl_getconnectinfo(check->data, &check);
if(connectinfo != CURL_SOCKET_BAD) if(connectinfo != CURL_SOCKET_BAD)
ret_val = FALSE; ret_val = FALSE;
@ -170,7 +170,7 @@ bool Curl_rtsp_connisdead(struct connectdata *check)
static CURLcode rtsp_connect(struct connectdata *conn, bool *done) static CURLcode rtsp_connect(struct connectdata *conn, bool *done)
{ {
CURLcode httpStatus; CURLcode httpStatus;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
httpStatus = Curl_http_connect(conn, done); httpStatus = Curl_http_connect(conn, done);
@ -196,7 +196,7 @@ static CURLcode rtsp_disconnect(struct connectdata *conn, bool dead)
static CURLcode rtsp_done(struct connectdata *conn, static CURLcode rtsp_done(struct connectdata *conn,
CURLcode status, bool premature) CURLcode status, bool premature)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct RTSP *rtsp = data->req.protop; struct RTSP *rtsp = data->req.protop;
CURLcode httpStatus; CURLcode httpStatus;
long CSeq_sent; long CSeq_sent;
@ -230,7 +230,7 @@ static CURLcode rtsp_done(struct connectdata *conn,
static CURLcode rtsp_do(struct connectdata *conn, bool *done) static CURLcode rtsp_do(struct connectdata *conn, bool *done)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode result=CURLE_OK; CURLcode result=CURLE_OK;
Curl_RtspReq rtspreq = data->set.rtspreq; Curl_RtspReq rtspreq = data->set.rtspreq;
struct RTSP *rtsp = data->req.protop; struct RTSP *rtsp = data->req.protop;
@ -600,7 +600,7 @@ static CURLcode rtsp_do(struct connectdata *conn, bool *done)
} }
static CURLcode rtsp_rtp_readwrite(struct SessionHandle *data, static CURLcode rtsp_rtp_readwrite(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
ssize_t *nread, ssize_t *nread,
bool *readmore) { bool *readmore) {
@ -731,7 +731,7 @@ static CURLcode rtsp_rtp_readwrite(struct SessionHandle *data,
static static
CURLcode rtp_client_write(struct connectdata *conn, char *ptr, size_t len) CURLcode rtp_client_write(struct connectdata *conn, char *ptr, size_t len)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
size_t wrote; size_t wrote;
curl_write_callback writeit; curl_write_callback writeit;
@ -759,7 +759,7 @@ CURLcode rtp_client_write(struct connectdata *conn, char *ptr, size_t len)
CURLcode Curl_rtsp_parseheader(struct connectdata *conn, CURLcode Curl_rtsp_parseheader(struct connectdata *conn,
char *header) char *header)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
long CSeq = 0; long CSeq = 0;
if(checkprefix("CSeq:", header)) { if(checkprefix("CSeq:", header)) {

View File

@ -476,7 +476,7 @@ Curl_sec_request_prot(struct connectdata *conn, const char *level)
static CURLcode choose_mech(struct connectdata *conn) static CURLcode choose_mech(struct connectdata *conn)
{ {
int ret; int ret;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
void *tmp_allocation; void *tmp_allocation;
const struct Curl_sec_client_mech *mech = &Curl_krb5_client_mech; const struct Curl_sec_client_mech *mech = &Curl_krb5_client_mech;

View File

@ -46,7 +46,7 @@
* blocks of data. Remaining, bare CRs are changed to LFs. The possibly new * blocks of data. Remaining, bare CRs are changed to LFs. The possibly new
* size of the data is returned. * size of the data is returned.
*/ */
static size_t convert_lineends(struct SessionHandle *data, static size_t convert_lineends(struct Curl_easy *data,
char *startPtr, size_t size) char *startPtr, size_t size)
{ {
char *inPtr, *outPtr; char *inPtr, *outPtr;
@ -207,7 +207,7 @@ static ssize_t get_pre_recved(struct connectdata *conn, int num, char *buf,
/* Curl_infof() is for info message along the way */ /* Curl_infof() is for info message along the way */
void Curl_infof(struct SessionHandle *data, const char *fmt, ...) void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
{ {
if(data && data->set.verbose) { if(data && data->set.verbose) {
va_list ap; va_list ap;
@ -225,7 +225,7 @@ void Curl_infof(struct SessionHandle *data, const char *fmt, ...)
* The message SHALL NOT include any LF or CR. * The message SHALL NOT include any LF or CR.
*/ */
void Curl_failf(struct SessionHandle *data, const char *fmt, ...) void Curl_failf(struct Curl_easy *data, const char *fmt, ...)
{ {
va_list ap; va_list ap;
size_t len; size_t len;
@ -253,7 +253,7 @@ void Curl_failf(struct SessionHandle *data, const char *fmt, ...)
CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *conn, CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *conn,
const char *fmt, ...) const char *fmt, ...)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
ssize_t bytes_written; ssize_t bytes_written;
size_t write_len; size_t write_len;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -452,7 +452,7 @@ ssize_t Curl_recv_plain(struct connectdata *conn, int num, char *buf,
return nread; return nread;
} }
static CURLcode pausewrite(struct SessionHandle *data, static CURLcode pausewrite(struct Curl_easy *data,
int type, /* what type of data */ int type, /* what type of data */
const char *ptr, const char *ptr,
size_t len) size_t len)
@ -491,7 +491,7 @@ CURLcode Curl_client_chop_write(struct connectdata *conn,
char * ptr, char * ptr,
size_t len) size_t len)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
curl_write_callback writeheader = NULL; curl_write_callback writeheader = NULL;
curl_write_callback writebody = NULL; curl_write_callback writebody = NULL;
@ -598,7 +598,7 @@ CURLcode Curl_client_write(struct connectdata *conn,
char *ptr, char *ptr,
size_t len) size_t len)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(0 == len) if(0 == len)
len = strlen(ptr); len = strlen(ptr);
@ -718,7 +718,7 @@ CURLcode Curl_read(struct connectdata *conn, /* connection data */
} }
/* return 0 on success */ /* return 0 on success */
static int showit(struct SessionHandle *data, curl_infotype type, static int showit(struct Curl_easy *data, curl_infotype type,
char *ptr, size_t size) char *ptr, size_t size)
{ {
static const char s_infotype[CURLINFO_END][3] = { static const char s_infotype[CURLINFO_END][3] = {
@ -787,7 +787,7 @@ static int showit(struct SessionHandle *data, curl_infotype type,
return 0; return 0;
} }
int Curl_debug(struct SessionHandle *data, curl_infotype type, int Curl_debug(struct Curl_easy *data, curl_infotype type,
char *ptr, size_t size, char *ptr, size_t size,
struct connectdata *conn) struct connectdata *conn)
{ {

View File

@ -26,8 +26,8 @@
CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *, CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *,
const char *fmt, ...); const char *fmt, ...);
void Curl_infof(struct SessionHandle *, const char *fmt, ...); void Curl_infof(struct Curl_easy *, const char *fmt, ...);
void Curl_failf(struct SessionHandle *, const char *fmt, ...); void Curl_failf(struct Curl_easy *, const char *fmt, ...);
#if defined(CURL_DISABLE_VERBOSE_STRINGS) #if defined(CURL_DISABLE_VERBOSE_STRINGS)
@ -84,7 +84,7 @@ CURLcode Curl_write_plain(struct connectdata *conn,
ssize_t *written); ssize_t *written);
/* the function used to output verbose information */ /* the function used to output verbose information */
int Curl_debug(struct SessionHandle *handle, curl_infotype type, int Curl_debug(struct Curl_easy *handle, curl_infotype type,
char *data, size_t size, char *data, size_t size,
struct connectdata *conn); struct connectdata *conn);

View File

@ -213,7 +213,7 @@ curl_share_cleanup(CURLSH *sh)
CURLSHcode CURLSHcode
Curl_share_lock(struct SessionHandle *data, curl_lock_data type, Curl_share_lock(struct Curl_easy *data, curl_lock_data type,
curl_lock_access accesstype) curl_lock_access accesstype)
{ {
struct Curl_share *share = data->share; struct Curl_share *share = data->share;
@ -231,7 +231,7 @@ Curl_share_lock(struct SessionHandle *data, curl_lock_data type,
} }
CURLSHcode CURLSHcode
Curl_share_unlock(struct SessionHandle *data, curl_lock_data type) Curl_share_unlock(struct Curl_easy *data, curl_lock_data type)
{ {
struct Curl_share *share = data->share; struct Curl_share *share = data->share;

View File

@ -54,8 +54,8 @@ struct Curl_share {
long sessionage; long sessionage;
}; };
CURLSHcode Curl_share_lock (struct SessionHandle *, curl_lock_data, CURLSHcode Curl_share_lock (struct Curl_easy *, curl_lock_data,
curl_lock_access); curl_lock_access);
CURLSHcode Curl_share_unlock (struct SessionHandle *, curl_lock_data); CURLSHcode Curl_share_unlock (struct Curl_easy *, curl_lock_data);
#endif /* HEADER_CURL_SHARE_H */ #endif /* HEADER_CURL_SHARE_H */

View File

@ -38,10 +38,10 @@ struct sigpipe_ignore {
* internals, and then sigpipe_restore() will restore the situation when we * internals, and then sigpipe_restore() will restore the situation when we
* return from libcurl again. * return from libcurl again.
*/ */
static void sigpipe_ignore(struct SessionHandle *data, static void sigpipe_ignore(struct Curl_easy *data,
struct sigpipe_ignore *ig) struct sigpipe_ignore *ig)
{ {
/* get a local copy of no_signal because the SessionHandle might not be /* get a local copy of no_signal because the Curl_easy might not be
around when we restore */ around when we restore */
ig->no_signal = data->set.no_signal; ig->no_signal = data->set.no_signal;
if(!data->set.no_signal) { if(!data->set.no_signal) {

View File

@ -930,7 +930,7 @@ static int smb_getsock(struct connectdata *conn, curl_socket_t *socks,
static CURLcode smb_parse_url_path(struct connectdata *conn) static CURLcode smb_parse_url_path(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct smb_request *req = data->req.protop; struct smb_request *req = data->req.protop;
char *path; char *path;
char *slash; char *slash;

View File

@ -520,7 +520,7 @@ static CURLcode smtp_perform_authentication(struct connectdata *conn)
static CURLcode smtp_perform_command(struct connectdata *conn) static CURLcode smtp_perform_command(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
/* Send the command */ /* Send the command */
@ -552,7 +552,7 @@ static CURLcode smtp_perform_mail(struct connectdata *conn)
char *auth = NULL; char *auth = NULL;
char *size = NULL; char *size = NULL;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Calculate the FROM parameter */ /* Calculate the FROM parameter */
if(!data->set.str[STRING_MAIL_FROM]) if(!data->set.str[STRING_MAIL_FROM])
@ -627,7 +627,7 @@ static CURLcode smtp_perform_mail(struct connectdata *conn)
static CURLcode smtp_perform_rcpt_to(struct connectdata *conn) static CURLcode smtp_perform_rcpt_to(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
/* Send the RCPT TO command */ /* Send the RCPT TO command */
@ -668,7 +668,7 @@ static CURLcode smtp_state_servergreet_resp(struct connectdata *conn,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -688,7 +688,7 @@ static CURLcode smtp_state_starttls_resp(struct connectdata *conn,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -711,7 +711,7 @@ static CURLcode smtp_state_ehlo_resp(struct connectdata *conn, int smtpcode,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct smtp_conn *smtpc = &conn->proto.smtpc; struct smtp_conn *smtpc = &conn->proto.smtpc;
const char *line = data->state.buffer; const char *line = data->state.buffer;
size_t len = strlen(line); size_t len = strlen(line);
@ -806,7 +806,7 @@ static CURLcode smtp_state_helo_resp(struct connectdata *conn, int smtpcode,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -827,7 +827,7 @@ static CURLcode smtp_state_auth_resp(struct connectdata *conn,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct smtp_conn *smtpc = &conn->proto.smtpc; struct smtp_conn *smtpc = &conn->proto.smtpc;
saslprogress progress; saslprogress progress;
@ -855,7 +855,7 @@ static CURLcode smtp_state_command_resp(struct connectdata *conn, int smtpcode,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
char *line = data->state.buffer; char *line = data->state.buffer;
size_t len = strlen(line); size_t len = strlen(line);
@ -901,7 +901,7 @@ static CURLcode smtp_state_mail_resp(struct connectdata *conn, int smtpcode,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -921,7 +921,7 @@ static CURLcode smtp_state_rcpt_resp(struct connectdata *conn, int smtpcode,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -953,7 +953,7 @@ static CURLcode smtp_state_data_resp(struct connectdata *conn, int smtpcode,
smtpstate instate) smtpstate instate)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
(void)instate; /* no use for this yet */ (void)instate; /* no use for this yet */
@ -998,7 +998,7 @@ static CURLcode smtp_statemach_act(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
curl_socket_t sock = conn->sock[FIRSTSOCKET]; curl_socket_t sock = conn->sock[FIRSTSOCKET];
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
int smtpcode; int smtpcode;
struct smtp_conn *smtpc = &conn->proto.smtpc; struct smtp_conn *smtpc = &conn->proto.smtpc;
struct pingpong *pp = &smtpc->pp; struct pingpong *pp = &smtpc->pp;
@ -1108,12 +1108,12 @@ static CURLcode smtp_block_statemach(struct connectdata *conn)
return result; return result;
} }
/* Allocate and initialize the SMTP struct for the current SessionHandle if /* Allocate and initialize the SMTP struct for the current Curl_easy if
required */ required */
static CURLcode smtp_init(struct connectdata *conn) static CURLcode smtp_init(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp; struct SMTP *smtp;
smtp = data->req.protop = calloc(sizeof(struct SMTP), 1); smtp = data->req.protop = calloc(sizeof(struct SMTP), 1);
@ -1194,7 +1194,7 @@ static CURLcode smtp_done(struct connectdata *conn, CURLcode status,
bool premature) bool premature)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
struct pingpong *pp = &conn->proto.smtpc.pp; struct pingpong *pp = &conn->proto.smtpc.pp;
char *eob; char *eob;
@ -1284,7 +1284,7 @@ static CURLcode smtp_perform(struct connectdata *conn, bool *connected,
{ {
/* This is SMTP and no proxy */ /* This is SMTP and no proxy */
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
DEBUGF(infof(conn->data, "DO phase starts\n")); DEBUGF(infof(conn->data, "DO phase starts\n"));
@ -1423,7 +1423,7 @@ static CURLcode smtp_regular_transfer(struct connectdata *conn,
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
bool connected = FALSE; bool connected = FALSE;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* Make sure size is unknown at this point */ /* Make sure size is unknown at this point */
data->req.size = -1; data->req.size = -1;
@ -1446,7 +1446,7 @@ static CURLcode smtp_regular_transfer(struct connectdata *conn,
static CURLcode smtp_setup_connection(struct connectdata *conn) static CURLcode smtp_setup_connection(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode result; CURLcode result;
/* Clear the TLS upgraded flag */ /* Clear the TLS upgraded flag */
@ -1534,7 +1534,7 @@ static CURLcode smtp_parse_url_options(struct connectdata *conn)
static CURLcode smtp_parse_url_path(struct connectdata *conn) static CURLcode smtp_parse_url_path(struct connectdata *conn)
{ {
/* The SMTP struct is already initialised in smtp_connect() */ /* The SMTP struct is already initialised in smtp_connect() */
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct smtp_conn *smtpc = &conn->proto.smtpc; struct smtp_conn *smtpc = &conn->proto.smtpc;
const char *path = data->state.path; const char *path = data->state.path;
char localhost[HOSTNAME_MAX + 1]; char localhost[HOSTNAME_MAX + 1];
@ -1560,7 +1560,7 @@ static CURLcode smtp_parse_url_path(struct connectdata *conn)
static CURLcode smtp_parse_custom_request(struct connectdata *conn) static CURLcode smtp_parse_custom_request(struct connectdata *conn)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
const char *custom = data->set.str[STRING_CUSTOMREQUEST]; const char *custom = data->set.str[STRING_CUSTOMREQUEST];
@ -1581,7 +1581,7 @@ CURLcode Curl_smtp_escape_eob(struct connectdata *conn, const ssize_t nread)
*/ */
ssize_t i; ssize_t i;
ssize_t si; ssize_t si;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
char *scratch = data->state.scratch; char *scratch = data->state.scratch;
char *newscratch = NULL; char *newscratch = NULL;

View File

@ -47,9 +47,9 @@ typedef enum {
SMTP_LAST /* never used */ SMTP_LAST /* never used */
} smtpstate; } smtpstate;
/* This SMTP struct is used in the SessionHandle. All SMTP data that is /* This SMTP struct is used in the Curl_easy. All SMTP data that is
connection-oriented must be in smtp_conn to properly deal with the fact that connection-oriented must be in smtp_conn to properly deal with the fact that
perhaps the SessionHandle is changed between the times the connection is perhaps the Curl_easy is changed between the times the connection is
used. */ used. */
struct SMTP { struct SMTP {
curl_pp_transfer transfer; curl_pp_transfer transfer;

View File

@ -119,7 +119,7 @@ CURLcode Curl_SOCKS4(const char *proxy_name,
int result; int result;
CURLcode code; CURLcode code;
curl_socket_t sock = conn->sock[sockindex]; curl_socket_t sock = conn->sock[sockindex];
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(Curl_timeleft(data, NULL, TRUE) < 0) { if(Curl_timeleft(data, NULL, TRUE) < 0) {
/* time-out, bail out, go home */ /* time-out, bail out, go home */
@ -374,7 +374,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
int result; int result;
CURLcode code; CURLcode code;
curl_socket_t sock = conn->sock[sockindex]; curl_socket_t sock = conn->sock[sockindex];
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
long timeout; long timeout;
bool socks5_resolve_local = (conn->proxytype == CURLPROXY_SOCKS5)?TRUE:FALSE; bool socks5_resolve_local = (conn->proxytype == CURLPROXY_SOCKS5)?TRUE:FALSE;
const size_t hostname_len = strlen(hostname); const size_t hostname_len = strlen(hostname);

View File

@ -43,7 +43,7 @@ static gss_ctx_id_t gss_context = GSS_C_NO_CONTEXT;
/* /*
* Helper GSS-API error functions. * Helper GSS-API error functions.
*/ */
static int check_gss_err(struct SessionHandle *data, static int check_gss_err(struct Curl_easy *data,
OM_uint32 major_status, OM_uint32 major_status,
OM_uint32 minor_status, OM_uint32 minor_status,
const char* function) const char* function)
@ -102,7 +102,7 @@ static int check_gss_err(struct SessionHandle *data,
CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex, CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
struct connectdata *conn) struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
curl_socket_t sock = conn->sock[sockindex]; curl_socket_t sock = conn->sock[sockindex];
CURLcode code; CURLcode code;
ssize_t actualread; ssize_t actualread;

View File

@ -61,7 +61,7 @@ static int check_sspi_err(struct connectdata *conn,
CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex, CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
struct connectdata *conn) struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
curl_socket_t sock = conn->sock[sockindex]; curl_socket_t sock = conn->sock[sockindex];
CURLcode code; CURLcode code;
ssize_t actualread; ssize_t actualread;

View File

@ -28,12 +28,12 @@
#include "multiif.h" #include "multiif.h"
#include "speedcheck.h" #include "speedcheck.h"
void Curl_speedinit(struct SessionHandle *data) void Curl_speedinit(struct Curl_easy *data)
{ {
memset(&data->state.keeps_speed, 0, sizeof(struct timeval)); memset(&data->state.keeps_speed, 0, sizeof(struct timeval));
} }
CURLcode Curl_speedcheck(struct SessionHandle *data, CURLcode Curl_speedcheck(struct Curl_easy *data,
struct timeval now) struct timeval now)
{ {
if((data->progress.current_speed >= 0) && if((data->progress.current_speed >= 0) &&

View File

@ -26,8 +26,8 @@
#include "timeval.h" #include "timeval.h"
void Curl_speedinit(struct SessionHandle *data); void Curl_speedinit(struct Curl_easy *data);
CURLcode Curl_speedcheck(struct SessionHandle *data, CURLcode Curl_speedcheck(struct Curl_easy *data,
struct timeval now); struct timeval now);
#endif /* HEADER_CURL_SPEEDCHECK_H */ #endif /* HEADER_CURL_SPEEDCHECK_H */

View File

@ -413,7 +413,7 @@ static CURLcode ssh_getworkingpath(struct connectdata *conn,
char **path) /* returns the allocated char **path) /* returns the allocated
real path to work with */ real path to work with */
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char *real_path = NULL; char *real_path = NULL;
char *working_path; char *working_path;
int working_path_len; int working_path_len;
@ -522,7 +522,7 @@ static CURLcode ssh_knownhost(struct connectdata *conn)
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
#ifdef HAVE_LIBSSH2_KNOWNHOST_API #ifdef HAVE_LIBSSH2_KNOWNHOST_API
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
if(data->set.str[STRING_SSH_KNOWNHOSTS]) { if(data->set.str[STRING_SSH_KNOWNHOSTS]) {
/* we're asked to verify the host against a file */ /* we're asked to verify the host against a file */
@ -657,7 +657,7 @@ static CURLcode ssh_knownhost(struct connectdata *conn)
static CURLcode ssh_check_fingerprint(struct connectdata *conn) static CURLcode ssh_check_fingerprint(struct connectdata *conn)
{ {
struct ssh_conn *sshc = &conn->proto.sshc; struct ssh_conn *sshc = &conn->proto.sshc;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
const char *pubkey_md5 = data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5]; const char *pubkey_md5 = data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5];
char md5buffer[33]; char md5buffer[33];
int i; int i;
@ -708,7 +708,7 @@ static CURLcode ssh_check_fingerprint(struct connectdata *conn)
static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct SSHPROTO *sftp_scp = data->req.protop; struct SSHPROTO *sftp_scp = data->req.protop;
struct ssh_conn *sshc = &conn->proto.sshc; struct ssh_conn *sshc = &conn->proto.sshc;
curl_socket_t sock = conn->sock[FIRSTSOCKET]; curl_socket_t sock = conn->sock[FIRSTSOCKET];
@ -2819,7 +2819,7 @@ static CURLcode ssh_block_statemach(struct connectdata *conn,
{ {
struct ssh_conn *sshc = &conn->proto.sshc; struct ssh_conn *sshc = &conn->proto.sshc;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
while((sshc->state != SSH_STOP) && !result) { while((sshc->state != SSH_STOP) && !result) {
bool block; bool block;
@ -2893,7 +2893,7 @@ static CURLcode ssh_connect(struct connectdata *conn, bool *done)
#endif #endif
struct ssh_conn *ssh; struct ssh_conn *ssh;
CURLcode result; CURLcode result;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* initialize per-handle data if not already */ /* initialize per-handle data if not already */
if(!data->req.protop) if(!data->req.protop)
@ -3019,7 +3019,7 @@ static CURLcode ssh_do(struct connectdata *conn, bool *done)
{ {
CURLcode result; CURLcode result;
bool connected = 0; bool connected = 0;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct ssh_conn *sshc = &conn->proto.sshc; struct ssh_conn *sshc = &conn->proto.sshc;
*done = FALSE; /* default to false */ *done = FALSE; /* default to false */

View File

@ -98,7 +98,7 @@ typedef enum {
} sshstate; } sshstate;
/* this struct is used in the HandleData struct which is part of the /* this struct is used in the HandleData struct which is part of the
SessionHandle, which means this is used on a per-easy handle basis. Curl_easy, which means this is used on a per-easy handle basis.
Everything that is strictly related to a connection is banned from this Everything that is strictly related to a connection is banned from this
struct. */ struct. */
struct SSHPROTO { struct SSHPROTO {

View File

@ -92,7 +92,7 @@
#ifdef USE_WINSOCK #ifdef USE_WINSOCK
typedef FARPROC WSOCK2_FUNC; typedef FARPROC WSOCK2_FUNC;
static CURLcode check_wsock2 (struct SessionHandle *data); static CURLcode check_wsock2 (struct Curl_easy *data);
#endif #endif
static static
@ -101,7 +101,7 @@ CURLcode telrcv(struct connectdata *,
ssize_t count); /* Number of bytes received */ ssize_t count); /* Number of bytes received */
#ifndef CURL_DISABLE_VERBOSE_STRINGS #ifndef CURL_DISABLE_VERBOSE_STRINGS
static void printoption(struct SessionHandle *data, static void printoption(struct Curl_easy *data,
const char *direction, const char *direction,
int cmd, int option); int cmd, int option);
#endif #endif
@ -111,7 +111,7 @@ static void send_negotiation(struct connectdata *, int cmd, int option);
static void set_local_option(struct connectdata *, int cmd, int option); static void set_local_option(struct connectdata *, int cmd, int option);
static void set_remote_option(struct connectdata *, int cmd, int option); static void set_remote_option(struct connectdata *, int cmd, int option);
static void printsub(struct SessionHandle *data, static void printsub(struct Curl_easy *data,
int direction, unsigned char *pointer, int direction, unsigned char *pointer,
size_t length); size_t length);
static void suboption(struct connectdata *); static void suboption(struct connectdata *);
@ -199,7 +199,7 @@ const struct Curl_handler Curl_handler_telnet = {
#ifdef USE_WINSOCK #ifdef USE_WINSOCK
static CURLcode static CURLcode
check_wsock2(struct SessionHandle *data) check_wsock2(struct Curl_easy *data)
{ {
int err; int err;
WORD wVersionRequested; WORD wVersionRequested;
@ -306,7 +306,7 @@ static void negotiate(struct connectdata *conn)
} }
#ifndef CURL_DISABLE_VERBOSE_STRINGS #ifndef CURL_DISABLE_VERBOSE_STRINGS
static void printoption(struct SessionHandle *data, static void printoption(struct Curl_easy *data,
const char *direction, int cmd, int option) const char *direction, int cmd, int option)
{ {
const char *fmt; const char *fmt;
@ -347,7 +347,7 @@ static void send_negotiation(struct connectdata *conn, int cmd, int option)
unsigned char buf[3]; unsigned char buf[3];
ssize_t bytes_written; ssize_t bytes_written;
int err; int err;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
buf[0] = CURL_IAC; buf[0] = CURL_IAC;
buf[1] = (unsigned char)cmd; buf[1] = (unsigned char)cmd;
@ -703,7 +703,7 @@ void rec_dont(struct connectdata *conn, int option)
} }
static void printsub(struct SessionHandle *data, static void printsub(struct Curl_easy *data,
int direction, /* '<' or '>' */ int direction, /* '<' or '>' */
unsigned char *pointer, /* where suboption data is */ unsigned char *pointer, /* where suboption data is */
size_t length) /* length of suboption data */ size_t length) /* length of suboption data */
@ -822,7 +822,7 @@ static CURLcode check_telnet_options(struct connectdata *conn)
struct curl_slist *beg; struct curl_slist *beg;
char option_keyword[128] = ""; char option_keyword[128] = "";
char option_arg[256] = ""; char option_arg[256] = "";
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct TELNET *tn = (struct TELNET *)conn->data->req.protop; struct TELNET *tn = (struct TELNET *)conn->data->req.protop;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
int binary_option; int binary_option;
@ -932,7 +932,7 @@ static void suboption(struct connectdata *conn)
int err; int err;
char varname[128] = ""; char varname[128] = "";
char varval[128] = ""; char varval[128] = "";
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct TELNET *tn = (struct TELNET *)data->req.protop; struct TELNET *tn = (struct TELNET *)data->req.protop;
printsub(data, '<', (unsigned char *)tn->subbuffer, CURL_SB_LEN(tn)+2); printsub(data, '<', (unsigned char *)tn->subbuffer, CURL_SB_LEN(tn)+2);
@ -1007,7 +1007,7 @@ static void sendsuboption(struct connectdata *conn, int option)
unsigned short x, y; unsigned short x, y;
unsigned char*uc1, *uc2; unsigned char*uc1, *uc2;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct TELNET *tn = (struct TELNET *)data->req.protop; struct TELNET *tn = (struct TELNET *)data->req.protop;
switch (option) { switch (option) {
@ -1065,7 +1065,7 @@ CURLcode telrcv(struct connectdata *conn,
CURLcode result; CURLcode result;
int in = 0; int in = 0;
int startwrite=-1; int startwrite=-1;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
struct TELNET *tn = (struct TELNET *)data->req.protop; struct TELNET *tn = (struct TELNET *)data->req.protop;
#define startskipping() \ #define startskipping() \
@ -1282,7 +1282,7 @@ static CURLcode telnet_done(struct connectdata *conn,
static CURLcode telnet_do(struct connectdata *conn, bool *done) static CURLcode telnet_do(struct connectdata *conn, bool *done)
{ {
CURLcode result; CURLcode result;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
#ifdef USE_WINSOCK #ifdef USE_WINSOCK
HMODULE wsock2; HMODULE wsock2;

View File

@ -333,7 +333,7 @@ static CURLcode tftp_parse_option_ack(tftp_state_data_t *state,
const char *ptr, int len) const char *ptr, int len)
{ {
const char *tmp = ptr; const char *tmp = ptr;
struct SessionHandle *data = state->conn->data; struct Curl_easy *data = state->conn->data;
/* if OACK doesn't contain blksize option, the default (512) must be used */ /* if OACK doesn't contain blksize option, the default (512) must be used */
state->blksize = TFTP_BLKSIZE_DEFAULT; state->blksize = TFTP_BLKSIZE_DEFAULT;
@ -416,7 +416,7 @@ static CURLcode tftp_connect_for_tx(tftp_state_data_t *state,
{ {
CURLcode result; CURLcode result;
#ifndef CURL_DISABLE_VERBOSE_STRINGS #ifndef CURL_DISABLE_VERBOSE_STRINGS
struct SessionHandle *data = state->conn->data; struct Curl_easy *data = state->conn->data;
infof(data, "%s\n", "Connected for transmit"); infof(data, "%s\n", "Connected for transmit");
#endif #endif
@ -432,7 +432,7 @@ static CURLcode tftp_connect_for_rx(tftp_state_data_t *state,
{ {
CURLcode result; CURLcode result;
#ifndef CURL_DISABLE_VERBOSE_STRINGS #ifndef CURL_DISABLE_VERBOSE_STRINGS
struct SessionHandle *data = state->conn->data; struct Curl_easy *data = state->conn->data;
infof(data, "%s\n", "Connected for receive"); infof(data, "%s\n", "Connected for receive");
#endif #endif
@ -450,7 +450,7 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
const char *mode = "octet"; const char *mode = "octet";
char *filename; char *filename;
char buf[64]; char buf[64];
struct SessionHandle *data = state->conn->data; struct Curl_easy *data = state->conn->data;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
/* Set ascii mode if -B flag was used */ /* Set ascii mode if -B flag was used */
@ -581,7 +581,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
{ {
ssize_t sbytes; ssize_t sbytes;
int rblock; int rblock;
struct SessionHandle *data = state->conn->data; struct Curl_easy *data = state->conn->data;
switch(event) { switch(event) {
@ -700,7 +700,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
**********************************************************/ **********************************************************/
static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event) static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
{ {
struct SessionHandle *data = state->conn->data; struct Curl_easy *data = state->conn->data;
ssize_t sbytes; ssize_t sbytes;
int rblock; int rblock;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -889,7 +889,7 @@ static CURLcode tftp_state_machine(tftp_state_data_t *state,
tftp_event_t event) tftp_event_t event)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = state->conn->data; struct Curl_easy *data = state->conn->data;
switch(state->state) { switch(state->state) {
case TFTP_STATE_START: case TFTP_STATE_START:
@ -1081,7 +1081,7 @@ static CURLcode tftp_receive_packet(struct connectdata *conn)
struct Curl_sockaddr_storage fromaddr; struct Curl_sockaddr_storage fromaddr;
curl_socklen_t fromlen; curl_socklen_t fromlen;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
tftp_state_data_t *state = (tftp_state_data_t *)conn->proto.tftpc; tftp_state_data_t *state = (tftp_state_data_t *)conn->proto.tftpc;
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
@ -1200,7 +1200,7 @@ static CURLcode tftp_multi_statemach(struct connectdata *conn, bool *done)
int rc; int rc;
tftp_event_t event; tftp_event_t event;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
tftp_state_data_t *state = (tftp_state_data_t *)conn->proto.tftpc; tftp_state_data_t *state = (tftp_state_data_t *)conn->proto.tftpc;
long timeout_ms = tftp_state_timeout(conn, &event); long timeout_ms = tftp_state_timeout(conn, &event);
@ -1342,7 +1342,7 @@ static CURLcode tftp_do(struct connectdata *conn, bool *done)
static CURLcode tftp_setup_connection(struct connectdata * conn) static CURLcode tftp_setup_connection(struct connectdata * conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
char * type; char * type;
char command; char command;

View File

@ -87,7 +87,7 @@
*/ */
CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp) CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
size_t buffersize = (size_t)bytes; size_t buffersize = (size_t)bytes;
int nread; int nread;
#ifdef CURL_DOES_CONVERSIONS #ifdef CURL_DOES_CONVERSIONS
@ -242,7 +242,7 @@ CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp)
*/ */
CURLcode Curl_readrewind(struct connectdata *conn) CURLcode Curl_readrewind(struct connectdata *conn)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
conn->bits.rewindaftersend = FALSE; /* we rewind now */ conn->bits.rewindaftersend = FALSE; /* we rewind now */
@ -352,7 +352,7 @@ static void read_rewind(struct connectdata *conn,
* Check to see if CURLOPT_TIMECONDITION was met by comparing the time of the * Check to see if CURLOPT_TIMECONDITION was met by comparing the time of the
* remote document with the time provided by CURLOPT_TIMEVAL * remote document with the time provided by CURLOPT_TIMEVAL
*/ */
bool Curl_meets_timecondition(struct SessionHandle *data, time_t timeofdoc) bool Curl_meets_timecondition(struct Curl_easy *data, time_t timeofdoc)
{ {
if((timeofdoc == 0) || (data->set.timevalue == 0)) if((timeofdoc == 0) || (data->set.timevalue == 0))
return TRUE; return TRUE;
@ -385,7 +385,7 @@ bool Curl_meets_timecondition(struct SessionHandle *data, time_t timeofdoc)
* the stream was rewound (in which case we have data in a * the stream was rewound (in which case we have data in a
* buffer) * buffer)
*/ */
static CURLcode readwrite_data(struct SessionHandle *data, static CURLcode readwrite_data(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
struct SingleRequest *k, struct SingleRequest *k,
int *didwhat, bool *done) int *didwhat, bool *done)
@ -833,7 +833,7 @@ static CURLcode done_sending(struct connectdata *conn,
/* /*
* Send data to upload to the server, when the socket is writable. * Send data to upload to the server, when the socket is writable.
*/ */
static CURLcode readwrite_upload(struct SessionHandle *data, static CURLcode readwrite_upload(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
struct SingleRequest *k, struct SingleRequest *k,
int *didwhat) int *didwhat)
@ -1031,7 +1031,7 @@ static CURLcode readwrite_upload(struct SessionHandle *data,
* be read and written to/from the connection. * be read and written to/from the connection.
*/ */
CURLcode Curl_readwrite(struct connectdata *conn, CURLcode Curl_readwrite(struct connectdata *conn,
struct SessionHandle *data, struct Curl_easy *data,
bool *done) bool *done)
{ {
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;
@ -1208,7 +1208,7 @@ int Curl_single_getsock(const struct connectdata *conn,
of sockets */ of sockets */
int numsocks) int numsocks)
{ {
const struct SessionHandle *data = conn->data; const struct Curl_easy *data = conn->data;
int bitmap = GETSOCK_BLANK; int bitmap = GETSOCK_BLANK;
unsigned sockindex = 0; unsigned sockindex = 0;
@ -1305,7 +1305,7 @@ long Curl_sleep_time(curl_off_t rate_bps, curl_off_t cur_rate_bps,
/* Curl_init_CONNECT() gets called each time the handle switches to CONNECT /* Curl_init_CONNECT() gets called each time the handle switches to CONNECT
which means this gets called once for each subsequent redirect etc */ which means this gets called once for each subsequent redirect etc */
void Curl_init_CONNECT(struct SessionHandle *data) void Curl_init_CONNECT(struct Curl_easy *data)
{ {
data->state.fread_func = data->set.fread_func_set; data->state.fread_func = data->set.fread_func_set;
data->state.in = data->set.in_set; data->state.in = data->set.in_set;
@ -1316,7 +1316,7 @@ void Curl_init_CONNECT(struct SessionHandle *data)
* once for one transfer no matter if it has redirects or do multi-pass * once for one transfer no matter if it has redirects or do multi-pass
* authentication etc. * authentication etc.
*/ */
CURLcode Curl_pretransfer(struct SessionHandle *data) CURLcode Curl_pretransfer(struct Curl_easy *data)
{ {
CURLcode result; CURLcode result;
if(!data->change.url) { if(!data->change.url) {
@ -1403,7 +1403,7 @@ CURLcode Curl_pretransfer(struct SessionHandle *data)
/* /*
* Curl_posttransfer() is called immediately after a transfer ends * Curl_posttransfer() is called immediately after a transfer ends
*/ */
CURLcode Curl_posttransfer(struct SessionHandle *data) CURLcode Curl_posttransfer(struct Curl_easy *data)
{ {
#if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(HAVE_MSG_NOSIGNAL) #if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(HAVE_MSG_NOSIGNAL)
/* restore the signal handler for SIGPIPE before we get back */ /* restore the signal handler for SIGPIPE before we get back */
@ -1660,7 +1660,7 @@ static char *concat_url(const char *base, const char *relurl)
* Curl_follow() handles the URL redirect magic. Pass in the 'newurl' string * Curl_follow() handles the URL redirect magic. Pass in the 'newurl' string
* as given by the remote server and set up the new URL to request. * as given by the remote server and set up the new URL to request.
*/ */
CURLcode Curl_follow(struct SessionHandle *data, CURLcode Curl_follow(struct Curl_easy *data,
char *newurl, /* this 'newurl' is the Location: string, char *newurl, /* this 'newurl' is the Location: string,
and it must be malloc()ed before passed and it must be malloc()ed before passed
here */ here */
@ -1864,7 +1864,7 @@ CURLcode Curl_follow(struct SessionHandle *data,
CURLcode Curl_retry_request(struct connectdata *conn, CURLcode Curl_retry_request(struct connectdata *conn,
char **url) char **url)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
*url = NULL; *url = NULL;
@ -1920,7 +1920,7 @@ Curl_setup_transfer(
curl_off_t *writecountp /* return number of bytes written or NULL */ curl_off_t *writecountp /* return number of bytes written or NULL */
) )
{ {
struct SessionHandle *data; struct Curl_easy *data;
struct SingleRequest *k; struct SingleRequest *k;
DEBUGASSERT(conn != NULL); DEBUGASSERT(conn != NULL);

View File

@ -22,11 +22,11 @@
* *
***************************************************************************/ ***************************************************************************/
void Curl_init_CONNECT(struct SessionHandle *data); void Curl_init_CONNECT(struct Curl_easy *data);
CURLcode Curl_pretransfer(struct SessionHandle *data); CURLcode Curl_pretransfer(struct Curl_easy *data);
CURLcode Curl_second_connect(struct connectdata *conn); CURLcode Curl_second_connect(struct connectdata *conn);
CURLcode Curl_posttransfer(struct SessionHandle *data); CURLcode Curl_posttransfer(struct Curl_easy *data);
typedef enum { typedef enum {
FOLLOW_NONE, /* not used within the function, just a placeholder to FOLLOW_NONE, /* not used within the function, just a placeholder to
@ -38,19 +38,19 @@ typedef enum {
FOLLOW_LAST /* never used */ FOLLOW_LAST /* never used */
} followtype; } followtype;
CURLcode Curl_follow(struct SessionHandle *data, char *newurl, CURLcode Curl_follow(struct Curl_easy *data, char *newurl,
followtype type); followtype type);
CURLcode Curl_readwrite(struct connectdata *conn, CURLcode Curl_readwrite(struct connectdata *conn,
struct SessionHandle *data, bool *done); struct Curl_easy *data, bool *done);
int Curl_single_getsock(const struct connectdata *conn, int Curl_single_getsock(const struct connectdata *conn,
curl_socket_t *socks, curl_socket_t *socks,
int numsocks); int numsocks);
CURLcode Curl_readrewind(struct connectdata *conn); CURLcode Curl_readrewind(struct connectdata *conn);
CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp); CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp);
CURLcode Curl_retry_request(struct connectdata *conn, char **url); CURLcode Curl_retry_request(struct connectdata *conn, char **url);
bool Curl_meets_timecondition(struct SessionHandle *data, time_t timeofdoc); bool Curl_meets_timecondition(struct Curl_easy *data, time_t timeofdoc);
/* This sets up a forthcoming transfer */ /* This sets up a forthcoming transfer */
void void

114
lib/url.c
View File

@ -137,12 +137,12 @@ bool curl_win32_idn_to_ascii(const char *in, char **out);
/* Local static prototypes */ /* Local static prototypes */
static struct connectdata * static struct connectdata *
find_oldest_idle_connection_in_bundle(struct SessionHandle *data, find_oldest_idle_connection_in_bundle(struct Curl_easy *data,
struct connectbundle *bundle); struct connectbundle *bundle);
static void conn_free(struct connectdata *conn); static void conn_free(struct connectdata *conn);
static void free_fixed_hostname(struct hostname *host); static void free_fixed_hostname(struct hostname *host);
static void signalPipeClose(struct curl_llist *pipeline, bool pipe_broke); static void signalPipeClose(struct curl_llist *pipeline, bool pipe_broke);
static CURLcode parse_url_login(struct SessionHandle *data, static CURLcode parse_url_login(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
char **userptr, char **passwdptr, char **userptr, char **passwdptr,
char **optionsptr); char **optionsptr);
@ -277,7 +277,7 @@ static const struct Curl_handler Curl_handler_dummy = {
PROTOPT_NONE /* flags */ PROTOPT_NONE /* flags */
}; };
void Curl_freeset(struct SessionHandle *data) void Curl_freeset(struct Curl_easy *data)
{ {
/* Free all dynamic strings stored in the data->set substructure. */ /* Free all dynamic strings stored in the data->set substructure. */
enum dupstring i; enum dupstring i;
@ -355,7 +355,7 @@ static CURLcode setstropt_userpwd(char *option, char **userp, char **passwdp)
return result; return result;
} }
CURLcode Curl_dupset(struct SessionHandle *dst, struct SessionHandle *src) CURLcode Curl_dupset(struct Curl_easy *dst, struct Curl_easy *src)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
enum dupstring i; enum dupstring i;
@ -398,7 +398,7 @@ CURLcode Curl_dupset(struct SessionHandle *dst, struct SessionHandle *src)
* when curl_easy_perform() is invoked. * when curl_easy_perform() is invoked.
*/ */
CURLcode Curl_close(struct SessionHandle *data) CURLcode Curl_close(struct Curl_easy *data)
{ {
struct Curl_multi *m; struct Curl_multi *m;
@ -496,8 +496,8 @@ CURLcode Curl_close(struct SessionHandle *data)
} }
/* /*
* Initialize the UserDefined fields within a SessionHandle. * Initialize the UserDefined fields within a Curl_easy.
* This may be safely called on a new or existing SessionHandle. * This may be safely called on a new or existing Curl_easy.
*/ */
CURLcode Curl_init_userdefined(struct UserDefined *set) CURLcode Curl_init_userdefined(struct UserDefined *set)
{ {
@ -621,16 +621,16 @@ CURLcode Curl_init_userdefined(struct UserDefined *set)
* @return CURLcode * @return CURLcode
*/ */
CURLcode Curl_open(struct SessionHandle **curl) CURLcode Curl_open(struct Curl_easy **curl)
{ {
CURLcode result; CURLcode result;
struct SessionHandle *data; struct Curl_easy *data;
/* Very simple start-up: alloc the struct, init it with zeroes and return */ /* Very simple start-up: alloc the struct, init it with zeroes and return */
data = calloc(1, sizeof(struct SessionHandle)); data = calloc(1, sizeof(struct Curl_easy));
if(!data) { if(!data) {
/* this is a very serious error */ /* this is a very serious error */
DEBUGF(fprintf(stderr, "Error: calloc of SessionHandle failed\n")); DEBUGF(fprintf(stderr, "Error: calloc of Curl_easy failed\n"));
return CURLE_OUT_OF_MEMORY; return CURLE_OUT_OF_MEMORY;
} }
@ -684,7 +684,7 @@ CURLcode Curl_open(struct SessionHandle **curl)
return result; return result;
} }
CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
va_list param) va_list param)
{ {
char *argptr; char *argptr;
@ -2684,7 +2684,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
#ifndef USE_NGHTTP2 #ifndef USE_NGHTTP2
return CURLE_NOT_BUILT_IN; return CURLE_NOT_BUILT_IN;
#else #else
struct SessionHandle *dep = va_arg(param, struct SessionHandle *); struct Curl_easy *dep = va_arg(param, struct Curl_easy *);
if(dep && GOOD_EASY_HANDLE(dep)) { if(dep && GOOD_EASY_HANDLE(dep)) {
data->set.stream_depends_on = dep; data->set.stream_depends_on = dep;
data->set.stream_depends_e = (option == CURLOPT_STREAM_DEPENDS_E); data->set.stream_depends_e = (option == CURLOPT_STREAM_DEPENDS_E);
@ -2812,14 +2812,14 @@ static void conn_free(struct connectdata *conn)
* primary connection, like when freeing room in the connection cache or * primary connection, like when freeing room in the connection cache or
* killing of a dead old connection. * killing of a dead old connection.
* *
* This function MUST NOT reset state in the SessionHandle struct if that * This function MUST NOT reset state in the Curl_easy struct if that
* isn't strictly bound to the life-time of *this* particular connection. * isn't strictly bound to the life-time of *this* particular connection.
* *
*/ */
CURLcode Curl_disconnect(struct connectdata *conn, bool dead_connection) CURLcode Curl_disconnect(struct connectdata *conn, bool dead_connection)
{ {
struct SessionHandle *data; struct Curl_easy *data;
if(!conn) if(!conn)
return CURLE_OK; /* this is closed and fine already */ return CURLE_OK; /* this is closed and fine already */
data = conn->data; data = conn->data;
@ -2888,7 +2888,7 @@ static bool SocketIsDead(curl_socket_t sock)
* IsPipeliningPossible() returns TRUE if the options set would allow * IsPipeliningPossible() returns TRUE if the options set would allow
* pipelining/multiplexing and the connection is using a HTTP protocol. * pipelining/multiplexing and the connection is using a HTTP protocol.
*/ */
static bool IsPipeliningPossible(const struct SessionHandle *handle, static bool IsPipeliningPossible(const struct Curl_easy *handle,
const struct connectdata *conn) const struct connectdata *conn)
{ {
/* If a HTTP protocol and pipelining is enabled */ /* If a HTTP protocol and pipelining is enabled */
@ -2909,7 +2909,7 @@ static bool IsPipeliningPossible(const struct SessionHandle *handle,
return FALSE; return FALSE;
} }
int Curl_removeHandleFromPipeline(struct SessionHandle *handle, int Curl_removeHandleFromPipeline(struct Curl_easy *handle,
struct curl_llist *pipeline) struct curl_llist *pipeline)
{ {
if(pipeline) { if(pipeline) {
@ -2935,18 +2935,18 @@ static void Curl_printPipeline(struct curl_llist *pipeline)
curr = pipeline->head; curr = pipeline->head;
while(curr) { while(curr) {
struct SessionHandle *data = (struct SessionHandle *) curr->ptr; struct Curl_easy *data = (struct Curl_easy *) curr->ptr;
infof(data, "Handle in pipeline: %s\n", data->state.path); infof(data, "Handle in pipeline: %s\n", data->state.path);
curr = curr->next; curr = curr->next;
} }
} }
#endif #endif
static struct SessionHandle* gethandleathead(struct curl_llist *pipeline) static struct Curl_easy* gethandleathead(struct curl_llist *pipeline)
{ {
struct curl_llist_element *curr = pipeline->head; struct curl_llist_element *curr = pipeline->head;
if(curr) { if(curr) {
return (struct SessionHandle *) curr->ptr; return (struct Curl_easy *) curr->ptr;
} }
return NULL; return NULL;
@ -2954,7 +2954,7 @@ static struct SessionHandle* gethandleathead(struct curl_llist *pipeline)
/* remove the specified connection from all (possible) pipelines and related /* remove the specified connection from all (possible) pipelines and related
queues */ queues */
void Curl_getoff_all_pipelines(struct SessionHandle *data, void Curl_getoff_all_pipelines(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
bool recv_head = (conn->readchannel_inuse && bool recv_head = (conn->readchannel_inuse &&
@ -2978,7 +2978,7 @@ static void signalPipeClose(struct curl_llist *pipeline, bool pipe_broke)
curr = pipeline->head; curr = pipeline->head;
while(curr) { while(curr) {
struct curl_llist_element *next = curr->next; struct curl_llist_element *next = curr->next;
struct SessionHandle *data = (struct SessionHandle *) curr->ptr; struct Curl_easy *data = (struct Curl_easy *) curr->ptr;
#ifdef DEBUGBUILD /* debug-only code */ #ifdef DEBUGBUILD /* debug-only code */
if(data->magic != CURLEASY_MAGIC_NUMBER) { if(data->magic != CURLEASY_MAGIC_NUMBER) {
@ -3003,7 +3003,7 @@ static void signalPipeClose(struct curl_llist *pipeline, bool pipe_broke)
* found. * found.
*/ */
struct connectdata * struct connectdata *
Curl_oldest_idle_connection(struct SessionHandle *data) Curl_oldest_idle_connection(struct Curl_easy *data)
{ {
struct conncache *bc = data->state.conn_cache; struct conncache *bc = data->state.conn_cache;
struct curl_hash_iterator iter; struct curl_hash_iterator iter;
@ -3055,7 +3055,7 @@ Curl_oldest_idle_connection(struct SessionHandle *data)
* found. * found.
*/ */
static struct connectdata * static struct connectdata *
find_oldest_idle_connection_in_bundle(struct SessionHandle *data, find_oldest_idle_connection_in_bundle(struct Curl_easy *data,
struct connectbundle *bundle) struct connectbundle *bundle)
{ {
struct curl_llist_element *curr; struct curl_llist_element *curr;
@ -3095,7 +3095,7 @@ find_oldest_idle_connection_in_bundle(struct SessionHandle *data,
* Returns TRUE if the connection actually was dead and disconnected. * Returns TRUE if the connection actually was dead and disconnected.
*/ */
static bool disconnect_if_dead(struct connectdata *conn, static bool disconnect_if_dead(struct connectdata *conn,
struct SessionHandle *data) struct Curl_easy *data)
{ {
size_t pipeLen = conn->send_pipe->size + conn->recv_pipe->size; size_t pipeLen = conn->send_pipe->size + conn->recv_pipe->size;
if(!pipeLen && !conn->inuse) { if(!pipeLen && !conn->inuse) {
@ -3129,7 +3129,7 @@ static bool disconnect_if_dead(struct connectdata *conn,
static int call_disconnect_if_dead(struct connectdata *conn, static int call_disconnect_if_dead(struct connectdata *conn,
void *param) void *param)
{ {
struct SessionHandle* data = (struct SessionHandle*)param; struct Curl_easy* data = (struct Curl_easy*)param;
disconnect_if_dead(conn, data); disconnect_if_dead(conn, data);
return 0; /* continue iteration */ return 0; /* continue iteration */
} }
@ -3139,7 +3139,7 @@ static int call_disconnect_if_dead(struct connectdata *conn,
* closes and removes them. * closes and removes them.
* The cleanup is done at most once per second. * The cleanup is done at most once per second.
*/ */
static void prune_dead_connections(struct SessionHandle *data) static void prune_dead_connections(struct Curl_easy *data)
{ {
struct timeval now = Curl_tvnow(); struct timeval now = Curl_tvnow();
long elapsed = Curl_tvdiff(now, data->state.conn_cache->last_cleanup); long elapsed = Curl_tvdiff(now, data->state.conn_cache->last_cleanup);
@ -3171,7 +3171,7 @@ static size_t max_pipeline_length(struct Curl_multi *multi)
* the pipelining strategy wants to open a new connection instead of reusing. * the pipelining strategy wants to open a new connection instead of reusing.
*/ */
static bool static bool
ConnectionExists(struct SessionHandle *data, ConnectionExists(struct Curl_easy *data,
struct connectdata *needle, struct connectdata *needle,
struct connectdata **usethis, struct connectdata **usethis,
bool *force_reuse, bool *force_reuse,
@ -3270,8 +3270,8 @@ ConnectionExists(struct SessionHandle *data,
if(!check->bits.multiplex) { if(!check->bits.multiplex) {
/* If not multiplexing, make sure the pipe has only GET requests */ /* If not multiplexing, make sure the pipe has only GET requests */
struct SessionHandle* sh = gethandleathead(check->send_pipe); struct Curl_easy* sh = gethandleathead(check->send_pipe);
struct SessionHandle* rh = gethandleathead(check->recv_pipe); struct Curl_easy* rh = gethandleathead(check->recv_pipe);
if(sh) { if(sh) {
if(!IsPipeliningPossible(sh, check)) if(!IsPipeliningPossible(sh, check))
continue; continue;
@ -3756,7 +3756,7 @@ static bool is_ASCII_name(const char *hostname)
/* /*
* Check if characters in hostname is allowed in Top Level Domain. * Check if characters in hostname is allowed in Top Level Domain.
*/ */
static bool tld_check_name(struct SessionHandle *data, static bool tld_check_name(struct Curl_easy *data,
const char *ace_hostname) const char *ace_hostname)
{ {
size_t err_pos; size_t err_pos;
@ -3798,7 +3798,7 @@ static bool tld_check_name(struct SessionHandle *data,
/* /*
* Perform any necessary IDN conversion of hostname * Perform any necessary IDN conversion of hostname
*/ */
static void fix_hostname(struct SessionHandle *data, static void fix_hostname(struct Curl_easy *data,
struct connectdata *conn, struct hostname *host) struct connectdata *conn, struct hostname *host)
{ {
size_t len; size_t len;
@ -3887,7 +3887,7 @@ static void llist_dtor(void *user, void *element)
/* /*
* Allocate and initialize a new connectdata object. * Allocate and initialize a new connectdata object.
*/ */
static struct connectdata *allocate_conn(struct SessionHandle *data) static struct connectdata *allocate_conn(struct Curl_easy *data)
{ {
struct connectdata *conn = calloc(1, sizeof(struct connectdata)); struct connectdata *conn = calloc(1, sizeof(struct connectdata));
if(!conn) if(!conn)
@ -3920,7 +3920,7 @@ static struct connectdata *allocate_conn(struct SessionHandle *data)
conn->created = Curl_tvnow(); conn->created = Curl_tvnow();
conn->data = data; /* Setup the association between this connection conn->data = data; /* Setup the association between this connection
and the SessionHandle */ and the Curl_easy */
conn->proxytype = data->set.proxytype; /* type */ conn->proxytype = data->set.proxytype; /* type */
@ -3992,7 +3992,7 @@ static struct connectdata *allocate_conn(struct SessionHandle *data)
conn->localport = data->set.localport; conn->localport = data->set.localport;
/* the close socket stuff needs to be copied to the connection struct as /* the close socket stuff needs to be copied to the connection struct as
it may live on without (this specific) SessionHandle */ it may live on without (this specific) Curl_easy */
conn->fclosesocket = data->set.fclosesocket; conn->fclosesocket = data->set.fclosesocket;
conn->closesocket_client = data->set.closesocket_client; conn->closesocket_client = data->set.closesocket_client;
@ -4011,7 +4011,7 @@ static struct connectdata *allocate_conn(struct SessionHandle *data)
return NULL; return NULL;
} }
static CURLcode findprotocol(struct SessionHandle *data, static CURLcode findprotocol(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
const char *protostr) const char *protostr)
{ {
@ -4056,7 +4056,7 @@ static CURLcode findprotocol(struct SessionHandle *data,
/* /*
* Parse URL and fill in the relevant members of the connection struct. * Parse URL and fill in the relevant members of the connection struct.
*/ */
static CURLcode parseurlandfillconn(struct SessionHandle *data, static CURLcode parseurlandfillconn(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
bool *prot_missing, bool *prot_missing,
char **userp, char **passwdp, char **userp, char **passwdp,
@ -4424,7 +4424,7 @@ static CURLcode parseurlandfillconn(struct SessionHandle *data,
* If we're doing a resumed transfer, we need to setup our stuff * If we're doing a resumed transfer, we need to setup our stuff
* properly. * properly.
*/ */
static CURLcode setup_range(struct SessionHandle *data) static CURLcode setup_range(struct Curl_easy *data)
{ {
struct UrlState *s = &data->state; struct UrlState *s = &data->state;
s->resume_from = data->set.set_resume_from; s->resume_from = data->set.set_resume_from;
@ -4456,7 +4456,7 @@ static CURLcode setup_range(struct SessionHandle *data)
* setup_connection_internals() - * setup_connection_internals() -
* *
* Setup connection internals specific to the requested protocol in the * Setup connection internals specific to the requested protocol in the
* SessionHandle. This is inited and setup before the connection is made but * Curl_easy. This is inited and setup before the connection is made but
* is about the particular protocol that is to be used. * is about the particular protocol that is to be used.
* *
* This MUST get called after proxy magic has been figured out. * This MUST get called after proxy magic has been figured out.
@ -4465,7 +4465,7 @@ static CURLcode setup_connection_internals(struct connectdata *conn)
{ {
const struct Curl_handler * p; const struct Curl_handler * p;
CURLcode result; CURLcode result;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
/* in some case in the multi state-machine, we go back to the CONNECT state /* in some case in the multi state-machine, we go back to the CONNECT state
and then a second (or third or...) call to this function will be made and then a second (or third or...) call to this function will be made
@ -4501,10 +4501,10 @@ static CURLcode setup_connection_internals(struct connectdata *conn)
/* /*
* Curl_free_request_state() should free temp data that was allocated in the * Curl_free_request_state() should free temp data that was allocated in the
* SessionHandle for this single request. * Curl_easy for this single request.
*/ */
void Curl_free_request_state(struct SessionHandle *data) void Curl_free_request_state(struct Curl_easy *data)
{ {
Curl_safefree(data->req.protop); Curl_safefree(data->req.protop);
Curl_safefree(data->req.newurl); Curl_safefree(data->req.newurl);
@ -4678,7 +4678,7 @@ static char *detect_proxy(struct connectdata *conn)
* host name, so that we can re-use an existing connection * host name, so that we can re-use an existing connection
* that may exist registered to the same proxy host. * that may exist registered to the same proxy host.
*/ */
static CURLcode parse_proxy(struct SessionHandle *data, static CURLcode parse_proxy(struct Curl_easy *data,
struct connectdata *conn, char *proxy) struct connectdata *conn, char *proxy)
{ {
char *prox_portno; char *prox_portno;
@ -4841,7 +4841,7 @@ static CURLcode parse_proxy(struct SessionHandle *data,
/* /*
* Extract the user and password from the authentication string * Extract the user and password from the authentication string
*/ */
static CURLcode parse_proxy_auth(struct SessionHandle *data, static CURLcode parse_proxy_auth(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
char proxyuser[MAX_CURL_USER_LENGTH]=""; char proxyuser[MAX_CURL_USER_LENGTH]="";
@ -4886,7 +4886,7 @@ static CURLcode parse_proxy_auth(struct SessionHandle *data,
* options - non-zero length if defined * options - non-zero length if defined
* conn->host.name - remove user name and password * conn->host.name - remove user name and password
*/ */
static CURLcode parse_url_login(struct SessionHandle *data, static CURLcode parse_url_login(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
char **user, char **passwd, char **options) char **user, char **passwd, char **options)
{ {
@ -5125,7 +5125,7 @@ static CURLcode parse_login_details(const char *login, const size_t len,
* *
* The port number embedded in the URL is replaced, if necessary. * The port number embedded in the URL is replaced, if necessary.
*************************************************************/ *************************************************************/
static CURLcode parse_remote_port(struct SessionHandle *data, static CURLcode parse_remote_port(struct Curl_easy *data,
struct connectdata *conn) struct connectdata *conn)
{ {
char *portptr; char *portptr;
@ -5237,7 +5237,7 @@ static CURLcode parse_remote_port(struct SessionHandle *data,
* Override the login details from the URL with that in the CURLOPT_USERPWD * Override the login details from the URL with that in the CURLOPT_USERPWD
* option or a .netrc file, if applicable. * option or a .netrc file, if applicable.
*/ */
static CURLcode override_login(struct SessionHandle *data, static CURLcode override_login(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
char **userp, char **passwdp, char **optionsp) char **userp, char **passwdp, char **optionsp)
{ {
@ -5340,7 +5340,7 @@ static CURLcode set_login(struct connectdata *conn,
* The hostname and the port may be empty; in this case, NULL is returned for * The hostname and the port may be empty; in this case, NULL is returned for
* the hostname and -1 for the port. * the hostname and -1 for the port.
*/ */
static CURLcode parse_connect_to_host_port(struct SessionHandle *data, static CURLcode parse_connect_to_host_port(struct Curl_easy *data,
const char *host, const char *host,
char **hostname_result, char **hostname_result,
int *port_result) int *port_result)
@ -5431,7 +5431,7 @@ static CURLcode parse_connect_to_host_port(struct SessionHandle *data,
* Parses one "connect to" string in the form: * Parses one "connect to" string in the form:
* "HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT". * "HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT".
*/ */
static CURLcode parse_connect_to_string(struct SessionHandle *data, static CURLcode parse_connect_to_string(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
const char *conn_to_host, const char *conn_to_host,
char **host_result, char **host_result,
@ -5497,7 +5497,7 @@ static CURLcode parse_connect_to_string(struct SessionHandle *data,
* Processes all strings in the "connect to" slist, and uses the "connect * Processes all strings in the "connect to" slist, and uses the "connect
* to host" and "connect to port" of the first string that matches. * to host" and "connect to port" of the first string that matches.
*/ */
static CURLcode parse_connect_to_slist(struct SessionHandle *data, static CURLcode parse_connect_to_slist(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
struct curl_slist *conn_to_host) struct curl_slist *conn_to_host)
{ {
@ -5546,7 +5546,7 @@ static CURLcode parse_connect_to_slist(struct SessionHandle *data,
/************************************************************* /*************************************************************
* Resolve the address of the server or proxy * Resolve the address of the server or proxy
*************************************************************/ *************************************************************/
static CURLcode resolve_server(struct SessionHandle *data, static CURLcode resolve_server(struct Curl_easy *data,
struct connectdata *conn, struct connectdata *conn,
bool *async) bool *async)
{ {
@ -5741,7 +5741,7 @@ static void reuse_conn(struct connectdata *old_conn,
* *NOTE* this function assigns the conn->data pointer! * *NOTE* this function assigns the conn->data pointer!
*/ */
static CURLcode create_conn(struct SessionHandle *data, static CURLcode create_conn(struct Curl_easy *data,
struct connectdata **in_connect, struct connectdata **in_connect,
bool *async) bool *async)
{ {
@ -6113,7 +6113,7 @@ static CURLcode create_conn(struct SessionHandle *data,
strings in the session handle strings array! strings in the session handle strings array!
Keep in mind that the pointers in the master copy are pointing to strings Keep in mind that the pointers in the master copy are pointing to strings
that will be freed as part of the SessionHandle struct, but all cloned that will be freed as part of the Curl_easy struct, but all cloned
copies will be separately allocated. copies will be separately allocated.
*/ */
data->set.ssl.CApath = data->set.str[STRING_SSL_CAPATH]; data->set.ssl.CApath = data->set.str[STRING_SSL_CAPATH];
@ -6332,7 +6332,7 @@ CURLcode Curl_setup_conn(struct connectdata *conn,
bool *protocol_done) bool *protocol_done)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
Curl_pgrsTime(data, TIMER_NAMELOOKUP); Curl_pgrsTime(data, TIMER_NAMELOOKUP);
@ -6406,7 +6406,7 @@ CURLcode Curl_setup_conn(struct connectdata *conn,
return result; return result;
} }
CURLcode Curl_connect(struct SessionHandle *data, CURLcode Curl_connect(struct Curl_easy *data,
struct connectdata **in_connect, struct connectdata **in_connect,
bool *asyncp, bool *asyncp,
bool *protocol_done) bool *protocol_done)
@ -6449,14 +6449,14 @@ CURLcode Curl_connect(struct SessionHandle *data,
/* /*
* Curl_init_do() inits the readwrite session. This is inited each time (in * Curl_init_do() inits the readwrite session. This is inited each time (in
* the DO function before the protocol-specific DO functions are invoked) for * the DO function before the protocol-specific DO functions are invoked) for
* a transfer, sometimes multiple times on the same SessionHandle. Make sure * a transfer, sometimes multiple times on the same Curl_easy. Make sure
* nothing in here depends on stuff that are setup dynamically for the * nothing in here depends on stuff that are setup dynamically for the
* transfer. * transfer.
* *
* Allow this function to get called with 'conn' set to NULL. * Allow this function to get called with 'conn' set to NULL.
*/ */
CURLcode Curl_init_do(struct SessionHandle *data, struct connectdata *conn) CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn)
{ {
struct SingleRequest *k = &data->req; struct SingleRequest *k = &data->req;

View File

@ -27,15 +27,15 @@
* Prototypes for library-wide functions provided by url.c * Prototypes for library-wide functions provided by url.c
*/ */
CURLcode Curl_init_do(struct SessionHandle *data, struct connectdata *conn); CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn);
CURLcode Curl_open(struct SessionHandle **curl); CURLcode Curl_open(struct Curl_easy **curl);
CURLcode Curl_init_userdefined(struct UserDefined *set); CURLcode Curl_init_userdefined(struct UserDefined *set);
CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
va_list arg); va_list arg);
CURLcode Curl_dupset(struct SessionHandle * dst, struct SessionHandle * src); CURLcode Curl_dupset(struct Curl_easy * dst, struct Curl_easy * src);
void Curl_freeset(struct SessionHandle * data); void Curl_freeset(struct Curl_easy * data);
CURLcode Curl_close(struct SessionHandle *data); /* opposite of curl_open() */ CURLcode Curl_close(struct Curl_easy *data); /* opposite of curl_open() */
CURLcode Curl_connect(struct SessionHandle *, struct connectdata **, CURLcode Curl_connect(struct Curl_easy *, struct connectdata **,
bool *async, bool *protocol_connect); bool *async, bool *protocol_connect);
CURLcode Curl_disconnect(struct connectdata *, bool dead_connection); CURLcode Curl_disconnect(struct connectdata *, bool dead_connection);
CURLcode Curl_protocol_connect(struct connectdata *conn, bool *done); CURLcode Curl_protocol_connect(struct connectdata *conn, bool *done);
@ -43,7 +43,7 @@ CURLcode Curl_protocol_connecting(struct connectdata *conn, bool *done);
CURLcode Curl_protocol_doing(struct connectdata *conn, bool *done); CURLcode Curl_protocol_doing(struct connectdata *conn, bool *done);
CURLcode Curl_setup_conn(struct connectdata *conn, CURLcode Curl_setup_conn(struct connectdata *conn,
bool *protocol_done); bool *protocol_done);
void Curl_free_request_state(struct SessionHandle *data); void Curl_free_request_state(struct Curl_easy *data);
int Curl_protocol_getsock(struct connectdata *conn, int Curl_protocol_getsock(struct connectdata *conn,
curl_socket_t *socks, curl_socket_t *socks,
@ -52,19 +52,19 @@ int Curl_doing_getsock(struct connectdata *conn,
curl_socket_t *socks, curl_socket_t *socks,
int numsocks); int numsocks);
bool Curl_isPipeliningEnabled(const struct SessionHandle *handle); bool Curl_isPipeliningEnabled(const struct Curl_easy *handle);
CURLcode Curl_addHandleToPipeline(struct SessionHandle *handle, CURLcode Curl_addHandleToPipeline(struct Curl_easy *handle,
struct curl_llist *pipeline); struct curl_llist *pipeline);
int Curl_removeHandleFromPipeline(struct SessionHandle *handle, int Curl_removeHandleFromPipeline(struct Curl_easy *handle,
struct curl_llist *pipeline); struct curl_llist *pipeline);
struct connectdata * struct connectdata *
Curl_oldest_idle_connection(struct SessionHandle *data); Curl_oldest_idle_connection(struct Curl_easy *data);
/* remove the specified connection from all (possible) pipelines and related /* remove the specified connection from all (possible) pipelines and related
queues */ queues */
void Curl_getoff_all_pipelines(struct SessionHandle *data, void Curl_getoff_all_pipelines(struct Curl_easy *data,
struct connectdata *conn); struct connectdata *conn);
void Curl_close_connections(struct SessionHandle *data); void Curl_close_connections(struct Curl_easy *data);
#define CURL_DEFAULT_PROXY_PORT 1080 /* default proxy port unless specified */ #define CURL_DEFAULT_PROXY_PORT 1080 /* default proxy port unless specified */

View File

@ -208,14 +208,13 @@
#define CURLEASY_MAGIC_NUMBER 0xc0dedbadU #define CURLEASY_MAGIC_NUMBER 0xc0dedbadU
#define GOOD_EASY_HANDLE(x) \ #define GOOD_EASY_HANDLE(x) \
((x) && (((struct SessionHandle *)(x))->magic == CURLEASY_MAGIC_NUMBER)) ((x) && ((x)->magic == CURLEASY_MAGIC_NUMBER))
/* Some convenience macros to get the larger/smaller value out of two given. /* Some convenience macros to get the larger/smaller value out of two given.
We prefix with CURL to prevent name collisions. */ We prefix with CURL to prevent name collisions. */
#define CURLMAX(x,y) ((x)>(y)?(x):(y)) #define CURLMAX(x,y) ((x)>(y)?(x):(y))
#define CURLMIN(x,y) ((x)<(y)?(x):(y)) #define CURLMIN(x,y) ((x)<(y)?(x):(y))
#ifdef HAVE_GSSAPI #ifdef HAVE_GSSAPI
/* Types needed for krb5-ftp connections */ /* Types needed for krb5-ftp connections */
struct krb5buffer { struct krb5buffer {
@ -311,7 +310,7 @@ struct ssl_connect_data {
#elif defined(USE_NSS) #elif defined(USE_NSS)
PRFileDesc *handle; PRFileDesc *handle;
char *client_nickname; char *client_nickname;
struct SessionHandle *data; struct Curl_easy *data;
struct curl_llist *obj_list; struct curl_llist *obj_list;
PK11GenericObject *obj_clicert; PK11GenericObject *obj_clicert;
#elif defined(USE_GSKIT) #elif defined(USE_GSKIT)
@ -618,9 +617,9 @@ enum upgrade101 {
}; };
/* /*
* Request specific data in the easy handle (SessionHandle). Previously, * Request specific data in the easy handle (Curl_easy). Previously,
* these members were on the connectdata struct but since a conn struct may * these members were on the connectdata struct but since a conn struct may
* now be shared between different SessionHandles, we store connection-specific * now be shared between different Curl_easys, we store connection-specific
* data here. This struct only keeps stuff that's interesting for *this* * data here. This struct only keeps stuff that's interesting for *this*
* request, as it will be cleared between multiple ones * request, as it will be cleared between multiple ones
*/ */
@ -791,7 +790,7 @@ struct Curl_handler {
/* If used, this function gets called from transfer.c:readwrite_data() to /* If used, this function gets called from transfer.c:readwrite_data() to
allow the protocol to do extra reads/writes */ allow the protocol to do extra reads/writes */
CURLcode (*readwrite)(struct SessionHandle *data, struct connectdata *conn, CURLcode (*readwrite)(struct Curl_easy *data, struct connectdata *conn,
ssize_t *nread, bool *readmore); ssize_t *nread, bool *readmore);
long defport; /* Default port. */ long defport; /* Default port. */
@ -851,10 +850,10 @@ struct postponed_data {
* unique for an entire connection. * unique for an entire connection.
*/ */
struct connectdata { struct connectdata {
/* 'data' is the CURRENT SessionHandle using this connection -- take great /* 'data' is the CURRENT Curl_easy using this connection -- take great
caution that this might very well vary between different times this caution that this might very well vary between different times this
connection is used! */ connection is used! */
struct SessionHandle *data; struct Curl_easy *data;
/* chunk is for HTTP chunked encoding, but is in the general connectdata /* chunk is for HTTP chunked encoding, but is in the general connectdata
struct only because we can do just about any protocol through a HTTP proxy struct only because we can do just about any protocol through a HTTP proxy
@ -965,7 +964,7 @@ struct connectdata {
const struct Curl_handler *handler; /* Connection's protocol handler */ const struct Curl_handler *handler; /* Connection's protocol handler */
const struct Curl_handler *given; /* The protocol first given */ const struct Curl_handler *given; /* The protocol first given */
long ip_version; /* copied from the SessionHandle at creation time */ long ip_version; /* copied from the Curl_easy at creation time */
/**** curl_get() phase fields */ /**** curl_get() phase fields */
@ -1208,7 +1207,7 @@ typedef enum {
/* /*
* Values that are generated, temporary or calculated internally for a * Values that are generated, temporary or calculated internally for a
* "session handle" must be defined within the 'struct UrlState'. This struct * "session handle" must be defined within the 'struct UrlState'. This struct
* will be used within the SessionHandle struct. When the 'SessionHandle' * will be used within the Curl_easy struct. When the 'Curl_easy'
* struct is cloned, this data MUST NOT be copied. * struct is cloned, this data MUST NOT be copied.
* *
* Remember that any "state" information goes globally for the curl handle. * Remember that any "state" information goes globally for the curl handle.
@ -1354,7 +1353,7 @@ struct UrlState {
curl_read_callback fread_func; /* read callback/function */ curl_read_callback fread_func; /* read callback/function */
void *in; /* CURLOPT_READDATA */ void *in; /* CURLOPT_READDATA */
struct SessionHandle *stream_depends_on; struct Curl_easy *stream_depends_on;
bool stream_depends_e; /* set or don't set the Exclusive bit */ bool stream_depends_e; /* set or don't set the Exclusive bit */
int stream_weight; int stream_weight;
}; };
@ -1679,7 +1678,7 @@ struct UserDefined {
new connection */ new connection */
long expect_100_timeout; /* in milliseconds */ long expect_100_timeout; /* in milliseconds */
struct SessionHandle *stream_depends_on; struct Curl_easy *stream_depends_on;
bool stream_depends_e; /* set or don't set the Exclusive bit */ bool stream_depends_e; /* set or don't set the Exclusive bit */
int stream_weight; int stream_weight;
}; };
@ -1704,10 +1703,10 @@ struct Names {
* 'struct UrlState' instead. * 'struct UrlState' instead.
*/ */
struct SessionHandle { struct Curl_easy {
/* first, two fields for the linked list of these */ /* first, two fields for the linked list of these */
struct SessionHandle *next; struct Curl_easy *next;
struct SessionHandle *prev; struct Curl_easy *prev;
struct connectdata *easy_conn; /* the "unit's" connection */ struct connectdata *easy_conn; /* the "unit's" connection */

View File

@ -59,7 +59,7 @@
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_plain_message(struct SessionHandle *data, CURLcode Curl_auth_create_plain_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
char **outptr, size_t *outlen) char **outptr, size_t *outlen)
@ -110,7 +110,7 @@ CURLcode Curl_auth_create_plain_message(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_login_message(struct SessionHandle *data, CURLcode Curl_auth_create_login_message(struct Curl_easy *data,
const char *valuep, char **outptr, const char *valuep, char **outptr,
size_t *outlen) size_t *outlen)
{ {
@ -148,7 +148,7 @@ CURLcode Curl_auth_create_login_message(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_external_message(struct SessionHandle *data, CURLcode Curl_auth_create_external_message(struct Curl_easy *data,
const char *user, char **outptr, const char *user, char **outptr,
size_t *outlen) size_t *outlen)
{ {

View File

@ -88,7 +88,7 @@ CURLcode Curl_auth_decode_cram_md5_message(const char *chlg64, char **outptr,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_cram_md5_message(struct SessionHandle *data, CURLcode Curl_auth_create_cram_md5_message(struct Curl_easy *data,
const char *chlg, const char *chlg,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,

View File

@ -324,7 +324,7 @@ static CURLcode auth_decode_digest_md5_message(const char *chlg64,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_digest_md5_message(struct SessionHandle *data, CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,
const char *chlg64, const char *chlg64,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
@ -645,7 +645,7 @@ CURLcode Curl_auth_decode_digest_http_message(const char *chlg,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_digest_http_message(struct SessionHandle *data, CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
const unsigned char *request, const unsigned char *request,

View File

@ -62,7 +62,7 @@
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_digest_md5_message(struct SessionHandle *data, CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,
const char *chlg64, const char *chlg64,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
@ -349,7 +349,7 @@ CURLcode Curl_auth_decode_digest_http_message(const char *chlg,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_digest_http_message(struct SessionHandle *data, CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
const unsigned char *request, const unsigned char *request,

View File

@ -65,7 +65,7 @@
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data, CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
const char *service, const char *service,
@ -190,7 +190,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_gssapi_security_message(struct SessionHandle *data, CURLcode Curl_auth_create_gssapi_security_message(struct Curl_easy *data,
const char *chlg64, const char *chlg64,
struct kerberos5data *krb5, struct kerberos5data *krb5,
char **outptr, char **outptr,

View File

@ -62,7 +62,7 @@
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data, CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
const char *service, const char *service,
@ -240,7 +240,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_gssapi_security_message(struct SessionHandle *data, CURLcode Curl_auth_create_gssapi_security_message(struct Curl_easy *data,
const char *chlg64, const char *chlg64,
struct kerberos5data *krb5, struct kerberos5data *krb5,
char **outptr, char **outptr,

View File

@ -164,7 +164,7 @@ static void ntlm_print_hex(FILE *handle, const char *buf, size_t len)
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
static CURLcode ntlm_decode_type2_target(struct SessionHandle *data, static CURLcode ntlm_decode_type2_target(struct Curl_easy *data,
unsigned char *buffer, unsigned char *buffer,
size_t size, size_t size,
struct ntlmdata *ntlm) struct ntlmdata *ntlm)
@ -232,7 +232,7 @@ static CURLcode ntlm_decode_type2_target(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_decode_ntlm_type2_message(struct SessionHandle *data, CURLcode Curl_auth_decode_ntlm_type2_message(struct Curl_easy *data,
const char *type2msg, const char *type2msg,
struct ntlmdata *ntlm) struct ntlmdata *ntlm)
{ {
@ -465,7 +465,7 @@ CURLcode Curl_auth_create_ntlm_type1_message(const char *userp,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_ntlm_type3_message(struct SessionHandle *data, CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
struct ntlmdata *ntlm, struct ntlmdata *ntlm,

View File

@ -162,7 +162,7 @@ CURLcode Curl_auth_create_ntlm_type1_message(const char *userp,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_decode_ntlm_type2_message(struct SessionHandle *data, CURLcode Curl_auth_decode_ntlm_type2_message(struct Curl_easy *data,
const char *type2msg, const char *type2msg,
struct ntlmdata *ntlm) struct ntlmdata *ntlm)
{ {
@ -214,7 +214,7 @@ CURLcode Curl_auth_decode_ntlm_type2_message(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_ntlm_type3_message(struct SessionHandle *data, CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
struct ntlmdata *ntlm, struct ntlmdata *ntlm,

View File

@ -55,7 +55,7 @@
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_oauth_bearer_message(struct SessionHandle *data, CURLcode Curl_auth_create_oauth_bearer_message(struct Curl_easy *data,
const char *user, const char *user,
const char *host, const char *host,
const long port, const long port,

View File

@ -58,7 +58,7 @@
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_decode_spnego_message(struct SessionHandle *data, CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
const char *user, const char *user,
const char *password, const char *password,
const char *service, const char *service,
@ -187,7 +187,7 @@ CURLcode Curl_auth_decode_spnego_message(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_spnego_message(struct SessionHandle *data, CURLcode Curl_auth_create_spnego_message(struct Curl_easy *data,
struct negotiatedata *nego, struct negotiatedata *nego,
char **outptr, size_t *outlen) char **outptr, size_t *outlen)
{ {

View File

@ -57,7 +57,7 @@
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_decode_spnego_message(struct SessionHandle *data, CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
const char *user, const char *user,
const char *password, const char *password,
const char *service, const char *service,
@ -234,7 +234,7 @@ CURLcode Curl_auth_decode_spnego_message(struct SessionHandle *data,
* *
* Returns CURLE_OK on success. * Returns CURLE_OK on success.
*/ */
CURLcode Curl_auth_create_spnego_message(struct SessionHandle *data, CURLcode Curl_auth_create_spnego_message(struct Curl_easy *data,
struct negotiatedata *nego, struct negotiatedata *nego,
char **outptr, size_t *outlen) char **outptr, size_t *outlen)
{ {

View File

@ -24,7 +24,7 @@
#include <curl/curl.h> #include <curl/curl.h>
struct SessionHandle; struct Curl_easy;
#if !defined(CURL_DISABLE_CRYPTO_AUTH) #if !defined(CURL_DISABLE_CRYPTO_AUTH)
struct digestdata; struct digestdata;
@ -56,18 +56,18 @@ TCHAR *Curl_auth_build_spn(const char *service, const char *host,
#endif #endif
/* This is used to generate a base64 encoded PLAIN cleartext message */ /* This is used to generate a base64 encoded PLAIN cleartext message */
CURLcode Curl_auth_create_plain_message(struct SessionHandle *data, CURLcode Curl_auth_create_plain_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
char **outptr, size_t *outlen); char **outptr, size_t *outlen);
/* This is used to generate a base64 encoded LOGIN cleartext message */ /* This is used to generate a base64 encoded LOGIN cleartext message */
CURLcode Curl_auth_create_login_message(struct SessionHandle *data, CURLcode Curl_auth_create_login_message(struct Curl_easy *data,
const char *valuep, char **outptr, const char *valuep, char **outptr,
size_t *outlen); size_t *outlen);
/* This is used to generate a base64 encoded EXTERNAL cleartext message */ /* This is used to generate a base64 encoded EXTERNAL cleartext message */
CURLcode Curl_auth_create_external_message(struct SessionHandle *data, CURLcode Curl_auth_create_external_message(struct Curl_easy *data,
const char *user, char **outptr, const char *user, char **outptr,
size_t *outlen); size_t *outlen);
@ -77,14 +77,14 @@ CURLcode Curl_auth_decode_cram_md5_message(const char *chlg64, char **outptr,
size_t *outlen); size_t *outlen);
/* This is used to generate a CRAM-MD5 response message */ /* This is used to generate a CRAM-MD5 response message */
CURLcode Curl_auth_create_cram_md5_message(struct SessionHandle *data, CURLcode Curl_auth_create_cram_md5_message(struct Curl_easy *data,
const char *chlg, const char *chlg,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
char **outptr, size_t *outlen); char **outptr, size_t *outlen);
/* This is used to generate a base64 encoded DIGEST-MD5 response message */ /* This is used to generate a base64 encoded DIGEST-MD5 response message */
CURLcode Curl_auth_create_digest_md5_message(struct SessionHandle *data, CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,
const char *chlg64, const char *chlg64,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
@ -96,7 +96,7 @@ CURLcode Curl_auth_decode_digest_http_message(const char *chlg,
struct digestdata *digest); struct digestdata *digest);
/* This is used to generate a HTTP DIGEST response message */ /* This is used to generate a HTTP DIGEST response message */
CURLcode Curl_auth_create_digest_http_message(struct SessionHandle *data, CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
const unsigned char *request, const unsigned char *request,
@ -117,12 +117,12 @@ CURLcode Curl_auth_create_ntlm_type1_message(const char *userp,
size_t *outlen); size_t *outlen);
/* This is used to decode a base64 encoded NTLM type-2 message */ /* This is used to decode a base64 encoded NTLM type-2 message */
CURLcode Curl_auth_decode_ntlm_type2_message(struct SessionHandle *data, CURLcode Curl_auth_decode_ntlm_type2_message(struct Curl_easy *data,
const char *type2msg, const char *type2msg,
struct ntlmdata *ntlm); struct ntlmdata *ntlm);
/* This is used to generate a base64 encoded NTLM type-3 message */ /* This is used to generate a base64 encoded NTLM type-3 message */
CURLcode Curl_auth_create_ntlm_type3_message(struct SessionHandle *data, CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
struct ntlmdata *ntlm, struct ntlmdata *ntlm,
@ -133,7 +133,7 @@ void Curl_auth_ntlm_cleanup(struct ntlmdata *ntlm);
#endif /* USE_NTLM */ #endif /* USE_NTLM */
/* This is used to generate a base64 encoded OAuth 2.0 message */ /* This is used to generate a base64 encoded OAuth 2.0 message */
CURLcode Curl_auth_create_oauth_bearer_message(struct SessionHandle *data, CURLcode Curl_auth_create_oauth_bearer_message(struct Curl_easy *data,
const char *user, const char *user,
const char *host, const char *host,
const long port, const long port,
@ -142,7 +142,7 @@ CURLcode Curl_auth_create_oauth_bearer_message(struct SessionHandle *data,
#if defined(USE_KERBEROS5) #if defined(USE_KERBEROS5)
/* This is used to generate a base64 encoded GSSAPI (Kerberos V5) user token /* This is used to generate a base64 encoded GSSAPI (Kerberos V5) user token
message */ message */
CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data, CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,
const char *userp, const char *userp,
const char *passwdp, const char *passwdp,
const char *service, const char *service,
@ -154,7 +154,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
/* This is used to generate a base64 encoded GSSAPI (Kerberos V5) security /* This is used to generate a base64 encoded GSSAPI (Kerberos V5) security
token message */ token message */
CURLcode Curl_auth_create_gssapi_security_message(struct SessionHandle *data, CURLcode Curl_auth_create_gssapi_security_message(struct Curl_easy *data,
const char *input, const char *input,
struct kerberos5data *krb5, struct kerberos5data *krb5,
char **outptr, char **outptr,
@ -167,7 +167,7 @@ void Curl_auth_gssapi_cleanup(struct kerberos5data *krb5);
#if (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) && defined(USE_SPNEGO) #if (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) && defined(USE_SPNEGO)
/* This is used to decode a base64 encoded SPNEGO (Negotiate) challenge /* This is used to decode a base64 encoded SPNEGO (Negotiate) challenge
message */ message */
CURLcode Curl_auth_decode_spnego_message(struct SessionHandle *data, CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
const char *user, const char *user,
const char *passwood, const char *passwood,
const char *service, const char *service,
@ -177,7 +177,7 @@ CURLcode Curl_auth_decode_spnego_message(struct SessionHandle *data,
/* This is used to generate a base64 encoded SPNEGO (Negotiate) response /* This is used to generate a base64 encoded SPNEGO (Negotiate) response
message */ message */
CURLcode Curl_auth_create_spnego_message(struct SessionHandle *data, CURLcode Curl_auth_create_spnego_message(struct Curl_easy *data,
struct negotiatedata *nego, struct negotiatedata *nego,
char **outptr, size_t *outlen); char **outptr, size_t *outlen);

View File

@ -137,7 +137,7 @@ static void free_ssl_structs(struct ssl_connect_data *connssl)
*/ */
static CURLcode connect_prep(struct connectdata *conn, int sockindex) static CURLcode connect_prep(struct connectdata *conn, int sockindex)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
SSL_CTX *ssl_ctx; SSL_CTX *ssl_ctx;
SSL *ssl = NULL; SSL *ssl = NULL;
int cert_types[] = {SSL_OBJ_X509_CERT, SSL_OBJ_PKCS12, 0}; int cert_types[] = {SSL_OBJ_X509_CERT, SSL_OBJ_PKCS12, 0};
@ -284,7 +284,7 @@ static CURLcode connect_prep(struct connectdata *conn, int sockindex)
*/ */
static CURLcode connect_finish(struct connectdata *conn, int sockindex) static CURLcode connect_finish(struct connectdata *conn, int sockindex)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
SSL *ssl = conn->ssl[sockindex].ssl; SSL *ssl = conn->ssl[sockindex].ssl;
const char *peer_CN; const char *peer_CN;
uint32_t dns_altname_index; uint32_t dns_altname_index;
@ -472,7 +472,7 @@ Curl_axtls_connect(struct connectdata *conn,
int sockindex) int sockindex)
{ {
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
CURLcode conn_step = connect_prep(conn, sockindex); CURLcode conn_step = connect_prep(conn, sockindex);
int ssl_fcn_return; int ssl_fcn_return;
SSL *ssl = conn->ssl[sockindex].ssl; SSL *ssl = conn->ssl[sockindex].ssl;
@ -562,7 +562,7 @@ int Curl_axtls_shutdown(struct connectdata *conn, int sockindex)
*/ */
int retval = 0; int retval = 0;
struct ssl_connect_data *connssl = &conn->ssl[sockindex]; struct ssl_connect_data *connssl = &conn->ssl[sockindex];
struct SessionHandle *data = conn->data; struct Curl_easy *data = conn->data;
uint8_t *buf; uint8_t *buf;
ssize_t nread; ssize_t nread;
@ -678,7 +678,7 @@ size_t Curl_axtls_version(char *buffer, size_t size)
return snprintf(buffer, size, "axTLS/%s", ssl_version()); return snprintf(buffer, size, "axTLS/%s", ssl_version());
} }
int Curl_axtls_random(struct SessionHandle *data, int Curl_axtls_random(struct Curl_easy *data,
unsigned char *entropy, unsigned char *entropy,
size_t length) size_t length)
{ {

Some files were not shown because too many files have changed in this diff Show More