mirror of
https://github.com/yswery/PHP-DNS-SERVER.git
synced 2026-04-26 01:35:57 +03:00
[GH-ISSUE #51] DNS Nameserver not available over TCP #21
Labels
No labels
bug
enhancement
enhancement
hacktoberfest
pull-request
question
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/PHP-DNS-SERVER#21
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Thiritin on GitHub (Jul 11, 2018).
Original GitHub issue: https://github.com/yswery/PHP-DNS-SERVER/issues/51
Reachability via TCP should be guaranteed [if not, output of WARNING message].
Explanation: RFC 1034 and 1035 specify for DNSs the use of UDP as well as of TCP
transport, with UDP having priority and being used for the major share of the data
traffic. Under certain circumstances (e.g. response size) a resolver may have to switch
to TCP, which is expressly supported by RFC 1123.
Due to this not matching DENICS terms the Nameserver cannot be used with .de TLDs.
https://www.denic.de/fileadmin/public/documentation/DENIC-23p_EN.pdf
(Chapter 2.1.6, paragraph 3)
@linkec commented on GitHub (Jul 16, 2018):
I found the same problem,And rewrite my own code, but have some problem.
`$data = unpack('npacksize/npacket_id/nflags/nqdcount/nancount/nnscount/narcount', $buffer);
$flags = ds_decode_flags($data['flags']);
$offset = 14;
$question = ds_decode_question_rr($buffer, $offset, $data['qdcount']);
$authority = ds_decode_rr($buffer, $offset, $data['nscount']);
$additional = ds_decode_rr($buffer, $offset, $data['arcount']);
@linkec commented on GitHub (Jul 16, 2018):
BTW, I have added the EDNS extension, still on experimental.
@samuelwilliams commented on GitHub (Sep 11, 2018):
@linkec Did you want to build a test case and make a pull request? That would help demonstrate your point.