From 0cd2670afb47efd654664f34b794209f5371734d Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Fri, 21 Feb 2025 14:24:48 -0500 Subject: [PATCH] libssh2: print user with verbose flag This change: - Breaks out the existing print out of the LIBSSH2_DEBUG compile-time flag - Adds (single) quotation marks around the string to better expose the actual value - Adds a NULL print if not set, mirroring other verbose prints in libssh2 Why was this done? I was trying out the `sftp` option in `curl`, and found myself hitting an issue where I was not able to get curl to tell me which username it was using to connect to a host. With this change, the `User: ` line is printed with `-v`, just like other SSH verbose prints. Instead of using the pattern used with *SSH MD5 public key*, where a ternary is used to print `NULL` on NULL values, it is using a different branch to add quotes around the string value. The quotes around the string value are used to better expose to the user an empty string value, compared to "no-value". Closes #16430 --- lib/vssh/libssh2.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/vssh/libssh2.c b/lib/vssh/libssh2.c index 304c9fa69f..eaaa922a71 100644 --- a/lib/vssh/libssh2.c +++ b/lib/vssh/libssh2.c @@ -3167,10 +3167,11 @@ static CURLcode ssh_connect(struct Curl_easy *data, bool *done) sshc = &conn->proto.sshc; + if(conn->user) + infof(data, "User: '%s'", conn->user); + else + infof(data, "User: NULL"); #ifdef CURL_LIBSSH2_DEBUG - if(conn->user) { - infof(data, "User: %s", conn->user); - } if(conn->passwd) { infof(data, "Password: %s", conn->passwd); } -- 2.47.3