* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
else
break;
}
- free(orgcmd);
+ if(orgcmd)
+ free(orgcmd);
}
return 0; /* OK! */
req->callcount = 0;
req->connect_port = 0;
req->done_processing = 0;
- req->upgrade = 0;
- req->upgrade_request = 0;
}
/* returns 1 if the connection should be serviced again immediately, 0 if there
}
if(got_exit_signal) {
- free(ptr);
+ if(ptr)
+ free(ptr);
return -1;
}
error = errno;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg(" [4] Error opening file: %s", filename);
- free(ptr);
+ if(ptr)
+ free(ptr);
return 0;
}
else {
fclose(stream);
if(error) {
logmsg("getpart() failed with error: %d", error);
- free(ptr);
+ if(ptr)
+ free(ptr);
return 0;
}
}
}
if(got_exit_signal) {
- free(ptr);
- free(cmd);
+ if(ptr)
+ free(ptr);
+ if(cmd)
+ free(cmd);
return -1;
}
error = errno;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg(" [5] Error opening file: %s", responsedump);
- free(ptr);
- free(cmd);
+ if(ptr)
+ free(ptr);
+ if(cmd)
+ free(cmd);
return -1;
}
responsedump, error, strerror(error));
if(got_exit_signal) {
- free(ptr);
- free(cmd);
+ if(ptr)
+ free(ptr);
+ if(cmd)
+ free(cmd);
return -1;
}
if(sendfailure) {
logmsg("Sending response failed. Only (%zu bytes) of (%zu bytes) were sent",
responsesize-count, responsesize);
- free(ptr);
- free(cmd);
+ if(ptr)
+ free(ptr);
+ if(cmd)
+ free(cmd);
return -1;
}
logmsg("Response sent (%zu bytes) and written to %s",
responsesize, responsedump);
- free(ptr);
+
+ if(ptr)
+ free(ptr);
if(cmdsize > 0 ) {
char command[32];
ptr = NULL;
} while(ptr && *ptr);
}
- free(cmd);
+ if(cmd)
+ free(cmd);
+
req->open = use_gopher?FALSE:persistant;
prevtestno = req->testno;
if(0 != setsockopt(serverfd, IPPROTO_TCP, TCP_NODELAY,
(void *)&flag, sizeof(flag)))
logmsg("====> TCP_NODELAY for server conection failed");
+ else
+ logmsg("TCP_NODELAY set for server conection");
}
#endif
int max_tunnel_idx; /* CTRL or DATA */
int loop;
int i;
- int timeout_count=0;
/* primary tunnel client endpoint already connected */
clientfd[CTRL] = *infdp;
fd_set input;
fd_set output;
- struct timeval timeout = {1, 0}; /* 1000 ms */
+ struct timeval timeout = {0, 250000L}; /* 250 ms */
ssize_t rc;
curl_socket_t maxfd = (curl_socket_t)-1;
if(rc > 0) {
/* socket action */
bool tcp_fin_wr;
- timeout_count=0;
if(got_exit_signal)
break;
if(0 != setsockopt(datafd, IPPROTO_TCP, TCP_NODELAY,
(void *)&flag, sizeof(flag)))
logmsg("====> TCP_NODELAY for client DATA conection failed");
+ else
+ logmsg("TCP_NODELAY set for client DATA conection");
}
#endif
req2.pipelining = FALSE;
break;
} /* (rc > 0) */
- else {
- timeout_count++;
- if(timeout_count > 5) {
- logmsg("CONNECT proxy timeout after %d idle seconds!", timeout_count);
- break;
- }
- }
+
}
http_connect_cleanup:
if(0 != setsockopt(msgsock, IPPROTO_TCP, TCP_NODELAY,
(void *)&flag, sizeof(flag)))
logmsg("====> TCP_NODELAY failed");
+ else
+ logmsg("TCP_NODELAY set");
}
#endif