]>
Commit | Line | Data |
---|---|---|
a5adaced JK |
1 | #!/bin/sh |
2 | ||
3 | test_description='test disabling of git-over-http in clone/fetch' | |
4 | . ./test-lib.sh | |
5 | . "$TEST_DIRECTORY/lib-proto-disable.sh" | |
6 | . "$TEST_DIRECTORY/lib-httpd.sh" | |
7 | start_httpd | |
8 | ||
9 | test_expect_success 'create git-accessible repo' ' | |
10 | bare="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && | |
11 | test_commit one && | |
12 | git --bare init "$bare" && | |
13 | git push "$bare" HEAD && | |
14 | git -C "$bare" config http.receivepack true | |
15 | ' | |
16 | ||
17 | test_proto "smart http" http "$HTTPD_URL/smart/repo.git" | |
18 | ||
f4113cac BB |
19 | test_expect_success 'curl redirects respect whitelist' ' |
20 | test_must_fail env GIT_ALLOW_PROTOCOL=http:https \ | |
6628eb41 | 21 | GIT_SMART_HTTP=0 \ |
f4113cac | 22 | git clone "$HTTPD_URL/ftp-redir/repo.git" 2>stderr && |
a4ca4553 | 23 | test_i18ngrep -E "(ftp.*disabled|your curl version is too old)" stderr |
f4113cac BB |
24 | ' |
25 | ||
b2581164 BB |
26 | test_expect_success 'curl limits redirects' ' |
27 | test_must_fail git clone "$HTTPD_URL/loop-redir/smart/repo.git" | |
28 | ' | |
29 | ||
a768a022 BW |
30 | test_expect_success 'http can be limited to from-user' ' |
31 | git -c protocol.http.allow=user \ | |
32 | clone "$HTTPD_URL/smart/repo.git" plain.git && | |
33 | test_must_fail git -c protocol.http.allow=user \ | |
34 | clone "$HTTPD_URL/smart-redir-perm/repo.git" redir.git | |
35 | ' | |
36 | ||
a5adaced | 37 | test_done |