1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 21:27:34 +00:00

LookupServer: Retry with 0x20 randomization turned off on EREFUSED

Apparently some authoritative servers don't handle 0x20 randomization
well and may send EREFUSED. Retry with randomization turned off then.

Reference: https://github.com/dns-violations/dns-violations/blob/master/2017/DVE-2017-0006.md

More work towards #10.
This commit is contained in:
Andreas Kling 2020-01-26 13:45:15 +01:00
parent 00be9b33b1
commit a9ec2225a5
6 changed files with 48 additions and 11 deletions

View file

@ -12,11 +12,16 @@
#define T_PTR 12
#define T_MX 15
enum class ShouldRandomizeCase {
No = 0,
Yes
};
class DNSRequest {
public:
DNSRequest();
void add_question(const String& name, u16 record_type);
void add_question(const String& name, u16 record_type, ShouldRandomizeCase);
const Vector<DNSQuestion>& questions() const { return m_questions; }