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:
parent
c1d7a51391
commit
4e3b59a4bb
7 changed files with 23 additions and 25 deletions
|
@ -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 {};
|
||||
|
|
|
@ -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> {};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue