Move AUR_OVERWRITE privilege check from git/auth to git/update

git/auth is run as an AutherizedKeysCommand which does not get the
environment variables passed to it, so AUR_OVERWRITE always got
hard-set to '0' by it.  Instead we need to perform the actual privilege
check in git/update instead.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Johannes Löthberg 2018-01-21 17:51:02 +01:00 committed by Lukas Fleischer
parent ac29097ce8
commit e5b43760c2
4 changed files with 14 additions and 20 deletions

View file

@ -25,21 +25,4 @@ test_expect_success 'Test authentication with a wrong key.' '
test_must_be_empty out
'
test_expect_success 'Test AUR_OVERWRITE passthrough.' '
AUR_OVERWRITE=1 \
"$GIT_AUTH" "$AUTH_KEYTYPE_TU" "$AUTH_KEYTEXT_TU" >out &&
grep -q AUR_OVERWRITE=1 out
'
test_expect_success 'Make sure that AUR_OVERWRITE is unset by default.' '
"$GIT_AUTH" "$AUTH_KEYTYPE_TU" "$AUTH_KEYTEXT_TU" >out &&
grep -q AUR_OVERWRITE=0 out
'
test_expect_success 'Make sure regular users cannot set AUR_OVERWRITE.' '
AUR_OVERWRITE=1 \
"$GIT_AUTH" "$AUTH_KEYTYPE_USER" "$AUTH_KEYTEXT_USER" >out &&
grep -q AUR_OVERWRITE=0 out
'
test_done