mirror of https://github.com/OISF/suricata
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
2.8 KiB
Rust
123 lines
2.8 KiB
Rust
/* Copyright (C) 2017-2021 Open Information Security Foundation
|
|
*
|
|
* You can copy, redistribute or modify this Program under the terms of
|
|
* the GNU General Public License version 2 as published by the Free
|
|
* Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* version 2 along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
* 02110-1301, USA.
|
|
*/
|
|
|
|
//! Suricata is a network intrusion prevention and monitoring engine.
|
|
//!
|
|
//! Suricata is a hybrid C and Rust application. What is found here are
|
|
//! the components written in Rust.
|
|
|
|
#![cfg_attr(feature = "strict", deny(warnings))]
|
|
|
|
// Allow these patterns as its a style we like.
|
|
#![allow(clippy::needless_return)]
|
|
#![allow(clippy::let_and_return)]
|
|
#![allow(clippy::uninlined_format_args)]
|
|
|
|
// We find this is beyond what the linter should flag.
|
|
#![allow(clippy::items_after_test_module)]
|
|
|
|
// We find this makes sense at time.
|
|
#![allow(clippy::module_inception)]
|
|
|
|
// The match macro is not always more clear. But its use is
|
|
// recommended where it makes sense.
|
|
#![allow(clippy::match_like_matches_macro)]
|
|
|
|
// Something we should be conscious of, but due to interfacing with C
|
|
// is unavoidable at this time.
|
|
#![allow(clippy::too_many_arguments)]
|
|
|
|
// This would be nice, but having this lint enables causes
|
|
// clippy --fix to make changes that don't meet our MSRV.
|
|
#![allow(clippy::derivable_impls)]
|
|
|
|
// TODO: All unsafe functions should have a safety doc, even if its
|
|
// just due to FFI.
|
|
#![allow(clippy::missing_safety_doc)]
|
|
|
|
#[macro_use]
|
|
extern crate bitflags;
|
|
extern crate byteorder;
|
|
extern crate crc;
|
|
extern crate memchr;
|
|
#[macro_use]
|
|
extern crate num_derive;
|
|
extern crate widestring;
|
|
|
|
extern crate der_parser;
|
|
extern crate kerberos_parser;
|
|
extern crate tls_parser;
|
|
extern crate x509_parser;
|
|
|
|
#[macro_use]
|
|
extern crate suricata_derive;
|
|
|
|
#[macro_use]
|
|
pub mod log;
|
|
|
|
#[macro_use]
|
|
pub mod core;
|
|
|
|
#[macro_use]
|
|
pub mod common;
|
|
pub mod conf;
|
|
pub mod jsonbuilder;
|
|
#[macro_use]
|
|
pub mod applayer;
|
|
pub mod frames;
|
|
pub mod filecontainer;
|
|
pub mod filetracker;
|
|
pub mod kerberos;
|
|
pub mod detect;
|
|
|
|
#[cfg(feature = "lua")]
|
|
pub mod lua;
|
|
|
|
pub mod dns;
|
|
pub mod nfs;
|
|
pub mod ftp;
|
|
pub mod smb;
|
|
pub mod krb;
|
|
pub mod dcerpc;
|
|
pub mod modbus;
|
|
|
|
pub mod ike;
|
|
pub mod snmp;
|
|
|
|
pub mod ntp;
|
|
pub mod tftp;
|
|
pub mod dhcp;
|
|
pub mod sip;
|
|
pub mod rfb;
|
|
pub mod mqtt;
|
|
pub mod pgsql;
|
|
pub mod telnet;
|
|
pub mod applayertemplate;
|
|
pub mod rdp;
|
|
pub mod x509;
|
|
pub mod asn1;
|
|
pub mod mime;
|
|
pub mod ssh;
|
|
pub mod http2;
|
|
pub mod quic;
|
|
pub mod bittorrent_dht;
|
|
pub mod plugin;
|
|
pub mod lzma;
|
|
pub mod util;
|
|
pub mod ffi;
|
|
pub mod feature;
|