Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #495 (and #505) by implementing name compression in DNS responses #508

Merged
merged 3 commits into from
May 27, 2021
Merged

Fixes #495 (and #505) by implementing name compression in DNS responses #508

merged 3 commits into from
May 27, 2021

Conversation

amialkow
Copy link
Contributor

#495 Implement name compression during response packet generation. Compression is required by certain clients like UDP to fit response in packet size limit. While generating packet small cache stores recently used names (currently 4 entries) and uses relative references to previous instances of the same name. Each reused instance is just two bytes of relative reference (0xC000 + offset). Cache is currently performing lookup for query name, responses and CNAMEs.
#505 Disable comparison of packet size in 265-supported-rrs test, after #495 output packet size depends on applied compression.

amialkow and others added 3 commits May 9, 2021 14:45
…sion is required by certain clients like UDP to fit response in packet size limit. While generating packet small cache stores recently used names (currently 4 entries) and uses relative references to previous instances of the same name. Each reused instance is just two bytes of relative reference (0xC000 + offset). Cache is currently performing lookup for query name, responses and CNAMEs.
@wtoorop
Copy link
Contributor

wtoorop commented May 27, 2021

Thanks @amialkow for you thorough (and straight forward and easy to understand) implementation!
I love it!

@wtoorop wtoorop merged commit 50463c7 into getdnsapi:develop May 27, 2021
@amialkow amialkow deleted the develop4 branch May 27, 2021 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants