1 Commits

Author SHA1 Message Date
d491ea12a5 (clippy) some small clippy fixes (#28)
Reviewed-on: #28
Co-authored-by: ddidderr <ddidderr@paul.network>
Co-committed-by: ddidderr <ddidderr@paul.network>
2022-06-05 14:58:37 +02:00

View File

@ -156,47 +156,11 @@ pub struct DNSHeader {
} }
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub enum DNSClass { pub struct DNSQuery {
Internet = 1, pub hdr: DNSHeader,
Any = 255,
}
#[derive(Debug, Clone)]
pub enum DNSType {
HostAddress = 1,
NameServer = 2,
CanonicalName = 5,
StartOfZoneAuthority = 6,
WellKnownServiceDescription = 11,
DomainNamePointer = 12,
HostInformation = 13,
MailListInformation = 14,
MailExchange = 15,
TextStrings = 16,
Any = 255,
}
#[derive(Debug, Clone)]
pub struct DNSQuestion {
pub name: String, pub name: String,
pub r#type: DNSType, pub qclass: u16,
pub class: DNSClass, pub qtype: u16,
}
pub struct DNSResourceRecord {
pub name: String,
pub r#type: DNSType,
pub class: DNSClass,
pub ttl: u32,
pub data: String,
}
pub struct DNSMessage {
pub header: DNSHeader,
pub questions: Vec<DNSQuestion>,
pub answers: Vec<DNSResourceRecord>,
pub authorities: Vec<DNSResourceRecord>,
pub additionals: Vec<DNSResourceRecord>,
} }
impl DNSHeader { impl DNSHeader {
@ -368,7 +332,7 @@ mod tests {
let invalid_rcodes = [11, 12, 13, 14, 15]; let invalid_rcodes = [11, 12, 13, 14, 15];
for rcode in invalid_rcodes { for rcode in invalid_rcodes {
dns_query[3] = (rcode as u8) << 0; dns_query[3] = rcode;
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
@ -404,7 +368,7 @@ mod tests {
]; ];
for (rcode, parsed_rcode) in valid_rcodes { for (rcode, parsed_rcode) in valid_rcodes {
dns_query[3] = rcode << 0; dns_query[3] = rcode;
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!( assert_eq!(
parse_result?.response_code, parsed_rcode, parse_result?.response_code, parsed_rcode,
@ -561,7 +525,7 @@ mod tests {
0xff, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.authorative_answer, true); assert!(parse_result?.authorative_answer);
Ok(()) Ok(())
} }
@ -571,7 +535,7 @@ mod tests {
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.authorative_answer, false); assert!(!parse_result?.authorative_answer);
Ok(()) Ok(())
} }
} }
@ -585,7 +549,7 @@ mod tests {
0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.truncated, true); assert!(parse_result?.truncated);
Ok(()) Ok(())
} }
@ -595,7 +559,7 @@ mod tests {
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.truncated, false); assert!(!parse_result?.truncated);
Ok(()) Ok(())
} }
} }
@ -609,7 +573,7 @@ mod tests {
0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.recursion_desired, true); assert!(parse_result?.recursion_desired);
Ok(()) Ok(())
} }
@ -619,7 +583,7 @@ mod tests {
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.recursion_desired, false); assert!(!parse_result?.recursion_desired);
Ok(()) Ok(())
} }
} }
@ -633,7 +597,7 @@ mod tests {
0xff, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.recursion_available, true); assert!(parse_result?.recursion_available);
Ok(()) Ok(())
} }
@ -643,7 +607,7 @@ mod tests {
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]; ];
let parse_result = DNSHeader::from_udp_datagram(&dns_query); let parse_result = DNSHeader::from_udp_datagram(&dns_query);
assert_eq!(parse_result?.recursion_available, false); assert!(!parse_result?.recursion_available);
Ok(()) Ok(())
} }
} }