Commit 51075a67 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

remove FILE protocol-specific checks

Also, convert the BANPROXY flag into NONETWORK for the protocols
(file:// only atm) that don't work over networks.
parent 4508ea10
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -129,7 +129,7 @@ const struct Curl_handler Curl_handler_file = {
  ZERO_NULL,                            /* disconnect */
  0,                                    /* defport */
  CURLPROTO_FILE,                       /* protocol */
  PROTOPT_BANPROXY                      /* flags */
  PROTOPT_NONETWORK                     /* flags */
};


+5 −6
Original line number Diff line number Diff line
@@ -4768,9 +4768,9 @@ static CURLcode create_conn(struct SessionHandle *data,
  else if(!proxy)
    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
                     protocol doesn't work with proxy */
                     protocol doesn't work with network */
    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
   ***********************************************************************/
#ifndef CURL_DISABLE_FILE
  if(conn->handler->protocol & CURLPROTO_FILE) {
  if(conn->handler->flags & PROTOPT_NONETWORK) {
    bool done;
    /* this is supposed to be the connect function so we better at least check
       that the file is present here! */
@@ -4988,9 +4988,8 @@ CURLcode Curl_setup_conn(struct connectdata *conn,

  Curl_pgrsTime(data, TIMER_NAMELOOKUP);

  if(conn->handler->protocol & CURLPROTO_FILE) {
    /* There's nothing in this function to setup if we're only doing
       a file:// transfer */
  if(conn->handler->flags & PROTOPT_NONETWORK) {
    /* nothing to setup when not using a network */
    *protocol_done = TRUE;
    return result;
  }
+1 −1
Original line number Diff line number Diff line
@@ -698,7 +698,7 @@ struct Curl_handler {
   the send function might need to be called while uploading, or vice versa.
*/
#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 */