Revision 40a18fc77ca3ba1b018f0fbdcbdf4a6d237aadf3 authored by Jeff King on 25 February 2017, 19:18:31 UTC, committed by Junio C Hamano on 27 February 2017, 18:35:24 UTC
This variable needs to be specified to make some types of non-basic authentication work, but ideally this would just work out of the box for everyone. However, simply setting it to "1" by default introduces an extra round-trip for cases where it _isn't_ useful. We end up sending a bogus empty credential that the server rejects. Instead, let's introduce an automatic mode, that works like this: 1. We won't try to send the bogus credential on the first request. We'll wait to get an HTTP 401, as usual. 2. After seeing an HTTP 401, the empty-auth hack will kick in only when we know there is an auth method available that might make use of it (i.e., something besides "Basic" or "Digest"). That should make it work out of the box, without incurring any extra round-trips for people hitting Basic-only servers. This _does_ incur an extra round-trip if you really want to use "Basic" but your server advertises other methods (the emptyauth hack will kick in but fail, and then Git will actually ask for a password). The auto mode may incur an extra round-trip over setting http.emptyauth=true, because part of the emptyauth hack is to feed this blank password to curl even before we've made a single request. Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 840398f
File | Mode | Size |
---|---|---|
Documentation | ||
block-sha1 | ||
builtin | ||
ci | ||
compat | ||
contrib | ||
ewah | ||
git-gui | ||
gitk-git | ||
gitweb | ||
mergetools | ||
perl | ||
po | ||
ppc | ||
refs | ||
t | ||
templates | ||
vcs-svn | ||
xdiff | ||
.gitattributes | -rw-r--r-- | 114 bytes |
.gitignore | -rw-r--r-- | 3.1 KB |
.mailmap | -rw-r--r-- | 14.2 KB |
.travis.yml | -rw-r--r-- | 3.1 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 763 bytes |
INSTALL | -rw-r--r-- | 8.9 KB |
LGPL-2.1 | -rw-r--r-- | 26.2 KB |
Makefile | -rw-r--r-- | 77.9 KB |
README.md | -rw-r--r-- | 2.9 KB |
RelNotes | l--------- | 33 bytes |
abspath.c | -rw-r--r-- | 4.4 KB |
aclocal.m4 | -rw-r--r-- | 1.4 KB |
advice.c | -rw-r--r-- | 4.0 KB |
advice.h | -rw-r--r-- | 967 bytes |
alias.c | -rw-r--r-- | 1.5 KB |
alloc.c | -rw-r--r-- | 2.6 KB |
apply.c | -rw-r--r-- | 128.2 KB |
apply.h | -rw-r--r-- | 3.9 KB |
archive-tar.c | -rw-r--r-- | 12.3 KB |
archive-zip.c | -rw-r--r-- | 15.4 KB |
archive.c | -rw-r--r-- | 14.6 KB |
archive.h | -rw-r--r-- | 1.3 KB |
argv-array.c | -rw-r--r-- | 1.7 KB |
argv-array.h | -rw-r--r-- | 689 bytes |
attr.c | -rw-r--r-- | 19.8 KB |
attr.h | -rw-r--r-- | 1.6 KB |
base85.c | -rw-r--r-- | 2.8 KB |
bisect.c | -rw-r--r-- | 25.0 KB |
bisect.h | -rw-r--r-- | 713 bytes |
blob.c | -rw-r--r-- | 389 bytes |
blob.h | -rw-r--r-- | 664 bytes |
branch.c | -rw-r--r-- | 9.2 KB |
branch.h | -rw-r--r-- | 2.4 KB |
builtin.h | -rw-r--r-- | 9.0 KB |
bulk-checkin.c | -rw-r--r-- | 7.0 KB |
bulk-checkin.h | -rw-r--r-- | 323 bytes |
bundle.c | -rw-r--r-- | 12.3 KB |
bundle.h | -rw-r--r-- | 707 bytes |
cache-tree.c | -rw-r--r-- | 17.4 KB |
cache-tree.h | -rw-r--r-- | 1.6 KB |
cache.h | -rw-r--r-- | 71.0 KB |
check-builtins.sh | -rwxr-xr-x | 596 bytes |
check-racy.c | -rw-r--r-- | 523 bytes |
check_bindir | -rwxr-xr-x | 374 bytes |
color.c | -rw-r--r-- | 8.4 KB |
color.h | -rw-r--r-- | 3.2 KB |
column.c | -rw-r--r-- | 9.7 KB |
column.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 40.2 KB |
command-list.txt | -rw-r--r-- | 8.9 KB |
commit-slab.h | -rw-r--r-- | 4.7 KB |
commit.c | -rw-r--r-- | 40.7 KB |
commit.h | -rw-r--r-- | 13.4 KB |
common-main.c | -rw-r--r-- | 1.1 KB |
config.c | -rw-r--r-- | 62.1 KB |
config.mak.in | -rw-r--r-- | 540 bytes |
config.mak.uname | -rw-r--r-- | 16.7 KB |
configure.ac | -rw-r--r-- | 35.2 KB |
connect.c | -rw-r--r-- | 20.5 KB |
connect.h | -rw-r--r-- | 676 bytes |
connected.c | -rw-r--r-- | 3.0 KB |
connected.h | -rw-r--r-- | 1.5 KB |
convert.c | -rw-r--r-- | 40.5 KB |
convert.h | -rw-r--r-- | 2.6 KB |
copy.c | -rw-r--r-- | 1.3 KB |
credential-cache--daemon.c | -rw-r--r-- | 6.9 KB |
credential-cache.c | -rw-r--r-- | 2.9 KB |
credential-store.c | -rw-r--r-- | 5.0 KB |
credential.c | -rw-r--r-- | 7.8 KB |
credential.h | -rw-r--r-- | 833 bytes |
csum-file.c | -rw-r--r-- | 4.0 KB |
csum-file.h | -rw-r--r-- | 1.3 KB |
ctype.c | -rw-r--r-- | 2.6 KB |
daemon.c | -rw-r--r-- | 32.1 KB |
date.c | -rw-r--r-- | 27.1 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 400 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 15.4 KB |
diff-lib.c | -rw-r--r-- | 14.6 KB |
diff-no-index.c | -rw-r--r-- | 7.0 KB |
diff.c | -rw-r--r-- | 142.2 KB |
diff.h | -rw-r--r-- | 12.9 KB |
diffcore-break.c | -rw-r--r-- | 9.0 KB |
diffcore-delta.c | -rw-r--r-- | 5.3 KB |
diffcore-order.c | -rw-r--r-- | 2.4 KB |
diffcore-pickaxe.c | -rw-r--r-- | 6.1 KB |
diffcore-rename.c | -rw-r--r-- | 17.6 KB |
diffcore.h | -rw-r--r-- | 4.7 KB |
dir-iterator.c | -rw-r--r-- | 4.8 KB |
dir-iterator.h | -rw-r--r-- | 2.7 KB |
dir.c | -rw-r--r-- | 71.0 KB |
dir.h | -rw-r--r-- | 10.4 KB |
editor.c | -rw-r--r-- | 1.5 KB |
entry.c | -rw-r--r-- | 7.4 KB |
environment.c | -rw-r--r-- | 9.7 KB |
exec_cmd.c | -rw-r--r-- | 3.0 KB |
exec_cmd.h | -rw-r--r-- | 540 bytes |
fast-import.c | -rw-r--r-- | 88.8 KB |
fetch-pack.c | -rw-r--r-- | 28.0 KB |
fetch-pack.h | -rw-r--r-- | 1.1 KB |
fmt-merge-msg.h | -rw-r--r-- | 187 bytes |
fsck.c | -rw-r--r-- | 24.1 KB |
fsck.h | -rw-r--r-- | 1.8 KB |
generate-cmdlist.sh | -rwxr-xr-x | 929 bytes |
gettext.c | -rw-r--r-- | 5.1 KB |
gettext.h | -rw-r--r-- | 2.2 KB |
git-add--interactive.perl | -rwxr-xr-x | 36.7 KB |
git-archimport.perl | -rwxr-xr-x | 36.0 KB |
git-bisect.sh | -rwxr-xr-x | 15.6 KB |
git-compat-util.h | -rw-r--r-- | 28.8 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.6 KB |
git-cvsimport.perl | -rwxr-xr-x | 31.3 KB |
git-cvsserver.perl | -rwxr-xr-x | 158.5 KB |
git-difftool--helper.sh | -rwxr-xr-x | 2.2 KB |
git-difftool.perl | -rwxr-xr-x | 12.4 KB |
git-filter-branch.sh | -rwxr-xr-x | 12.5 KB |
git-instaweb.sh | -rwxr-xr-x | 18.1 KB |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.6 KB |
git-merge-resolve.sh | -rwxr-xr-x | 944 bytes |
git-mergetool--lib.sh | -rw-r--r-- | 8.7 KB |
git-mergetool.sh | -rwxr-xr-x | 9.8 KB |
git-p4.py | -rwxr-xr-x | 136.9 KB |
git-parse-remote.sh | -rw-r--r-- | 2.6 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.5 KB |
git-rebase--am.sh | -rw-r--r-- | 2.4 KB |
git-rebase--interactive.sh | -rw-r--r-- | 34.5 KB |
git-rebase--merge.sh | -rw-r--r-- | 3.8 KB |
git-rebase.sh | -rwxr-xr-x | 15.7 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-remote-testgit.sh | -rwxr-xr-x | 2.9 KB |
git-request-pull.sh | -rwxr-xr-x | 3.6 KB |
git-send-email.perl | -rwxr-xr-x | 49.4 KB |
git-sh-i18n.sh | -rw-r--r-- | 2.3 KB |
git-sh-setup.sh | -rw-r--r-- | 9.1 KB |
git-stash.sh | -rwxr-xr-x | 13.9 KB |
git-submodule.sh | -rwxr-xr-x | 26.7 KB |
git-svn.perl | -rwxr-xr-x | 62.6 KB |
git-web--browse.sh | -rwxr-xr-x | 4.3 KB |
git.c | -rw-r--r-- | 20.0 KB |
git.rc | -rw-r--r-- | 566 bytes |
gpg-interface.c | -rw-r--r-- | 6.3 KB |
gpg-interface.h | -rw-r--r-- | 1.2 KB |
graph.c | -rw-r--r-- | 35.5 KB |
graph.h | -rw-r--r-- | 4.9 KB |
grep.c | -rw-r--r-- | 43.3 KB |
grep.h | -rw-r--r-- | 4.7 KB |
hashmap.c | -rw-r--r-- | 6.3 KB |
hashmap.h | -rw-r--r-- | 2.5 KB |
help.c | -rw-r--r-- | 11.5 KB |
help.h | -rw-r--r-- | 1.1 KB |
hex.c | -rw-r--r-- | 2.5 KB |
http-backend.c | -rw-r--r-- | 16.6 KB |
http-fetch.c | -rw-r--r-- | 2.2 KB |
http-push.c | -rw-r--r-- | 49.7 KB |
http-walker.c | -rw-r--r-- | 14.0 KB |
http.c | -rw-r--r-- | 58.9 KB |
http.h | -rw-r--r-- | 6.5 KB |
ident.c | -rw-r--r-- | 12.2 KB |
imap-send.c | -rw-r--r-- | 35.7 KB |
iterator.h | -rw-r--r-- | 2.1 KB |
khash.h | -rw-r--r-- | 12.6 KB |
kwset.c | -rw-r--r-- | 20.5 KB |
kwset.h | -rw-r--r-- | 2.6 KB |
levenshtein.c | -rw-r--r-- | 2.5 KB |
levenshtein.h | -rw-r--r-- | 203 bytes |
line-log.c | -rw-r--r-- | 30.6 KB |
line-log.h | -rw-r--r-- | 1.8 KB |
line-range.c | -rw-r--r-- | 6.5 KB |
line-range.h | -rw-r--r-- | 1.3 KB |
list-objects.c | -rw-r--r-- | 6.0 KB |
list-objects.h | -rw-r--r-- | 381 bytes |
list.h | -rw-r--r-- | 4.6 KB |
ll-merge.c | -rw-r--r-- | 10.6 KB |
ll-merge.h | -rw-r--r-- | 567 bytes |
lockfile.c | -rw-r--r-- | 5.4 KB |
lockfile.h | -rw-r--r-- | 10.2 KB |
log-tree.c | -rw-r--r-- | 24.9 KB |
log-tree.h | -rw-r--r-- | 1.2 KB |
mailinfo.c | -rw-r--r-- | 26.0 KB |
mailinfo.h | -rw-r--r-- | 991 bytes |
mailmap.c | -rw-r--r-- | 8.9 KB |
mailmap.h | -rw-r--r-- | 271 bytes |
match-trees.c | -rw-r--r-- | 8.1 KB |
merge-blobs.c | -rw-r--r-- | 1.9 KB |
merge-blobs.h | -rw-r--r-- | 194 bytes |
merge-recursive.c | -rw-r--r-- | 61.1 KB |
merge-recursive.h | -rw-r--r-- | 1.6 KB |
merge.c | -rw-r--r-- | 2.5 KB |
mergesort.c | -rw-r--r-- | 1.5 KB |
mergesort.h | -rw-r--r-- | 574 bytes |
mru.c | -rw-r--r-- | 968 bytes |
mru.h | -rw-r--r-- | 1.0 KB |
name-hash.c | -rw-r--r-- | 5.9 KB |
notes-cache.c | -rw-r--r-- | 2.2 KB |
notes-cache.h | -rw-r--r-- | 500 bytes |
notes-merge.c | -rw-r--r-- | 22.7 KB |
notes-merge.h | -rw-r--r-- | 2.8 KB |
notes-utils.c | -rw-r--r-- | 4.9 KB |
notes-utils.h | -rw-r--r-- | 1.4 KB |
notes.c | -rw-r--r-- | 36.7 KB |
notes.h | -rw-r--r-- | 11.7 KB |
object.c | -rw-r--r-- | 9.6 KB |
object.h | -rw-r--r-- | 4.5 KB |
pack-bitmap-write.c | -rw-r--r-- | 12.3 KB |
pack-bitmap.c | -rw-r--r-- | 24.9 KB |
pack-bitmap.h | -rw-r--r-- | 1.7 KB |
pack-check.c | -rw-r--r-- | 5.2 KB |
pack-objects.c | -rw-r--r-- | 2.1 KB |
pack-objects.h | -rw-r--r-- | 2.0 KB |
pack-revindex.c | -rw-r--r-- | 5.7 KB |
pack-revindex.h | -rw-r--r-- | 323 bytes |
pack-write.c | -rw-r--r-- | 10.2 KB |
pack.h | -rw-r--r-- | 3.2 KB |
pager.c | -rw-r--r-- | 5.7 KB |
parse-options-cb.c | -rw-r--r-- | 5.2 KB |
parse-options.c | -rw-r--r-- | 17.4 KB |
parse-options.h | -rw-r--r-- | 9.9 KB |
patch-delta.c | -rw-r--r-- | 2.2 KB |
patch-ids.c | -rw-r--r-- | 3.1 KB |
patch-ids.h | -rw-r--r-- | 596 bytes |
path.c | -rw-r--r-- | 30.2 KB |
pathspec.c | -rw-r--r-- | 14.3 KB |
pathspec.h | -rw-r--r-- | 3.1 KB |
pkt-line.c | -rw-r--r-- | 8.2 KB |
pkt-line.h | -rw-r--r-- | 3.5 KB |
preload-index.c | -rw-r--r-- | 2.5 KB |
pretty.c | -rw-r--r-- | 44.9 KB |
prio-queue.c | -rw-r--r-- | 1.9 KB |
prio-queue.h | -rw-r--r-- | 1.5 KB |
progress.c | -rw-r--r-- | 6.3 KB |
progress.h | -rw-r--r-- | 504 bytes |
prompt.c | -rw-r--r-- | 1.4 KB |
prompt.h | -rw-r--r-- | 168 bytes |
quote.c | -rw-r--r-- | 10.6 KB |
quote.h | -rw-r--r-- | 2.8 KB |
reachable.c | -rw-r--r-- | 4.8 KB |
reachable.h | -rw-r--r-- | 304 bytes |
read-cache.c | -rw-r--r-- | 62.4 KB |
ref-filter.c | -rw-r--r-- | 44.0 KB |
ref-filter.h | -rw-r--r-- | 3.3 KB |
reflog-walk.c | -rw-r--r-- | 8.5 KB |
reflog-walk.h | -rw-r--r-- | 792 bytes |
refs.c | -rw-r--r-- | 37.6 KB |
refs.h | -rw-r--r-- | 20.0 KB |
remote-curl.c | -rw-r--r-- | 26.7 KB |
remote-testsvn.c | -rw-r--r-- | 8.3 KB |
remote.c | -rw-r--r-- | 58.5 KB |
remote.h | -rw-r--r-- | 8.0 KB |
replace_object.c | -rw-r--r-- | 3.0 KB |
rerere.c | -rw-r--r-- | 31.0 KB |
rerere.h | -rw-r--r-- | 1.2 KB |
resolve-undo.c | -rw-r--r-- | 4.3 KB |
resolve-undo.h | -rw-r--r-- | 612 bytes |
revision.c | -rw-r--r-- | 91.6 KB |
revision.h | -rw-r--r-- | 7.8 KB |
run-command.c | -rw-r--r-- | 28.9 KB |
run-command.h | -rw-r--r-- | 7.6 KB |
send-pack.c | -rw-r--r-- | 14.8 KB |
send-pack.h | -rw-r--r-- | 841 bytes |
sequencer.c | -rw-r--r-- | 40.1 KB |
sequencer.h | -rw-r--r-- | 1017 bytes |
server-info.c | -rw-r--r-- | 5.7 KB |
setup.c | -rw-r--r-- | 27.4 KB |
sh-i18n--envsubst.c | -rw-r--r-- | 10.3 KB |
sha1-array.c | -rw-r--r-- | 1.3 KB |
sha1-array.h | -rw-r--r-- | 592 bytes |
sha1-lookup.c | -rw-r--r-- | 9.2 KB |
sha1-lookup.h | -rw-r--r-- | 403 bytes |
sha1_file.c | -rw-r--r-- | 93.9 KB |
sha1_name.c | -rw-r--r-- | 39.8 KB |
shallow.c | -rw-r--r-- | 19.4 KB |
shell.c | -rw-r--r-- | 4.8 KB |
shortlog.h | -rw-r--r-- | 476 bytes |
show-index.c | -rw-r--r-- | 2.2 KB |
sideband.c | -rw-r--r-- | 3.1 KB |
sideband.h | -rw-r--r-- | 259 bytes |
sigchain.c | -rw-r--r-- | 1.1 KB |
sigchain.h | -rw-r--r-- | 247 bytes |
split-index.c | -rw-r--r-- | 9.0 KB |
split-index.h | -rw-r--r-- | 1.1 KB |
strbuf.c | -rw-r--r-- | 18.6 KB |
strbuf.h | -rw-r--r-- | 19.3 KB |
streaming.c | -rw-r--r-- | 11.8 KB |
streaming.h | -rw-r--r-- | 507 bytes |
string-list.c | -rw-r--r-- | 7.3 KB |
string-list.h | -rw-r--r-- | 5.1 KB |
submodule-config.c | -rw-r--r-- | 13.8 KB |
submodule-config.h | -rw-r--r-- | 1.0 KB |
submodule.c | -rw-r--r-- | 36.8 KB |
submodule.h | -rw-r--r-- | 3.0 KB |
symlinks.c | -rw-r--r-- | 9.3 KB |
tag.c | -rw-r--r-- | 4.4 KB |
tag.h | -rw-r--r-- | 608 bytes |
tar.h | -rw-r--r-- | 644 bytes |
tempfile.c | -rw-r--r-- | 8.2 KB |
tempfile.h | -rw-r--r-- | 9.5 KB |
thread-utils.c | -rw-r--r-- | 1.7 KB |
thread-utils.h | -rw-r--r-- | 241 bytes |
tmp-objdir.c | -rw-r--r-- | 6.4 KB |
tmp-objdir.h | -rw-r--r-- | 1.5 KB |
trace.c | -rw-r--r-- | 10.8 KB |
trace.h | -rw-r--r-- | 3.6 KB |
trailer.c | -rw-r--r-- | 24.5 KB |
trailer.h | -rw-r--r-- | 170 bytes |
transport-helper.c | -rw-r--r-- | 35.7 KB |
transport.c | -rw-r--r-- | 30.6 KB |
transport.h | -rw-r--r-- | 8.2 KB |
tree-diff.c | -rw-r--r-- | 17.9 KB |
tree-walk.c | -rw-r--r-- | 28.1 KB |
tree-walk.h | -rw-r--r-- | 3.1 KB |
tree.c | -rw-r--r-- | 6.2 KB |
tree.h | -rw-r--r-- | 1.0 KB |
unicode_width.h | -rw-r--r-- | 8.2 KB |
unimplemented.sh | -rw-r--r-- | 101 bytes |
unix-socket.c | -rw-r--r-- | 2.4 KB |
unix-socket.h | -rw-r--r-- | 158 bytes |
unpack-trees.c | -rw-r--r-- | 51.4 KB |
unpack-trees.h | -rw-r--r-- | 2.2 KB |
upload-pack.c | -rw-r--r-- | 26.9 KB |
url.c | -rw-r--r-- | 2.4 KB |
url.h | -rw-r--r-- | 492 bytes |
urlmatch.c | -rw-r--r-- | 16.5 KB |
urlmatch.h | -rw-r--r-- | 1.9 KB |
usage.c | -rw-r--r-- | 4.0 KB |
userdiff.c | -rw-r--r-- | 9.6 KB |
userdiff.h | -rw-r--r-- | 780 bytes |
utf8.c | -rw-r--r-- | 16.1 KB |
utf8.h | -rw-r--r-- | 2.2 KB |
varint.c | -rw-r--r-- | 660 bytes |
varint.h | -rw-r--r-- | 168 bytes |
version.c | -rw-r--r-- | 651 bytes |
version.h | -rw-r--r-- | 180 bytes |
versioncmp.c | -rw-r--r-- | 3.4 KB |
walker.c | -rw-r--r-- | 7.4 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wildmatch.c | -rw-r--r-- | 7.8 KB |
wildmatch.h | -rw-r--r-- | 346 bytes |
worktree.c | -rw-r--r-- | 9.1 KB |
worktree.h | -rw-r--r-- | 2.2 KB |
wrap-for-bin.sh | -rw-r--r-- | 819 bytes |
wrapper.c | -rw-r--r-- | 14.5 KB |
write_or_die.c | -rw-r--r-- | 1.5 KB |
ws.c | -rw-r--r-- | 9.6 KB |
wt-status.c | -rw-r--r-- | 62.1 KB |
wt-status.h | -rw-r--r-- | 3.5 KB |
xdiff-interface.c | -rw-r--r-- | 7.0 KB |
xdiff-interface.h | -rw-r--r-- | 1.2 KB |
zlib.c | -rw-r--r-- | 6.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...