Mercurial > hg > nginx-tests
comparison proxy_protocol_port.t @ 961:4993ece8620e
Tests: avoid unexpected match in proxy_protocol_port.t at all.
Use client port in PROXY protocol header that doesn't fall into ephemeral range.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 27 Jun 2016 11:15:34 +0300 |
parents | 508ee7ea9706 |
children | 882267679006 |
comparison
equal
deleted
inserted
replaced
960:d4a0232425ee | 961:4993ece8620e |
---|---|
66 $t->write_file('t', 'SEE-THIS'); | 66 $t->write_file('t', 'SEE-THIS'); |
67 $t->try_run('no proxy_protocol_port')->plan(8); | 67 $t->try_run('no proxy_protocol_port')->plan(8); |
68 | 68 |
69 ############################################################################### | 69 ############################################################################### |
70 | 70 |
71 my $tcp4 = 'PROXY TCP4 192.0.2.1 192.0.2.2 12345 5678' . CRLF; | 71 my $tcp4 = 'PROXY TCP4 192.0.2.1 192.0.2.2 123 5678' . CRLF; |
72 my $tcp6 = 'PROXY TCP6 2001:Db8::1 2001:Db8::2 12345 5678' . CRLF; | 72 my $tcp6 = 'PROXY TCP6 2001:Db8::1 2001:Db8::2 123 5678' . CRLF; |
73 my $unk = 'PROXY UNKNOWN 1 2 3 4 5 6' . CRLF; | 73 my $unk = 'PROXY UNKNOWN 1 2 3 4 5 6' . CRLF; |
74 | 74 |
75 # realip | 75 # realip |
76 | 76 |
77 like(pp_get('/pp', $tcp4), qr/X-PP-Port: 12345/, 'pp port tcp4'); | 77 like(pp_get('/pp', $tcp4), qr/X-PP-Port: 123\x0d/, 'pp port tcp4'); |
78 like(pp_get('/pp', $tcp6), qr/X-PP-Port: 12345/, 'pp port tcp6'); | 78 like(pp_get('/pp', $tcp6), qr/X-PP-Port: 123\x0d/, 'pp port tcp6'); |
79 unlike(pp_get('/pp', $unk), qr/X-PP-Port/, 'pp port unknown'); | 79 unlike(pp_get('/pp', $unk), qr/X-PP-Port/, 'pp port unknown'); |
80 | 80 |
81 # remote_port | 81 # remote_port |
82 | 82 |
83 like(pp_get('/pp/real', $tcp4), qr/X-Remote-Port: 12345/, 'remote port tcp4'); | 83 like(pp_get('/pp/real', $tcp4), qr/X-Remote-Port: 123\x0d/, 'remote port tcp4'); |
84 unlike(pp_get('/pp', $tcp4), qr/X-Remote-Port: 12345/, 'no remote port tcp4'); | 84 unlike(pp_get('/pp', $tcp4), qr/X-Remote-Port: 123\x0d/, 'no remote port tcp4'); |
85 like(pp_get('/pp/real', $tcp6), qr/X-Remote-Port: 12345/, 'remote port tcp6'); | 85 like(pp_get('/pp/real', $tcp6), qr/X-Remote-Port: 123\x0d/, 'remote port tcp6'); |
86 unlike(pp_get('/pp', $tcp6), qr/X-Remote-Port: 12345/, 'no remote port tcp6'); | 86 unlike(pp_get('/pp', $tcp6), qr/X-Remote-Port: 123\x0d/, 'no remote port tcp6'); |
87 | 87 |
88 # log | 88 # log |
89 | 89 |
90 pp_get('/log', $tcp4); | 90 pp_get('/log', $tcp4); |
91 | 91 |
92 $t->stop(); | 92 $t->stop(); |
93 | 93 |
94 my $log = $t->read_file('/port.log'); | 94 my $log = $t->read_file('/port.log'); |
95 chomp $log; | 95 chomp $log; |
96 | 96 |
97 is($log, 12345, 'pp port log'); | 97 is($log, 123, 'pp port log'); |
98 | 98 |
99 ############################################################################### | 99 ############################################################################### |
100 | 100 |
101 sub pp_get { | 101 sub pp_get { |
102 my ($url, $proxy) = @_; | 102 my ($url, $proxy) = @_; |