Include the resolver-provided TTL in the response
[dnssec-prover] / src / query.rs
index b82f0a6d62007ded38822b30b80ce69de582fbb3..8ce551955cf0f03497c2918f221c99b50611b383 100644 (file)
@@ -10,7 +10,7 @@ use tokio_crate::net::TcpStream as TokioTcpStream;
 use tokio_crate::io::{AsyncReadExt, AsyncWriteExt};
 
 
-use crate::write_rr;
+use crate::validation::write_rr;
 use crate::rr::*;
 use crate::ser::*;
 
@@ -83,8 +83,8 @@ fn handle_response(resp: &[u8], proof: &mut Vec<u8>) -> Result<Option<RRSig>, Er
        // Only read the answers (skip authorities and additional) as that's all we care about.
        let mut rrsig_opt = None;
        for _ in 0..answers {
-               let rr = emap(parse_wire_packet_rr(&mut read, &resp))?;
-               write_rr(&rr, 0, proof);
+               let (rr, ttl) = emap(parse_wire_packet_rr(&mut read, &resp))?;
+               write_rr(&rr, ttl, proof);
                if let RR::RRSig(rrsig) = rr { rrsig_opt = Some(rrsig); }
        }
        Ok(rrsig_opt)
@@ -206,7 +206,7 @@ pub async fn build_tlsa_proof_async(resolver: SocketAddr, domain: Name) -> Resul
 #[cfg(test)]
 mod tests {
        use super::*;
-       use crate::*;
+       use crate::validation::*;
 
        use rand::seq::SliceRandom;