tests: Make sure that git does not access $HOME
With the latest changes to prevent git from accessing configuration files that it should not, it's important to be sure that we won't have further breakage in the future. Use strace to implement a test to make sure cgit does not access() anything built from $HOME. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Este commit está contenido en:
padre
9844c60755
commit
dd1f0e5f1b
25
tests/t0109-gitconfig.sh
Archivo ejecutable
25
tests/t0109-gitconfig.sh
Archivo ejecutable
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='Ensure that git does not access $HOME'
|
||||||
|
. ./setup.sh
|
||||||
|
|
||||||
|
test -n "$(which strace 2>/dev/null)" || {
|
||||||
|
skip_all='Skipping access validation tests: strace not found'
|
||||||
|
test_done
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
test_expect_success 'no access to $HOME' '
|
||||||
|
non_existant_path="/path/to/some/place/that/does/not/possibly/exist"
|
||||||
|
while test -d "$non_existant_path"; do
|
||||||
|
non_existant_path="$non_existant_path/$(date +%N)"
|
||||||
|
done
|
||||||
|
strace \
|
||||||
|
-E HOME="$non_existant_path" \
|
||||||
|
-E CGIT_CONFIG="$PWD/cgitrc" \
|
||||||
|
-E QUERY_STRING="url=foo/commit" \
|
||||||
|
-e access -f -o strace.out cgit
|
||||||
|
test_must_fail grep "$non_existant_path" strace.out
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
Cargando…
Referencia en una nueva incidencia
Block a user