summaryrefslogtreecommitdiff
path: root/lib/vtls
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2021-06-18 10:18:39 +0200
committerDaniel Stenberg <daniel@haxx.se>2021-06-19 23:02:16 +0200
commita6da29686729eb50e92c14c9e74857526ebc3da5 (patch)
tree609380066aac7f25386d48418a925edd43fad777 /lib/vtls
parentbfa03091752408c6b2db6657587aba04ff9b2874 (diff)
downloadcurl-a6da29686729eb50e92c14c9e74857526ebc3da5.tar.gz
vtls: only store TIMER_APPCONNECT for non-proxy connect
Introducing a 'isproxy' argument to the connect function so that it knows wether to store the time stamp or not. Reported-by: Yongkang Huang Fixes #7274 Closes #7274
Diffstat (limited to 'lib/vtls')
-rw-r--r--lib/vtls/vtls.c4
-rw-r--r--lib/vtls/vtls.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index b73b7ee73..82883c9c5 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -326,7 +326,7 @@ Curl_ssl_connect(struct Curl_easy *data, struct connectdata *conn,
CURLcode
Curl_ssl_connect_nonblocking(struct Curl_easy *data, struct connectdata *conn,
- int sockindex, bool *done)
+ bool isproxy, int sockindex, bool *done)
{
CURLcode result;
@@ -345,7 +345,7 @@ Curl_ssl_connect_nonblocking(struct Curl_easy *data, struct connectdata *conn,
result = Curl_ssl->connect_nonblocking(data, conn, sockindex, done);
if(result)
conn->ssl[sockindex].use = FALSE;
- else if(*done)
+ else if(*done && !isproxy)
Curl_pgrsTime(data, TIMER_APPCONNECT); /* SSL is connected */
return result;
}
diff --git a/lib/vtls/vtls.h b/lib/vtls/vtls.h
index 7f93e7aed..a0585c9ce 100644
--- a/lib/vtls/vtls.h
+++ b/lib/vtls/vtls.h
@@ -193,6 +193,7 @@ CURLcode Curl_ssl_connect(struct Curl_easy *data, struct connectdata *conn,
int sockindex);
CURLcode Curl_ssl_connect_nonblocking(struct Curl_easy *data,
struct connectdata *conn,
+ bool isproxy,
int sockindex,
bool *done);
/* tell the SSL stuff to close down all open information regarding
@@ -313,7 +314,7 @@ void Curl_ssl_detach_conn(struct Curl_easy *data,
#define Curl_ssl_data_pending(x,y) 0
#define Curl_ssl_check_cxn(x) 0
#define Curl_ssl_free_certinfo(x) Curl_nop_stmt
-#define Curl_ssl_connect_nonblocking(x,y,z,w) CURLE_NOT_BUILT_IN
+#define Curl_ssl_connect_nonblocking(x,y,z,w,a) CURLE_NOT_BUILT_IN
#define Curl_ssl_kill_session(x) Curl_nop_stmt
#define Curl_ssl_random(x,y,z) ((void)x, CURLE_NOT_BUILT_IN)
#define Curl_ssl_cert_status_request() FALSE