]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
dns: use Direction enum
authorShivani Bhardwaj <shivanib134@gmail.com>
Thu, 12 Aug 2021 09:54:51 +0000 (15:24 +0530)
committerVictor Julien <vjulien@oisf.net>
Fri, 19 Nov 2021 16:20:01 +0000 (17:20 +0100)
rust/src/dns/detect.rs
rust/src/dns/dns.rs

index ae64614b14ac172818fd6b2fae238b480ab03585..3172925676347a296c45d33ae07294735e0ac2c4 100644 (file)
@@ -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 {
index e6ed243287072f294dd03d23df7925997a058de5..ae7b06cf5866f9408a9b98b797710c57db66617b 100644 (file)
@@ -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;
     }