mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-30 22:28:22 +00:00
LookupServer: Track the receive timestamp for DNS answers
This commit is contained in:
parent
3304d675e1
commit
edb21e02ea
Notes:
sideshowbarker
2024-07-18 18:22:02 +09:00
Author: https://github.com/gunnarbeutner
Commit: edb21e02ea
Pull-request: https://github.com/SerenityOS/serenity/pull/6921
Reviewed-by: https://github.com/bugaevc
2 changed files with 4 additions and 6 deletions
|
@ -18,15 +18,12 @@ DNSAnswer::DNSAnswer(const DNSName& name, DNSRecordType type, DNSRecordClass cla
|
|||
, m_record_data(record_data)
|
||||
, m_mdns_cache_flush(mdns_cache_flush)
|
||||
{
|
||||
auto now = time(nullptr);
|
||||
m_expiration_time = now + m_ttl;
|
||||
if (m_expiration_time < now)
|
||||
m_expiration_time = 0;
|
||||
time(&m_received_time);
|
||||
}
|
||||
|
||||
bool DNSAnswer::has_expired() const
|
||||
{
|
||||
return time(nullptr) >= m_expiration_time;
|
||||
return time(nullptr) >= m_received_time + m_ttl;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -40,6 +40,7 @@ public:
|
|||
DNSRecordClass class_code() const { return m_class_code; }
|
||||
u16 raw_class_code() const { return (u16)m_class_code | (m_mdns_cache_flush ? MDNS_CACHE_FLUSH : 0); }
|
||||
u32 ttl() const { return m_ttl; }
|
||||
time_t received_time() const { return m_received_time; }
|
||||
const String& record_data() const { return m_record_data; }
|
||||
bool mdns_cache_flush() const { return m_mdns_cache_flush; }
|
||||
|
||||
|
@ -50,7 +51,7 @@ private:
|
|||
DNSRecordType m_type { 0 };
|
||||
DNSRecordClass m_class_code { 0 };
|
||||
u32 m_ttl { 0 };
|
||||
time_t m_expiration_time { 0 };
|
||||
time_t m_received_time { 0 };
|
||||
String m_record_data;
|
||||
bool m_mdns_cache_flush { false };
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue