rust/logging: allow log macros to be used by plugins

Fix plugin macros so they can be used by external Rust crates
such as plugins.
pull/5356/head
Jason Ish 6 years ago committed by Victor Julien
parent 3672cea876
commit ac93ab281d

@ -17,7 +17,6 @@
use std; use std;
use crate::core::{self, ALPROTO_UNKNOWN, AppProto, Flow, IPPROTO_TCP}; use crate::core::{self, ALPROTO_UNKNOWN, AppProto, Flow, IPPROTO_TCP};
use crate::log::*;
use std::mem::transmute; use std::mem::transmute;
use crate::applayer::{self, *}; use crate::applayer::{self, *};
use std::ffi::CString; use std::ffi::CString;

@ -15,7 +15,6 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::log::*;
use nom::branch::alt; use nom::branch::alt;
use nom::bytes::complete::tag; use nom::bytes::complete::tag;
use nom::character::complete::{digit1, multispace0, multispace1}; use nom::character::complete::{digit1, multispace0, multispace1};

@ -22,8 +22,6 @@ use std::ffi::{CString, CStr};
use std::ptr; use std::ptr;
use std::str; use std::str;
use crate::log::*;
extern { extern {
fn ConfGet(key: *const c_char, res: *mut *const c_char) -> i8; fn ConfGet(key: *const c_char, res: *mut *const c_char) -> i8;
fn ConfGetChildValue(conf: *const c_void, key: *const c_char, fn ConfGetChildValue(conf: *const c_void, key: *const c_char,

@ -19,7 +19,6 @@ use std::mem::transmute;
use crate::applayer::{AppLayerResult, AppLayerTxData}; use crate::applayer::{AppLayerResult, AppLayerTxData};
use crate::core; use crate::core;
use crate::dcerpc::parser; use crate::dcerpc::parser;
use crate::log::*;
use nom::error::ErrorKind; use nom::error::ErrorKind;
use nom::number::Endianness; use nom::number::Endianness;
use nom; use nom;

@ -23,7 +23,6 @@ use crate::dcerpc::dcerpc::{
DCERPCTransaction, DCERPCUuidEntry, DCERPC_TYPE_REQUEST, DCERPC_TYPE_RESPONSE, PFC_FIRST_FRAG, DCERPCTransaction, DCERPCUuidEntry, DCERPC_TYPE_REQUEST, DCERPC_TYPE_RESPONSE, PFC_FIRST_FRAG,
}; };
use crate::dcerpc::parser; use crate::dcerpc::parser;
use crate::log::*;
use std::cmp; use std::cmp;
// Constant DCERPC UDP Header length // Constant DCERPC UDP Header length

@ -19,7 +19,6 @@ use super::dcerpc::{
DCERPCState, DCERPCTransaction, DCERPC_TYPE_REQUEST, DCERPC_TYPE_RESPONSE, DCERPCState, DCERPCTransaction, DCERPC_TYPE_REQUEST, DCERPC_TYPE_RESPONSE,
DCERPC_UUID_ENTRY_FLAG_FF, DCERPC_UUID_ENTRY_FLAG_FF,
}; };
use crate::log::*;
use std::ffi::CStr; use std::ffi::CStr;
use std::os::raw::{c_char, c_void}; use std::os::raw::{c_char, c_void};
use uuid::Uuid; use uuid::Uuid;

@ -18,7 +18,6 @@ use crate::dcerpc::dcerpc::{
BindCtxItem, DCERPCBind, DCERPCBindAck, DCERPCBindAckResult, DCERPCHdr, DCERPCRequest, Uuid, BindCtxItem, DCERPCBind, DCERPCBindAck, DCERPCBindAckResult, DCERPCHdr, DCERPCRequest, Uuid,
}; };
use crate::dcerpc::dcerpc_udp::DCERPCHdrUdp; use crate::dcerpc::dcerpc_udp::DCERPCHdrUdp;
use crate::log::*;
use nom::number::complete::{le_u16, le_u32, le_u8}; use nom::number::complete::{le_u16, le_u32, le_u8};
use nom::number::Endianness; use nom::number::Endianness;

@ -20,7 +20,6 @@ use crate::core;
use crate::core::{ALPROTO_UNKNOWN, AppProto, Flow, IPPROTO_UDP}; use crate::core::{ALPROTO_UNKNOWN, AppProto, Flow, IPPROTO_UDP};
use crate::core::{sc_detect_engine_state_free, sc_app_layer_decoder_events_free_events}; use crate::core::{sc_detect_engine_state_free, sc_app_layer_decoder_events_free_events};
use crate::dhcp::parser::*; use crate::dhcp::parser::*;
use crate::log::*;
use std; use std;
use std::ffi::{CStr,CString}; use std::ffi::{CStr,CString};
use std::mem::transmute; use std::mem::transmute;

@ -23,7 +23,6 @@ use std::mem::transmute;
use std::collections::HashMap; use std::collections::HashMap;
use std::collections::VecDeque; use std::collections::VecDeque;
use crate::log::*;
use crate::applayer::*; use crate::applayer::*;
use crate::core::{self, AppProto, ALPROTO_UNKNOWN, IPPROTO_UDP, IPPROTO_TCP}; use crate::core::{self, AppProto, ALPROTO_UNKNOWN, IPPROTO_UDP, IPPROTO_TCP};
use crate::dns::parser; use crate::dns::parser;

@ -18,7 +18,6 @@
use std::ptr; use std::ptr;
use std::os::raw::{c_void}; use std::os::raw::{c_void};
use crate::log::*;
use crate::core::*; use crate::core::*;
// Defined in util-file.h // Defined in util-file.h

@ -28,7 +28,6 @@
* The tracker does continue to follow the file. * The tracker does continue to follow the file.
*/ */
use crate::log::*;
use crate::core::*; use crate::core::*;
use std::collections::HashMap; use std::collections::HashMap;
use std::collections::hash_map::Entry::{Occupied, Vacant}; use std::collections::hash_map::Entry::{Occupied, Vacant};

@ -22,8 +22,6 @@ use std::str;
use std; use std;
use std::str::FromStr; use std::str::FromStr;
use crate::log::*;
// We transform an integer string into a i64, ignoring surrounding whitespaces // We transform an integer string into a i64, ignoring surrounding whitespaces
// We look for a digit suite, and try to convert it. // We look for a digit suite, and try to convert it.
// If either str::from_utf8 or FromStr::from_str fail, // If either str::from_utf8 or FromStr::from_str fail,

@ -24,7 +24,6 @@ use crate::core::{
}; };
use crate::filecontainer::*; use crate::filecontainer::*;
use crate::filetracker::*; use crate::filetracker::*;
use crate::log::*;
use nom; use nom;
use std; use std;
use std::ffi::{CStr, CString}; use std::ffi::{CStr, CString};

