comparison ssl_proxy_protocol.t @ 1168:8821e405b91e

Tests: handled SSL negotiation errors.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 20 Apr 2017 16:29:07 +0300
parents 8ef51dbb5d69
children cf14cfe9ec8c
comparison
equal deleted inserted replaced
1167:1e79a9613813 1168:8821e405b91e
151 sub pp_get { 151 sub pp_get {
152 my ($url, $proxy) = @_; 152 my ($url, $proxy) = @_;
153 153
154 my $s = http($proxy, start => 1); 154 my $s = http($proxy, start => 1);
155 155
156 IO::Socket::SSL->start_SSL($s, 156 eval {
157 SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE(), 157 local $SIG{ALRM} = sub { die "timeout\n" };
158 SSL_error_trap => sub { die $_[1] } 158 local $SIG{PIPE} = sub { die "sigpipe\n" };
159 ); 159 alarm(2);
160 IO::Socket::SSL->start_SSL($s,
161 SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE(),
162 SSL_error_trap => sub { die $_[1] }
163 );
164 alarm(0);
165 };
166 alarm(0);
167
168 if ($@) {
169 log_in("died: $@");
170 return undef;
171 }
160 172
161 return http(<<EOF, socket => $s); 173 return http(<<EOF, socket => $s);
162 GET $url HTTP/1.0 174 GET $url HTTP/1.0
163 Host: localhost 175 Host: localhost
164 176