1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 08:27:46 +00:00

LibDNS: Prefer spans over raw pointers when parsing DNS packets

This means we don't have to keep track of the pointer and size
separately.
This commit is contained in:
Tim Ledbetter 2023-11-02 20:04:11 +00:00 committed by Andreas Kling
parent c1d7a51391
commit 4e3b59a4bb
7 changed files with 23 additions and 25 deletions

View file

@ -29,7 +29,7 @@ ErrorOr<void> DNSServer::handle_client()
{
sockaddr_in client_address;
auto buffer = TRY(receive(1024, client_address));
auto optional_request = Packet::from_raw_packet(buffer.data(), buffer.size());
auto optional_request = Packet::from_raw_packet(buffer);
if (!optional_request.has_value()) {
dbgln("Got an invalid DNS packet");
return {};

View file

@ -263,13 +263,13 @@ ErrorOr<Vector<Answer>> LookupServer::lookup(Name const& name, DeprecatedString
TRY(udp_socket->write_until_depleted(buffer));
u8 response_buffer[4096];
int nrecv = TRY(udp_socket->read_some({ response_buffer, sizeof(response_buffer) })).size();
auto nrecv = TRY(udp_socket->read_some({ response_buffer, sizeof(response_buffer) })).size();
if (udp_socket->is_eof())
return Vector<Answer> {};
did_get_response = true;
auto o_response = Packet::from_raw_packet(response_buffer, nrecv);
auto o_response = Packet::from_raw_packet({ response_buffer, nrecv });
if (!o_response.has_value())
return Vector<Answer> {};

View file

@ -56,7 +56,7 @@ MulticastDNS::MulticastDNS(Core::EventReceiver* parent)
ErrorOr<void> MulticastDNS::handle_packet()
{
auto buffer = TRY(receive(1024));
auto optional_packet = Packet::from_raw_packet(buffer.data(), buffer.size());
auto optional_packet = Packet::from_raw_packet(buffer);
if (!optional_packet.has_value()) {
dbgln("Got an invalid mDNS packet");
return {};
@ -175,7 +175,7 @@ ErrorOr<Vector<Answer>> MulticastDNS::lookup(Name const& name, RecordType record
auto buffer = TRY(receive(1024));
if (buffer.is_empty())
return Vector<Answer> {};
auto optional_packet = Packet::from_raw_packet(buffer.data(), buffer.size());
auto optional_packet = Packet::from_raw_packet(buffer);
if (!optional_packet.has_value()) {
dbgln("Got an invalid mDNS packet");
continue;