summaryrefslogtreecommitdiff
path: root/Userland/Services/LookupServer/DNSName.h
AgeCommit message (Collapse)Author
2021-06-09LookupServer: Make DNSName::operator== ignore caseMax Wipfli
2021-05-05LookupServer: Implement DNSName::operator==()Sergey Bugaev
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-21LookupServer: Use dbgln_if instead of #ifAli Mohammad Pur
Also adds a missing AK::Formatter specialisation for DNSName, required for the debug calls to actually work (!)
2021-02-15LookupServer: Store DNSName's in HashMap's directlySergey Bugaev
DNSName can now take care of case conversion when comparing using traits. It still intentionally doesn't implement operator ==; you have to explicitly decide whether you want case-sensitive or case-insensitive comparison. This change makes caches (and /etc/hosts) case-transparent: we will now match domains if they're the same except for the case.
2021-02-15LookupServer: Move case randomization into DNSNameSergey Bugaev
* DNSName knows how to randomize itself * DNSPacket no longer constructs DNSQuestion instances, it receives an already built DNSQuestion and just adds it to the list * LookupServer::lookup() explicitly calls randomize_case() if it needs to randomize the case.
2021-02-15LookupServer: Fix serializing name data in DNS answersSergey Bugaev
When serializing a RR of type PTR, we should use the DNS name serialization format, not a raw string.
2021-02-15LookupServer: Move DNS name serialization to DNSName classSergey Bugaev
2021-02-15LookupServer: Move parse_dns_name() -> DNSName::parse()Sergey Bugaev
While at it, refactor it slightly.
2021-02-15LookupServer: Introduce DNSNameSergey Bugaev
This is a wrapper around a string representing a domain name (such as "example.com"). It never has a trailing dot. For now, this class doesn't do much except wrap the raw string. Subsequent commits will add or move more functionality to it.