]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[9.20] fix: dev: Don't ignore the local port number in dns_dispatch_add() for TCP
authorArаm Sаrgsyаn <aram@isc.org>
Wed, 2 Oct 2024 10:44:38 +0000 (10:44 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Wed, 2 Oct 2024 10:44:38 +0000 (10:44 +0000)
The dns_dispatch_add() function registers the 'resp' entry in
'disp->mgr->qids' hash table with 'resp->port' being 0, but in
tcp_recv_success(), when looking up an entry in the hash table
after a successfully received data the port is used, so if the
local port was set (i.e. it was not 0) it fails to find the
entry and results in an unexpected error.

Set the 'resp->port' to the given local port value extracted from
'disp->local'.

Closes #4969

Backport of MR !9576

Merge branch 'backport-4969-dispatch-tcp-source-port-bug-fix-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!9581


Trivial merge