mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 15:37:46 +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:
parent
00be9b33b1
commit
a9ec2225a5
6 changed files with 48 additions and 11 deletions
|
@ -26,6 +26,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "DNSRequest.h"
|
||||
#include <AK/HashMap.h>
|
||||
#include <AK/RefPtr.h>
|
||||
#include <AK/String.h>
|
||||
|
@ -44,7 +45,7 @@ public:
|
|||
private:
|
||||
void load_etc_hosts();
|
||||
void service_client(RefPtr<CLocalSocket>);
|
||||
Vector<String> lookup(const String& hostname, bool& did_timeout, unsigned short record_type);
|
||||
Vector<String> lookup(const String& hostname, bool& did_timeout, unsigned short record_type, ShouldRandomizeCase = ShouldRandomizeCase::Yes);
|
||||
|
||||
int make_dns_request_socket(sockaddr_in& dst_addr);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue