From: Daniel Stenberg Date: Wed, 11 Jan 2023 13:15:26 +0000 (+0100) Subject: curl: output warning at --verbose output for debug-enabled version X-Git-Tag: curl-7_88_0~134 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d3b167f48eb2909b40f912e72c183c34e62024c;p=thirdparty%2Fcurl.git curl: output warning at --verbose output for debug-enabled version + a libcurl warning in the debug output Assisted-by: Jay Satiro Ref: https://curl.se/mail/lib-2023-01/0039.html Closes #10278 --- diff --git a/lib/multi.c b/lib/multi.c index b6187cd20f..403274814b 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1861,6 +1861,15 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, multistate(data, MSTATE_COMPLETED); } +#ifdef DEBUGBUILD + if(!multi->warned) { + infof(data, "!!! WARNING !!!"); + infof(data, "This is a debug build of libcurl, " + "do not use in production."); + multi->warned = true; + } +#endif + do { /* A "stream" here is a logical stream if the protocol can handle that (HTTP/2), or the full connection for older protocols */ diff --git a/lib/multihandle.h b/lib/multihandle.h index 7dd6a0a75d..6cda65d442 100644 --- a/lib/multihandle.h +++ b/lib/multihandle.h @@ -170,6 +170,9 @@ struct Curl_multi { #endif BIT(dead); /* a callback returned error, everything needs to crash and burn */ +#ifdef DEBUGBUILD + BIT(warned); /* true after user warned of DEBUGBUILD */ +#endif }; #endif /* HEADER_CURL_MULTIHANDLE_H */ diff --git a/src/tool_help.c b/src/tool_help.c index 709b8fefb7..729b78c366 100644 --- a/src/tool_help.c +++ b/src/tool_help.c @@ -151,10 +151,21 @@ void tool_help(char *category) free(category); } +static bool is_debug(void) +{ + const char *const *builtin; + for(builtin = feature_names; *builtin; ++builtin) + if(curl_strequal("debug", *builtin)) + return TRUE; + return FALSE; +} void tool_version_info(void) { const char *const *builtin; + if(is_debug()) + fprintf(stderr, "WARNING: this libcurl is Debug-enabled, " + "do not use in production\n\n"); printf(CURL_ID "%s\n", curl_version()); #ifdef CURL_PATCHSTAMP