@ -25,8 +25,6 @@ use crate::applayer::{self, *};
use std; use std;
use std::ffi::{CStr,CString}; use std::ffi::{CStr,CString};
use crate::log::*;
use nom; use nom;
#[repr(u32)] #[repr(u32)]

@ -25,8 +25,6 @@ use der_parser;
use der_parser::error::BerError; use der_parser::error::BerError;
use der_parser::der::parse_der_oid; use der_parser::der::parse_der_oid;
use crate::log::*;
#[derive(Debug)] #[derive(Debug)]
pub enum SecBlobError { pub enum SecBlobError {
NotSpNego, NotSpNego,

@ -30,8 +30,6 @@ use crate::applayer::{self, *};
use crate::core; use crate::core;
use crate::core::{AppProto,Flow,ALPROTO_FAILED,ALPROTO_UNKNOWN,STREAM_TOCLIENT,STREAM_TOSERVER,sc_detect_engine_state_free}; use crate::core::{AppProto,Flow,ALPROTO_FAILED,ALPROTO_UNKNOWN,STREAM_TOCLIENT,STREAM_TOSERVER,sc_detect_engine_state_free};
use crate::log::*;
#[repr(u32)] #[repr(u32)]
pub enum KRB5Event { pub enum KRB5Event {
MalformedData = 0, MalformedData = 0,

@ -70,6 +70,7 @@ pub fn sclog(level: Level, file: &str, line: u32, function: &str,
/// Return the function name, but for now just return <rust> as Rust /// Return the function name, but for now just return <rust> as Rust
/// has no macro to return the function name, but may in the future, /// has no macro to return the function name, but may in the future,
/// see: https://github.com/rust-lang/rfcs/pull/1719 /// see: https://github.com/rust-lang/rfcs/pull/1719
#[macro_export(local_inner_macros)]
macro_rules!function { macro_rules!function {
() => {{ "<rust>" }} () => {{ "<rust>" }}
} }
@ -78,8 +79,8 @@ macro_rules!function {
macro_rules!do_log { macro_rules!do_log {
($level:expr, $file:expr, $line:expr, $function:expr, $code:expr, ($level:expr, $file:expr, $line:expr, $function:expr, $code:expr,
$($arg:tt)*) => { $($arg:tt)*) => {
if get_log_level() >= $level as i32 { if $crate::log::get_log_level() >= $level as i32 {
sclog($level, $file, $line, $function, $code, $crate::log::sclog($level, $file, $line, $function, $code,
&(format!($($arg)*))); &(format!($($arg)*)));
} }
} }
@ -88,35 +89,35 @@ macro_rules!do_log {
#[macro_export] #[macro_export]
macro_rules!SCLogNotice { macro_rules!SCLogNotice {
($($arg:tt)*) => { ($($arg:tt)*) => {
do_log!(Level::Notice, file!(), line!(), function!(), 0, $($arg)*); $crate::do_log!($crate::log::Level::Notice, file!(), line!(), $crate::function!(), 0, $($arg)*);
} }
} }
#[macro_export] #[macro_export]
macro_rules!SCLogInfo { macro_rules!SCLogInfo {
($($arg:tt)*) => { ($($arg:tt)*) => {
do_log!(Level::Info, file!(), line!(), function!(), 0, $($arg)*); $crate::do_log!($crate::log::Level::Info, file!(), line!(), $crate::function!(), 0, $($arg)*);
} }
} }
#[macro_export] #[macro_export]
macro_rules!SCLogPerf { macro_rules!SCLogPerf {
($($arg:tt)*) => { ($($arg:tt)*) => {
do_log!(Level::Perf, file!(), line!(), function!(), 0, $($arg)*); $crate::do_log!($crate::log::Level::Perf, file!(), line!(), $crate::function!(), 0, $($arg)*);
} }
} }
#[macro_export] #[macro_export]
macro_rules!SCLogConfig { macro_rules!SCLogConfig {
($($arg:tt)*) => { ($($arg:tt)*) => {
do_log!(Level::Config, file!(), line!(), function!(), 0, $($arg)*); $crate::do_log!($crate::log::Level::Config, file!(), line!(), $crate::function!(), 0, $($arg)*);
} }
} }
#[macro_export] #[macro_export]
macro_rules!SCLogError { macro_rules!SCLogError {
($($arg:tt)*) => { ($($arg:tt)*) => {
do_log!(Level::Error, file!(), line!(), function!(), 0, $($arg)*); $crate::do_log!($crate::log::Level::Error, file!(), line!(), $crate::function!(), 0, $($arg)*);
} }
} }
@ -125,7 +126,7 @@ macro_rules!SCLogError {
#[macro_export] #[macro_export]
macro_rules!SCLogDebug { macro_rules!SCLogDebug {
($($arg:tt)*) => { ($($arg:tt)*) => {
do_log!(Level::Debug, file!(), line!(), function!(), 0, $($arg)*); do_log!($crate::log::Level::Debug, file!(), line!(), $crate::function!(), 0, $($arg)*);
} }
} }
@ -134,7 +135,7 @@ macro_rules!SCLogDebug {
#[cfg(not(feature = "debug"))] #[cfg(not(feature = "debug"))]
#[macro_export] #[macro_export]
macro_rules!SCLogDebug { macro_rules!SCLogDebug {
($last:expr) => { let _ = &$last; let _ = Level::Debug; }; ($last:expr) => { let _ = &$last; let _ = $crate::log::Level::Debug; };
($one:expr, $($arg:tt)*) => { let _ = &$one; SCLogDebug!($($arg)*); }; ($one:expr, $($arg:tt)*) => { let _ = &$one; SCLogDebug!($($arg)*); };
} }

@ -22,7 +22,6 @@ use super::parser::*;
use crate::applayer::{self, LoggerFlags}; use crate::applayer::{self, LoggerFlags};
use crate::applayer::*; use crate::applayer::*;
use crate::core::{self, AppProto, Flow, ALPROTO_FAILED, ALPROTO_UNKNOWN, IPPROTO_TCP}; use crate::core::{self, AppProto, Flow, ALPROTO_FAILED, ALPROTO_UNKNOWN, IPPROTO_TCP};
use crate::log::*;
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
use nom; use nom;
use std; use std;

@ -25,7 +25,6 @@ use std::ffi::CStr;
use nom; use nom;
use crate::log::*;
use crate::applayer; use crate::applayer;
use crate::applayer::{AppLayerResult, AppLayerTxData}; use crate::applayer::{AppLayerResult, AppLayerTxData};
use crate::core::*; use crate::core::*;

@ -17,8 +17,6 @@
// written by Victor Julien // written by Victor Julien
use crate::log::*;
use crate::nfs::nfs::*; use crate::nfs::nfs::*;
use crate::nfs::types::*; use crate::nfs::types::*;
use crate::nfs::rpc_records::*; use crate::nfs::rpc_records::*;

@ -17,7 +17,6 @@
// written by Victor Julien // written by Victor Julien
use crate::log::*;
use crate::core::*; use crate::core::*;
use crate::nfs::nfs::*; use crate::nfs::nfs::*;

@ -21,8 +21,6 @@ use nom;
use nom::number::streaming::be_u32; use nom::number::streaming::be_u32;
use crate::core::*; use crate::core::*;
use crate::log::*;
use crate::nfs::nfs::*; use crate::nfs::nfs::*;
use crate::nfs::types::*; use crate::nfs::types::*;
use crate::nfs::rpc_records::*; use crate::nfs::rpc_records::*;

@ -25,8 +25,6 @@ use crate::applayer::{self, *};
use std; use std;
use std::ffi::{CStr,CString}; use std::ffi::{CStr,CString};
use crate::log::*;
use nom; use nom;
#[repr(u32)] #[repr(u32)]

@ -21,7 +21,6 @@ use std;
use std::ffi::CString; use std::ffi::CString;
use std::mem::transmute; use std::mem::transmute;
use crate::core::{self, ALPROTO_UNKNOWN, AppProto, Flow, IPPROTO_TCP}; use crate::core::{self, ALPROTO_UNKNOWN, AppProto, Flow, IPPROTO_TCP};
use crate::log::*;
use crate::applayer; use crate::applayer;
use crate::applayer::*; use crate::applayer::*;
use nom; use nom;

@ -22,7 +22,6 @@ extern crate nom;
use crate::applayer::{self, *}; use crate::applayer::{self, *};
use crate::core; use crate::core;
use crate::core::{sc_detect_engine_state_free, AppProto, Flow, ALPROTO_UNKNOWN}; use crate::core::{sc_detect_engine_state_free, AppProto, Flow, ALPROTO_UNKNOWN};
use crate::log::*;
use crate::sip::parser::*; use crate::sip::parser::*;
use std; use std;
use std::ffi::{CStr, CString}; use std::ffi::{CStr, CString};

@ -17,7 +17,6 @@
use crate::kerberos::*; use crate::kerberos::*;
use crate::log::*;
use crate::smb::ntlmssp_records::*; use crate::smb::ntlmssp_records::*;
use crate::smb::smb::*; use crate::smb::smb::*;

@ -17,7 +17,6 @@
// written by Victor Julien // written by Victor Julien
use crate::log::*;
use uuid; use uuid;
use crate::smb::smb::*; use crate::smb::smb::*;
use crate::smb::smb2::*; use crate::smb::smb2::*;

@ -17,9 +17,6 @@
use crate::smb::smb::*; use crate::smb::smb::*;
#[cfg(feature = "debug")]
use crate::log::*;
impl SMBState { impl SMBState {
#[cfg(not(feature = "debug"))] #[cfg(not(feature = "debug"))]
pub fn _debug_tx_stats(&self) { } pub fn _debug_tx_stats(&self) { }

@ -17,7 +17,6 @@
use std::ptr; use std::ptr;
use crate::core::*; use crate::core::*;
use crate::log::*;
use crate::smb::smb::*; use crate::smb::smb::*;
use crate::dcerpc::detect::{DCEIfaceData, DCEOpnumData, DETECT_DCE_OPNUM_RANGE_UNINITIALIZED}; use crate::dcerpc::detect::{DCEIfaceData, DCEOpnumData, DETECT_DCE_OPNUM_RANGE_UNINITIALIZED};

@ -16,7 +16,6 @@
*/ */
use crate::core::*; use crate::core::*;
use crate::log::*;
use crate::smb::smb::*; use crate::smb::smb::*;
#[repr(u32)] #[repr(u32)]

@ -16,7 +16,6 @@
*/ */
use crate::core::*; use crate::core::*;
use crate::log::*;
use crate::filetracker::*; use crate::filetracker::*;
use crate::filecontainer::*; use crate::filecontainer::*;

@ -15,7 +15,6 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::log::*;
use crate::kerberos::*; use crate::kerberos::*;
use crate::smb::smb::*; use crate::smb::smb::*;
use crate::smb::smb1_session::*; use crate::smb::smb1_session::*;

@ -35,7 +35,6 @@ use std::collections::HashMap;
use nom; use nom;
use crate::core::*; use crate::core::*;
use crate::log::*;
use crate::applayer; use crate::applayer;
use crate::applayer::{AppLayerResult, AppLayerTxData}; use crate::applayer::{AppLayerResult, AppLayerTxData};

@ -22,7 +22,6 @@
use nom; use nom;
use crate::core::*; use crate::core::*;
use crate::log::*;
use crate::smb::smb::*; use crate::smb::smb::*;
use crate::smb::dcerpc::*; use crate::smb::dcerpc::*;

@ -16,7 +16,6 @@
*/ */
use crate::smb::error::SmbError; use crate::smb::error::SmbError;
use crate::log::*;
use nom::IResult; use nom::IResult;
use nom::combinator::rest; use nom::combinator::rest;
use nom::number::streaming::{le_u8, le_u16, le_u32, le_u64}; use nom::number::streaming::{le_u8, le_u16, le_u32, le_u64};

@ -15,8 +15,6 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::log::*;
use crate::smb::smb_records::*; use crate::smb::smb_records::*;
use crate::smb::smb1_records::*; use crate::smb::smb1_records::*;
use crate::smb::smb::*; use crate::smb::smb::*;

@ -18,7 +18,6 @@
use nom; use nom;
use crate::core::*; use crate::core::*;
use crate::log::*;
use crate::smb::smb::*; use crate::smb::smb::*;
use crate::smb::smb2_records::*; use crate::smb::smb2_records::*;

@ -15,7 +15,6 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::log::*;
use crate::smb::smb::*; use crate::smb::smb::*;
use crate::smb::smb2::*; use crate::smb::smb2::*;
use crate::smb::smb2_records::*; use crate::smb::smb2_records::*;

@ -15,8 +15,6 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use crate::log::*;
use crate::smb::smb2_records::*; use crate::smb::smb2_records::*;
use crate::smb::smb::*; use crate::smb::smb::*;
//use smb::events::*; //use smb::events::*;

@ -18,7 +18,6 @@
use crate::smb::error::SmbError; use crate::smb::error::SmbError;
use nom; use nom;
use nom::IResult; use nom::IResult;
use crate::log::*;
/// parse a UTF16 string that is null terminated. Normally by 2 null /// parse a UTF16 string that is null terminated. Normally by 2 null
/// bytes, but at the end of the data it can also be a single null. /// bytes, but at the end of the data it can also be a single null.

@ -25,8 +25,6 @@ use std;
use std::ffi::{CStr,CString}; use std::ffi::{CStr,CString};
use std::mem::transmute; use std::mem::transmute;
use crate::log::*;
use der_parser::ber::BerObjectContent; use der_parser::ber::BerObjectContent;
use der_parser::der::parse_der_sequence; use der_parser::der::parse_der_sequence;
use der_parser::oid::Oid; use der_parser::oid::Oid;

@ -19,7 +19,6 @@ use super::parser;
use crate::applayer::*; use crate::applayer::*;
use crate::core::STREAM_TOSERVER; use crate::core::STREAM_TOSERVER;
use crate::core::{self, AppProto, Flow, ALPROTO_UNKNOWN, IPPROTO_TCP}; use crate::core::{self, AppProto, Flow, ALPROTO_UNKNOWN, IPPROTO_TCP};
use crate::log::*;
use std::ffi::{CStr, CString}; use std::ffi::{CStr, CString};
use std::mem::transmute; use std::mem::transmute;
use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::atomic::{AtomicBool, Ordering};

Loading…
Cancel
Save