about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2013-04-08 22:18:21 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2013-04-08 22:53:07 +0200
commitdd1f0e5f1b4de00c98fe7444915864b7271e09fe (patch)
tree5dd6c7885a2bd4f368fc83725ccaefdcd914fd3a /tests
parenttests/.gitignore: update for using Git's test infrastructure (diff)
downloadcgit-pink-dd1f0e5f1b4de00c98fe7444915864b7271e09fe.tar.gz
cgit-pink-dd1f0e5f1b4de00c98fe7444915864b7271e09fe.zip
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>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/t0109-gitconfig.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/t0109-gitconfig.sh b/tests/t0109-gitconfig.sh
new file mode 100755
index 0000000..cdd570b
--- /dev/null
+++ b/tests/t0109-gitconfig.sh
@@ -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
ight'> 2019-06-02Add RebornJune McEnroe 2019-05-30Add bit to bin.7June McEnroe 2019-05-30Simplify and build bitJune McEnroe lex is a waste of time. 2019-05-29Add xx -p optionJune McEnroe 2019-05-27Add FrontierJune McEnroe 2019-05-27Break nicks with ZWNJJune McEnroe This should prevent bad wrapping. 2019-05-26Add DawnJune McEnroe 2019-05-20Declare vasprintf(3) for GNUJune McEnroe who the fuck is scraeming "#define _GNU_SOURCE" at my house. show yourself, coward. i will never #define _GNU_SOURCE 2019-05-20Fix comparison warning in ttpreJune McEnroe 2019-05-20Add AuthorityJune McEnroe 2019-05-19Specify precedence of unary versions of operatorsJune McEnroe 2019-05-18Add compound assignment operators to orderJune McEnroe 2019-05-15Support simple assignment in orderJune McEnroe 2019-05-15Implement sizeof in orderJune McEnroe 2019-05-15Add orderJune McEnroe 2019-05-12Add T suffix in bitJune McEnroe 2019-05-10Highlight yacc and lex files as CJune McEnroe Their %-prefixed directives should probably be highlighted Macro. 2019-05-10Use val instead of suboptargJune McEnroe suboptarg doesn't exist in GNU. Hopefully BSD getsubopt also sets val on failure? 2019-05-09Add Parable of the SowerJune McEnroe 2019-05-07Add bit without buildJune McEnroe Need to do some stuff in the Makefile for lex and yacc and generating HTML pages for it. 2019-05-04Fix MANDIR typoJune McEnroe 2019-05-04Move relay to binJune McEnroe