remove FILE protocol-specific checks
Also, convert the BANPROXY flag into NONETWORK for the protocols (file:// only atm) that don't work over networks.
This commit is contained in:
parent
4508ea103f
commit
51075a6777
@ -129,7 +129,7 @@ const struct Curl_handler Curl_handler_file = {
|
|||||||
ZERO_NULL, /* disconnect */
|
ZERO_NULL, /* disconnect */
|
||||||
0, /* defport */
|
0, /* defport */
|
||||||
CURLPROTO_FILE, /* protocol */
|
CURLPROTO_FILE, /* protocol */
|
||||||
PROTOPT_BANPROXY /* flags */
|
PROTOPT_NONETWORK /* flags */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
11
lib/url.c
11
lib/url.c
@ -4768,9 +4768,9 @@ static CURLcode create_conn(struct SessionHandle *data,
|
|||||||
else if(!proxy)
|
else if(!proxy)
|
||||||
proxy = detect_proxy(conn);
|
proxy = detect_proxy(conn);
|
||||||
|
|
||||||
if(proxy && (!*proxy || (conn->handler->flags & PROTOPT_BANPROXY))) {
|
if(proxy && (!*proxy || (conn->handler->flags & PROTOPT_NONETWORK))) {
|
||||||
free(proxy); /* Don't bother with an empty proxy string or if the
|
free(proxy); /* Don't bother with an empty proxy string or if the
|
||||||
protocol doesn't work with proxy */
|
protocol doesn't work with network */
|
||||||
proxy = NULL;
|
proxy = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4828,7 +4828,7 @@ static CURLcode create_conn(struct SessionHandle *data,
|
|||||||
* file: is a special case in that it doesn't need a network connection
|
* file: is a special case in that it doesn't need a network connection
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
#ifndef CURL_DISABLE_FILE
|
#ifndef CURL_DISABLE_FILE
|
||||||
if(conn->handler->protocol & CURLPROTO_FILE) {
|
if(conn->handler->flags & PROTOPT_NONETWORK) {
|
||||||
bool done;
|
bool done;
|
||||||
/* this is supposed to be the connect function so we better at least check
|
/* this is supposed to be the connect function so we better at least check
|
||||||
that the file is present here! */
|
that the file is present here! */
|
||||||
@ -4988,9 +4988,8 @@ CURLcode Curl_setup_conn(struct connectdata *conn,
|
|||||||
|
|
||||||
Curl_pgrsTime(data, TIMER_NAMELOOKUP);
|
Curl_pgrsTime(data, TIMER_NAMELOOKUP);
|
||||||
|
|
||||||
if(conn->handler->protocol & CURLPROTO_FILE) {
|
if(conn->handler->flags & PROTOPT_NONETWORK) {
|
||||||
/* There's nothing in this function to setup if we're only doing
|
/* nothing to setup when not using a network */
|
||||||
a file:// transfer */
|
|
||||||
*protocol_done = TRUE;
|
*protocol_done = TRUE;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -698,7 +698,7 @@ struct Curl_handler {
|
|||||||
the send function might need to be called while uploading, or vice versa.
|
the send function might need to be called while uploading, or vice versa.
|
||||||
*/
|
*/
|
||||||
#define PROTOPT_DIRLOCK (1<<3)
|
#define PROTOPT_DIRLOCK (1<<3)
|
||||||
#define PROTOPT_BANPROXY (1<<4) /* not allowed to use proxy */
|
#define PROTOPT_NONETWORK (1<<4) /* protocol doesn't use the network! */
|
||||||
|
|
||||||
|
|
||||||
/* return the count of bytes sent, or -1 on error */
|
/* return the count of bytes sent, or -1 on error */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user