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

Use a single local port for ditch.pl

Closes #4562

See merge request isc-projects/bind9!8698
This commit is contained in:
Tom Krizek
2024-02-08 12:42:23 +00:00
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.$$
}