Merge branch '4562-use-source-port-for-ditch-pl-9.18' into 'bind-9.18'

[9.18] Use a single local port for ditch.pl

See merge request isc-projects/bind9!8707
This commit is contained in:
Tom Krizek 2024-02-08 13:40:50 +00:00
commit a0dfb59c14
3 changed files with 13 additions and 6 deletions

View file

@ -34,12 +34,12 @@ use IO::File;
use IO::Socket;
sub usage {
print ("Usage: ditch.pl [-s address] [-p port] [file]\n");
print ("Usage: ditch.pl [-s address] [-p port] [-b source_port] [file]\n");
exit 1;
}
my %options={};
getopts("s:p:t:", \%options);
getopts("s:p:b:", \%options);
my $addr = "127.0.0.1";
$addr = $options{s} if defined $options{s};
@ -47,6 +47,9 @@ $addr = $options{s} if defined $options{s};
my $port = 53;
$port = $options{p} if defined $options{p};
my $source_port = 0;
$source_port = $options{b} if defined $options{b};
my $file = "STDIN";
if (@ARGV >= 1) {
my $filename = shift @ARGV;
@ -74,8 +77,12 @@ while (defined(my $line = <$file>) ) {
$packet->header->rd(1);
$packet->push(question => $q);
my $sock = IO::Socket::INET->new(PeerAddr => $addr, PeerPort => $port,
Proto => "udp",) or die "$!";
my $sock = IO::Socket::INET->new(
PeerAddr => $addr,
PeerPort => $port,
Proto => "udp",
LocalPort => $source_port,
) or die "$!";
my $bytes = $sock->send($packet->data);
#print ("sent $bytes bytes to $addr:$port:\n");

View file

@ -35,7 +35,7 @@ burst() {
echo "${num}${2}${3}.lamesub.example A" >>burst.input.$$
fi
done
$PERL ../ditch.pl -p ${PORT} -s ${server} burst.input.$$
$PERL ../ditch.pl -p ${PORT} -s ${server} -b ${EXTRAPORT8} burst.input.$$
rm -f burst.input.$$
}

View file

@ -2500,7 +2500,7 @@ burst() {
num=$((num - 1))
echo "fetch${num}.example A" >>burst.input.$$
done
$PERL ../ditch.pl -p ${PORT} -s 10.53.0.3 burst.input.$$
$PERL ../ditch.pl -p ${PORT} -s 10.53.0.3 -b ${EXTRAPORT8} burst.input.$$
rm -f burst.input.$$
}