← Commit list

bfcc1c6eb4

Stefan Eissing
Stefan Eissing
2026-04-24
SUCCESS Duration: 246s

Subject

setup connection filter: mark as setup

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/cfilters.c+34 -0
@@ -116,6 +116,37 @@ CURLcode Curl_cf_def_query(struct Curl_cfilter *cf,
CURLE_UNKNOWN_OPTION;
}
+#ifdef CURLVERBOSE
+static void conn_trc_filters(struct Curl_easy *data,
+ int sockindex,
+ const char *info)
+{
+ if(CURL_TRC_M_is_verbose(data) && data->conn) {
+ struct Curl_cfilter *cf = data->conn->cfilter[sockindex];
+
+ if(cf) {
+ struct dynbuf msg;
+ CURLcode result = CURLE_OK;
+
+ curlx_dyn_init(&msg, 1024);
+ result = curlx_dyn_addf(&msg, "%s [%d]", info, sockindex);
+ for(; cf && !result; cf = cf->next) {
+ result = curlx_dyn_addf(&msg, "[%s%s]",
+ cf->connected ? "" : "!", cf->cft->name);
+ }
+ if(!result)
+ CURL_TRC_M(data, "%s", curlx_dyn_ptr(&msg));
+ else
+ CURL_TRC_M(data, "%s [%d] error %d tracing chain",
+ info, sockindex, result);
+ curlx_dyn_free(&msg);
+ }
+ else
+ CURL_TRC_M(data, "%s [%d][-]", info, sockindex);
+ }
+}
+#endif /* CURLVERBOSE */
+
void Curl_conn_cf_discard_chain(struct Curl_cfilter **pcf,
struct Curl_easy *data)
{
@@ -560,11 +591,14 @@ CURLcode Curl_conn_connect(struct Curl_easy *data,
conn_report_connect_stats(cf, data);
data->conn->keepalive = *Curl_pgrs_now(data);
VERBOSE(result = cf_verboseconnect(data, cf));
+ VERBOSE(conn_trc_filters(data, sockindex, "connected"));
conn_remove_setup_filters(data, sockindex);
+ VERBOSE(conn_trc_filters(data, sockindex, "reduced to"));
goto out;
}
else if(result) {
CURL_TRC_CF(data, cf, "Curl_conn_connect(), filter returned %d", result);
+ VERBOSE(conn_trc_filters(data, sockindex, "failed to connect"));
conn_report_connect_stats(cf, data);
goto out;
}
lib/connect.c+1 -1
@@ -490,7 +490,7 @@ static void cf_setup_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
struct Curl_cftype Curl_cft_setup = {
"SETUP",
- 0,
+ CF_TYPE_SETUP,
CURL_LOG_LVL_NONE,
cf_setup_destroy,
cf_setup_connect,