mirror of
https://github.com/curl/curl.git
synced 2025-03-07 15:27:17 +08:00
urldata: remove unused struct fields, made more conditional
- source_quote, source_prequote and source_postquote have not been used since 5e0d9aea3; September 2006 - make several fields conditional on proxy support - make three quote struct fields conditional on FTP || SSH - make 'mime_options' depend on MIME - make trailer_* fields depend on HTTP - change 'gssapi_delegation' from long to unsigned char - make 'localportrange' unsigned short instead of int - conn->trailer now depends on HTTP Closes #10147
This commit is contained in:
parent
f4883ba966
commit
db07301fbb
48
lib/setopt.c
48
lib/setopt.c
@ -1309,7 +1309,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
|||||||
data->set.krb = (data->set.str[STRING_KRB_LEVEL]) ? TRUE : FALSE;
|
data->set.krb = (data->set.str[STRING_KRB_LEVEL]) ? TRUE : FALSE;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if !defined(CURL_DISABLE_FTP) || !defined(USE_SSH)
|
#if !defined(CURL_DISABLE_FTP) || defined(USE_SSH)
|
||||||
case CURLOPT_FTP_CREATE_MISSING_DIRS:
|
case CURLOPT_FTP_CREATE_MISSING_DIRS:
|
||||||
/*
|
/*
|
||||||
* An FTP/SFTP option that modifies an upload to create missing
|
* An FTP/SFTP option that modifies an upload to create missing
|
||||||
@ -1323,6 +1323,25 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
|||||||
else
|
else
|
||||||
data->set.ftp_create_missing_dirs = (unsigned char)arg;
|
data->set.ftp_create_missing_dirs = (unsigned char)arg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CURLOPT_POSTQUOTE:
|
||||||
|
/*
|
||||||
|
* List of RAW FTP commands to use after a transfer
|
||||||
|
*/
|
||||||
|
data->set.postquote = va_arg(param, struct curl_slist *);
|
||||||
|
break;
|
||||||
|
case CURLOPT_PREQUOTE:
|
||||||
|
/*
|
||||||
|
* List of RAW FTP commands to use prior to RETR (Wesley Laxton)
|
||||||
|
*/
|
||||||
|
data->set.prequote = va_arg(param, struct curl_slist *);
|
||||||
|
break;
|
||||||
|
case CURLOPT_QUOTE:
|
||||||
|
/*
|
||||||
|
* List of RAW FTP commands to use before a transfer
|
||||||
|
*/
|
||||||
|
data->set.quote = va_arg(param, struct curl_slist *);
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
case CURLOPT_READDATA:
|
case CURLOPT_READDATA:
|
||||||
/*
|
/*
|
||||||
@ -1508,24 +1527,6 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
|||||||
va_arg(param, char *));
|
va_arg(param, char *));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CURLOPT_POSTQUOTE:
|
|
||||||
/*
|
|
||||||
* List of RAW FTP commands to use after a transfer
|
|
||||||
*/
|
|
||||||
data->set.postquote = va_arg(param, struct curl_slist *);
|
|
||||||
break;
|
|
||||||
case CURLOPT_PREQUOTE:
|
|
||||||
/*
|
|
||||||
* List of RAW FTP commands to use prior to RETR (Wesley Laxton)
|
|
||||||
*/
|
|
||||||
data->set.prequote = va_arg(param, struct curl_slist *);
|
|
||||||
break;
|
|
||||||
case CURLOPT_QUOTE:
|
|
||||||
/*
|
|
||||||
* List of RAW FTP commands to use before a transfer
|
|
||||||
*/
|
|
||||||
data->set.quote = va_arg(param, struct curl_slist *);
|
|
||||||
break;
|
|
||||||
case CURLOPT_RESOLVE:
|
case CURLOPT_RESOLVE:
|
||||||
/*
|
/*
|
||||||
* List of HOST:PORT:[addresses] strings to populate the DNS cache with
|
* List of HOST:PORT:[addresses] strings to populate the DNS cache with
|
||||||
@ -1873,16 +1874,15 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
|||||||
arg = va_arg(param, long);
|
arg = va_arg(param, long);
|
||||||
if((arg < 0) || (arg > 65535))
|
if((arg < 0) || (arg > 65535))
|
||||||
return CURLE_BAD_FUNCTION_ARGUMENT;
|
return CURLE_BAD_FUNCTION_ARGUMENT;
|
||||||
data->set.localportrange = curlx_sltosi(arg);
|
data->set.localportrange = curlx_sltous(arg);
|
||||||
break;
|
break;
|
||||||
case CURLOPT_GSSAPI_DELEGATION:
|
case CURLOPT_GSSAPI_DELEGATION:
|
||||||
/*
|
/*
|
||||||
* GSS-API credential delegation bitmask
|
* GSS-API credential delegation bitmask
|
||||||
*/
|
*/
|
||||||
arg = va_arg(param, long);
|
uarg = va_arg(param, unsigned long);
|
||||||
if(arg < CURLGSSAPI_DELEGATION_NONE)
|
data->set.gssapi_delegation = (unsigned char)uarg&
|
||||||
return CURLE_BAD_FUNCTION_ARGUMENT;
|
(CURLGSSAPI_DELEGATION_POLICY_FLAG|CURLGSSAPI_DELEGATION_FLAG);
|
||||||
data->set.gssapi_delegation = arg;
|
|
||||||
break;
|
break;
|
||||||
case CURLOPT_SSL_VERIFYPEER:
|
case CURLOPT_SSL_VERIFYPEER:
|
||||||
/*
|
/*
|
||||||
|
@ -532,11 +532,11 @@ CURLcode Curl_init_userdefined(struct Curl_easy *data)
|
|||||||
/* Timeout every 24 hours by default */
|
/* Timeout every 24 hours by default */
|
||||||
set->general_ssl.ca_cache_timeout = 24 * 60 * 60;
|
set->general_ssl.ca_cache_timeout = 24 * 60 * 60;
|
||||||
|
|
||||||
set->proxyport = 0;
|
|
||||||
set->proxytype = CURLPROXY_HTTP; /* defaults to HTTP proxy */
|
|
||||||
set->httpauth = CURLAUTH_BASIC; /* defaults to basic */
|
set->httpauth = CURLAUTH_BASIC; /* defaults to basic */
|
||||||
|
|
||||||
#ifndef CURL_DISABLE_PROXY
|
#ifndef CURL_DISABLE_PROXY
|
||||||
|
set->proxyport = 0;
|
||||||
|
set->proxytype = CURLPROXY_HTTP; /* defaults to HTTP proxy */
|
||||||
set->proxyauth = CURLAUTH_BASIC; /* defaults to basic */
|
set->proxyauth = CURLAUTH_BASIC; /* defaults to basic */
|
||||||
/* SOCKS5 proxy auth defaults to username/password + GSS-API */
|
/* SOCKS5 proxy auth defaults to username/password + GSS-API */
|
||||||
set->socks5auth = CURLAUTH_BASIC | CURLAUTH_GSSAPI;
|
set->socks5auth = CURLAUTH_BASIC | CURLAUTH_GSSAPI;
|
||||||
@ -780,7 +780,9 @@ static void conn_free(struct Curl_easy *data, struct connectdata *conn)
|
|||||||
Curl_safefree(conn->sasl_authzid);
|
Curl_safefree(conn->sasl_authzid);
|
||||||
Curl_safefree(conn->options);
|
Curl_safefree(conn->options);
|
||||||
Curl_safefree(conn->oauth_bearer);
|
Curl_safefree(conn->oauth_bearer);
|
||||||
|
#ifndef CURL_DISABLE_HTTP
|
||||||
Curl_dyn_free(&conn->trailer);
|
Curl_dyn_free(&conn->trailer);
|
||||||
|
#endif
|
||||||
Curl_safefree(conn->host.rawalloc); /* host name buffer */
|
Curl_safefree(conn->host.rawalloc); /* host name buffer */
|
||||||
Curl_safefree(conn->conn_to_host.rawalloc); /* host name buffer */
|
Curl_safefree(conn->conn_to_host.rawalloc); /* host name buffer */
|
||||||
Curl_safefree(conn->hostname_resolve);
|
Curl_safefree(conn->hostname_resolve);
|
||||||
|
@ -1034,8 +1034,10 @@ struct connectdata {
|
|||||||
struct negotiatedata proxyneg; /* state data for proxy Negotiate auth */
|
struct negotiatedata proxyneg; /* state data for proxy Negotiate auth */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef CURL_DISABLE_HTTP
|
||||||
/* for chunked-encoded trailer */
|
/* for chunked-encoded trailer */
|
||||||
struct dynbuf trailer;
|
struct dynbuf trailer;
|
||||||
|
#endif
|
||||||
|
|
||||||
union {
|
union {
|
||||||
#ifndef CURL_DISABLE_FTP
|
#ifndef CURL_DISABLE_FTP
|
||||||
@ -1086,7 +1088,7 @@ struct connectdata {
|
|||||||
that subsequent bound-requested connections aren't accidentally re-using
|
that subsequent bound-requested connections aren't accidentally re-using
|
||||||
wrong connections. */
|
wrong connections. */
|
||||||
char *localdev;
|
char *localdev;
|
||||||
int localportrange;
|
unsigned short localportrange;
|
||||||
int cselect_bits; /* bitmask of socket events */
|
int cselect_bits; /* bitmask of socket events */
|
||||||
int waitfor; /* current READ/WRITE bits to wait for */
|
int waitfor; /* current READ/WRITE bits to wait for */
|
||||||
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
|
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
|
||||||
@ -1616,15 +1618,9 @@ struct UserDefined {
|
|||||||
void *out; /* CURLOPT_WRITEDATA */
|
void *out; /* CURLOPT_WRITEDATA */
|
||||||
void *in_set; /* CURLOPT_READDATA */
|
void *in_set; /* CURLOPT_READDATA */
|
||||||
void *writeheader; /* write the header to this if non-NULL */
|
void *writeheader; /* write the header to this if non-NULL */
|
||||||
unsigned short proxyport; /* If non-zero, use this port number by
|
|
||||||
default. If the proxy string features a
|
|
||||||
":[port]" that one will override this. */
|
|
||||||
unsigned short use_port; /* which port to use (when not using default) */
|
unsigned short use_port; /* which port to use (when not using default) */
|
||||||
unsigned long httpauth; /* kind of HTTP authentication to use (bitmask) */
|
unsigned long httpauth; /* kind of HTTP authentication to use (bitmask) */
|
||||||
unsigned long proxyauth; /* kind of proxy authentication to use (bitmask) */
|
unsigned long proxyauth; /* kind of proxy authentication to use (bitmask) */
|
||||||
#ifndef CURL_DISABLE_PROXY
|
|
||||||
unsigned char socks5auth;/* kind of SOCKS5 authentication to use (bitmask) */
|
|
||||||
#endif
|
|
||||||
long maxredirs; /* maximum no. of http(s) redirects to follow, set to -1
|
long maxredirs; /* maximum no. of http(s) redirects to follow, set to -1
|
||||||
for infinity */
|
for infinity */
|
||||||
|
|
||||||
@ -1634,8 +1630,9 @@ struct UserDefined {
|
|||||||
of strlen(), and then the data *may* be binary
|
of strlen(), and then the data *may* be binary
|
||||||
(contain zero bytes) */
|
(contain zero bytes) */
|
||||||
unsigned short localport; /* local port number to bind to */
|
unsigned short localport; /* local port number to bind to */
|
||||||
int localportrange; /* number of additional port numbers to test in case the
|
unsigned short localportrange; /* number of additional port numbers to test
|
||||||
'localport' one can't be bind()ed */
|
in case the 'localport' one can't be
|
||||||
|
bind()ed */
|
||||||
curl_write_callback fwrite_func; /* function that stores the output */
|
curl_write_callback fwrite_func; /* function that stores the output */
|
||||||
curl_write_callback fwrite_header; /* function that stores headers */
|
curl_write_callback fwrite_header; /* function that stores headers */
|
||||||
curl_write_callback fwrite_rtp; /* function that stores interleaved RTP */
|
curl_write_callback fwrite_rtp; /* function that stores interleaved RTP */
|
||||||
@ -1688,17 +1685,8 @@ struct UserDefined {
|
|||||||
download */
|
download */
|
||||||
curl_off_t set_resume_from; /* continue [ftp] transfer from here */
|
curl_off_t set_resume_from; /* continue [ftp] transfer from here */
|
||||||
struct curl_slist *headers; /* linked list of extra headers */
|
struct curl_slist *headers; /* linked list of extra headers */
|
||||||
struct curl_slist *proxyheaders; /* linked list of extra CONNECT headers */
|
|
||||||
struct curl_httppost *httppost; /* linked list of old POST data */
|
struct curl_httppost *httppost; /* linked list of old POST data */
|
||||||
curl_mimepart mimepost; /* MIME/POST data. */
|
curl_mimepart mimepost; /* MIME/POST data. */
|
||||||
struct curl_slist *quote; /* after connection is established */
|
|
||||||
struct curl_slist *postquote; /* after the transfer */
|
|
||||||
struct curl_slist *prequote; /* before the transfer, after type */
|
|
||||||
struct curl_slist *source_quote; /* 3rd party quote */
|
|
||||||
struct curl_slist *source_prequote; /* in 3rd party transfer mode - before
|
|
||||||
the transfer on source host */
|
|
||||||
struct curl_slist *source_postquote; /* in 3rd party transfer mode - after
|
|
||||||
the transfer on source host */
|
|
||||||
#ifndef CURL_DISABLE_TELNET
|
#ifndef CURL_DISABLE_TELNET
|
||||||
struct curl_slist *telnet_options; /* linked list of telnet options */
|
struct curl_slist *telnet_options; /* linked list of telnet options */
|
||||||
#endif
|
#endif
|
||||||
@ -1708,13 +1696,18 @@ struct UserDefined {
|
|||||||
the hostname and port to connect to */
|
the hostname and port to connect to */
|
||||||
time_t timevalue; /* what time to compare with */
|
time_t timevalue; /* what time to compare with */
|
||||||
unsigned char timecondition; /* kind of time comparison: curl_TimeCond */
|
unsigned char timecondition; /* kind of time comparison: curl_TimeCond */
|
||||||
unsigned char proxytype; /* what kind of proxy: curl_proxytype */
|
|
||||||
unsigned char method; /* what kind of HTTP request: Curl_HttpReq */
|
unsigned char method; /* what kind of HTTP request: Curl_HttpReq */
|
||||||
unsigned char httpwant; /* when non-zero, a specific HTTP version requested
|
unsigned char httpwant; /* when non-zero, a specific HTTP version requested
|
||||||
to be used in the library's request(s) */
|
to be used in the library's request(s) */
|
||||||
struct ssl_config_data ssl; /* user defined SSL stuff */
|
struct ssl_config_data ssl; /* user defined SSL stuff */
|
||||||
#ifndef CURL_DISABLE_PROXY
|
#ifndef CURL_DISABLE_PROXY
|
||||||
struct ssl_config_data proxy_ssl; /* user defined SSL stuff for proxy */
|
struct ssl_config_data proxy_ssl; /* user defined SSL stuff for proxy */
|
||||||
|
struct curl_slist *proxyheaders; /* linked list of extra CONNECT headers */
|
||||||
|
unsigned short proxyport; /* If non-zero, use this port number by
|
||||||
|
default. If the proxy string features a
|
||||||
|
":[port]" that one will override this. */
|
||||||
|
unsigned char proxytype; /* what kind of proxy: curl_proxytype */
|
||||||
|
unsigned char socks5auth;/* kind of SOCKS5 authentication to use (bitmask) */
|
||||||
#endif
|
#endif
|
||||||
struct ssl_general_config general_ssl; /* general user defined SSL stuff */
|
struct ssl_general_config general_ssl; /* general user defined SSL stuff */
|
||||||
int dns_cache_timeout; /* DNS cache timeout (seconds) */
|
int dns_cache_timeout; /* DNS cache timeout (seconds) */
|
||||||
@ -1734,7 +1727,10 @@ struct UserDefined {
|
|||||||
unsigned char ftp_ccc; /* FTP CCC options: curl_ftpccc */
|
unsigned char ftp_ccc; /* FTP CCC options: curl_ftpccc */
|
||||||
unsigned int accepttimeout; /* in milliseconds, 0 means no timeout */
|
unsigned int accepttimeout; /* in milliseconds, 0 means no timeout */
|
||||||
#endif
|
#endif
|
||||||
#if !defined(CURL_DISABLE_FTP) || !defined(USE_SSH)
|
#if !defined(CURL_DISABLE_FTP) || defined(USE_SSH)
|
||||||
|
struct curl_slist *quote; /* after connection is established */
|
||||||
|
struct curl_slist *postquote; /* after the transfer */
|
||||||
|
struct curl_slist *prequote; /* before the transfer, after type */
|
||||||
/* Despite the name, ftp_create_missing_dirs is for FTP(S) and SFTP
|
/* Despite the name, ftp_create_missing_dirs is for FTP(S) and SFTP
|
||||||
1 - create directories that don't exist
|
1 - create directories that don't exist
|
||||||
2 - the same but also allow MKD to fail once
|
2 - the same but also allow MKD to fail once
|
||||||
@ -1764,8 +1760,9 @@ struct UserDefined {
|
|||||||
#endif
|
#endif
|
||||||
curl_prot_t allowed_protocols;
|
curl_prot_t allowed_protocols;
|
||||||
curl_prot_t redir_protocols;
|
curl_prot_t redir_protocols;
|
||||||
|
#ifndef CURL_DISABLE_MIME
|
||||||
unsigned int mime_options; /* Mime option flags. */
|
unsigned int mime_options; /* Mime option flags. */
|
||||||
|
#endif
|
||||||
#ifndef CURL_DISABLE_RTSP
|
#ifndef CURL_DISABLE_RTSP
|
||||||
void *rtp_out; /* write RTP to this if non-NULL */
|
void *rtp_out; /* write RTP to this if non-NULL */
|
||||||
/* Common RTSP header options */
|
/* Common RTSP header options */
|
||||||
@ -1780,8 +1777,9 @@ struct UserDefined {
|
|||||||
to pattern (e.g. if WILDCARDMATCH is on) */
|
to pattern (e.g. if WILDCARDMATCH is on) */
|
||||||
void *fnmatch_data;
|
void *fnmatch_data;
|
||||||
#endif
|
#endif
|
||||||
long gssapi_delegation; /* GSS-API credential delegation, see the
|
/* GSS-API credential delegation, see the documentation of
|
||||||
documentation of CURLOPT_GSSAPI_DELEGATION */
|
CURLOPT_GSSAPI_DELEGATION */
|
||||||
|
unsigned char gssapi_delegation;
|
||||||
|
|
||||||
int tcp_keepidle; /* seconds in idle before sending keepalive probe */
|
int tcp_keepidle; /* seconds in idle before sending keepalive probe */
|
||||||
int tcp_keepintvl; /* seconds between TCP keepalive probes */
|
int tcp_keepintvl; /* seconds between TCP keepalive probes */
|
||||||
@ -1803,8 +1801,10 @@ struct UserDefined {
|
|||||||
struct Curl_easy *dohfor; /* this is a DoH request for that transfer */
|
struct Curl_easy *dohfor; /* this is a DoH request for that transfer */
|
||||||
#endif
|
#endif
|
||||||
CURLU *uh; /* URL handle for the current parsed URL */
|
CURLU *uh; /* URL handle for the current parsed URL */
|
||||||
|
#ifndef CURL_DISABLE_HTTP
|
||||||
void *trailer_data; /* pointer to pass to trailer data callback */
|
void *trailer_data; /* pointer to pass to trailer data callback */
|
||||||
curl_trailer_callback trailer_callback; /* trailing data callback */
|
curl_trailer_callback trailer_callback; /* trailing data callback */
|
||||||
|
#endif
|
||||||
char keep_post; /* keep POSTs as POSTs after a 30x request; each
|
char keep_post; /* keep POSTs as POSTs after a 30x request; each
|
||||||
bit represents a request, from 301 to 303 */
|
bit represents a request, from 301 to 303 */
|
||||||
#ifndef CURL_DISABLE_SMTP
|
#ifndef CURL_DISABLE_SMTP
|
||||||
|
Loading…
Reference in New Issue
Block a user