Pass some git environment variables to the test-receive hook
Since git 2.11, git has stored the proposed push in a "quarantine area" until it is accepted by the pre-receive hook, and passed extra environment variables to the pre-receive hook so that it can read objects from the quarantine area. This fixes untrusted push on modern git versions. Signed-off-by: Simon McVittie <smcv@debian.org>master
parent
cf7df018cc
commit
6fb43c29f6
|
@ -52,6 +52,8 @@ sub gen_wrapper () {
|
||||||
HTTP_COOKIE REMOTE_USER HTTPS REDIRECT_STATUS
|
HTTP_COOKIE REMOTE_USER HTTPS REDIRECT_STATUS
|
||||||
HTTP_HOST SERVER_PORT HTTPS HTTP_ACCEPT
|
HTTP_HOST SERVER_PORT HTTPS HTTP_ACCEPT
|
||||||
REDIRECT_URL} if $config{cgi};
|
REDIRECT_URL} if $config{cgi};
|
||||||
|
push @envsave, qw{GIT_OBJECT_DIRECTORY GIT_QUARANTINE_PATH
|
||||||
|
GIT_ALTERNATE_OBJECT_DIRECTORIES} if $config{test_receive};
|
||||||
my $envsave="";
|
my $envsave="";
|
||||||
foreach my $var (@envsave) {
|
foreach my $var (@envsave) {
|
||||||
$envsave.=<<"EOF";
|
$envsave.=<<"EOF";
|
||||||
|
|
Loading…
Reference in New Issue