diff options
Diffstat (limited to 'rust/src/lib.rs')
-rw-r--r-- | rust/src/lib.rs | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/rust/src/lib.rs b/rust/src/lib.rs new file mode 100644 index 0000000..15e21c4 --- /dev/null +++ b/rust/src/lib.rs @@ -0,0 +1,122 @@ +/* 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; |