Skip to content

Commit de4b3c5

Browse files
committed
http(s): automatically try NTLM authentication first
It is common in corporate setups to have permissions managed via a domain account. That means that the user does not really have to log in when accessing a central repository via https://, but that the login credentials are used to authenticate with that repository. The common way to do that used to require empty credentials, i.e. hitting Enter twice when being asked for user name and password, or by using the very funny notation https://:@server/repository A recent commit (5275c30 (http: http.emptyauth should allow empty (not just NULL) usernames, 2016-10-04)) broke that usage, though, all of a sudden requiring users to set http.emptyAuth = true. Which brings us to the bigger question why http.emptyAuth defaults to false, to begin with. It would be one thing if cURL would not let the user specify credentials interactively after attempting NTLM authentication (i.e. login credentials), but that is not the case. It would be another thing if attempting NTLM authentication was not usually what users need to do when trying to authenticate via https://. But that is also not the case. So let's just go ahead and change the default, and unbreak the NTLM authentication. As a bonus, this also makes the "you need to hit Enter twice" (which is hard to explain: why enter empty credentials when you want to authenticate with your login credentials?) and the ":@" hack (which is also pretty, pretty hard to explain to users) obsolete. This fixes git-for-windows#987 Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 4cb38c0 commit de4b3c5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

http.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ static int curl_save_cookies;
109109
struct credential http_auth = CREDENTIAL_INIT;
110110
static int http_proactive_auth;
111111
static const char *user_agent;
112-
static int curl_empty_auth;
112+
static int curl_empty_auth = 1;
113113

114114
enum http_follow_config http_follow_config = HTTP_FOLLOW_INITIAL;
115115

0 commit comments

Comments
 (0)