]> git.ipfire.org Git - thirdparty/git.git/commitdiff
doc: clarify http.emptyAuth values
authorMatthew John Cheetham <mjcheetham@outlook.com>
Thu, 30 Apr 2026 10:54:32 +0000 (10:54 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 1 May 2026 05:01:57 +0000 (14:01 +0900)
The existing description of http.emptyAuth explains the purpose of the
setting but never says what values it accepts. Readers have to infer
from context (or read the source) that it takes 'true', 'false', or
'auto', and what each one means.

Document the three accepted values explicitly:

* 'auto' (the default) only sends empty credentials when the server's
  401 response advertises a mechanism that requires them, such as
  GSS-Negotiate. This matches the long-standing auto-detection
  behaviour added in 40a18fc77c (http: add an "auto" mode for
  http.emptyauth, 2017-02-25).

* 'true' unconditionally sends empty credentials on the very first
  request, before any 401 response, for callers that know they want
  this behaviour up front.

* 'false' disables the feature entirely; mechanisms that depend on
  empty credentials, such as GSS-Negotiate, will not work in this
  mode.

Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config/http.adoc

index 849c89f36c5ad8459f6107b8b649f7801b8c92e1..792a71b41350d46aa386d8dbbb9de9f5ff654832 100644 (file)
@@ -59,7 +59,18 @@ http.emptyAuth::
        Attempt authentication without seeking a username or password.  This
        can be used to attempt GSS-Negotiate authentication without specifying
        a username in the URL, as libcurl normally requires a username for
-       authentication.
+       authentication. Possible values are:
++
+--
+* `auto` (default) - Send empty credentials only if the server's 401 response
+  advertises an authentication mechanism that requires them (such as
+  GSS-Negotiate); otherwise fall back to prompting via the credential helper.
+* `true` - Always send empty credentials on the very first request, before
+  receiving any 401 response from the server.
+* `false` - Never send empty credentials. Mechanisms that require
+  empty credentials or an explicit username, such as GSS-Negotiate, will not
+  work.
+--
 
 http.proactiveAuth::
        Attempt authentication without first making an unauthenticated attempt and