Mercurial > hg > nginx-tests
diff ssl_reject_handshake.t @ 1866:a797d7428fa5
Tests: simplified http SSL tests with IO::Socket::SSL.
The http SSL tests which previously used IO::Socket::SSL were converted
to use improved IO::Socket::SSL infrastructure in Test::Nginx.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 18 May 2023 18:07:19 +0300 |
parents | cdcd75657e52 |
children | c04134b0290b |
line wrap: on
line diff
--- a/ssl_reject_handshake.t +++ b/ssl_reject_handshake.t @@ -136,44 +136,14 @@ like(get('virtual2', 8082), qr/unrecogni sub get { my ($host, $port) = @_; - my $s = get_ssl_socket($host, $port) or return $@; - $host = 'localhost' if !defined $host; - my $r = http(<<EOF, socket => $s); -GET / HTTP/1.0 -Host: $host - -EOF - - $s->close(); + my $r = http( + "GET / HTTP/1.0\nHost: " . ($host || 'localhost') . "\n\n", + PeerAddr => '127.0.0.1:' . port($port), + SSL => 1, + SSL_hostname => $host + ) + or return "$@"; return $r; } -sub get_ssl_socket { - my ($host, $port) = @_; - my $s; - - eval { - local $SIG{ALRM} = sub { die "timeout\n" }; - local $SIG{PIPE} = sub { die "sigpipe\n" }; - alarm(8); - $s = IO::Socket::SSL->new( - Proto => 'tcp', - PeerAddr => '127.0.0.1', - PeerPort => port($port), - SSL_hostname => $host, - SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE(), - SSL_error_trap => sub { die $_[1] }, - ); - alarm(0); - }; - alarm(0); - - if ($@) { - log_in("died: $@"); - return undef; - } - - return $s; -} - ###############################################################################