mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
sign_tcp_continuation doesn't work with the newer versions of
Net:DNS. Code has been submitted so we don't need to use the sign_tcp_continuation hack in future.
This commit is contained in:
@@ -322,6 +322,7 @@ sub handleTCP {
|
|||||||
# get the existing signature if any, and clear the additional section
|
# get the existing signature if any, and clear the additional section
|
||||||
my $prev_tsig;
|
my $prev_tsig;
|
||||||
my $signer;
|
my $signer;
|
||||||
|
my $continuation = 0;
|
||||||
while (my $rr = $request->pop("additional")) {
|
while (my $rr = $request->pop("additional")) {
|
||||||
if ($rr->type eq "TSIG") {
|
if ($rr->type eq "TSIG") {
|
||||||
$prev_tsig = $rr;
|
$prev_tsig = $rr;
|
||||||
@@ -371,8 +372,12 @@ sub handleTCP {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$tsig->sign_func($signer) if defined($signer);
|
$tsig->sign_func($signer) if defined($signer);
|
||||||
|
$tsig->continuation($continuation)
|
||||||
|
if ($Net::DNS::VERSION >= 0.71);
|
||||||
$packet->sign_tsig($tsig);
|
$packet->sign_tsig($tsig);
|
||||||
$signer = \&sign_tcp_continuation;
|
$signer = \&sign_tcp_continuation
|
||||||
|
if ($Net::DNS::VERSION < 0.70);
|
||||||
|
$continuation = 1;
|
||||||
|
|
||||||
my $copy =
|
my $copy =
|
||||||
Net::DNS::Packet->new(\($packet->data));
|
Net::DNS::Packet->new(\($packet->data));
|
||||||
|
Reference in New Issue
Block a user