*/
use super::dns::DNSTransaction;
-use crate::core;
+use crate::core::*;
use std::ffi::CStr;
use std::os::raw::{c_char, c_void};
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 {
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};
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;
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;
}