As the DNS probe just uses the query portion of a response, don't
require there to be as many bytes as specified in the TCP DNS
header. This can occur in large responses where probe is called
without all the data.
Fixes the cases where the app proto is recorded as failed.
Fixes issue:
https://redmine.openinfosecfoundation.org/issues/2169
/// Probe TCP input to see if it looks like DNS.
pub fn probe_tcp(input: &[u8]) -> bool {
match nom::be_u16(input) {
- nom::IResult::Done(rem, len) => {
- if rem.len() >= len as usize {
- return probe(rem);
- }
+ nom::IResult::Done(rem, _) => {
+ return probe(rem);
},
_ => {}
}