|
|
|
@ -23,7 +23,7 @@ use std::collections::HashMap;
|
|
|
|
|
use std::collections::VecDeque;
|
|
|
|
|
|
|
|
|
|
use crate::applayer::*;
|
|
|
|
|
use crate::core::{self, AppProto, ALPROTO_UNKNOWN, IPPROTO_UDP, IPPROTO_TCP};
|
|
|
|
|
use crate::core::{self, *};
|
|
|
|
|
use crate::dns::parser;
|
|
|
|
|
|
|
|
|
|
use nom7::{Err, IResult};
|
|
|
|
@ -909,11 +909,11 @@ pub unsafe extern "C" fn rs_dns_probe(
|
|
|
|
|
let (is_dns, is_request, _) = probe(slice, slice.len());
|
|
|
|
|
if is_dns {
|
|
|
|
|
let dir = if is_request {
|
|
|
|
|
core::STREAM_TOSERVER
|
|
|
|
|
Direction::ToServer
|
|
|
|
|
} else {
|
|
|
|
|
core::STREAM_TOCLIENT
|
|
|
|
|
Direction::ToClient
|
|
|
|
|
};
|
|
|
|
|
*rdir = dir;
|
|
|
|
|
*rdir = dir as u8;
|
|
|
|
|
return ALPROTO_DNS;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
@ -935,12 +935,12 @@ pub unsafe extern "C" fn rs_dns_probe_tcp(
|
|
|
|
|
let (is_dns, is_request, _) = probe_tcp(slice);
|
|
|
|
|
if is_dns {
|
|
|
|
|
let dir = if is_request {
|
|
|
|
|
core::STREAM_TOSERVER
|
|
|
|
|
Direction::ToServer
|
|
|
|
|
} else {
|
|
|
|
|
core::STREAM_TOCLIENT
|
|
|
|
|
Direction::ToClient
|
|
|
|
|
};
|
|
|
|
|
if direction & (core::STREAM_TOSERVER|core::STREAM_TOCLIENT) != dir {
|
|
|
|
|
*rdir = dir;
|
|
|
|
|
if (direction & DIR_BOTH) != dir.into() {
|
|
|
|
|
*rdir = dir as u8;
|
|
|
|
|
}
|
|
|
|
|
return ALPROTO_DNS;
|
|
|
|
|
}
|
|
|
|
|