cURL / Mailing Lists / curl-library / Single Mail

curl-library

[PATCH 2/2] ntlm_wb: Avoid invoking ntlm_auth helper with empty username

From: David Woodhouse <dwmw2_at_infradead.org>
Date: Fri, 11 Jul 2014 11:36:46 +0100

From: David Woodhouse <David.Woodhouse_at_intel.com>

---
 lib/curl_ntlm_wb.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
diff --git a/lib/curl_ntlm_wb.c b/lib/curl_ntlm_wb.c
index 52d1323..ac05fbb 100644
--- a/lib/curl_ntlm_wb.c
+++ b/lib/curl_ntlm_wb.c
@@ -124,6 +124,21 @@ static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp)
     return CURLE_OK;
 
   username = userp;
+  /* The real ntlm_auth really doesn't like being invoked with an
+     empty username. It won't make inferences for itself, and expects
+     the client to do so (mostly because it's really designed for
+     servers like squid to use for auth, and client support is an
+     afterthought for it). So try hard to provide a suitable username
+     if we don't already have one. But if we can't, provide the
+     empty one anyway. Perhaps they have an implementation of the
+     ntlm_auth helper which *doesn't* need it so we might as well try */
+  if(*username == '\0') {
+    username = getenv("NTLMUSER");
+    if(!username)
+      username = getenv("LOGNAME");
+    if(!username)
+      username = userp;
+  }
   slash = strpbrk(username, "\\/");
   if(slash) {
     if((domain = strdup(username)) == NULL)
-- 
1.9.3
-- 
dwmw2

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html

  • application/x-pkcs7-signature attachment: smime.p7s
Received on 2014-07-11