@@ -13,13 +13,13 @@ use hickory_server::{
1313} ;
1414use neptun:: noise:: { Tunn , TunnResult } ;
1515use pnet_packet:: {
16- dns:: { DnsQuery , DnsTypes } ,
16+ dns:: { DnsPacket , DnsQuery , DnsTypes } ,
1717 ip:: { IpNextHeaderProtocol , IpNextHeaderProtocols } ,
1818 ipv4:: { checksum, Ipv4Packet , MutableIpv4Packet } ,
1919 ipv6:: { Ipv6Packet , MutableIpv6Packet } ,
2020 tcp:: { MutableTcpPacket , TcpFlags , TcpPacket } ,
2121 udp:: { ipv4_checksum, ipv6_checksum, MutableUdpPacket , UdpPacket } ,
22- Packet ,
22+ FromPacket , Packet ,
2323} ;
2424use std:: {
2525 net:: { IpAddr , Ipv4Addr , Ipv6Addr , SocketAddr } ,
@@ -381,18 +381,27 @@ impl LocalNameServer {
381381 . clone ( )
382382 . ok_or_else ( || String :: from ( "No forwarder configured" ) ) ?
383383 } ;
384+
384385 telio_log_debug ! (
385- "Forwarding DNS request from port {:?}: {:?} " ,
386+ "Forwarding DNS request from port {:?}" ,
386387 request_info. dns_source_port( ) ,
387- & raw_query
388388 ) ;
389+ if let Some ( dns_packet) = DnsPacket :: new ( & raw_query) {
390+ telio_log_debug ! ( "Request: {:?}" , dns_packet) ;
391+ for query in dns_packet. get_queries ( ) {
392+ telio_log_debug ! ( " {}" , query. get_qname_parsed( ) ) ;
393+ }
394+ }
389395
390396 let response = forwarder
391397 . query ( & raw_query)
392398 . await
393399 . map_err ( |e| format ! ( "Forward failed: {e:?}" ) ) ?;
394400
395- telio_log_debug ! ( "Forwarder responded: {:?}" , & response) ;
401+ telio_log_debug ! ( "Forwarder responded" ) ;
402+ if let Some ( dns_packet) = DnsPacket :: new ( & response) {
403+ telio_log_debug ! ( "Response: {:#?}" , dns_packet) ;
404+ }
396405
397406 response
398407 }
0 commit comments