mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-17 16:51:33 -04:00
Remove kernel_prepare_packet from DNS layer
The kernel does not need to send DNS packets. This is up to the user space.
This commit is contained in:
parent
0ca2d96100
commit
f2833a522b
@ -22,7 +22,6 @@ static_assert(sizeof(header) == 12, "DNS flags must be 96 bits");
|
|||||||
|
|
||||||
void decode(network::interface_descriptor& interface, network::ethernet::packet& packet);
|
void decode(network::interface_descriptor& interface, network::ethernet::packet& packet);
|
||||||
|
|
||||||
std::expected<network::ethernet::packet> kernel_prepare_packet_query(network::interface_descriptor& interface, const packet_descriptor& descriptor);
|
|
||||||
std::expected<network::ethernet::packet> user_prepare_packet_query(char* buffer, network::interface_descriptor& interface, const packet_descriptor* descriptor);
|
std::expected<network::ethernet::packet> user_prepare_packet_query(char* buffer, network::interface_descriptor& interface, const packet_descriptor* descriptor);
|
||||||
|
|
||||||
std::expected<void> finalize_packet(network::interface_descriptor& interface, network::ethernet::packet& p);
|
std::expected<void> finalize_packet(network::interface_descriptor& interface, network::ethernet::packet& p);
|
||||||
|
@ -192,18 +192,6 @@ void network::dns::decode(network::interface_descriptor& /*interface*/, network:
|
|||||||
network::propagate_packet(packet, network::socket_protocol::DNS);
|
network::propagate_packet(packet, network::socket_protocol::DNS);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::expected<network::ethernet::packet> network::dns::kernel_prepare_packet_query(network::interface_descriptor& interface, const packet_descriptor& descriptor) {
|
|
||||||
// Ask the UDP layer to craft a packet
|
|
||||||
network::udp::packet_descriptor desc{descriptor.target_ip, descriptor.source_port, 53, sizeof(header) + descriptor.payload_size};
|
|
||||||
auto packet = network::udp::kernel_prepare_packet(interface, desc);
|
|
||||||
|
|
||||||
if (packet) {
|
|
||||||
::prepare_packet_query(*packet, descriptor.identification);
|
|
||||||
}
|
|
||||||
|
|
||||||
return packet;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::expected<network::ethernet::packet> network::dns::user_prepare_packet_query(char* buffer, network::interface_descriptor& interface, const packet_descriptor* descriptor) {
|
std::expected<network::ethernet::packet> network::dns::user_prepare_packet_query(char* buffer, network::interface_descriptor& interface, const packet_descriptor* descriptor) {
|
||||||
// Ask the UDP layer to craft a packet
|
// Ask the UDP layer to craft a packet
|
||||||
network::udp::packet_descriptor desc{descriptor->target_ip, descriptor->source_port, 53, sizeof(header) + descriptor->payload_size};
|
network::udp::packet_descriptor desc{descriptor->target_ip, descriptor->source_port, 53, sizeof(header) + descriptor->payload_size};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user