view stream_udp_wildcard.t @ 1887:1023354f3a41

Tests: ssl_reject_handshake tests with HTTP/3. Notably, LibreSSL fails to properly implement QUIC send_alert callback. It uses to return send_alert result as the result of TLS handshake.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 23 Feb 2023 17:25:57 +0400
parents f3ba4c74de31
children
line wrap: on
line source

#!/usr/bin/perl

# (C) Sergey Kandaurov
# (C) Nginx, Inc.

# Tests for stream proxy module with datagrams, source address selection.

###############################################################################

use warnings;
use strict;

use Test::More;

BEGIN { use FindBin; chdir($FindBin::Bin); }

use lib 'lib';
use Test::Nginx;
use Test::Nginx::Stream qw/ dgram /;

###############################################################################

select STDERR; $| = 1;
select STDOUT; $| = 1;

plan(skip_all => '127.0.0.2 local address required')
	unless defined IO::Socket::INET->new( LocalAddr => '127.0.0.2' );

plan(skip_all => 'listen on wildcard address')
	unless $ENV{TEST_NGINX_UNSAFE};

my $t = Test::Nginx->new()->has(qw/stream stream_return udp/)->plan(1)
	->write_file_expand('nginx.conf', <<'EOF');

%%TEST_GLOBALS%%

daemon off;

events {
}

stream {
    %%TEST_GLOBALS_STREAM%%

    server {
        listen  %%PORT_8999_UDP%% udp;
        return  $server_addr;
    }
}

EOF

$t->run();

###############################################################################

my $s = dgram(
	LocalAddr => '127.0.0.1',
	PeerAddr  => '127.0.0.2:' . port(8999)
);

is($s->io('test'), '127.0.0.2', 'stream udp wildcard');

###############################################################################