Mercurial > hg > nginx-tests
annotate http_disable_symlinks.t @ 1619:436d0ffc2ea3
Tests: correctly shutdown ssl for reproducible session reuse tests.
Previously, session reuse tests in stream_ssl_certificate.t were prone
to testing errors, since the client doesn't write any application data
before closing a connection, which is done so to pass tests on win32.
In this case, the server may happened to get an unexpected eof meaning
that it will abandon that session. This is specific to stream testing
pattern, changes to ssl_certificate.t are applied too for consistency.
This is also specific to SSL_R_UNEXPECTED_EOF_WHILE_READING, which is
implemented in OpenSSL 3.0.0.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 23 Nov 2020 22:46:06 +0000 |
parents | 56e7da831f46 |
children |
rev | line source |
---|---|
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
1 #!/usr/bin/perl |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
2 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
3 # (C) Andrey Belov |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
4 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
5 # Tests for disable_symlinks directive. |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
6 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
7 ############################################################################### |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
8 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
9 use warnings; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
10 use strict; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
11 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
12 use Test::More; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
13 use POSIX; |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
14 use Cwd qw/ realpath /; |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
15 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
16 BEGIN { use FindBin; chdir($FindBin::Bin); } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
17 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
18 use lib 'lib'; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
19 use Test::Nginx; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
20 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
21 ############################################################################### |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
22 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
23 select STDERR; $| = 1; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
24 select STDOUT; $| = 1; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
25 |
574
2cd00179f4b2
Tests: has_feature() introduced in Test::Nginx.
Sergey Kandaurov <pluknet@nginx.com>
parents:
392
diff
changeset
|
26 my $t = Test::Nginx->new()->has(qw/http rewrite symlink/) |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
27 ->write_file_expand('nginx.conf', <<'EOF'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
28 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
29 %%TEST_GLOBALS%% |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
30 |
249
6a0d934950bc
Tests: remove extra spaces in "daemon off".
Maxim Dounin <mdounin@mdounin.ru>
parents:
207
diff
changeset
|
31 daemon off; |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
32 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
33 events { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
34 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
35 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
36 http { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
37 %%TEST_GLOBALS_HTTP%% |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
38 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
39 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
40 listen 127.0.0.1:8080; |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
41 server_name s1; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
42 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
43 location /on/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
44 disable_symlinks on; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
45 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
46 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
47 location /not_owner/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
48 disable_symlinks if_not_owner; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
49 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
50 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
51 location /try_on/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
52 disable_symlinks on; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
53 try_files $uri $uri.html =404; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
54 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
55 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
56 location /try_not_owner/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
57 disable_symlinks if_not_owner; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
58 try_files $uri $uri.txt =404; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
59 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
60 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
61 location /if_on/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
62 disable_symlinks on; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
63 if (-f $request_filename) { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
64 return 204; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
65 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
66 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
67 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
68 location /if_not_owner/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
69 disable_symlinks if_not_owner; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
70 if (-f $request_filename) { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
71 return 204; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
72 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
73 } |
203
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
74 |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
75 location /complex/1/ { |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
76 disable_symlinks on; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
77 alias %%TESTDIR%%/./cached/../; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
78 } |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
79 |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
80 location /complex/2/ { |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
81 disable_symlinks on; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
82 alias %%TESTDIR%%//./cached/..//; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
83 } |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
84 |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
85 location /complex/3/ { |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
86 disable_symlinks on; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
87 alias ///%%TESTDIR%%//./cached/..//; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
88 } |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
89 |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
90 location ~ (.+/)tail$ { |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
91 disable_symlinks on; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
92 alias %%TESTDIR%%/$1; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
93 } |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
94 |
204
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
95 location ~ (.+/)tailowner$ { |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
96 disable_symlinks if_not_owner; |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
97 alias %%TESTDIR%%/$1; |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
98 } |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
99 |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
100 location ~ (.+/)tailoff$ { |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
101 disable_symlinks off; |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
102 alias %%TESTDIR%%/$1; |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
103 } |
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
104 |
203
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
105 location /dir { |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
106 disable_symlinks on; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
107 try_files $uri/ =404; |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
108 } |
206
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
109 |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
110 location /from { |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
111 disable_symlinks on from=$document_root; |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
112 |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
113 location /from/wo_slash { |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
114 alias %%TESTDIR%%/dirlink; |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
115 } |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
116 location /from/with_slash/ { |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
117 alias %%TESTDIR%%/dirlink/; |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
118 } |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
119 location ~ ^/from/exact/(.+)$ { |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
120 alias %%TESTDIR%%/$1; |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
121 } |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
122 } |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
123 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
124 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
125 server { |
974
882267679006
Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
952
diff
changeset
|
126 listen 127.0.0.1:8080; |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
127 server_name s2; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
128 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
129 open_file_cache max=16 inactive=60s; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
130 open_file_cache_valid 30s; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
131 open_file_cache_min_uses 1; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
132 open_file_cache_errors on; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
133 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
134 location /cached-off/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
135 disable_symlinks off; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
136 alias %%TESTDIR%%/cached/; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
137 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
138 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
139 location /cached-on/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
140 disable_symlinks on; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
141 alias %%TESTDIR%%/cached/; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
142 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
143 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
144 location /cached-if-not-owner/ { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
145 disable_symlinks if_not_owner; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
146 alias %%TESTDIR%%/cached/; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
147 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
148 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
149 location / { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
150 disable_symlinks off; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
151 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
152 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
153 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
154 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
155 EOF |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
156 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
157 my $uid = getuid(); |
873
c03af44a7370
Tests: avoid fcntl(O_DIRECT) alerts in http_disable_symlinks.t.
Sergey Kandaurov <pluknet@nginx.com>
parents:
577
diff
changeset
|
158 my ($extfile) = grep { -f && !-l && $uid != (stat())[4] } |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
159 ('/etc/resolv.conf', '/etc/protocols', '/etc/host.conf'); |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
160 |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
161 plan(skip_all => 'no external file found') |
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
162 if !defined $extfile; |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
163 |
392
c28ecaef065f
Tests: try_run() introduced.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
164 $t->try_run('no disable_symlinks')->plan(28); |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
165 |
392
c28ecaef065f
Tests: try_run() introduced.
Maxim Dounin <mdounin@mdounin.ru>
parents:
249
diff
changeset
|
166 my $d = $t->testdir(); |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
167 |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
168 mkdir("$d/on"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
169 mkdir("$d/not_owner"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
170 mkdir("$d/try_on"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
171 mkdir("$d/try_not_owner"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
172 mkdir("$d/if_on"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
173 mkdir("$d/if_not_owner"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
174 mkdir("$d/cached"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
175 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
176 $t->write_file("empty.html", ""); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
177 symlink("empty.html", "$d/link"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
178 symlink($extfile, "$d/link2"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
179 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
180 $t->write_file("on/empty.html", ""); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
181 symlink("empty.html", "$d/on/link"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
182 symlink($extfile, "$d/on/link2"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
183 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
184 $t->write_file("not_owner/empty.html", ""); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
185 symlink("empty.html", "$d/not_owner/link"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
186 symlink($extfile, "$d/not_owner/link2"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
187 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
188 $t->write_file("try_on/try.html", "LOCAL TRY"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
189 symlink($extfile, "$d/try_on/try"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
190 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
191 $t->write_file("try_not_owner/try.html", "LOCAL TRY"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
192 symlink($extfile, "$d/try_not_owner/try"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
193 symlink("try.html", "$d/try_not_owner/try.txt"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
194 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
195 $t->write_file("if_on/empty.html", ""); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
196 symlink("empty.html", "$d/if_on/link"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
197 symlink($extfile, "$d/if_on/link2"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
198 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
199 $t->write_file("if_not_owner/empty.html", ""); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
200 symlink("empty.html", "$d/if_not_owner/link"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
201 symlink($extfile, "$d/if_not_owner/link2"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
202 |
203
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
203 mkdir("$d/dir"); |
206
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
204 $t->write_file("dir/empty.html", ""); |
203
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
205 symlink("dir", "$d/dirlink"); |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
206 |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
207 symlink($extfile, "$d/cached/link"); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
208 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
209 ############################################################################### |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
210 |
206
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
211 SKIP: { |
1223
56e7da831f46
Tests: http_disable_symlinks.t fails on NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents:
974
diff
changeset
|
212 skip 'cannot test under symlink', 25 if $d ne realpath($d) or $^O eq 'netbsd'; |
206
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
213 |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
214 like(http_get_host('s1', '/link'), qr!200 OK!, 'static (off, same uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
215 like(http_get_host('s1', '/link2'), qr!200 OK!, 'static (off, other uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
216 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
217 like(http_get_host('s1', '/on/link'), qr!403 Forbidden!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
218 'static (on, same uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
219 like(http_get_host('s1', '/on/link2'), qr!403 Forbidden!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
220 'static (on, other uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
221 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
222 like(http_get_host('s1', '/not_owner/link'), qr!200 OK!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
223 'static (if_not_owner, same uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
224 like(http_get_host('s1', '/not_owner/link2'), qr!403 Forbidden!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
225 'static (if_not_owner, other uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
226 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
227 like(http_get_host('s1', '/try_on/try'), qr/LOCAL TRY/, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
228 'try_files (on)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
229 like(http_get_host('s1', '/try_not_owner/try'), qr/LOCAL TRY/, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
230 'try_files (if_not_owner)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
231 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
232 like(http_get_host('s1', '/if_on/link'), qr!403 Forbidden!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
233 'if (on, same uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
234 like(http_get_host('s1', '/if_on/link2'), qr!403 Forbidden!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
235 'if (on, other uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
236 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
237 like(http_get_host('s1', '/if_not_owner/link'), qr!204 No Content!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
238 'if (if_not_owner, same uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
239 like(http_get_host('s1', '/if_not_owner/link2'), qr!403 Forbidden!, |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
240 'if (if_not_owner, other uid)'); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
241 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
242 like(http_get_host('s2', '/cached-off/link'), qr!200 OK!, |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
243 'open_file_cache (pass 1)'); |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
244 like(http_get_host('s2', '/cached-on/link'), qr!403 Forbidden!, |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
245 'open_file_cache (pass 2)'); |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
246 like(http_get_host('s2', '/cached-off/link'), qr!200 OK!, |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
247 'open_file_cache (pass 3)'); |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
248 like(http_get_host('s2', '/cached-if-not-owner/link'), qr!403 Forbidden!, |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
249 'open_file_cache (pass 4)'); |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
250 like(http_get_host('s2', '/cached-off/link'), qr!200 OK!, |
202
067b6cb4793d
Tests: cleanup disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
201
diff
changeset
|
251 'open_file_cache (pass 5)'); |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
252 |
203
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
253 like(http_get('/complex/1/empty.html'), qr!200 OK!, 'complex root 1'); |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
254 like(http_get('/complex/2/empty.html'), qr!200 OK!, 'complex root 2'); |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
255 like(http_get('/complex/3/empty.html'), qr!200 OK!, 'complex root 3'); |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
256 |
205
606a4df68952
Tests: workaround for freebsd 8 in disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
204
diff
changeset
|
257 # workaround for freebsd 8: we use O_EXEC instead of O_SEARCH (since there |
606a4df68952
Tests: workaround for freebsd 8 in disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
204
diff
changeset
|
258 # is no O_SEARCH), and O_DIRECTORY does nothing. setting the 'x' bit |
606a4df68952
Tests: workaround for freebsd 8 in disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
204
diff
changeset
|
259 # tests to pass as openat() will correctly fail with ENOTDIR |
606a4df68952
Tests: workaround for freebsd 8 in disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
204
diff
changeset
|
260 |
606a4df68952
Tests: workaround for freebsd 8 in disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
204
diff
changeset
|
261 chmod(0700, "$d/link"); |
577
90f9b128b218
Tests: handled legacy 'darwin' behavior in disable_symlinks tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
574
diff
changeset
|
262 my $rc = $^O eq 'darwin' ? 200 : 404; |
205
606a4df68952
Tests: workaround for freebsd 8 in disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
204
diff
changeset
|
263 |
207
0a9e5d753fb8
Tests: accept 404 on file link open with trailing slash.
Maxim Dounin <mdounin@mdounin.ru>
parents:
206
diff
changeset
|
264 like(http_get('/link/tail'), qr!40[34] !, 'file with trailing /, on'); |
204
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
265 like(http_get('/link/tailowner'), qr!404 !, 'file with trailing /, owner'); |
577
90f9b128b218
Tests: handled legacy 'darwin' behavior in disable_symlinks tests.
Sergey Kandaurov <pluknet@nginx.com>
parents:
574
diff
changeset
|
266 like(http_get('/link/tailoff'), qr!$rc !, 'file with trailing /, off'); |
204
d838248b643a
Tests: more disable_symlinks tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
203
diff
changeset
|
267 |
203
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
268 like(http_get('/dirlink'), qr!404 !, 'directory without /'); |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
269 like(http_get('/dirlink/'), qr!404 !, 'directory with trailing /'); |
b6a4770e47ea
Tests: disable_symlinks tests for complex cases.
Maxim Dounin <mdounin@mdounin.ru>
parents:
202
diff
changeset
|
270 |
206
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
271 } # SKIP: cannot test under symlink |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
272 |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
273 like(http_get('/from/wo_slash/empty.html'), qr!200 OK!, '"from=" without /'); |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
274 like(http_get('/from/with_slash/empty.html'), qr!200 OK!, '"from=" with /'); |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
275 like(http_get('/from/exact/link'), qr!200 OK!, '"from=" exact match'); |
9963da7397cc
Tests: disable_symlinks tests for the "from=" parameter.
Valentin Bartenev <ne@vbart.ru>
parents:
205
diff
changeset
|
276 |
201
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
277 ############################################################################### |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
278 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
279 sub http_get_host { |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
280 my ($host, $url) = @_; |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
281 return http(<<EOF); |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
282 GET $url HTTP/1.0 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
283 Host: $host |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
284 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
285 EOF |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
286 } |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
287 |
fc297a64142e
Tests: disable_symlinks directive tests added.
Andrey Belov <defan@nginx.com>
parents:
diff
changeset
|
288 ############################################################################### |