author | H. Peter Anvin <hpa@zytor.com> | |
Wed, 19 Oct 2005 21:27:01 +0000 (14:27 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Wed, 19 Oct 2005 21:27:01 +0000 (14:27 -0700) | ||
commit | 960deccb26a5bee6c6cd63d50e8272f540a27b19 | |
tree | a5921439da568a46cbb9db25e3d2fa6403167a56 | tree | snapshot |
parent | f8765797a41a39f4dfc7030098c38283e6461a83 | commit | diff |
git-daemon: timeout, eliminate double DWIM
It turns out that not only did git-daemon do DWIM, but git-upload-pack
does as well. This is bad; security checks have to be performed *after*
canonicalization, not before.
Additionally, the current git-daemon can be trivially DoSed by spewing
SYNs at the target port.
This patch adds a --strict option to git-upload-pack to disable all
DWIM, a --timeout option to git-daemon and git-upload-pack, and an
--init-timeout option to git-daemon (which is typically set to a much
lower value, since the initial request should come immediately from the
client.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
It turns out that not only did git-daemon do DWIM, but git-upload-pack
does as well. This is bad; security checks have to be performed *after*
canonicalization, not before.
Additionally, the current git-daemon can be trivially DoSed by spewing
SYNs at the target port.
This patch adds a --strict option to git-upload-pack to disable all
DWIM, a --timeout option to git-daemon and git-upload-pack, and an
--init-timeout option to git-daemon (which is typically set to a much
lower value, since the initial request should come immediately from the
client.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
daemon.c | diff | blob | history | |
upload-pack.c | diff | blob | history |