From 2ac5b54a8be68e065237060332f216283625386f Mon Sep 17 00:00:00 2001 From: Sunil Purushottam Thakare Date: Sat, 24 May 2025 23:01:16 +0530 Subject: [PATCH] Delete Documents directory --- ...om Authoritative DNS Server for bzo.in.odt | Bin 121922 -> 0 bytes ...om Authoritative DNS Server for bzo.in.pdf | Bin 726359 -> 0 bytes Documents/code.odt | Bin 68797 -> 0 bytes Documents/code.rtf | 1634 ----------------- 4 files changed, 1634 deletions(-) delete mode 100644 Documents/Custom Authoritative DNS Server for bzo.in.odt delete mode 100644 Documents/Custom Authoritative DNS Server for bzo.in.pdf delete mode 100644 Documents/code.odt delete mode 100644 Documents/code.rtf diff --git a/Documents/Custom Authoritative DNS Server for bzo.in.odt b/Documents/Custom Authoritative DNS Server for bzo.in.odt deleted file mode 100644 index eb93438008b80a7e93cb3540f0accac2fcf58308..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121922 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Õy(kJIBLehszVreoFMN{~= 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

PIlluyfD6l$P+#m}u~nvo=!{Iv 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 Ci*S1Y diff --git a/Documents/code.odt b/Documents/code.odt deleted file mode 100644 index acc338576efab4de5aee359b19e8cfd1028f69a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68797 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

YyheTS~_0$qM!}%a}^GP_{ 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 W;LXYgk`x5ORNw),}}}\par\pard -\cbpat1{{\cf2{ default_domain}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ default_ip}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ forwarders}}{\cf11{:}} {\cf2{Vec}}{\cf11{<}}{\cf2{SocketAddr}}{\cf11{>,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b impl\b0 }} {\cf2{ServerConfig}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{from_env}}{\cf2{}}{\cf11{() ->}} {\cf2{Result}}{\cf11{<}}{\cf2{}}{\cf15{\b Self\b0 }}{\cf2{}}{\cf11{,}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{bind_addr}} {\cf11{=}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_BIND"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{|}} {\cf2{}}{\cf3{"{0}.{0}.{0}.{0}:{5}{3}"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{())}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{parse}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{map_err}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{|}} {\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Config}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Invalid DNS_BIND address"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{forwarders}} {\cf11{=}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_FORWARDERS"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{|}} {\cf2{}}{\cf3{"{8}.{8}.{8}.{8}:{5}{3},{1}.{1}.{1}.{1}:{5}{3},{9}.{9}.{9}.{9}:{5}{3}"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{())}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{split}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf11{,}}{\cf2{'}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{filter_map}}{\cf2{}}{\cf11{(|}}{\cf2{s}}{\cf11{|}} {\cf2{s}}{\cf11{.}}{\cf2{}}{\cf18{trim}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{parse}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{ok}}{\cf2{}}{\cf11{())}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b Self\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ bind_addr}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ db_path}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_DB_PATH"}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{|}} {\cf2{}}{\cf3{"dns.db"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()),}}}\par\pard -\cbpat1{{\cf2{ cache_ttl}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_CACHE_TTL"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{and_then}}{\cf2{}}{\cf11{(|}}{\cf2{v}}{\cf11{|}} {\cf2{v}}{\cf11{.}}{\cf2{}}{\cf18{parse}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{ok}}{\cf2{}}{\cf11{())}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{DEFAULT_TTL}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{ enable_ipv{6}}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_ENABLE_IPV{6}"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{v}}{\cf11{|}} {\cf2{v}} {\cf11{==}} {\cf2{}}{\cf3{"{1}"}}{\cf2{}} {\cf11{||}} {\cf2{v}}{\cf11{.}}{\cf2{}}{\cf18{eq_ignore_ascii_case}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"true"}}{\cf2{}}{\cf11{))}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b false\b0 }}{\cf2{}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{ max_packet_size}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_MAX_PACKET_SIZE"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{and_then}}{\cf2{}}{\cf11{(|}}{\cf2{v}}{\cf11{|}} {\cf2{v}}{\cf11{.}}{\cf2{}}{\cf18{parse}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{ok}}{\cf2{}}{\cf11{())}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{MAX_PACKET_SIZE}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{ authoritative}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_AUTHORITATIVE"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{v}}{\cf11{|}} {\cf2{v}} {\cf11{==}} {\cf2{}}{\cf3{"{1}"}}{\cf2{}} {\cf11{||}} {\cf2{v}}{\cf11{.}}{\cf2{}}{\cf18{eq_ignore_ascii_case}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"true"}}{\cf2{}}{\cf11{))}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b false\b0 }}{\cf2{}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{ ns_records}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_NS_RECORDS"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{v}}{\cf11{|}} {\cf2{v}}{\cf11{.}}{\cf2{}}{\cf18{split}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf11{,}}{\cf2{'}}{\cf11{).}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{s}}{\cf11{|}} {\cf2{s}}{\cf11{.}}{\cf2{}}{\cf18{trim}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{to_string}}{\cf2{}}{\cf11{()).}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{())}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{|}} {\cf2{vec}}{\cf11{![}}{\cf2{}}{\cf3{"ns{1}.bzo.in."}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{(),}} {\cf2{}}{\cf3{"ns{2}.bzo.in."}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()]),}}}\par\pard -\cbpat1{{\cf2{ default_domain}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_DEFAULT_DOMAIN"}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{|}} {\cf2{}}{\cf3{"bzo.in"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()),}}}\par\pard -\cbpat1{{\cf2{ default_ip}}{\cf11{:}} {\cf2{env}}{\cf11{::}}{\cf2{}}{\cf18{var}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"DNS_DEFAULT_IP"}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{|}} {\cf2{}}{\cf3{"{6}{0}.{2}{5}{4}.{6}{1}.{3}{3}"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()),}}}\par\pard -\cbpat1{{\cf2{ forwarders}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\})}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{#}}{\cf11{[}}{\cf2{}}{\cf18{derive}}{\cf2{}}{\cf11{(}}{\cf2{Debug}}{\cf11{,}} {\cf2{Clone}}{\cf11{)]}}}\par\pard -\cbpat1{{\cf2{}}{\cf16{struct}} {\cf2{CacheEntry}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ ip}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ inserted}}{\cf11{:}} {\cf2{SystemTime}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ ttl}}{\cf11{:}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{#}}{\cf11{[}}{\cf2{}}{\cf18{derive}}{\cf2{}}{\cf11{(}}{\cf2{Debug}}{\cf11{)]}}}\par\pard -\cbpat1{{\cf2{#}}{\cf11{[}}{\cf2{}}{\cf18{derive}}{\cf2{}}{\cf11{(}}{\cf2{Clone}}{\cf11{)]}}}\par\pard -\cbpat1{{\cf2{}}{\cf16{struct}} {\cf2{DnsCache}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ entries}}{\cf11{:}} {\cf2{Arc}}{\cf11{<}}{\cf2{Mutex}}{\cf11{<}}{\cf2{HashMap}}{\cf11{<}}{\cf2{String}}{\cf11{,}} {\cf2{CacheEntry}}{\cf11{>>>,}}}\par\pard -\cbpat1{{\cf2{ ns_records}}{\cf11{:}} {\cf2{Vec}}{\cf11{<}}{\cf2{String}}{\cf11{>,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b impl\b0 }} {\cf2{DnsCache}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(}}{\cf2{ns_records}}{\cf11{:}} {\cf2{Vec}}{\cf11{<}}{\cf2{String}}{\cf11{>) ->}} {\cf2{}}{\cf15{\b Self\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b Self\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ entries}}{\cf11{:}} {\cf2{Arc}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(}}{\cf2{Mutex}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(}}{\cf2{HashMap}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{())),}}}\par\pard -\cbpat1{{\cf2{ ns_records}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b self\b0 }}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{) ->}} {\cf2{Option}}{\cf11{<(}}{\cf2{String}}{\cf11{,}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{)> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{cache}} {\cf11{=}} {\cf2{}}{\cf15{\b self\b0 }}{\cf2{}}{\cf11{.}}{\cf2{entries}}{\cf11{.}}{\cf2{}}{\cf18{lock}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{entry}}{\cf11{) =}} {\cf2{cache}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{(}}{\cf2{domain}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{entry}}{\cf11{.}}{\cf2{inserted}}{\cf11{.}}{\cf2{}}{\cf18{elapsed}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap_or_default}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{as_secs}}{\cf2{}}{\cf11{() <=}} {\cf2{entry}}{\cf11{.}}{\cf2{ttl}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{((}}{\cf2{entry}}{\cf11{.}}{\cf2{ip}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}} {\cf2{entry}}{\cf11{.}}{\cf2{ttl}}{\cf11{));}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ cache}}{\cf11{.}}{\cf2{}}{\cf18{remove}}{\cf2{}}{\cf11{(}}{\cf2{domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ None}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{set}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b self\b0 }}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{:}} {\cf2{String}}{\cf11{,}} {\cf2{ip}}{\cf11{:}} {\cf2{String}}{\cf11{,}} {\cf2{ttl}}{\cf11{:}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{cache}} {\cf11{=}} {\cf2{}}{\cf15{\b self\b0 }}{\cf2{}}{\cf11{.}}{\cf2{entries}}{\cf11{.}}{\cf2{}}{\cf18{lock}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{ cache}}{\cf11{.}}{\cf2{}}{\cf18{insert}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ domain}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ CacheEntry}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ ip}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ inserted}}{\cf11{:}} {\cf2{SystemTime}}{\cf11{::}}{\cf2{}}{\cf18{now}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{ ttl}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{cleanup}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b self\b0 }}{\cf2{}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{cache}} {\cf11{=}} {\cf2{}}{\cf15{\b self\b0 }}{\cf2{}}{\cf11{.}}{\cf2{entries}}{\cf11{.}}{\cf2{}}{\cf18{lock}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{ cache}}{\cf11{.}}{\cf2{}}{\cf18{retain}}{\cf2{}}{\cf11{(|}}{\cf2{_}}{\cf11{,}} {\cf2{entry}}{\cf11{| \{}}}\par\pard -\cbpat1{{\cf2{ entry}}{\cf11{.}}{\cf2{inserted}}{\cf11{.}}{\cf2{}}{\cf18{elapsed}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{d}}{\cf11{|}} {\cf2{d}}{\cf11{.}}{\cf2{}}{\cf18{as_secs}}{\cf2{}}{\cf11{() <=}} {\cf2{entry}}{\cf11{.}}{\cf2{ttl}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b true\b0 }}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\});}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b static\b0 }} {\cf2{CACHE}}{\cf11{:}} {\cf2{OnceLock}}{\cf11{<}}{\cf2{DnsCache}}{\cf11{> =}} {\cf2{OnceLock}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{#}}{\cf11{[}}{\cf2{tokio}}{\cf11{::}}{\cf2{main}}{\cf11{]}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{main}}{\cf2{}}{\cf11{() ->}} {\cf2{Result}}{\cf11{<(),}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{ env_logger}}{\cf11{::}}{\cf2{Builder}}{\cf11{::}}{\cf2{}}{\cf18{from_env}}{\cf2{}}{\cf11{(}}{\cf2{env_logger}}{\cf11{::}}{\cf2{Env}}{\cf11{::}}{\cf2{}}{\cf17{default}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{default_filter_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"info"}}{\cf2{}}{\cf11{))}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{format_timestamp_micros}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{init}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{config}} {\cf11{=}} {\cf2{ServerConfig}}{\cf11{::}}{\cf2{}}{\cf18{from_env}}{\cf2{}}{\cf11{()}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Initialize cache with NS records from config\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{cache}} {\cf11{=}} {\cf2{CACHE}}{\cf11{.}}{\cf2{}}{\cf18{get_or_init}}{\cf2{}}{\cf11{(||}} {\cf2{DnsCache}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{.}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{init_db}}{\cf2{}}{\cf11{(&}}{\cf2{config}}{\cf11{.}}{\cf2{db_path}}{\cf11{, &}}{\cf2{config}}{\cf11{.}}{\cf2{default_domain}}{\cf11{, &}}{\cf2{config}}{\cf11{.}}{\cf2{default_ip}}{\cf11{)}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{cache_cleanup}} {\cf11{=}} {\cf2{task}}{\cf11{::}}{\cf2{}}{\cf18{spawn}}{\cf2{}}{\cf11{(\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{cache}} {\cf11{=}} {\cf2{cache}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{ async}} {\cf15{\b move\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{interval}} {\cf11{=}} {\cf2{tokio}}{\cf11{::}}{\cf2{time}}{\cf11{::}}{\cf2{}}{\cf18{interval}}{\cf2{}}{\cf11{(}}{\cf2{CACHE_CLEANUP_INTERVAL}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b loop\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ interval}}{\cf11{.}}{\cf2{}}{\cf18{tick}}{\cf2{}}{\cf11{().}}{\cf2{await}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ cache}}{\cf11{.}}{\cf2{}}{\cf18{cleanup}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{debug!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Cache cleanup completed"}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\});}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{shutdown_signal}} {\cf11{=}} {\cf2{async}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ signal}}{\cf11{::}}{\cf2{}}{\cf18{ctrl_c}}{\cf2{}}{\cf11{().}}{\cf2{await}}{\cf11{.}}{\cf2{}}{\cf18{expect}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Failed to listen for shutdown signal"}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Shutdown signal received"}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{udp_server}} {\cf11{=}} {\cf2{}}{\cf18{run_udp_server}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{tcp_server}} {\cf11{=}} {\cf2{}}{\cf18{run_tcp_server}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ tokio}}{\cf11{::}}{\cf2{select}}{\cf11{! \{}}}\par\pard -\cbpat1{{\cf2{ _}} {\cf11{=}} {\cf2{shutdown_signal}} {\cf11{=> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Initiating graceful shutdown..."}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ cache_cleanup}}{\cf11{.}}{\cf2{}}{\cf18{abort}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(())}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{ res}} {\cf11{=}} {\cf2{udp_server}} {\cf11{=>}} {\cf2{res}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ res}} {\cf11{=}} {\cf2{tcp_server}} {\cf11{=>}} {\cf2{res}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{run_udp_server}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{:}} {\cf2{ServerConfig}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<(),}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{socket}} {\cf11{=}} {\cf2{UdpSocket}}{\cf11{::}}{\cf2{}}{\cf18{bind}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{.}}{\cf2{bind_addr}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"UDP DNS server listening on}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{config}}{\cf11{.}}{\cf2{bind_addr}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{socket}} {\cf11{=}} {\cf2{Arc}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(}}{\cf2{socket}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{buf}} {\cf11{=}} {\cf2{vec}}{\cf11{![}}{\cf2{}}{\cf4{{0}u{8}}}{\cf2{}}{\cf11{;}} {\cf2{config}}{\cf11{.}}{\cf2{max_packet_size}}{\cf11{];}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b loop\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b match\b0 }} {\cf2{socket}}{\cf11{.}}{\cf2{}}{\cf18{recv_from}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{buf}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{((}}{\cf2{amt}}{\cf11{,}} {\cf2{src}}{\cf11{)) => \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{query}} {\cf11{=}} {\cf2{buf}}{\cf11{[..}}{\cf2{amt}}{\cf11{].}}{\cf2{}}{\cf18{to_vec}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{socket}} {\cf11{=}} {\cf2{socket}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{config}} {\cf11{=}} {\cf2{config}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{ task}}{\cf11{::}}{\cf2{}}{\cf18{spawn}}{\cf2{}}{\cf11{(}}{\cf2{async}} {\cf15{\b move\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{e}}{\cf11{) =}} {\cf2{}}{\cf18{handle_udp_query}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{,}} {\cf2{src}}{\cf11{,}} {\cf2{socket}}{\cf11{,}} {\cf2{config}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{warn!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"UDP query error:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{e}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\});}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{e}}{\cf11{) =>}} {\cf2{}}{\cf18{error!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"UDP receive error:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{e}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{handle_udp_query}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ query}}{\cf11{:}} {\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>,}}}\par\pard -\cbpat1{{\cf2{ src}}{\cf11{:}} {\cf2{SocketAddr}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ socket}}{\cf11{:}} {\cf2{Arc}}{\cf11{<}}{\cf2{UdpSocket}}{\cf11{>,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{:}} {\cf2{ServerConfig}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<(),}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() <}} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{debug!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Received malformed query from}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{src}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{opcode}} {\cf11{= (}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{7}{8}}}{\cf2{}}{\cf11{) >>}} {\cf2{}}{\cf4{{3}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{opcode}} {\cf11{!=}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{) =}} {\cf2{}}{\cf18{build_not_implemented_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{,}} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{ socket}}{\cf11{.}}{\cf2{}}{\cf18{send_to}}{\cf2{}}{\cf11{(&}}{\cf2{response}}{\cf11{,}} {\cf2{src}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{domain}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{}}{\cf18{extract_domain}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{d}}{\cf11{) =>}} {\cf2{d}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ None}} {\cf11{=> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Failed to extract domain from query"}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{debug!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"UDP query for}} {\cf12{\{\}}} {\cf3{from}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{,}} {\cf2{src}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Processing query for domain:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{response}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{}}{\cf18{generate_dns_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{,}} {\cf2{domain}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(), &}}{\cf2{config}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{) =>}} {\cf2{resp}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) => \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{build_nxdomain_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{,}} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok_or}}{\cf2{}}{\cf11{(}}{\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"NXDOMAIN"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}{\cf2{?}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ socket}}{\cf11{.}}{\cf2{}}{\cf18{send_to}}{\cf2{}}{\cf11{(&}}{\cf2{response}}{\cf11{,}} {\cf2{src}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(())}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{forward_to_resolvers}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}} {\cf2{forwarders}}{\cf11{: &[}}{\cf2{SocketAddr}}{\cf11{]) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{}}{\cf11{&}}{\cf2{forwarder}} {\cf15{\b in\b0 }} {\cf2{forwarders}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Forwarding query to resolver:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{forwarder}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{) =}} {\cf2{}}{\cf18{forward_request_udp}}{\cf2{}}{\cf11{(}}{\cf2{forwarder}}{\cf11{,}} {\cf2{query}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Received response from resolver:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{forwarder}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ None}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{forward_request_tcp}}{\cf2{}}{\cf11{(}}{\cf2{forwarder}}{\cf11{:}} {\cf2{SocketAddr}}{\cf11{,}} {\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{std}}{\cf11{::}}{\cf2{io}}{\cf11{::}}{\cf2{Result}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Connect to the forwarder using TCP\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{stream}} {\cf11{=}} {\cf2{TcpStream}}{\cf11{::}}{\cf2{}}{\cf18{connect}}{\cf2{}}{\cf11{(}}{\cf2{forwarder}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Write the query with a {2}-byte length prefix (per DNS over TCP)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{query_len}} {\cf11{=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ stream}}{\cf11{.}}{\cf2{}}{\cf18{write_all}}{\cf2{}}{\cf11{(&}}{\cf2{query_len}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{()).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ stream}}{\cf11{.}}{\cf2{}}{\cf18{write_all}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Read the {2}-byte length prefix of the response\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{len_buf}} {\cf11{= [}}{\cf2{}}{\cf4{{0}u{8}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{];}}}\par\pard -\cbpat1{{\cf2{ stream}}{\cf11{.}}{\cf2{}}{\cf18{read_exact}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{len_buf}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{resp_len}} {\cf11{=}} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{::}}{\cf2{}}{\cf18{from_be_bytes}}{\cf2{}}{\cf11{(}}{\cf2{len_buf}}{\cf11{)}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Read the response\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{resp_buf}} {\cf11{=}} {\cf2{vec}}{\cf11{![}}{\cf2{}}{\cf4{{0}u{8}}}{\cf2{}}{\cf11{;}} {\cf2{resp_len}}{\cf11{];}}}\par\pard -\cbpat1{{\cf2{ stream}}{\cf11{.}}{\cf2{}}{\cf18{read_exact}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{resp_buf}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{resp_buf}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i /// Tries each forwarder over TCP and returns the first valid response.\i0 }}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{forward_to_resolvers_tcp}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}} {\cf2{forwarders}}{\cf11{: &[}}{\cf2{SocketAddr}}{\cf11{]) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{}}{\cf11{&}}{\cf2{forwarder}} {\cf15{\b in\b0 }} {\cf2{forwarders}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{) =}} {\cf2{}}{\cf18{forward_request_tcp}}{\cf2{}}{\cf11{(}}{\cf2{forwarder}}{\cf11{,}} {\cf2{query}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ None}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{forward_request_udp}}{\cf2{}}{\cf11{(}}{\cf2{forwarder}}{\cf11{:}} {\cf2{SocketAddr}}{\cf11{,}} {\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{std}}{\cf11{::}}{\cf2{io}}{\cf11{::}}{\cf2{Result}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{local}} {\cf11{=}} {\cf2{SocketAddr}}{\cf11{::}}{\cf2{}}{\cf18{V{4}}}{\cf2{}}{\cf11{(}}{\cf2{SocketAddrV{4}}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(}}{\cf2{Ipv{4}Addr}}{\cf11{::}}{\cf2{UNSPECIFIED}}{\cf11{,}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{));}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{sock}} {\cf11{=}} {\cf2{UdpSocket}}{\cf11{::}}{\cf2{}}{\cf18{bind}}{\cf2{}}{\cf11{(}}{\cf2{local}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ sock}}{\cf11{.}}{\cf2{}}{\cf18{send_to}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{,}} {\cf2{forwarder}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{buf}} {\cf11{= [}}{\cf2{}}{\cf4{{0}u{8}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf4{{4}{0}{9}{6}}}{\cf2{}}{\cf11{];}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{}}{\cf11{(}}{\cf2{amt}}{\cf11{,}} {\cf2{_}}{\cf11{) =}} {\cf2{sock}}{\cf11{.}}{\cf2{}}{\cf18{recv_from}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{buf}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{buf}}{\cf11{[..}}{\cf2{amt}}{\cf11{].}}{\cf2{}}{\cf18{to_vec}}{\cf2{}}{\cf11{())}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{run_tcp_server}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{:}} {\cf2{ServerConfig}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<(),}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{listener}} {\cf11{=}} {\cf2{TcpListener}}{\cf11{::}}{\cf2{}}{\cf18{bind}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{.}}{\cf2{bind_addr}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"TCP DNS server listening on}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{config}}{\cf11{.}}{\cf2{bind_addr}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b loop\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b match\b0 }} {\cf2{listener}}{\cf11{.}}{\cf2{}}{\cf18{accept}}{\cf2{}}{\cf11{().}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{((}}{\cf2{stream}}{\cf11{,}} {\cf2{addr}}{\cf11{)) => \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{config}} {\cf11{=}} {\cf2{config}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{ task}}{\cf11{::}}{\cf2{}}{\cf18{spawn}}{\cf2{}}{\cf11{(}}{\cf2{async}} {\cf15{\b move\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{e}}{\cf11{) =}} {\cf2{}}{\cf18{handle_tcp_connection}}{\cf2{}}{\cf11{(}}{\cf2{stream}}{\cf11{,}} {\cf2{addr}}{\cf11{,}} {\cf2{config}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{warn!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"TCP connection error:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{e}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\});}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{e}}{\cf11{) =>}} {\cf2{}}{\cf18{error!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"TCP accept error:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{e}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{handle_tcp_connection}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b mut\b0 }} {\cf2{stream}}{\cf11{:}} {\cf2{TcpStream}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ addr}}{\cf11{:}} {\cf2{SocketAddr}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{:}} {\cf2{ServerConfig}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<(),}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Read the {2}-byte length prefix\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{len}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{stream}}{\cf11{.}}{\cf2{}}{\cf18{read_u{1}{6}}}{\cf2{}}{\cf11{().}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{len}}{\cf11{) =>}} {\cf2{len}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) =>}} {\cf2{}}{\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(()),}} {\cf2{}}{\cf5{\i // Connection closed or error\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{buf}} {\cf11{=}} {\cf2{vec}}{\cf11{![}}{\cf2{}}{\cf4{{0}u{8}}}{\cf2{}}{\cf11{;}} {\cf2{len}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{];}}}\par\pard -\cbpat1{{\cf2{ stream}}{\cf11{.}}{\cf2{}}{\cf18{read_exact}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{buf}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check for minimum DNS header length\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{buf}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() <}} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{debug!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Received malformed TCP query from}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{addr}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check for standard query (opcode {0})\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{opcode}} {\cf11{= (}}{\cf2{buf}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{7}{8}}}{\cf2{}}{\cf11{) >>}} {\cf2{}}{\cf4{{3}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{opcode}} {\cf11{!=}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{) =}} {\cf2{}}{\cf18{build_not_implemented_response}}{\cf2{}}{\cf11{(&}}{\cf2{buf}}{\cf11{,}} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{send_tcp_response}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{stream}}{\cf11{, &}}{\cf2{response}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Extract domain from query\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{domain}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{}}{\cf18{extract_domain}}{\cf2{}}{\cf11{(&}}{\cf2{buf}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{d}}{\cf11{) =>}} {\cf2{d}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ None}} {\cf11{=> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Failed to extract domain from TCP query"}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{debug!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"TCP query for}} {\cf12{\{\}}} {\cf3{from}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{,}} {\cf2{addr}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{info!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Processing TCP query for domain:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Try local/cache resolution first\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{response}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{}}{\cf18{generate_dns_response}}{\cf2{}}{\cf11{(&}}{\cf2{buf}}{\cf11{,}} {\cf2{domain}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(), &}}{\cf2{config}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{) =>}} {\cf2{resp}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) => \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Try TCP forwarding to upstream resolvers\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{}}{\cf11{!}}{\cf2{config}}{\cf11{.}}{\cf2{forwarders}}{\cf11{.}}{\cf2{}}{\cf18{is_empty}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{) =}} {\cf2{}}{\cf18{forward_to_resolvers_tcp}}{\cf2{}}{\cf11{(&}}{\cf2{buf}}{\cf11{, &}}{\cf2{config}}{\cf11{.}}{\cf2{forwarders}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{send_tcp_response}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{stream}}{\cf11{, &}}{\cf2{resp}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Fallback: NXDOMAIN\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{nxdomain}} {\cf11{=}} {\cf2{}}{\cf18{build_nxdomain_response}}{\cf2{}}{\cf11{(&}}{\cf2{buf}}{\cf11{,}} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok_or}}{\cf2{}}{\cf11{(}}{\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"NXDOMAIN"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{send_tcp_response}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{stream}}{\cf11{, &}}{\cf2{nxdomain}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Send the response (local/cache answer)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf18{send_tcp_response}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{stream}}{\cf11{, &}}{\cf2{response}}{\cf11{).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(())}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{send_tcp_response}}{\cf2{}}{\cf11{(}}{\cf2{stream}}{\cf11{: &}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{TcpStream}}{\cf11{,}} {\cf2{response}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{std}}{\cf11{::}}{\cf2{io}}{\cf11{::}}{\cf2{Result}}{\cf11{<()> \{}}}\par\pard -\cbpat1{{\cf2{ stream}}{\cf11{.}}{\cf2{}}{\cf18{write_all}}{\cf2{}}{\cf11{(&(}}{\cf2{response}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{()).}}{\cf2{await?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ stream}}{\cf11{.}}{\cf2{}}{\cf18{write_all}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{).}}{\cf2{await}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{extract_domain}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{String}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() <}} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}} {\cf2{}}{\cf5{\i // DNS header is {1}{2} bytes\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{pos}} {\cf11{=}} {\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Start after header\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{domain}} {\cf11{=}} {\cf2{String}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Extract QNAME (domain)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b loop\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{len}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{len}} {\cf11{==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b break\b0 }}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // End of QNAME\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{len}} {\cf11{>}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}} {\cf2{}}{\cf5{\i // Invalid length\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{}}{\cf11{!}}{\cf2{domain}}{\cf11{.}}{\cf2{}}{\cf18{is_empty}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{ domain}}{\cf11{.}}{\cf2{}}{\cf18{push}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf11{.}}{\cf2{'}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{label}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{::}}{\cf2{}}{\cf18{from_utf{8}}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{..}}{\cf2{pos}} {\cf11{+}} {\cf2{len}}{\cf11{]) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{l}}{\cf11{) =>}} {\cf2{l}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) =>}} {\cf2{}}{\cf15{\b return\b0 }} {\cf2{None}}{\cf11{,}} {\cf2{}}{\cf5{\i // Invalid UTF-{8}\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{ domain}}{\cf11{.}}{\cf2{}}{\cf18{push_str}}{\cf2{}}{\cf11{(}}{\cf2{label}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{len}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip QTYPE and QCLASS ({4} bytes)\i0 }}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Verify we have enough data for at least QTYPE/QCLASS\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{>}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{domain}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{async}} {\cf15{\b fn\b0 }} {\cf2{}}{\cf18{generate_dns_response}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}}}\par\pard -\cbpat1{{\cf2{ domain}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{: &}}{\cf2{ServerConfig}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>,}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{query_type}} {\cf11{=}} {\cf2{}}{\cf18{extract_query_type}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Only check cache for A/AAAA queries\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query_type}} {\cf11{==}} {\cf2{}}{\cf4{{1}}} {\cf2{}}{\cf11{||}} {\cf2{query_type}} {\cf11{==}} {\cf2{}}{\cf4{{2}{8}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{((}}{\cf2{ip}}{\cf11{,}} {\cf2{ttl}}{\cf11{)) =}} {\cf2{CACHE}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{(&}}{\cf2{domain}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{build_dns_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{, &}}{\cf2{ip}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{config}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{records}} {\cf11{=}} {\cf2{}}{\cf18{lookup_records}}{\cf2{}}{\cf11{(&}}{\cf2{config}}{\cf11{.}}{\cf2{db_path}}{\cf11{, &}}{\cf2{domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{requested_type}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{query_type}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"A"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{2}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"NS"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{5}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"CNAME"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{6}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"SOA"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}{2}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"PTR"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}{5}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"MX"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}{6}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"TXT"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{2}{8}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf3{"AAAA"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ _}} {\cf11{=>}} {\cf2{}}{\cf3{""}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Try exact match first\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{((}}{\cf2{value}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{_}}{\cf11{)) =}} {\cf2{records}}{\cf11{.}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{find}}{\cf2{}}{\cf11{(|(}}{\cf2{_}}{\cf11{,}} {\cf2{_}}{\cf11{,}} {\cf2{rtype}}{\cf11{)|}} {\cf2{rtype}} {\cf11{==}} {\cf2{requested_type}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{cloned}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return match\b0 }} {\cf2{requested_type}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"SOA"}}{\cf2{}} {\cf11{=>}} {\cf2{}}{\cf18{build_soa_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{, &}}{\cf2{value}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{domain}}{\cf11{,}} {\cf2{config}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"NS"}}{\cf2{}} {\cf11{=>}} {\cf2{}}{\cf18{build_ns_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{, &}}{\cf2{records}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{domain}}{\cf11{,}} {\cf2{config}}{\cf11{),}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"MX"}}{\cf2{}} {\cf11{|}} {\cf2{}}{\cf3{"TXT"}}{\cf2{}} {\cf11{|}} {\cf2{}}{\cf3{"CNAME"}}{\cf2{}} {\cf11{|}} {\cf2{}}{\cf3{"PTR"}}{\cf2{}} {\cf11{=> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{build_generic_record_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{, &}}{\cf2{value}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{domain}}{\cf11{,}} {\cf2{query_type}}{\cf11{,}} {\cf2{config}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"A"}}{\cf2{}} {\cf11{|}} {\cf2{}}{\cf3{"AAAA"}}{\cf2{}} {\cf11{=> \{}}}\par\pard -\cbpat1{{\cf2{ CACHE}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{set}}{\cf2{}}{\cf11{(}}{\cf2{domain}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}} {\cf2{value}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}} {\cf2{ttl}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{build_dns_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{, &}}{\cf2{value}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{config}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{ _}} {\cf11{=>}} {\cf2{}}{\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Unsupported record type"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Special fallback only for A/AAAA queries\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query_type}} {\cf11{==}} {\cf2{}}{\cf4{{1}}} {\cf2{}}{\cf11{||}} {\cf2{query_type}} {\cf11{==}} {\cf2{}}{\cf4{{2}{8}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{((}}{\cf2{ip}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{_}}{\cf11{)) =}} {\cf2{records}}{\cf11{.}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{find}}{\cf2{}}{\cf11{(|(}}{\cf2{_}}{\cf11{,}} {\cf2{_}}{\cf11{,}} {\cf2{rtype}}{\cf11{)|}} {\cf2{rtype}} {\cf11{==}} {\cf2{}}{\cf3{"A"}}{\cf2{}} {\cf11{||}} {\cf2{rtype}} {\cf11{==}} {\cf2{}}{\cf3{"AAAA"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{cloned}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ CACHE}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{set}}{\cf2{}}{\cf11{(}}{\cf2{domain}}{\cf11{,}} {\cf2{ip}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}} {\cf2{ttl}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{build_dns_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{, &}}{\cf2{ip}}{\cf11{,}} {\cf2{ttl}}{\cf11{,}} {\cf2{config}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Authority and forwarding logic\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{zones}} {\cf11{=}} {\cf2{}}{\cf18{get_authoritative_zones}}{\cf2{}}{\cf11{(&}}{\cf2{config}}{\cf11{.}}{\cf2{db_path}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{is_authoritative}} {\cf11{=}} {\cf2{}}{\cf18{find_closest_parent_zone}}{\cf2{}}{\cf11{(&}}{\cf2{domain}}{\cf11{, &}}{\cf2{zones}}{\cf11{).}}{\cf2{}}{\cf18{is_some}}{\cf2{}}{\cf11{() &&}} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{}}{\cf11{!}}{\cf2{is_authoritative}} {\cf11{&& !}}{\cf2{config}}{\cf11{.}}{\cf2{forwarders}}{\cf11{.}}{\cf2{}}{\cf18{is_empty}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{) =}} {\cf2{}}{\cf18{forward_to_resolvers}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{, &}}{\cf2{config}}{\cf11{.}}{\cf2{forwarders}}{\cf11{).}}{\cf2{await}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{response}} {\cf11{=}} {\cf2{resp}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{response}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() >=}} {\cf2{}}{\cf4{{3}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &=}} {\cf2{}}{\cf4{{0}xFB}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Clear AA bit\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{build_nxdomain_response}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{,}} {\cf2{is_authoritative}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok_or}}{\cf2{}}{\cf11{(}}{\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"NXDOMAIN"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Function to build response for SOA records\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{build_soa_response}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}}}\par\pard -\cbpat1{{\cf2{ soa_value}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ ttl}}{\cf11{:}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ domain}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{: &}}{\cf2{ServerConfig}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>,}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{response}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{with_capacity}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{5}{1}{2}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy transaction ID and question from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[..}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set flags\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // QR = {1} (response)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // OPCODE = {0} (standard query)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // AA = {1} if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TC = {0} (not truncated)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RD = copy from query\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RA = {1} (recursion available)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Z = {0}\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RCODE = {0} (no error)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{1}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}} {\cf2{}}{\cf11{| (}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // Set QR and preserve RD\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{2}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Set RA\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}} {\cf2{flags{1}}} {\cf11{|}} {\cf2{}}{\cf4{{0}x{0}{4}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{flags{1}}} {\cf11{\},}} {\cf2{}}{\cf5{\i // Set AA if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{ flags{2}}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy QDCOUNT from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{6}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ANCOUNT to {1}\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set NSCOUNT ({2} if authoritative, else {0})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}} {\cf2{}}{\cf4{{0}x{0}{2}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{}}{\cf4{{0}x{0}{0}}} {\cf2{}}{\cf11{\}]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ARCOUNT to {0}\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy question section from query\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{qname_end}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..].}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{position}}{\cf2{}}{\cf11{(|&}}{\cf2{b}}{\cf11{|}} {\cf2{b}} {\cf11{==}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok_or_else}}{\cf2{}}{\cf11{(||}} {\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Invalid question format"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}{\cf2{?}} {\cf11{+}} {\cf2{}}{\cf4{{1}{3}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..}}{\cf2{qname_end}} {\cf11{+}} {\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add answer section for SOA\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name pointer to question\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}xc{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}c}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type SOA ({0}x{0}{0}{0}{6})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{6}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL ({3}{2} bits)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ttl}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Parse and encode SOA record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{soa_parts}}{\cf11{:}} {\cf2{Vec}}{\cf11{<&}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{> =}} {\cf2{soa_value}}{\cf11{.}}{\cf2{}}{\cf18{split_whitespace}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{soa_parts}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() >=}} {\cf2{}}{\cf4{{7}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // MNAME (primary nameserver)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{mname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{soa_parts}}{\cf11{[}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RNAME (responsible person mailbox)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{soa_parts}}{\cf11{[}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Calculate RDLENGTH (mname + rname + {5} x {3}{2}-bit integers)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rdlength}} {\cf11{=}} {\cf2{mname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{rname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{}}{\cf4{{2}{0}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{rdlength}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add MNAME and RNAME\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{mname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{rname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add the {5} SOA integers (SERIAL, REFRESH, RETRY, EXPIRE, MINIMUM)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{i}} {\cf15{\b in\b0 }} {\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{7}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{val}}{\cf11{) =}} {\cf2{soa_parts}}{\cf11{[}}{\cf2{i}}{\cf11{].}}{\cf2{parse}}{\cf11{::<}}{\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{>() \{}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{val}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Default values if parsing fails\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b match\b0 }} {\cf2{i}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{2}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{1}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // SERIAL\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{3}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{1}{0}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // REFRESH\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{4}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{3}{6}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // RETRY\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{5}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{6}{0}{4}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // EXPIRE\i0 }}}\par\pard -\cbpat1{{\cf2{ _}} {\cf11{=>}} {\cf2{}}{\cf4{{8}{6}{4}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // MINIMUM\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // If SOA format is invalid, add a minimal valid SOA record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_records}} {\cf11{= &}}{\cf2{config}}{\cf11{.}}{\cf2{ns_records}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{mname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(&}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{first}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{cloned}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(||}} {\cf2{}}{\cf3{"ns{1}.example.com."}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_string}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"hostmaster.}}{\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{));}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Calculate RDLENGTH\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rdlength}} {\cf11{=}} {\cf2{mname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{rname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{}}{\cf4{{2}{0}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{rdlength}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // MNAME and RNAME\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{mname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{rname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // SOA integers with reasonable defaults\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{1}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // SERIAL\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{1}{0}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // REFRESH\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{3}{6}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // RETRY\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{6}{0}{4}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // EXPIRE\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{8}{6}{4}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // MINIMUM\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add authoritative NS records if configured\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{ns}} {\cf15{\b in\b0 }} {\cf2{}}{\cf11{&}}{\cf2{config}}{\cf11{.}}{\cf2{ns_records}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name pointer to question\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}xc{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}c}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type NS ({0}x{0}{0}{0}{2})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL (use same as A record)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ttl}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RDLENGTH and RDATA (NS name)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_data}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{ns}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&((}}{\cf2{ns_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{ns_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Function to build response for NS records\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{build_ns_response}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}}}\par\pard -\cbpat1{{\cf2{ records}}{\cf11{: &[(}}{\cf2{String}}{\cf11{,}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}} {\cf2{String}}{\cf11{)],}}}\par\pard -\cbpat1{{\cf2{ ttl}}{\cf11{:}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ domain}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{: &}}{\cf2{ServerConfig}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>,}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{response}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{with_capacity}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{5}{1}{2}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy transaction ID and question from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[..}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set flags\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{1}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}} {\cf2{}}{\cf11{| (}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // Set QR and preserve RD\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{2}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Set RA\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}} {\cf2{flags{1}}} {\cf11{|}} {\cf2{}}{\cf4{{0}x{0}{4}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{flags{1}}} {\cf11{\},}} {\cf2{}}{\cf5{\i // Set AA if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{ flags{2}}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Filter NS records from database\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{db_ns_records}}{\cf11{:}} {\cf2{Vec}}{\cf11{<(}}{\cf2{String}}{\cf11{,}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}} {\cf2{String}}{\cf11{)> =}} {\cf2{records}}{\cf11{.}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{filter}}{\cf2{}}{\cf11{(|(}}{\cf2{_}}{\cf11{,}} {\cf2{_}}{\cf11{,}} {\cf2{rtype}}{\cf11{)|}} {\cf2{rtype}} {\cf11{==}} {\cf2{}}{\cf3{"NS"}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{cloned}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Use database records if available, otherwise fall back to config if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_records}}{\cf11{:}} {\cf2{Vec}}{\cf11{<(}}{\cf2{String}}{\cf11{,}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}} {\cf2{String}}{\cf11{)> =}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{db_ns_records}}{\cf11{.}}{\cf2{}}{\cf18{is_empty}}{\cf2{}}{\cf11{() &&}} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{.}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{ns}}{\cf11{| (}}{\cf2{ns}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}} {\cf2{config}}{\cf11{.}}{\cf2{cache_ttl}}{\cf11{,}} {\cf2{}}{\cf3{"NS"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_string}}{\cf2{}}{\cf11{()))}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{()}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ db_ns_records}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy QDCOUNT from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{6}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ANCOUNT to number of NS records\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set NSCOUNT to {0} (we're putting all NS records in answer section)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ARCOUNT to {0}\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy question section from query\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{qname_end}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..].}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{position}}{\cf2{}}{\cf11{(|&}}{\cf2{b}}{\cf11{|}} {\cf2{b}} {\cf11{==}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok_or_else}}{\cf2{}}{\cf11{(||}} {\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Invalid question format"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}{\cf2{?}} {\cf11{+}} {\cf2{}}{\cf4{{1}{3}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..}}{\cf2{qname_end}} {\cf11{+}} {\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add answer section for each NS record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{}}{\cf11{(}}{\cf2{value}}{\cf11{,}} {\cf2{record_ttl}}{\cf11{,}} {\cf2{_}}{\cf11{)}} {\cf2{}}{\cf15{\b in\b0 }} {\cf2{ns_records}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name pointer to question\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}xc{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}c}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type NS ({0}x{0}{0}{0}{2})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL ({3}{2} bits)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{record_ttl}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RDLENGTH and RDATA (NS name)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_data}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(&}}{\cf2{value}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&((}}{\cf2{ns_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{ns_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Function to build responses for MX, TXT, CNAME records\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{build_generic_record_response}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}}}\par\pard -\cbpat1{{\cf2{ value}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ ttl}}{\cf11{:}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ domain}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ query_type}}{\cf11{:}} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{: &}}{\cf2{ServerConfig}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>,}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{response}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{with_capacity}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{5}{1}{2}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy transaction ID and question from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[..}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set flags\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{1}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}} {\cf2{}}{\cf11{| (}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // Set QR and preserve RD\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{2}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Set RA\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}} {\cf2{flags{1}}} {\cf11{|}} {\cf2{}}{\cf4{{0}x{0}{4}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{flags{1}}} {\cf11{\},}} {\cf2{}}{\cf5{\i // Set AA if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{ flags{2}}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy QDCOUNT from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{6}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ANCOUNT to {1}\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set NSCOUNT ({2} if authoritative, else {0})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}} {\cf2{}}{\cf4{{0}x{0}{2}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{}}{\cf4{{0}x{0}{0}}} {\cf2{}}{\cf11{\}]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ARCOUNT to {0}\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy question section from query\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{qname_end}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..].}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{position}}{\cf2{}}{\cf11{(|&}}{\cf2{b}}{\cf11{|}} {\cf2{b}} {\cf11{==}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok_or_else}}{\cf2{}}{\cf11{(||}} {\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Invalid question format"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}{\cf2{?}} {\cf11{+}} {\cf2{}}{\cf4{{1}{3}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..}}{\cf2{qname_end}} {\cf11{+}} {\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add answer section\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name pointer to question\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}xc{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}c}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Record Type ({2} bytes)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query_type}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL ({3}{2} bits)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ttl}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Format based on record type\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b match\b0 }} {\cf2{query_type}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}{2}}} {\cf2{}}{\cf11{=> \{}} {\cf2{}}{\cf5{\i // PTR record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Encode the PTR target name\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ptr_data}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{value}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add RDLENGTH\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ptr_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add the PTR data\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{ptr_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}{5}}} {\cf2{}}{\cf11{=> \{}} {\cf2{}}{\cf5{\i // MX record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Parse MX record format: "{1}{0} mail.example.com."\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{parts}}{\cf11{:}} {\cf2{Vec}}{\cf11{<&}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{> =}} {\cf2{value}}{\cf11{.}}{\cf2{}}{\cf18{split_whitespace}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{parts}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() >=}} {\cf2{}}{\cf4{{2}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{preference}} {\cf11{=}} {\cf2{parts}}{\cf11{[}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{].}}{\cf2{parse}}{\cf11{::<}}{\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{>().}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{1}{0}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{mx_host}} {\cf11{=}} {\cf2{parts}}{\cf11{[}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{];}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Encode the data\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{encoded_name}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{mx_host}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rdlength}} {\cf11{=}} {\cf2{}}{\cf4{{2}}} {\cf2{}}{\cf11{+}} {\cf2{encoded_name}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{();}} {\cf2{}}{\cf5{\i // preference ({2} bytes) + name\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add RDLENGTH\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{rdlength}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add preference\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{preference}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add exchange domain\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{encoded_name}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Invalid MX record format"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}{6}}} {\cf2{}}{\cf11{=> \{}} {\cf2{}}{\cf5{\i // TXT record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Strip quotes if present\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{txt_value}} {\cf11{=}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{value}}{\cf11{.}}{\cf2{}}{\cf18{starts_with}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf3{"') && value.ends_with('"}}{\cf2{'}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{&}}{\cf2{value}}{\cf11{[}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{..}}{\cf2{value}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()-}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{]}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ value}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TXT records are length-prefixed character strings\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{bytes}} {\cf11{=}} {\cf2{txt_value}}{\cf11{.}}{\cf2{}}{\cf18{as_bytes}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{txt_data}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{with_capacity}}{\cf2{}}{\cf11{(}}{\cf2{bytes}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add the length byte \i0 }}}\par\pard -\cbpat1{{\cf2{ txt_data}}{\cf11{.}}{\cf2{}}{\cf18{push}}{\cf2{}}{\cf11{(}}{\cf2{bytes}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add the text\i0 }}}\par\pard -\cbpat1{{\cf2{ txt_data}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(}}{\cf2{bytes}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add RDLENGTH\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{txt_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add the TXT data\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{txt_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{5}}} {\cf2{}}{\cf11{=> \{}} {\cf2{}}{\cf5{\i // CNAME record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Encode the canonical name\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{cname_data}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{value}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add RDLENGTH\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{cname_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add the CNAME data\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{cname_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\},}}}\par\pard -\cbpat1{{\cf2{ _}} {\cf11{=> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Unsupported record type:}} {\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{query_type}}{\cf11{)));}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add authoritative NS records if configured\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{ns}} {\cf15{\b in\b0 }} {\cf2{}}{\cf11{&}}{\cf2{config}}{\cf11{.}}{\cf2{ns_records}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name pointer to question\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}xc{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}c}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type NS ({0}x{0}{0}{0}{2})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL (use same as record TTL)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ttl}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RDLENGTH and RDATA (NS name)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_data}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{ns}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&((}}{\cf2{ns_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{ns_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{lookup_records}}{\cf2{}}{\cf11{(}}{\cf2{db_path}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{,}} {\cf2{domain}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{) ->}} {\cf2{Vec}}{\cf11{<(}}{\cf2{String}}{\cf11{,}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}} {\cf2{String}}{\cf11{)> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{conn}} {\cf11{=}} {\cf2{Connection}}{\cf11{::}}{\cf2{}}{\cf18{open}}{\cf2{}}{\cf11{(}}{\cf2{db_path}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b match\b0 }} {\cf2{conn}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{conn}}{\cf11{) => \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b match\b0 }} {\cf2{conn}}{\cf11{.}}{\cf2{}}{\cf18{prepare}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"SELECT value, ttl, record_type FROM dns_records WHERE domain = ?"}}{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{stmt}}{\cf11{) => \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b match\b0 }} {\cf2{stmt}}{\cf11{.}}{\cf2{}}{\cf18{query_map}}{\cf2{}}{\cf11{(}}{\cf2{params}}{\cf11{![}}{\cf2{domain}}{\cf11{], |}}{\cf2{row}}{\cf11{| \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{((}}}\par\pard -\cbpat1{{\cf2{ row}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or_default}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{ row}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or_default}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{ row}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or_default}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{))}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{rows}}{\cf11{) =>}} {\cf2{rows}}{\cf11{.}}{\cf2{}}{\cf18{filter_map}}{\cf2{}}{\cf11{(}}{\cf2{Result}}{\cf11{::}}{\cf2{ok}}{\cf11{).}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) =>}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) =>}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) =>}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // First, we need to add a function to parse the query type from the DNS packet\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{extract_query_type}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() <}} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}} {\cf2{}}{\cf5{\i // DNS header is {1}{2} bytes\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{pos}} {\cf11{=}} {\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Start after header\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip QNAME\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b loop\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{>=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{len}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{len}} {\cf11{==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b break\b0 }}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // End of QNAME\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{len}} {\cf11{+}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get QTYPE ({2} bytes after QNAME)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{1}}} {\cf2{}}{\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Some}}{\cf2{}}{\cf11{(((}}{\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{) <<}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{) |}} {\cf2{query}}{\cf11{[}}{\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ None}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{build_dns_response}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}}}\par\pard -\cbpat1{{\cf2{ ip}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ ttl}}{\cf11{:}} {\cf2{}}{\cf16{u{6}{4}}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{: &}}{\cf2{ServerConfig}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>,}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{response}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{with_capacity}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{5}{1}{2}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy transaction ID and question from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[..}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set flags\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // QR = {1} (response)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // OPCODE = {0} (standard query)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // AA = {1} if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TC = {0} (not truncated)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RD = copy from query\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RA = {1} (recursion available)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Z = {0}\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RCODE = {0} (no error)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{1}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}} {\cf2{}}{\cf11{| (}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // Set QR and preserve RD\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{2}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Set RA\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}} {\cf2{flags{1}}} {\cf11{|}} {\cf2{}}{\cf4{{0}x{0}{4}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{flags{1}}} {\cf11{\},}} {\cf2{}}{\cf5{\i // Set AA if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{ flags{2}}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy QDCOUNT from query\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{6}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ANCOUNT to {1}\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set NSCOUNT ({2} if authoritative, else {0})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}} {\cf2{}}{\cf4{{0}x{0}{2}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{}}{\cf4{{0}x{0}{0}}} {\cf2{}}{\cf11{\}]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Set ARCOUNT to {0}\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy question section from query\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{qname_end}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..].}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{position}}{\cf2{}}{\cf11{(|&}}{\cf2{b}}{\cf11{|}} {\cf2{b}} {\cf11{==}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{ok_or_else}}{\cf2{}}{\cf11{(||}} {\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Invalid question format"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()))}}{\cf2{?}} {\cf11{+}} {\cf2{}}{\cf4{{1}{3}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..}}{\cf2{qname_end}} {\cf11{+}} {\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add answer section\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name pointer to question\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}xc{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}c}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type A ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL ({3}{2} bits)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ttl}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RDLENGTH ({4} for IPv{4})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{4}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RDATA (IPv{4} address)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ip_parts}}{\cf11{:}} {\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{> =}} {\cf2{ip}}{\cf11{.}}{\cf2{}}{\cf18{split}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf11{.}}{\cf2{'}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{s}}{\cf11{|}} {\cf2{s}}{\cf11{.}}{\cf2{parse}}{\cf11{::<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>().}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{))}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{.}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{ip_parts}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() ==}} {\cf2{}}{\cf4{{4}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{ip_parts}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{DnsError}}{\cf11{::}}{\cf2{}}{\cf18{Protocol}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"Invalid IP address format"}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{into}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add authoritative NS records if configured\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{config}}{\cf11{.}}{\cf2{authoritative}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{ns}} {\cf15{\b in\b0 }} {\cf2{}}{\cf11{&}}{\cf2{config}}{\cf11{.}}{\cf2{ns_records}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name pointer to question\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}xc{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}c}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type NS ({0}x{0}{0}{0}{2})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL (use same as A record)\i0 }}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ttl}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RDLENGTH and RDATA (NS name)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_data}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{ns}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&((}}{\cf2{ns_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{ response}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{ns_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{response}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Add a function to handle NOTIMP responses properly\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{build_not_implemented_response}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}} {\cf2{authoritative}}{\cf11{:}} {\cf2{bool}}{\cf11{) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{resp}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{with_capacity}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{5}{1}{2}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Transaction ID\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get original flags but set QR bit and preserve RD and OPCODE\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{1}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}} {\cf2{}}{\cf11{| (}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{7}{9}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // QR={1}, OPCODE preserved, AA={0}, TC={0}, RD=preserved\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{2}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{4}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // RA={1}, Z={0}, RCODE={4} (Not Implemented)\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}}\par\pard -\cbpat1{{\cf2{ flags{1}}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{authoritative}} {\cf11{\{}} {\cf2{flags{2}}} {\cf11{|}} {\cf2{}}{\cf4{{0}x{0}{4}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{flags{2}}} {\cf11{\},}} {\cf2{}}{\cf5{\i // Set AA bit if authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{6}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // QDCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // ANCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // NSCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check for EDNS\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{has_edns}} {\cf11{=}} {\cf2{}}{\cf18{has_opt_record}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{}}{\cf15{\b if\b0 }} {\cf2{has_edns}} {\cf11{\{}} {\cf2{}}{\cf4{{1}u{1}{6}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{}}{\cf4{{0}u{1}{6}}} {\cf2{}}{\cf11{\}).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // ARCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Question Section (if available)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{qname_end}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..].}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{position}}{\cf2{}}{\cf11{(|&}}{\cf2{b}}{\cf11{|}} {\cf2{b}} {\cf11{==}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{end}}{\cf11{) =}} {\cf2{qname_end}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{+}} {\cf2{end}} {\cf11{+}} {\cf2{}}{\cf4{{5}}} {\cf2{}}{\cf11{<=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{+}} {\cf2{end}} {\cf11{+}} {\cf2{}}{\cf4{{5}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Handle EDNS in NOTIMP response\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{has_edns}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{opt_payload_size}} {\cf11{=}} {\cf2{}}{\cf18{extract_edns_payload_size}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{4}{0}{9}{6}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy DO bit if present in request\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{do_bit}} {\cf11{=}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() >=}} {\cf2{}}{\cf4{{1}{7}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{extract_do_bit}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b false\b0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add OPT record for EDNS\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Root domain\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{2}{9}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // TYPE OPT\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{opt_payload_size}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // UDP payload size from request\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Extended RCODE\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // EDNS version\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{do_bit}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{8}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Flags with DO bit set\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Flags with DO bit clear\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // RDATA length\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Check if the query has an OPT record (EDNS)\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{has_opt_record}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{bool}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() <}} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return false\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get the number of additional records (ARCOUNT)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ar_count}} {\cf11{= ((}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{0}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{) <<}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{) |}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{1}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{ar_count}} {\cf11{==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return false\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip the header and question section to find additional records\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{pos}} {\cf11{=}} {\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip QNAME\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b loop\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{>=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return false\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{len}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{len}} {\cf11{==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b break\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{len}} {\cf11{+}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip QTYPE and QCLASS\i0 }}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check if there's an OPT record (type {4}{1}) in additional records\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{_}} {\cf15{\b in\b0 }} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{..}}{\cf2{ar_count}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{2}}} {\cf2{}}{\cf11{>=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return false\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check for root domain ({0}x{0}{0}) and OPT record type ({0}x{0}{0}{2}{9})\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}x{0}{0}}} {\cf2{}}{\cf11{&&}} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{5}}} {\cf2{}}{\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() &&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}x{0}{0}}} {\cf2{}}{\cf11{&&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}x{2}{9}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return true\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip this record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // For non-OPT records, we need to skip to the next record, which is complex\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // This is a simplified approach\i0 }}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Find the end of the name field\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b while\b0 }} {\cf2{pos}} {\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() &&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] !=}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Handle compression pointers\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] &}} {\cf2{}}{\cf4{{0}xC{0}}}{\cf2{}}{\cf11{) ==}} {\cf2{}}{\cf4{{0}xC{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b break\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Regular label\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{label_len}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{label_len}} {\cf11{+}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip type, class, TTL, and RDLENGTH + RDATA\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{1}{0}}} {\cf2{}}{\cf11{<=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rd_length}} {\cf11{= ((}}{\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{) <<}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{) |}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{9}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}{0}}} {\cf2{}}{\cf11{+}} {\cf2{rd_length}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return false\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b false\b0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Extract the payload size from an EDNS query\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{extract_edns_payload_size}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() <}} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get the number of additional records (ARCOUNT)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ar_count}} {\cf11{= ((}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{0}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{) <<}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{) |}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{1}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{ar_count}} {\cf11{==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip the header and question section to find additional records\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{pos}} {\cf11{=}} {\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip QNAME\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b loop\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{>=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{len}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{len}} {\cf11{==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b break\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{len}} {\cf11{+}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip QTYPE and QCLASS\i0 }}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Look for OPT record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{_}} {\cf15{\b in\b0 }} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{..}}{\cf2{ar_count}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{2}}} {\cf2{}}{\cf11{>=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check for root domain ({0}x{0}{0}) and OPT record type ({0}x{0}{0}{2}{9})\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}x{0}{0}}} {\cf2{}}{\cf11{&&}} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{5}}} {\cf2{}}{\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() &&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}x{0}{0}}} {\cf2{}}{\cf11{&&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}x{2}{9}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Extract UDP payload size (CLASS field in OPT)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{4}}} {\cf2{}}{\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(((}}{\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{3}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{) <<}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{) |}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{4}{0}{9}{6}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // Default if we can't read it\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip this record (simplified approach)\i0 }}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Find the end of the name field\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b while\b0 }} {\cf2{pos}} {\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() &&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] !=}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Handle compression pointers\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] &}} {\cf2{}}{\cf4{{0}xC{0}}}{\cf2{}}{\cf11{) ==}} {\cf2{}}{\cf4{{0}xC{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b break\b0 }}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Regular label\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{label_len}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{label_len}} {\cf11{+}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip type, class, TTL, and RDLENGTH + RDATA\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{1}{0}}} {\cf2{}}{\cf11{<=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rd_length}} {\cf11{= ((}}{\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{) <<}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{) |}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{+}}{\cf2{}}{\cf4{{9}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}{0}}} {\cf2{}}{\cf11{+}} {\cf2{rd_length}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ None}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{extract_do_bit}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{]) ->}} {\cf2{bool}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // The DO bit is the highest bit in the second byte of the OPT record flags\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Find the OPT record first (Type = {4}{1} = {0}x{2}{9})\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{pos}} {\cf11{=}} {\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Skip header\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip question section\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b while\b0 }} {\cf2{pos}} {\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() &&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] !=}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{5}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Skip null terminator ({1}) + QTYPE ({2}) + QCLASS ({2})\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Look for OPT record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b while\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{1}{1}}} {\cf2{}}{\cf11{<=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{query}}{\cf11{[}}{\cf2{pos}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{&&}} {\cf2{}}{\cf5{\i // Root domain name\i0 }}}\par\pard -\cbpat1{{\cf2{ query}}{\cf11{[}}{\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{&&}} {\cf2{query}}{\cf11{[}}{\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] ==}} {\cf2{}}{\cf4{{0}x{2}{9}}} {\cf2{}}{\cf11{\{}} {\cf2{}}{\cf5{\i // Type OPT\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // The DO bit is in the flags section, {9} bytes after the start of the OPT record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{9}}} {\cf2{}}{\cf11{<}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() && (}}{\cf2{query}}{\cf11{[}}{\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{9}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{8}{0}}}{\cf2{}}{\cf11{) !=}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Skip this record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{1}{0}}} {\cf2{}}{\cf11{>=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}} {\cf2{}}{\cf15{\b break\b0 }}{\cf2{}}{\cf11{; \}}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rdlength}} {\cf11{= ((}}{\cf2{query}}{\cf11{[}}{\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{) <<}} {\cf2{}}{\cf4{{8}}}{\cf2{}}{\cf11{) |}} {\cf2{query}}{\cf11{[}}{\cf2{pos}} {\cf11{+}} {\cf2{}}{\cf4{{9}}}{\cf2{}}{\cf11{]}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{usize}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ pos}} {\cf11{+=}} {\cf2{}}{\cf4{{1}{0}}} {\cf2{}}{\cf11{+}} {\cf2{rdlength}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b false\b0 }} {\cf2{}}{\cf5{\i // No OPT record found or no DO bit set\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i /// Helper function to encode domain names\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{name}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{) ->}} {\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{out}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{part}} {\cf15{\b in\b0 }} {\cf2{name}}{\cf11{.}}{\cf2{}}{\cf18{trim_end_matches}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf11{.}}{\cf2{'}}{\cf11{).}}{\cf2{}}{\cf18{split}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf11{.}}{\cf2{'}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{part}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() >}} {\cf2{}}{\cf4{{6}{3}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b continue\b0 }}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // Skip invalid labels\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ out}}{\cf11{.}}{\cf2{}}{\cf18{push}}{\cf2{}}{\cf11{(}}{\cf2{part}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ out}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(}}{\cf2{part}}{\cf11{.}}{\cf2{}}{\cf18{as_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{ out}}{\cf11{.}}{\cf2{}}{\cf18{push}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // Null terminator\i0 }}}\par\pard -\cbpat1{{\cf2{ out}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Add this new struct to properly track zone information\i0 }}}\par\pard -\cbpat1{{\cf2{#}}{\cf11{[}}{\cf2{}}{\cf18{derive}}{\cf2{}}{\cf11{(}}{\cf2{Debug}}{\cf11{,}} {\cf2{Clone}}{\cf11{)]}}}\par\pard -\cbpat1{{\cf2{}}{\cf16{struct}} {\cf2{ZoneInfo}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ name}}{\cf11{:}} {\cf2{String}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ ns_records}}{\cf11{:}} {\cf2{Vec}}{\cf11{<}}{\cf2{String}}{\cf11{>,}}}\par\pard -\cbpat1{{\cf2{ soa_record}}{\cf11{:}} {\cf2{Option}}{\cf11{<}}{\cf2{String}}{\cf11{>,}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Add this function to extract zones from database\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{get_authoritative_zones}}{\cf2{}}{\cf11{(}}{\cf2{db_path}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{) ->}} {\cf2{Vec}}{\cf11{<}}{\cf2{ZoneInfo}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{zones}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{conn}}{\cf11{) =}} {\cf2{Connection}}{\cf11{::}}{\cf2{}}{\cf18{open}}{\cf2{}}{\cf11{(}}{\cf2{db_path}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Find all domains with NS records (these are zones)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{stmt}}{\cf11{) =}} {\cf2{conn}}{\cf11{.}}{\cf2{}}{\cf18{prepare}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"SELECT DISTINCT domain FROM dns_records WHERE record_type = 'NS'"}}{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{rows}}{\cf11{) =}} {\cf2{stmt}}{\cf11{.}}{\cf2{}}{\cf18{query_map}}{\cf2{}}{\cf11{([], |}}{\cf2{row}}{\cf11{| \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{row}}{\cf11{.}}{\cf2{get}}{\cf11{::<}}{\cf2{_}}{\cf11{,}} {\cf2{String}}{\cf11{>(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}{\cf2{?}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{domain_result}} {\cf15{\b in\b0 }} {\cf2{rows}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{domain}}{\cf11{) =}} {\cf2{domain_result}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{zone_info}} {\cf11{=}} {\cf2{ZoneInfo}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ name}}{\cf11{:}} {\cf2{domain}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{ ns_records}}{\cf11{:}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{new}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{ soa_record}}{\cf11{:}} {\cf2{None}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get NS records for this zone\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{ns_stmt}}{\cf11{) =}} {\cf2{conn}}{\cf11{.}}{\cf2{}}{\cf18{prepare}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"SELECT value FROM dns_records WHERE domain = ? AND record_type = 'NS'"}}{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{ns_rows}}{\cf11{) =}} {\cf2{ns_stmt}}{\cf11{.}}{\cf2{}}{\cf18{query_map}}{\cf2{}}{\cf11{([&}}{\cf2{domain}}{\cf11{], |}}{\cf2{row}}{\cf11{| \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{row}}{\cf11{.}}{\cf2{get}}{\cf11{::<}}{\cf2{_}}{\cf11{,}} {\cf2{String}}{\cf11{>(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}{\cf2{?}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}) \{}}}\par\pard -\cbpat1{{\cf2{ zone_info}}{\cf11{.}}{\cf2{ns_records}} {\cf11{=}} {\cf2{ns_rows}}{\cf11{.}}{\cf2{}}{\cf18{filter_map}}{\cf2{}}{\cf11{(}}{\cf2{Result}}{\cf11{::}}{\cf2{ok}}{\cf11{).}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get SOA record if exists\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{soa_stmt}}{\cf11{) =}} {\cf2{conn}}{\cf11{.}}{\cf2{}}{\cf18{prepare}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"SELECT value FROM dns_records WHERE domain = ? AND record_type = 'SOA' LIMIT {1}"}}{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf15{\b mut\b0 }} {\cf2{soa_rows}}{\cf11{) =}} {\cf2{soa_stmt}}{\cf11{.}}{\cf2{}}{\cf18{query_map}}{\cf2{}}{\cf11{([&}}{\cf2{domain}}{\cf11{], |}}{\cf2{row}}{\cf11{| \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{row}}{\cf11{.}}{\cf2{get}}{\cf11{::<}}{\cf2{_}}{\cf11{,}} {\cf2{String}}{\cf11{>(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}{\cf2{?}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}) \{}}}\par\pard -\cbpat1{{\cf2{ zone_info}}{\cf11{.}}{\cf2{soa_record}} {\cf11{=}} {\cf2{soa_rows}}{\cf11{.}}{\cf2{}}{\cf18{next}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{and_then}}{\cf2{}}{\cf11{(|}}{\cf2{r}}{\cf11{|}} {\cf2{r}}{\cf11{.}}{\cf2{}}{\cf18{ok}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ zones}}{\cf11{.}}{\cf2{}}{\cf18{push}}{\cf2{}}{\cf11{(}}{\cf2{zone_info}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add default zone information from config\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{zones}}{\cf11{.}}{\cf2{}}{\cf18{is_empty}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{config}}{\cf11{) =}} {\cf2{ServerConfig}}{\cf11{::}}{\cf2{}}{\cf18{from_env}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{default_zone}} {\cf11{=}} {\cf2{ZoneInfo}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ name}}{\cf11{:}} {\cf2{config}}{\cf11{.}}{\cf2{default_domain}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{ ns_records}}{\cf11{:}} {\cf2{config}}{\cf11{.}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{(),}}}\par\pard -\cbpat1{{\cf2{ soa_record}}{\cf11{:}} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"}}{\cf12{\{\}}} {\cf3{hostmaster.}}{\cf12{\{\}}} {\cf3{{1} {1}{0}{8}{0}{0} {3}{6}{0}{0} {6}{0}{4}{8}{0}{0} {8}{6}{4}{0}{0}"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{.}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{first}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(&}}{\cf2{String}}{\cf11{::}}{\cf2{}}{\cf18{from}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"ns{1}.example.com."}}{\cf2{}}{\cf11{)),}}}\par\pard -\cbpat1{{\cf2{ config}}{\cf11{.}}{\cf2{default_domain}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{)),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{ zones}}{\cf11{.}}{\cf2{}}{\cf18{push}}{\cf2{}}{\cf11{(}}{\cf2{default_zone}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ zones}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Find the closest parent zone for a given domain\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{find_closest_parent_zone}}{\cf2{}}{\cf11{(}}{\cf2{domain}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{,}} {\cf2{zones}}{\cf11{: &[}}{\cf2{ZoneInfo}}{\cf11{]) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{ZoneInfo}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{domain_parts}}{\cf11{:}} {\cf2{Vec}}{\cf11{<&}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{> =}} {\cf2{domain}}{\cf11{.}}{\cf2{}}{\cf18{split}}{\cf2{}}{\cf11{(}}{\cf2{'}}{\cf11{.}}{\cf2{'}}{\cf11{).}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Try progressively shorter parent domains\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{i}} {\cf15{\b in\b0 }} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{..}}{\cf2{domain_parts}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{candidate}} {\cf11{=}} {\cf2{domain_parts}}{\cf11{[}}{\cf2{i}}{\cf11{..].}}{\cf2{}}{\cf18{join}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"."}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Exact match\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{zone}}{\cf11{) =}} {\cf2{zones}}{\cf11{.}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{find}}{\cf2{}}{\cf11{(|}}{\cf2{z}}{\cf11{|}} {\cf2{z}}{\cf11{.}}{\cf2{name}} {\cf11{==}} {\cf2{candidate}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{zone}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check if domain is a subdomain of any zone we're authoritative for\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{zone}} {\cf15{\b in\b0 }} {\cf2{zones}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{domain}}{\cf11{.}}{\cf2{}}{\cf18{ends_with}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{".}}{\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{zone}}{\cf11{.}}{\cf2{name}}{\cf11{)) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{zone}}{\cf11{.}}{\cf2{}}{\cf18{clone}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // If no match found, return None - we are not authoritative for this domain\i0 }}}\par\pard -\cbpat1{{\cf2{ None}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Improved NXDOMAIN response builder with proper authority section\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Modified build_nxdomain_response function to correctly handle authority\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{build_nxdomain_response}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{: &[}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{],}} {\cf2{authoritative}}{\cf11{:}} {\cf2{bool}}{\cf11{) ->}} {\cf2{Option}}{\cf11{<}}{\cf2{Vec}}{\cf11{<}}{\cf2{}}{\cf16{u{8}}}{\cf2{}}{\cf11{>> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let mut\b0 }} {\cf2{resp}} {\cf11{=}} {\cf2{Vec}}{\cf11{::}}{\cf2{}}{\cf18{with_capacity}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{5}{1}{2}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Transaction ID\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Extract domain from query for authority section reference\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{domain}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{}}{\cf18{extract_domain}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{) \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{d}}{\cf11{) =>}} {\cf2{d}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ None}} {\cf11{=>}} {\cf2{}}{\cf15{\b return\b0 }} {\cf2{None}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get zones we're authoritative for\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{config}} {\cf11{=}} {\cf2{}}{\cf15{\b match\b0 }} {\cf2{ServerConfig}}{\cf11{::}}{\cf2{}}{\cf18{from_env}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{c}}{\cf11{) =>}} {\cf2{c}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Err}}{\cf2{}}{\cf11{(}}{\cf2{_}}{\cf11{) =>}} {\cf2{}}{\cf15{\b return\b0 }} {\cf2{None}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{zones}} {\cf11{=}} {\cf2{}}{\cf18{get_authoritative_zones}}{\cf2{}}{\cf11{(&}}{\cf2{config}}{\cf11{.}}{\cf2{db_path}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{parent_zone}} {\cf11{=}} {\cf2{}}{\cf18{find_closest_parent_zone}}{\cf2{}}{\cf11{(&}}{\cf2{domain}}{\cf11{, &}}{\cf2{zones}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Determine if we're actually authoritative for this domain\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{is_authoritative}} {\cf11{=}} {\cf2{parent_zone}}{\cf11{.}}{\cf2{}}{\cf18{is_some}}{\cf2{}}{\cf11{() &&}} {\cf2{authoritative}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Get original flags but set QR bit and preserve RD\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{1}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{0}}} {\cf2{}}{\cf11{| (}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{] &}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{);}} {\cf2{}}{\cf5{\i // QR={1}, OPCODE={0}, AA={0}, TC={0}, RD=preserved\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{flags{2}}} {\cf11{=}} {\cf2{}}{\cf4{{0}x{8}{3}}}{\cf2{}}{\cf11{;}} {\cf2{}}{\cf5{\i // RA={1}, Z={0}, RCODE={3} (NXDOMAIN)\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{is_authoritative}} {\cf11{\{}} {\cf2{flags{1}}} {\cf11{|}} {\cf2{}}{\cf4{{0}x{0}{4}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{flags{1}}} {\cf11{\},}} {\cf2{}}{\cf5{\i // Set AA bit ONLY if truly authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{ flags{2}}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Determine record counts for header\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_count}} {\cf11{=}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{is_authoritative}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ parent_zone}}{\cf11{.}}{\cf2{}}{\cf18{as_ref}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{map}}{\cf2{}}{\cf11{(|}}{\cf2{z}}{\cf11{|}} {\cf2{z}}{\cf11{.}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()).}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{0}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{soa_count}} {\cf11{=}} {\cf2{}}{\cf15{\b if\b0 }} {\cf2{is_authoritative}} {\cf11{&&}} {\cf2{parent_zone}}{\cf11{.}}{\cf2{}}{\cf18{as_ref}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{and_then}}{\cf2{}}{\cf11{(|}}{\cf2{z}}{\cf11{|}} {\cf2{z}}{\cf11{.}}{\cf2{soa_record}}{\cf11{.}}{\cf2{}}{\cf18{as_ref}}{\cf2{}}{\cf11{()).}}{\cf2{}}{\cf18{is_some}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{1}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{0}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\};}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{authority_count}} {\cf11{=}} {\cf2{ns_count}} {\cf11{+}} {\cf2{soa_count}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{4}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{6}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // QDCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // ANCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{authority_count}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // NSCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Check for EDNS\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{has_edns}} {\cf11{=}} {\cf2{}}{\cf18{has_opt_record}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{}}{\cf15{\b if\b0 }} {\cf2{has_edns}} {\cf11{\{}} {\cf2{}}{\cf4{{1}u{1}{6}}} {\cf2{}}{\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}} {\cf2{}}{\cf4{{0}u{1}{6}}} {\cf2{}}{\cf11{\}).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // ARCOUNT\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Question Section\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{qname_end}} {\cf11{=}} {\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..].}}{\cf2{}}{\cf18{iter}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{position}}{\cf2{}}{\cf11{(|&}}{\cf2{b}}{\cf11{|}} {\cf2{b}} {\cf11{==}} {\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{end}}{\cf11{) =}} {\cf2{qname_end}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{+}} {\cf2{end}} {\cf11{+}} {\cf2{}}{\cf4{{5}}} {\cf2{}}{\cf11{<=}} {\cf2{query}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{query}}{\cf11{[}}{\cf2{}}{\cf4{{1}{2}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{1}{2}}} {\cf2{}}{\cf11{+}} {\cf2{end}} {\cf11{+}} {\cf2{}}{\cf4{{5}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b return\b0 }} {\cf2{None}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add Authority Section if we're authoritative\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{is_authoritative}} {\cf11{&&}} {\cf2{parent_zone}}{\cf11{.}}{\cf2{}}{\cf18{is_some}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{zone}} {\cf11{=}} {\cf2{parent_zone}}{\cf11{.}}{\cf2{}}{\cf18{unwrap}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{zone_name}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(&}}{\cf2{zone}}{\cf11{.}}{\cf2{name}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add SOA record if available (recommended by RFC {2}{3}{0}{8})\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{soa}}{\cf11{) =}} {\cf2{zone}}{\cf11{.}}{\cf2{soa_record}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name of the zone\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{zone_name}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type SOA ({0}x{0}{0}{0}{6})\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{6}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{DEFAULT_TTL}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Parse and encode SOA record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{soa_parts}}{\cf11{:}} {\cf2{Vec}}{\cf11{<&}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{> =}} {\cf2{soa}}{\cf11{.}}{\cf2{}}{\cf18{split_whitespace}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{collect}}{\cf2{}}{\cf11{();}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{soa_parts}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() >=}} {\cf2{}}{\cf4{{7}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // MNAME (primary nameserver)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{mname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{soa_parts}}{\cf11{[}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RNAME (responsible person mailbox)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{soa_parts}}{\cf11{[}}{\cf2{}}{\cf4{{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Calculate RDLENGTH (mname + rname + {5} x {3}{2}-bit integers)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rdlength}} {\cf11{=}} {\cf2{mname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{rname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{}}{\cf4{{2}{0}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{rdlength}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add MNAME and RNAME\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{mname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{rname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add the {5} SOA integers (SERIAL, REFRESH, RETRY, EXPIRE, MINIMUM)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{i}} {\cf15{\b in\b0 }} {\cf2{}}{\cf4{{2}}}{\cf2{}}{\cf11{..}}{\cf2{}}{\cf4{{7}}} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if let\b0 }} {\cf2{}}{\cf18{Ok}}{\cf2{}}{\cf11{(}}{\cf2{val}}{\cf11{) =}} {\cf2{soa_parts}}{\cf11{[}}{\cf2{i}}{\cf11{].}}{\cf2{parse}}{\cf11{::<}}{\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{>() \{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{val}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Default values if parsing fails\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf15{\b match\b0 }} {\cf2{i}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{2}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{1}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // SERIAL\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{3}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{1}{0}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // REFRESH\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{4}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{3}{6}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // RETRY\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf4{{5}}} {\cf2{}}{\cf11{=>}} {\cf2{}}{\cf4{{6}{0}{4}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // EXPIRE\i0 }}}\par\pard -\cbpat1{{\cf2{ _}} {\cf11{=>}} {\cf2{}}{\cf4{{8}{6}{4}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf5{\i // MINIMUM\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // If SOA format is invalid, add a minimal valid SOA record\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{mname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(&}}{\cf2{zone}}{\cf11{.}}{\cf2{ns_records}}{\cf11{.}}{\cf2{}}{\cf18{first}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{cloned}}{\cf2{}}{\cf11{().}}{\cf2{}}{\cf18{unwrap_or_else}}{\cf2{}}{\cf11{(||}} {\cf2{}}{\cf3{"ns{1}.example.com."}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_string}}{\cf2{}}{\cf11{()));}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rname}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"hostmaster.}}{\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{zone}}{\cf11{.}}{\cf2{name}}{\cf11{));}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Calculate RDLENGTH\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{rdlength}} {\cf11{=}} {\cf2{mname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{rname}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{() +}} {\cf2{}}{\cf4{{2}{0}}}{\cf2{}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{rdlength}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // MNAME and RNAME\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{mname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{rname}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // SOA integers with reasonable defaults\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{1}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // SERIAL\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{1}{0}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // REFRESH\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{3}{6}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // RETRY\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{6}{0}{4}{8}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // EXPIRE\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{}}{\cf4{{8}{6}{4}{0}{0}u{3}{2}}}{\cf2{}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // MINIMUM\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add NS records\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b for\b0 }} {\cf2{ns}} {\cf15{\b in\b0 }} {\cf2{}}{\cf11{&}}{\cf2{zone}}{\cf11{.}}{\cf2{ns_records}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Name of the zone\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{zone_name}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Type NS ({0}x{0}{0}{0}{2})\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{2}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Class IN ({0}x{0}{0}{0}{1})\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{1}}}{\cf2{}}{\cf11{]);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // TTL\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{DEFAULT_TTL}} {\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{3}{2}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // RDLENGTH and RDATA (NS name)\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns_data}} {\cf11{=}} {\cf2{}}{\cf18{encode_dns_name}}{\cf2{}}{\cf11{(}}{\cf2{ns}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&(}}{\cf2{ns_data}}{\cf11{.}}{\cf2{}}{\cf18{len}}{\cf2{}}{\cf11{()}} {\cf2{}}{\cf15{\b as\b0 }} {\cf2{}}{\cf16{u{1}{6}}}{\cf2{}}{\cf11{).}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{ns_data}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Also need to fix the generate_dns_response function to check for proper authority\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // This part would go in generate_dns_response:\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf6{\i /*\i0 }}}\par\pard -\cbpat1{{\cf6{\i // If not authoritative for this domain, don't set the AA flag\i0 }}}\par\pard -\cbpat1{{\cf6{\i if !config.authoritative || find_closest_parent_zone(&domain, &get_authoritative_zones(&config.db_path)).is_none() \{\i0 }}}\par\pard -\cbpat1{{\cf6{\i // Remove the AA flag when forwarding\i0 }}}\par\pard -\cbpat1{{\cf6{\i return build_forwarded_response(query, &config.forwarders).await;\i0 }}}\par\pard -\cbpat1{{\cf6{\i \}\i0 }}}\par\pard -\cbpat1{{\cf6{\i */\i0 }}{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Handle EDNS in NXDOMAIN response\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{has_edns}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{opt_payload_size}} {\cf11{=}} {\cf2{}}{\cf18{extract_edns_payload_size}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{).}}{\cf2{}}{\cf18{unwrap_or}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{4}{0}{9}{6}}}{\cf2{}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Copy DO bit if present in request\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{do_bit}} {\cf11{=}} {\cf2{}}{\cf18{extract_do_bit}}{\cf2{}}{\cf11{(}}{\cf2{query}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Add OPT record for EDNS\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Root domain\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{2}{9}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // TYPE OPT\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&}}{\cf2{opt_payload_size}}{\cf11{.}}{\cf2{}}{\cf18{to_be_bytes}}{\cf2{}}{\cf11{());}} {\cf2{}}{\cf5{\i // UDP payload size from request\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Extended RCODE\i0 }}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // EDNS version\i0 }}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{do_bit}} {\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{8}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Flags with DO bit set\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}} {\cf2{}}{\cf15{\b else\b0 }} {\cf2{}}{\cf11{\{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // Flags with DO bit clear\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ resp}}{\cf11{.}}{\cf2{}}{\cf18{extend_from_slice}}{\cf2{}}{\cf11{(&[}}{\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{,}} {\cf2{}}{\cf4{{0}x{0}{0}}}{\cf2{}}{\cf11{]);}} {\cf2{}}{\cf5{\i // RDATA length\i0 }}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Some}}{\cf2{}}{\cf11{(}}{\cf2{resp}}{\cf11{)}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // Add SOA record support to the database initialization\i0 }}}\par\pard -\cbpat1{{\cf2{}}{\cf15{\b fn\b0 }} {\cf2{}}{\cf18{init_db}}{\cf2{}}{\cf11{(}}{\cf2{db_path}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{,}} {\cf2{default_domain}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{,}} {\cf2{default_ip}}{\cf11{: &}}{\cf2{}}{\cf16{str}}{\cf2{}}{\cf11{) ->}} {\cf2{Result}}{\cf11{<(),}} {\cf2{DnsError}}{\cf11{> \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{conn}} {\cf11{=}} {\cf2{Connection}}{\cf11{::}}{\cf2{}}{\cf18{open}}{\cf2{}}{\cf11{(}}{\cf2{db_path}}{\cf11{)}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf5{\i // Updated schema to allow multiple NS records\i0 }}}\par\pard -\cbpat1{{\cf2{ conn}}{\cf11{.}}{\cf2{}}{\cf18{execute}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf3{"CREATE TABLE IF NOT EXISTS dns_records (}}}\par\pard -\cbpat1{{\cf3{ domain TEXT NOT NULL,}}}\par\pard -\cbpat1{{\cf3{ record_type TEXT NOT NULL CHECK(record_type IN (}}}\par\pard -\cbpat1{{\cf3{ 'A','AAAA','MX','TXT','NS','CNAME','PTR','SOA',}}}\par\pard -\cbpat1{{\cf3{ 'SRV','CAA','NAPTR','DS','DNSKEY','RRSIG','NSEC',}}}\par\pard -\cbpat1{{\cf3{ 'TLSA','SSHFP'}}}\par\pard -\cbpat1{{\cf3{ )),}}}\par\pard -\cbpat1{{\cf3{ value TEXT NOT NULL,}}}\par\pard -\cbpat1{{\cf3{ ttl INTEGER DEFAULT {3}{6}{0}{0},}}}\par\pard -\cbpat1{{\cf3{ PRIMARY KEY (domain, record_type, value) -- Now allows multiple NS records}}}\par\pard -\cbpat1{{\cf3{ ) WITHOUT ROWID"}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{[],}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{)}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{count}}{\cf11{:}} {\cf2{}}{\cf16{i{6}{4}}} {\cf2{}}{\cf11{=}} {\cf2{conn}}{\cf11{.}}{\cf2{}}{\cf18{query_row}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"SELECT COUNT(*) FROM dns_records"}}{\cf2{}}{\cf11{, [], |}}{\cf2{row}}{\cf11{|}} {\cf2{row}}{\cf11{.}}{\cf2{}}{\cf18{get}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf4{{0}}}{\cf2{}}{\cf11{))}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b if\b0 }} {\cf2{count}} {\cf11{==}} {\cf2{}}{\cf4{{0}}} {\cf2{}}{\cf11{&& !}}{\cf2{default_ip}}{\cf11{.}}{\cf2{}}{\cf18{is_empty}}{\cf2{}}{\cf11{() \{}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{mail_domain}} {\cf11{=}} {\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"mail.}}{\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{default_domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns{1}}} {\cf11{=}} {\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"ns{1}.}}{\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{default_domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{ns{2}}} {\cf11{=}} {\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"ns{2}.}}{\cf12{\{\}}}{\cf3{"}}{\cf2{}}{\cf11{,}} {\cf2{default_domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}} {\cf15{\b let\b0 }} {\cf2{soa_record}} {\cf11{=}} {\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}{\cf2{}}{\cf3{"}}{\cf12{\{\}}} {\cf3{hostmaster.}}{\cf12{\{\}}} {\cf3{{1} {1}{0}{8}{0}{0} {3}{6}{0}{0} {6}{0}{4}{8}{0}{0} {8}{6}{4}{0}{0}"}}{\cf2{}}{\cf11{,}} {\cf2{ns{1}}}{\cf11{,}} {\cf2{default_domain}}{\cf11{);}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{ conn}}{\cf11{.}}{\cf2{}}{\cf18{execute_batch}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{&}}{\cf2{}}{\cf18{format!}}{\cf2{}}{\cf11{(}}}\par\pard -\cbpat1{{\cf2{ r}}{\cf3{#"}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('}}{\cf12{\{{0}\}}}{\cf3{', 'A', ?, {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('www.}}{\cf12{\{{0}\}}}{\cf3{', 'A', ?, {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('api.}}{\cf12{\{{0}\}}}{\cf3{', 'A', ?, {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('mail.}}{\cf12{\{{0}\}}}{\cf3{', 'A', ?, {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('ns{1}.}}{\cf12{\{{0}\}}}{\cf3{', 'A', ?, {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('ns{2}.}}{\cf12{\{{0}\}}}{\cf3{', 'A', ?, {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('}}{\cf12{\{{0}\}}}{\cf3{', 'MX', '{1}{0}}} {\cf12{\{{1}\}}}{\cf3{', {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('}}{\cf12{\{{0}\}}}{\cf3{', 'TXT', '\\"v=spf{1} a mx ~all\\"', {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('}}{\cf12{\{{0}\}}}{\cf3{', 'NS', '}}{\cf12{\{{2}\}}}{\cf3{', {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('}}{\cf12{\{{0}\}}}{\cf3{', 'NS', '}}{\cf12{\{{3}\}}}{\cf3{', {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ INSERT OR IGNORE INTO dns_records VALUES('}}{\cf12{\{{0}\}}}{\cf3{', 'SOA', '}}{\cf12{\{{4}\}}}{\cf3{', {3}{6}{0}{0});}}}\par\pard -\cbpat1{{\cf3{ "#}}{\cf2{}}{\cf11{,}}}\par\pard -\cbpat1{{\cf2{ default_domain}}{\cf11{,}} {\cf2{mail_domain}}{\cf11{,}} {\cf2{ns{1}}}{\cf11{,}} {\cf2{ns{2}}}{\cf11{,}} {\cf2{soa_record}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{),}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{)}}{\cf2{?}}{\cf11{;}}}\par\pard -\cbpat1{{\cf2{}} {\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}} {\cf18{Ok}}{\cf2{}}{\cf11{(())}}}\par\pard -\cbpat1{{\cf2{}}{\cf11{\}}}}\par\pard -\cbpat1{{\cf2{}}}\par\pard -\cbpat1{{\cf2{}}{\cf5{\i // List line of the code: main.rs //\i0 }}{\cf2{}}}\par\pard -\cbpat1{}}

a8A2n`i^r-7&=Ks(!Fz7Q$%196(4<*yFwi( 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%0A4Oap zKW3M5Fjb~|$63tIXug6u?|VRQ39`%V$9uUHU#vEyvf`=f&m7bsc3e437#`dzGbbKJ zvr2-|?sed)_1MnQ9wS^D!d+#0`>wO#0R_2=IrFipdi0`?e)I;z<;>M*A?)=H;j5n> z-{nP~*0=j{7iRdiI9iFY?h<e++11@(SHO|dd+^iQ%sta;1gXZiTIBL6gzjXvg^L zOyGq<_$cCQpTlC z|9*opU4$?}MYPE?A5X-zHNMMhq9BkG^mA^o7jEn)P+&GQPR^EeN#(Lb*rVjLE-h5n zW%MUWaVGP|{M}^fP-bImD~@v6QKm?fR+os?<_8q1A&)7=q&B1NcFTjw?e}6X z-ij_NZl%_iO+OW0yv&|PO&{D*hg^rt<--?ECKyfY>Mg7YS1pa}8U3i|Qt0~567?n= zGnNhwjogl0%R44EJ2v|^kJ_u-8>CqD&-LR5N;XYh4;LW^^D$Q2jsJu~A8*!NGs? z$i`fP#u-P2~<)u)m08%2G!=_4O@rJDswtY~gu>9|#?TZsWTS zYyIx;!}}uzroA8Squh(~qT8afvthfx!5u+CKTKXKD#D1KAA0PPS<(k7NMdM`$W=zu z+e(N4ix82bGYu$*pyO!fko6IF%arj7j48H=TifDS#MvBi0&u1RTDRZT^R2R{)Uz-+ z`c*RSx%a$gL*yEX8Y)2#U%8ktg5K%)y`Yag{%Y1Xrvc@}#&DwDm8sFturYbEvOHZ~ zNxi&ZOZ3ZY!i?Tuub*C!Kqrt_yLx|TG%yZLdjfMyT8nkb9)8pXR=@y2zo9J z;k+`U_BcbyF1g6kiHOpREVnmUeij2M+7OW8>CZsva)_F@sgCFV+F+&g*4*}DT$P9C zEEXAUkN4jNsjl}?SKe=_+E;I{QdI^bUK9a$(@IBK3?3u~6&e`^3|xr5gUE7L6} zCLGx-y_C$E5va&WGcpY)>K=voRbvv73__!ycFa6Fb!gjY;OA=xJ4K_bw1-q2a^`BS zN?}FuA`p9Zz8#N$mX|6f1~y50c*m+Ki+UDj*fA^`{77K;)Ft6Y9)%za4;m55$C0Nu z%!FC)FSh1+sHrV8S^Om0>NMYO`gn78I6tR}MgcBQgQg6|*|>`wisnDk?;`g(C&AkF z4Sw9Ln5$+ndF%4pTS!1z@q2%!+G^RC zWx9%hO#;f74u{|Ooo>$azXvMrm#Ju!k31#TrsN>$%pHKN#jLRi#syqv6B)ubdVJ!d z-l~ojazQZ~sqU-rJkPc7cw3pRr848JO&>L;yNT5*9XzwsRhx8!tk8B?4efwwcK!Y; zL5Zi<>^@i(qF&CFFG>H(fGPoOU|_Nl2Pzl<2L~(^Qlyn889%a5@kvG_JwF9j43>{N zeYMAa{&VM-%M;Jm=l(|VrQj!uR>$@yN1^q3>;5k3-Sl!k7UkD`{nuw}uT%2XWUl!m zr5)YVI>AyKX*Pz9)KuPN%ZQ|1V8eP=eEx$`UgyD~uAD>IO~}BB^KM;+G&2FfgA5(P z%s6>aLax5tlkC#1&wh_6Hsm26BTNmuF5jpX&&xn>fA45OY4$W3gg&68|2%-Up)RC^ zC8ujl@m}S5eV6Ob6pq)$1&4K4B{}LbS?kBv{g;!=F_`OGBG#I_Rj2b0U~N~7yqeo5 zo1L9)cNTT7+qT=|B9y_+*GK(eYnnvuq^+DS0N6p#smo$+9J2<>*OcdlE|Pblhf-~s z&&Cvu@{f4o7YYupTak{MY--%4m~fI9oz?6VBy$QIkP89`HvUCgn0Su~hyYz{B1aYN z&?(xcjffhzOUt^LQd}UHwS*nGCfRzhD-;uLzXLamu^~IqA+~}B-7hAUCmqki$#6%S zC;?G`M>5$%gM^kX;ucVQf=Q!*wQK5LJEUHt9jxxPqVY%>ip?S0ON^VAR0{$1H7WFC za_j)k5C-T&;zNd}V9)sSIh!;J#=bP&N`beG$y|!m;Fsn#kslVW&Z>Cg)`yJ4!oD+t;`Z3L*)x@=sr! z9kCFNut4LLYywHs2fighZx*R*bW2S0nDat{$`ShTHxJ{walA>Xk-8v*IDwHmnC^q)-hS0W6BxC4t6B{X%=AqGV(sdOC#x3z9by?$! zm=Z})20@3B25kPW3U|>4E27B9-tm;_!-c^5-|49t3J&SxU4xX%)|#7#)~d}+k<;~W zQkLg8>dvZb#Z)aLPky@{+ zy14jQgbZ$Bb`m)R+rqIKl%UmA-`r8%(jk^wS?!|t({z0q)_P?DUkfpONd2|7txV68 z6-8cYYja^kne@`i+}aGmdFZwOFsbwLLUZ}gg}AL54xGCFpQNg)OHJ1OswDn`w#Med z>dFrDw&h|)dL(qXU_Oc^*7^V5sLrmQFxOp%jw3ajuT zcWTH$r>jj(Oo^}}Fd~Hrg5b_FDlbDB33=>}QPNDTa=CZSuwy6r7xM7s8okCpO&~7{ z;r*dv0sM4@srKPV#KpYKO;7!AVQ;G(VQucs!HbJk#0v$P7DF6SPl^SBj0kX7sEhh4 zX80Qg!5U(2WJ(zPLJqxBggDuS1p(s&>V#u(`fx-BT~WL&Ni}$udb-w(oGZW-o&GDI{B9M3zVmOaxd>KYz zcyajcUn{6z6`lxG4^j;Y_?q@N)I8Qx-pp1UQH1i+L#E;UrX+=*b^(t1UDdn6Aud$E z-8`3P`OPOBejA=ghSd7%1)9nPBG|I4qYRYsOhuU64l12*2@<9DTIA_dpyx)dM;#@k^ zjjsuh(Tz?St*Xz|RvAoLmN@PzPZAKn4aV7>5)w%I_(&K8Ti zp048`C`8z4COVKb4U$cf3;q%wEXf{=OH4%zb#qLI1q8JP<1s}ORKIY)(9F_6M$8q0HPam%}YbVVx) z6|9lec_e39Z-DRnaI-4WF`GNFlQnZ!S3>Kn_>B#FUhGG)v| zUEM9H2iDGY+At5|H-uD~^W3W?z>hHybTyE8j-y?AWx*#(a|sQpyMzjiV=#LihVbpiO;U@`gUzbY^H3!u1j}fcV=`w zzZ5{S^t>JohOJ#^zXY;LL~b05W2Aj(Jd_IJ|s&;NYI7CQX_O*ZV&=Gnw+U)tS>eDZ3i zJK}TruBuQ`>0n#|?p3(4PrIQKtw9LYx^>tTbA% zv}JRRoZg@HaeuM5i}dE}3WH-vHYPQGHs&^-hu*-I8Y=z}QD3RA^CoJ`W8Ttk_VC@R zTkqm*ct1F>ruwpJX|iSG^!YN!Ddkcf6K{OURV!UYDan*OS~(`Iw?^!)i>0ZzF!%wa zDa;&1xraQcXWDRHOIoc2I(PL0D#Hgr-~j_1Tq$!pvRXTFI+#YRTPk!NYP7n+%AVg{ z!OvpdL#z+Bn}y)bsw45Yt1^)|3nO9P=5U!H12SRZbTrT=$3CuNY-gv-&yJj&A7dOh z$%yBayxWW1NaDn+VthFFx#6eznK`_CvS&VBK;js`61;pmnjhf~L`*4VImkNR;`(ML zPhqJ3G<{kR`igh|Gdu7MNJp=H3Oqi12oWn-oPuaF&9Hac(`K|_0eLn{YdDtbC*a2f$!8&N}3 zV-tt(ao>&q1+nuF{+o>dyZx@DW*zmp z4ikzr_i)i(ao^R!s1P@}-uJ=&Hs-||dFB}R8DYG{wm#8k&w~BYO!xuEj`O->f$e1p zZR`0*Y7WQyrq80Tpi1gUrgl=D!PA!mYU+fyd!1^MIlVQ|97|xL+1Spq`TEY&cKjvRk?Z-bT8r8%Uq>58=^v zn1)Yw0tARwEYoMIvt>6;gtjkBMYUtoXq>M$TJ;+Ty@!Rc7tmanUss`blsnaj#Jb^$ zwi)L~I123tL}kmfIrRrc`vCQ)`t@$L2)w8|FHZKplufT|@2+aojF`eMndYXAm4Cd( z8UG*cF#pRd`X2!q#&3_={|U%2F)`yZ(bD2Fe0wpn(9`2GeqZr_)&I5qZu=|7Oh=1L z&%*L=g^BjxV$96of3^M9mzkOQUu}Qq`K$hSp1<<4va;bae3!r4|25`2?{_}%zw-V) z=CAl)<*)vK#r`gT_xY<%|9$Mgo3)leU5yv}g1CTz$By5L^~N*x%)wYWy68Ahc={k81l-wiw>imJzpI^uNR zz$8|WG*r7$Ahz1jxRzXC%I}}?%p`rsWV^UzWV+65nKsb4Rv@*;+8AGC$xMB<-lB|) z*?jfZvGue>^2ga|GQ<9GT-9hYA^~*;jfkCITm}9Z4HD+-ooA>^0@O7YmiFmf{94