dns: use Direction enum

pull/6629/head
Shivani Bhardwaj 4 years ago committed by Victor Julien
parent a866499bca
commit a19d2b4e1e

@ -16,7 +16,7 @@
*/
use super::dns::DNSTransaction;
use crate::core;
use crate::core::*;
use std::ffi::CStr;
use std::os::raw::{c_char, c_void};
@ -62,13 +62,13 @@ pub extern "C" fn rs_dns_opcode_match(
detect: &mut DetectDnsOpcode,
flags: u8,
) -> u8 {
let header_flags = if flags & core::STREAM_TOSERVER != 0 {
let header_flags = if flags & Direction::ToServer as u8 != 0 {
if let Some(request) = &tx.request {
request.header.flags
} else {
return 0;
}
} else if flags & core::STREAM_TOCLIENT != 0 {
} else if flags & Direction::ToClient as u8 != 0 {
if let Some(response) = &tx.response {
response.header.flags
} else {

@ -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;
}

Loading…
Cancel
Save