]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
libssh2: print user with verbose flag
authorSamuel Dionne-Riel <samuel@dionne-riel.com>
Fri, 21 Feb 2025 19:24:48 +0000 (14:24 -0500)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 4 Mar 2025 13:47:52 +0000 (14:47 +0100)
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

index 304c9fa69fc6ee8b254216206a02b7100ce3c2a7..eaaa922a71fd9a92b5bbec4c899c9f89b5091f23 100644 (file)
@@ -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);
   }