rust: fix clippy lints for clippy::derive_partial_eq_without_eq

pull/8073/head
Jason Ish 3 years ago committed by Victor Julien
parent 5a10fcd2d8
commit c4034dafa1

@ -71,7 +71,7 @@ impl StreamSlice {
}
#[repr(C)]
#[derive(Default, Debug,PartialEq)]
#[derive(Default, Debug,PartialEq, Eq)]
pub struct AppLayerTxConfig {
/// config: log flags
log_flags: u8,
@ -96,7 +96,7 @@ impl AppLayerTxConfig {
}
#[repr(C)]
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct AppLayerTxData {
/// config: log flags
pub config: AppLayerTxConfig,
@ -192,7 +192,7 @@ macro_rules!export_tx_data_get {
}
#[repr(C)]
#[derive(Default,Debug,PartialEq,Copy,Clone)]
#[derive(Default,Debug,PartialEq, Eq,Copy,Clone)]
pub struct AppLayerStateData {
pub file_flags: u16,
}
@ -222,7 +222,7 @@ macro_rules!export_state_data_get {
}
#[repr(C)]
#[derive(Default,Debug,PartialEq,Copy,Clone)]
#[derive(Default,Debug,PartialEq, Eq,Copy,Clone)]
pub struct AppLayerResult {
pub status: i32,
pub consumed: u32,
@ -491,7 +491,7 @@ impl AppLayerGetTxIterTuple {
/// LoggerFlags tracks which loggers have already been executed.
#[repr(C)]
#[derive(Default, Debug,PartialEq)]
#[derive(Default, Debug,PartialEq, Eq)]
pub struct LoggerFlags {
flags: u32,
}

@ -83,7 +83,7 @@ pub unsafe extern "C" fn rs_detect_asn1_free(ptr: *mut DetectAsn1Data) {
}
/// Struct to hold parsed asn1 keyword options
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct DetectAsn1Data {
pub bitstring_overflow: bool,
pub double_overflow: bool,

@ -44,7 +44,7 @@ const DIR_TOSERVER: u8 = 0b0000_0100;
const DIR_TOCLIENT: u8 = 0b0000_1000;
#[repr(C)]
#[derive(Debug, PartialEq, Clone, Copy)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum Direction {
ToServer = 0x04,
ToClient = 0x08,

@ -247,7 +247,7 @@ impl DCERPCUuidEntry {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Uuid {
pub time_low: Vec<u8>,
pub time_mid: Vec<u8>,
@ -283,7 +283,7 @@ pub struct BindCtxItem {
pub versionminor: u16,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct DCERPCBindAckResult {
pub ack_result: u16,
pub ack_reason: u16,

@ -47,7 +47,7 @@ const DETECT_BYTEMATH_FLAG_REQUIRED: u8 = DETECT_BYTEMATH_FLAG_RESULT
| DETECT_BYTEMATH_FLAG_OPER;
#[repr(u8)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
// operators: +, -, /, *, <<, >>
pub enum ByteMathOperator {
OperatorNone = 1,
@ -60,7 +60,7 @@ pub enum ByteMathOperator {
}
#[repr(u8)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
// endian <big|little|dce>
pub enum ByteMathEndian {
EndianNone = 0,
@ -71,7 +71,7 @@ pub enum ByteMathEndian {
pub const DETECT_BYTEMATH_ENDIAN_DEFAULT: ByteMathEndian = ByteMathEndian::BigEndian;
#[repr(u8)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ByteMathBase {
BaseNone = 0,
BaseOct = 8,

@ -20,7 +20,7 @@ use nom7::error::{ErrorKind, ParseError};
/// Custom rule parse errors.
///
/// Implemented based on the Nom example for implementing custom errors.
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum RuleParseError<I> {
InvalidByteMath(String),

@ -27,7 +27,7 @@ use std::ffi::{CStr, CString};
use std::str::FromStr;
#[repr(u8)]
#[derive(Clone, Copy, PartialEq, FromPrimitive, Debug)]
#[derive(Clone, Copy, PartialEq, Eq, FromPrimitive, Debug)]
pub enum DetectIPRepDataCmd {
IPRepCmdAny = 0,
IPRepCmdBoth = 1,

@ -25,7 +25,7 @@ use std::ffi::CStr;
use std::str::FromStr;
#[repr(u8)]
#[derive(Clone, Copy, PartialEq, FromPrimitive, Debug)]
#[derive(Clone, Copy, PartialEq, Eq, FromPrimitive, Debug)]
pub enum DetectStreamSizeDataFlags {
StreamSizeServer = 1,
StreamSizeClient = 2,

@ -25,7 +25,7 @@ use nom7::IResult;
use std::ffi::CStr;
#[derive(PartialEq, Clone, Debug)]
#[derive(PartialEq, Eq, Clone, Debug)]
#[repr(u8)]
pub enum DetectUintMode {
DetectUintModeEqual,

@ -20,7 +20,7 @@ use crate::core::*;
use std::ffi::CStr;
use std::os::raw::{c_char, c_void};
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct DetectDnsOpcode {
negate: bool,
opcode: u8,

@ -123,7 +123,7 @@ pub enum DnsFrameType {
}
#[derive(Debug, PartialEq, AppLayerEvent)]
#[derive(Debug, PartialEq, Eq, AppLayerEvent)]
pub enum DNSEvent {
MalformedData,
NotRequest,
@ -131,7 +131,7 @@ pub enum DNSEvent {
ZFlagSet,
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
#[repr(C)]
pub struct DNSHeader {
pub tx_id: u16,
@ -149,7 +149,7 @@ pub struct DNSQueryEntry {
pub rrclass: u16,
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DNSRDataSOA {
/// Primary name server for this zone
pub mname: Vec<u8>,
@ -167,7 +167,7 @@ pub struct DNSRDataSOA {
pub minimum: u32,
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DNSRDataSSHFP {
/// Algorithm number
pub algo: u8,
@ -177,7 +177,7 @@ pub struct DNSRDataSSHFP {
pub fingerprint: Vec<u8>,
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DNSRDataSRV {
/// Priority
pub priority: u16,
@ -190,7 +190,7 @@ pub struct DNSRDataSRV {
}
/// Represents RData of various formats
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub enum DNSRData {
// RData is an address
A(Vec<u8>),
@ -211,7 +211,7 @@ pub enum DNSRData {
Unknown(Vec<u8>),
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DNSAnswerEntry {
pub name: Vec<u8>,
pub rrtype: u16,

@ -25,7 +25,7 @@ use std::io::{Cursor, Read, Write};
pub const HTTP2_DECOMPRESSION_CHUNK_SIZE: usize = 0x1000; // 4096
#[repr(u8)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Debug)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq, Debug)]
pub enum HTTP2ContentEncoding {
Unknown = 0,
Gzip = 1,

@ -48,7 +48,7 @@ pub extern "C" fn rs_http2_init(context: &'static mut SuricataFileContext) {
}
#[repr(u8)]
#[derive(Copy, Clone, PartialOrd, PartialEq)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq)]
pub enum HTTP2ConnectionState {
Http2StateInit = 0,
Http2StateMagicDone = 1,
@ -64,7 +64,7 @@ pub static mut HTTP2_MAX_TABLESIZE: u32 = 65536; // 0x10000
static mut HTTP2_MAX_STREAMS: usize = 4096; // 0x1000
#[repr(u8)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Debug)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq, Debug)]
pub enum HTTP2FrameUnhandledReason {
UnknownType = 0,
TooLong = 1,
@ -100,7 +100,7 @@ pub enum HTTP2FrameTypeData {
}
#[repr(u8)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Debug)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq, Debug)]
pub enum HTTP2TransactionState {
HTTP2StateIdle = 0,
HTTP2StateOpen = 1,

@ -32,7 +32,7 @@ use std::fmt;
use std::str::FromStr;
#[repr(u8)]
#[derive(Clone, Copy, PartialEq, FromPrimitive, Debug)]
#[derive(Clone, Copy, PartialEq, Eq, FromPrimitive, Debug)]
pub enum HTTP2FrameType {
DATA = 0,
HEADERS = 1,
@ -74,7 +74,7 @@ impl std::str::FromStr for HTTP2FrameType {
}
}
#[derive(PartialEq, Debug)]
#[derive(PartialEq, Eq, Debug)]
pub struct HTTP2FrameHeader {
//we could add detection on (GOAWAY) additional data
pub length: u32,
@ -103,7 +103,7 @@ pub fn http2_parse_frame_header(i: &[u8]) -> IResult<&[u8], HTTP2FrameHeader> {
}
#[repr(u32)]
#[derive(Clone, Copy, PartialEq, FromPrimitive, Debug)]
#[derive(Clone, Copy, PartialEq, Eq, FromPrimitive, Debug)]
pub enum HTTP2ErrorCode {
NOERROR = 0,
PROTOCOLERROR = 1,
@ -330,7 +330,7 @@ fn http2_frame_header_static(n: u64, dyn_headers: &HTTP2DynTable) -> Option<HTTP
}
#[repr(u8)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Debug)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq, Debug)]
pub enum HTTP2HeaderDecodeStatus {
HTTP2HeaderDecodeSuccess = 0,
HTTP2HeaderDecodeSizeUpdate = 1,
@ -681,7 +681,7 @@ pub fn http2_parse_frame_continuation<'a>(
}
#[repr(u16)]
#[derive(Clone, Copy, PartialEq, FromPrimitive, Debug)]
#[derive(Clone, Copy, PartialEq, Eq, FromPrimitive, Debug)]
pub enum HTTP2SettingsId {
SETTINGSHEADERTABLESIZE = 1,
SETTINGSENABLEPUSH = 2,

@ -26,7 +26,7 @@ use crate::ike::ike::{IKEState, IKETransaction, IkeEvent};
use crate::ike::parser::IsakmpHeader;
use ipsec_parser::{IkeExchangeType, IkePayloadType, IkeV2Header};
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum IKEV2ConnectionState {
Init,

@ -23,7 +23,7 @@ use std::str::Utf8Error;
const INIT_SIZE: usize = 4096;
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum JsonError {
InvalidState,
Utf8Error(Utf8Error),

@ -23,7 +23,7 @@ use std::ffi::CStr;
use std::ptr;
use std::str::FromStr;
#[derive(FromPrimitive, Debug, Copy, Clone, PartialOrd, PartialEq)]
#[derive(FromPrimitive, Debug, Copy, Clone, PartialOrd, PartialEq, Eq)]
#[allow(non_camel_case_types)]
#[repr(u8)]
pub enum MQTTFlagState {

@ -52,7 +52,7 @@ pub enum MQTTOperation {
}
#[repr(u8)]
#[derive(Clone, Copy, PartialEq, PartialOrd, FromPrimitive, Debug)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, FromPrimitive, Debug)]
pub enum MQTTTypeCode {
UNASSIGNED = 0,
CONNECT = 1,

@ -23,7 +23,7 @@ use nom7::combinator::{rest, cond};
use nom7::number::streaming::be_u32;
use nom7::IResult;
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs2Handle<'a> {
pub value: &'a[u8],
}
@ -33,7 +33,7 @@ pub fn parse_nfs2_handle(i: &[u8]) -> IResult<&[u8], Nfs2Handle> {
Ok((i, Nfs2Handle { value }))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs2RequestLookup<'a> {
pub handle: Nfs2Handle<'a>,
pub name_vec: Vec<u8>,
@ -51,7 +51,7 @@ pub fn parse_nfs2_request_lookup(i: &[u8]) -> IResult<&[u8], Nfs2RequestLookup>
Ok((i, req))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs2RequestRead<'a> {
pub handle: Nfs2Handle<'a>,
pub offset: u32,
@ -84,7 +84,7 @@ pub fn parse_nfs2_reply_read(i: &[u8]) -> IResult<&[u8], NfsReplyRead> {
Ok((i, reply))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs2Attributes<> {
pub atype: u32,
pub asize: u32,

@ -25,7 +25,7 @@ use nom7::multi::{length_data, many0};
use nom7::number::streaming::{be_u32, be_u64};
use nom7::IResult;
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3Handle<'a> {
pub len: u32,
pub value: &'a [u8],
@ -38,7 +38,7 @@ pub fn parse_nfs3_handle(i: &[u8]) -> IResult<&[u8], Nfs3Handle> {
Ok((i, handle))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3ReplyCreate<'a> {
pub status: u32,
pub handle: Option<Nfs3Handle<'a>>,
@ -52,7 +52,7 @@ pub fn parse_nfs3_response_create(i: &[u8]) -> IResult<&[u8], Nfs3ReplyCreate> {
Ok((i, reply))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3ReplyLookup<'a> {
pub status: u32,
pub handle: Nfs3Handle<'a>,
@ -65,7 +65,7 @@ pub fn parse_nfs3_response_lookup(i: &[u8]) -> IResult<&[u8], Nfs3ReplyLookup> {
Ok((i, reply))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestCreate<'a> {
pub handle: Nfs3Handle<'a>,
pub name_len: u32,
@ -91,7 +91,7 @@ pub fn parse_nfs3_request_create(i: &[u8]) -> IResult<&[u8], Nfs3RequestCreate>
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestRemove<'a> {
pub handle: Nfs3Handle<'a>,
pub name_len: u32,
@ -111,7 +111,7 @@ pub fn parse_nfs3_request_remove(i: &[u8]) -> IResult<&[u8], Nfs3RequestRemove>
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestRmdir<'a> {
pub handle: Nfs3Handle<'a>,
pub name_vec: Vec<u8>,
@ -129,7 +129,7 @@ pub fn parse_nfs3_request_rmdir(i: &[u8]) -> IResult<&[u8], Nfs3RequestRmdir> {
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestMkdir<'a> {
pub handle: Nfs3Handle<'a>,
pub name_vec: Vec<u8>,
@ -148,7 +148,7 @@ pub fn parse_nfs3_request_mkdir(i: &[u8]) -> IResult<&[u8], Nfs3RequestMkdir> {
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestRename<'a> {
pub from_handle: Nfs3Handle<'a>,
pub from_name_vec: Vec<u8>,
@ -175,7 +175,7 @@ pub fn parse_nfs3_request_rename(i: &[u8]) -> IResult<&[u8], Nfs3RequestRename>
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestGetAttr<'a> {
pub handle: Nfs3Handle<'a>,
}
@ -185,7 +185,7 @@ pub fn parse_nfs3_request_getattr(i: &[u8]) -> IResult<&[u8], Nfs3RequestGetAttr
Ok((i, Nfs3RequestGetAttr { handle }))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestAccess<'a> {
pub handle: Nfs3Handle<'a>,
pub check_access: u32,
@ -201,7 +201,7 @@ pub fn parse_nfs3_request_access(i: &[u8]) -> IResult<&[u8], Nfs3RequestAccess>
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestCommit<'a> {
pub handle: Nfs3Handle<'a>,
}
@ -213,7 +213,7 @@ pub fn parse_nfs3_request_commit(i: &[u8]) -> IResult<&[u8], Nfs3RequestCommit>
Ok((i, Nfs3RequestCommit { handle }))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestRead<'a> {
pub handle: Nfs3Handle<'a>,
pub offset: u64,
@ -226,7 +226,7 @@ pub fn parse_nfs3_request_read(i: &[u8]) -> IResult<&[u8], Nfs3RequestRead> {
Ok((i, Nfs3RequestRead { handle, offset }))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestLookup<'a> {
pub handle: Nfs3Handle<'a>,
pub name_vec: Vec<u8>,
@ -243,7 +243,7 @@ pub fn parse_nfs3_request_lookup(i: &[u8]) -> IResult<&[u8], Nfs3RequestLookup>
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3ResponseReaddirplusEntryC<'a> {
pub name_vec: Vec<u8>,
pub handle: Option<Nfs3Handle<'a>>,
@ -268,7 +268,7 @@ pub fn parse_nfs3_response_readdirplus_entry(
Ok((i, resp))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3ResponseReaddirplusEntry<'a> {
pub entry: Option<Nfs3ResponseReaddirplusEntryC<'a>>,
}
@ -281,7 +281,7 @@ pub fn parse_nfs3_response_readdirplus_entry_cond(
Ok((i, Nfs3ResponseReaddirplusEntry { entry }))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3ResponseReaddirplus<'a> {
pub status: u32,
pub data: &'a [u8],
@ -304,7 +304,7 @@ pub(crate) fn many0_nfs3_response_readdirplus_entries<'a>(
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestReaddirplus<'a> {
pub handle: Nfs3Handle<'a>,
pub cookie: u64,
@ -329,7 +329,7 @@ pub fn parse_nfs3_request_readdirplus(i: &[u8]) -> IResult<&[u8], Nfs3RequestRea
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs3RequestWrite<'a> {
pub handle: Nfs3Handle<'a>,
pub offset: u64,

@ -36,7 +36,7 @@ const RPCSEC_GSS: u32 = 6;
// Linux defines NFSD_MAX_OPS_PER_COMPOUND to 16 (tested in Linux 5.15.1).
const NFSD_MAX_OPS_PER_COMPOUND: usize = 64;
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub enum Nfs4RequestContent<'a> {
PutFH(Nfs4Handle<'a>),
GetFH,
@ -72,7 +72,7 @@ pub enum Nfs4RequestContent<'a> {
DestroyClientID(&'a[u8]),
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4Attr {
attr_mask: u64,
}
@ -106,7 +106,7 @@ fn nfs4_parse_attrbits(i: &[u8]) -> IResult<&[u8], Nfs4Attr> {
Ok((i, attr))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4StateId<'a> {
pub seqid: u32,
pub data: &'a[u8],
@ -119,7 +119,7 @@ fn nfs4_parse_stateid(i: &[u8]) -> IResult<&[u8], Nfs4StateId> {
Ok((i, state))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4Handle<'a> {
pub len: u32,
pub value: &'a[u8],
@ -139,7 +139,7 @@ fn nfs4_parse_nfsstring(i: &[u8]) -> IResult<&[u8], &[u8]> {
Ok((i, data))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4RequestLayoutReturn<'a> {
pub layout_type: u32,
pub return_type: u32,
@ -167,7 +167,7 @@ fn nfs4_req_layoutreturn(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4RequestGetDevInfo<'a> {
pub device_id: &'a[u8],
pub layout_type: u32,
@ -190,7 +190,7 @@ fn nfs4_req_getdevinfo(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4RequestCreateSession<'a> {
pub client_id: &'a[u8],
pub seqid: u32,
@ -222,7 +222,7 @@ fn nfs4_req_putfh(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
map(nfs4_parse_handle, Nfs4RequestContent::PutFH)(i)
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestSetClientId<'a> {
pub client_id: &'a[u8],
pub r_netid: &'a[u8],
@ -250,7 +250,7 @@ fn nfs4_req_setclientid_confirm(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent>
Ok((i, Nfs4RequestContent::SetClientIdConfirm))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestCreate<'a> {
pub ftype4: u32,
pub filename: &'a[u8],
@ -270,7 +270,7 @@ fn nfs4_req_create(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, req))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub enum Nfs4OpenRequestContent<'a> {
Exclusive4(&'a[u8]),
Unchecked4(Nfs4Attr),
@ -300,7 +300,7 @@ fn nfs4_req_open_type(i: &[u8]) -> IResult<&[u8], Nfs4OpenRequestContent> {
Ok((i, data))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestOpen<'a> {
pub open_type: u32,
pub filename: &'a[u8],
@ -335,7 +335,7 @@ fn nfs4_req_readdir(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, Nfs4RequestContent::ReadDir))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestRename<'a> {
pub oldname: &'a[u8],
pub newname: &'a[u8],
@ -351,7 +351,7 @@ fn nfs4_req_rename(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, req))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestLookup<'a> {
pub filename: &'a[u8],
}
@ -375,7 +375,7 @@ fn nfs4_req_secinfo_no_name(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
map(be_u32, Nfs4RequestContent::SecInfoNoName) (i)
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestSetAttr<'a> {
pub stateid: Nfs4StateId<'a>,
}
@ -391,7 +391,7 @@ fn nfs4_req_getattr(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
map(nfs4_parse_attrbits, Nfs4RequestContent::GetAttr)(i)
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestWrite<'a> {
pub stateid: Nfs4StateId<'a>,
pub offset: u64,
@ -417,7 +417,7 @@ fn nfs4_req_write(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, req))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestRead<'a> {
pub stateid: Nfs4StateId<'a>,
pub offset: u64,
@ -442,7 +442,7 @@ fn nfs4_req_close(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, Nfs4RequestContent::Close(stateid)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestOpenConfirm<'a> {
pub stateid: Nfs4StateId<'a>,
}
@ -495,7 +495,7 @@ fn nfs4_req_destroy_clientid(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, Nfs4RequestContent::DestroyClientID(client_id)))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4RequestLayoutGet<'a> {
pub layout_type: u32,
pub length: u64,
@ -521,7 +521,7 @@ fn nfs4_req_layoutget(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, req))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestExchangeId<'a> {
pub client_string: &'a[u8],
pub nii_domain: &'a[u8],
@ -546,7 +546,7 @@ fn nfs4_req_exchangeid(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent> {
Ok((i, req))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestSequence<'a> {
pub ssn_id: &'a[u8],
}
@ -603,7 +603,7 @@ fn parse_request_compound_command(i: &[u8]) -> IResult<&[u8], Nfs4RequestContent
Ok((i, cmd_data))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4RequestCompoundRecord<'a> {
pub commands: Vec<Nfs4RequestContent<'a>>,
}
@ -620,7 +620,7 @@ pub fn parse_nfs4_request_compound(i: &[u8]) -> IResult<&[u8], Nfs4RequestCompou
Ok((i, Nfs4RequestCompoundRecord { commands }))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub enum Nfs4ResponseContent<'a> {
PutFH(u32),
PutRootFH(u32),
@ -663,7 +663,7 @@ fn nfs4_res_layoutreturn(i:&[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::LayoutReturn(status)))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4ResponseCreateSession<'a> {
pub ssn_id: &'a[u8],
pub seq_id: u32,
@ -687,7 +687,7 @@ fn nfs4_res_create_session(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::CreateSession( status, create_ssn_data )))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4ResponseExchangeId<'a> {
pub client_id: &'a[u8],
pub eir_minorid: u64,
@ -728,7 +728,7 @@ fn nfs4_res_exchangeid(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::ExchangeId( status, xchngid_data)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseWrite {
pub count: u32,
pub committed: u32,
@ -747,7 +747,7 @@ fn nfs4_res_write(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::Write(status, wd)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseRead<'a> {
pub eof: bool,
pub count: u32,
@ -772,21 +772,21 @@ fn nfs4_res_read(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::Read(status, rd)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseOpen<'a> {
pub stateid: Nfs4StateId<'a>,
pub result_flags: u32,
pub delegate: Nfs4ResponseFileDelegation<'a>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum Nfs4ResponseFileDelegation<'a> {
DelegateRead(Nfs4ResponseOpenDelegateRead<'a>),
DelegateWrite(Nfs4ResponseOpenDelegateWrite<'a>),
DelegateNone(u32),
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4ResponseOpenDelegateWrite<'a> {
pub stateid: Nfs4StateId<'a>,
pub who: &'a[u8],
@ -807,7 +807,7 @@ fn nfs4_res_open_ok_delegate_write(i: &[u8]) -> IResult<&[u8], Nfs4ResponseFileD
})))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseOpenDelegateRead<'a> {
pub stateid: Nfs4StateId<'a>,
}
@ -856,7 +856,7 @@ fn nfs4_res_open(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::Open(status, open_data)))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4ResponseGetDevInfo<'a> {
pub layout_type: u32,
pub r_netid: &'a[u8],
@ -888,7 +888,7 @@ fn nfs4_res_getdevinfo(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
/*https://datatracker.ietf.org/doc/html/rfc5661#section-13.1*/
// in case of multiple file handles, return handles in a vector
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Nfs4ResponseLayoutGet<'a> {
pub stateid: Nfs4StateId<'a>,
pub length: u64,
@ -965,12 +965,12 @@ fn nfs4_res_secinfo_no_name(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::SecInfoNoName(status)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseReaddirEntry<'a> {
pub name: &'a[u8],
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseReaddir<'a> {
pub eof: bool,
pub listing: Vec<Option<Nfs4ResponseReaddirEntry<'a>>>,
@ -1114,7 +1114,7 @@ fn nfs4_res_commit(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::Commit(status)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseAccess {
pub supported_types: u32,
pub access_rights: u32,
@ -1136,7 +1136,7 @@ fn nfs4_res_access(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, Nfs4ResponseContent::Access(status, ad)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseSequence<'a> {
pub ssn_id: &'a[u8],
}
@ -1203,7 +1203,7 @@ fn nfs4_res_compound_command(i: &[u8]) -> IResult<&[u8], Nfs4ResponseContent> {
Ok((i, cmd_data))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Nfs4ResponseCompoundRecord<'a> {
pub status: u32,
pub commands: Vec<Nfs4ResponseContent<'a>>,

@ -17,7 +17,7 @@
//! Nom parsers for NFS
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct NfsReplyRead<'a> {
pub status: u32,
pub attr_follows: u32,

@ -31,14 +31,14 @@ pub const RPC_MAX_MACHINE_SIZE: u32 = 256; // Linux kernel defines 64.
pub const RPC_MAX_CREDS_SIZE: u32 = 4096; // Linux kernel defines 400.
pub const RPC_MAX_VERIFIER_SIZE: u32 = 4096; // Linux kernel defines 400.
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum RpcRequestCreds<'a> {
Unix(RpcRequestCredsUnix<'a>),
GssApi(RpcRequestCredsGssApi<'a>),
Unknown(&'a [u8]),
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RpcRequestCredsUnix<'a> {
pub stamp: u32,
pub machine_name_len: u32,
@ -71,7 +71,7 @@ fn parse_rpc_request_creds_unix(i: &[u8]) -> IResult<&[u8], RpcRequestCreds> {
Ok((i, creds))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RpcRequestCredsGssApi<'a> {
pub version: u32,
pub procedure: u32,
@ -101,7 +101,7 @@ fn parse_rpc_request_creds_unknown(i: &[u8]) -> IResult<&[u8], RpcRequestCreds>
Ok((&[], RpcRequestCreds::Unknown(i)))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RpcGssApiIntegrity<'a> {
pub seq_num: u32,
pub data: &'a [u8],
@ -117,7 +117,7 @@ pub fn parse_rpc_gssapi_integrity(i: &[u8]) -> IResult<&[u8], RpcGssApiIntegrity
Ok((i, res))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RpcPacketHeader {
pub frag_is_last: bool,
pub frag_len: u32,
@ -145,7 +145,7 @@ pub fn parse_rpc_packet_header(i: &[u8]) -> IResult<&[u8], RpcPacketHeader> {
Ok((i, hdr))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RpcReplyPacket<'a> {
pub hdr: RpcPacketHeader,
@ -161,7 +161,7 @@ pub struct RpcReplyPacket<'a> {
}
// top of request packet, just to get to procedure
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RpcRequestPacketPartial {
pub hdr: RpcPacketHeader,
@ -187,7 +187,7 @@ pub fn parse_rpc_request_partial(i: &[u8]) -> IResult<&[u8], RpcRequestPacketPar
Ok((i, req))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RpcPacket<'a> {
pub hdr: RpcPacketHeader,

@ -37,7 +37,7 @@ pub const PGSQL_DUMMY_PROTO_MAJOR: u16 = 1234; // 0x04d2
pub const PGSQL_DUMMY_PROTO_MINOR_SSL: u16 = 5679; //0x162f
pub const _PGSQL_DUMMY_PROTO_MINOR_GSSAPI: u16 = 5680; // 0x1630
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum PgsqlParameters {
// startup parameters
User,
@ -113,27 +113,27 @@ impl From<&[u8]> for PgsqlParameters {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct PgsqlParameter {
pub name: PgsqlParameters,
pub value: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct PgsqlStartupParameters {
pub user: PgsqlParameter,
pub database: Option<PgsqlParameter>,
pub optional_params: Option<Vec<PgsqlParameter>>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct DummyStartupPacket {
length: u32,
proto_major: u16,
proto_minor: u16,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct StartupPacket {
pub length: u32,
pub proto_major: u16,
@ -141,20 +141,20 @@ pub struct StartupPacket {
pub params: PgsqlStartupParameters,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RegularPacket {
pub identifier: u8,
pub length: u32,
pub payload: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct PgsqlErrorNoticeMessageField {
pub field_type: PgsqlErrorNoticeFieldType,
pub field_value: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct ErrorNoticeMessage {
pub identifier: u8,
pub length: u32,
@ -171,7 +171,7 @@ impl ErrorNoticeMessage {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum SSLResponseMessage {
SSLAccepted,
SSLRejected,
@ -208,14 +208,14 @@ impl From<char> for SSLResponseMessage {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct ParameterStatusMessage {
pub identifier: u8,
pub length: u32,
pub param: PgsqlParameter,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct BackendKeyDataMessage {
pub identifier: u8,
pub length: u32,
@ -223,7 +223,7 @@ pub struct BackendKeyDataMessage {
pub secret_key: u32,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct ConsolidatedDataRowPacket {
pub identifier: u8,
pub length: u32,
@ -231,14 +231,14 @@ pub struct ConsolidatedDataRowPacket {
pub data_size: u64,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct ReadyForQueryMessage {
pub identifier: u8,
pub length: u32,
pub transaction_status: u8,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct NotificationResponse {
pub identifier: u8,
pub length: u32,
@ -248,7 +248,7 @@ pub struct NotificationResponse {
pub payload: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum PgsqlBEMessage {
SSLResponse(SSLResponseMessage),
ErrorResponse(ErrorNoticeMessage),
@ -316,7 +316,7 @@ impl PgsqlBEMessage {
}
}
#[derive(Debug, PartialEq, Clone)]
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum SASLAuthenticationMechanism {
ScramSha256,
ScramSha256Plus,
@ -332,13 +332,13 @@ impl SASLAuthenticationMechanism {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct TerminationMessage {
pub identifier: u8,
pub length: u32,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum PgsqlFEMessage {
SSLRequest(DummyStartupPacket),
StartupMessage(StartupPacket),
@ -363,7 +363,7 @@ impl PgsqlFEMessage {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct AuthenticationMessage {
pub identifier: u8,
pub length: u32,
@ -371,7 +371,7 @@ pub struct AuthenticationMessage {
pub payload: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct SASLInitialResponsePacket {
pub identifier: u8,
pub length: u32,
@ -380,7 +380,7 @@ pub struct SASLInitialResponsePacket {
pub sasl_param: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct AuthenticationSASLMechanismMessage {
identifier: u8,
length: u32,
@ -388,7 +388,7 @@ pub struct AuthenticationSASLMechanismMessage {
auth_mechanisms: Vec<SASLAuthenticationMechanism>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RowField {
pub field_name: Vec<u8>,
pub table_oid: u32,
@ -402,7 +402,7 @@ pub struct RowField {
pub format_code: u16,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RowDescriptionMessage {
pub identifier: u8,
pub length: u32,
@ -410,14 +410,14 @@ pub struct RowDescriptionMessage {
pub fields: Vec<RowField>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct ColumnFieldValue {
// Can be 0, or -1 as a special NULL column value
pub value_length: i32,
pub value: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum PgsqlErrorNoticeFieldType {
SeverityLocalizable,
SeverityNonLocalizable,

@ -35,7 +35,7 @@ static mut ALPROTO_PGSQL: AppProto = ALPROTO_UNKNOWN;
static mut PGSQL_MAX_TX: usize = 1024;
#[repr(u8)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Debug)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq, Debug)]
pub enum PgsqlTransactionState {
Init = 0,
RequestReceived,
@ -88,7 +88,7 @@ impl PgsqlTransaction {
}
}
#[derive(Clone, Copy, Debug, PartialEq)]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum PgsqlStateProgress {
IdleState,
SSLRequestReceived,

@ -21,7 +21,7 @@ use super::{
};
use md5::{Digest, Md5};
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Cyu {
pub string: String,
pub hash: String,

@ -19,7 +19,7 @@ use nom7::error::{ErrorKind, ParseError};
use std::error::Error;
use std::fmt;
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum QuicError {
StreamTagNoMatch(u32),
InvalidPacket,

@ -196,7 +196,7 @@ fn parse_ack_frame(input: &[u8]) -> IResult<&[u8], Frame, QuicError> {
))
}
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct QuicTlsExtension {
pub etype: TlsExtensionType,
pub values: Vec<Vec<u8>>,

@ -78,7 +78,7 @@ impl From<u32> for QuicVersion {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum QuicType {
Initial,
Retry,
@ -93,7 +93,7 @@ const QUIC_FLAG_DCID_LEN: u8 = 0x8;
const QUIC_FLAG_NONCE: u8 = 0x4;
const QUIC_FLAG_VERSION: u8 = 0x1;
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct PublicFlags {
pub is_long: bool,
pub raw: u8,
@ -161,7 +161,7 @@ pub fn quic_var_uint(input: &[u8]) -> IResult<&[u8], u64, QuicError> {
}
/// A QUIC packet's header.
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct QuicHeader {
pub flags: PublicFlags,
pub ty: QuicType,

@ -20,7 +20,7 @@
use nom7::error::{Error, ErrorKind, ParseError};
use nom7::ErrorConvert;
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum RdpError {
UnimplementedLengthDeterminant,
NotX224Class0Error,

@ -72,19 +72,19 @@ fn device_scale_to_opt(x: u32) -> Option<u32> {
// ================
/// t.123-spec, section 8
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum TpktVersion {
T123 = 0x3,
}
/// t.123-spec, section 8
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct T123Tpkt {
pub child: T123TpktChild,
}
/// variants that a t.123 tpkt can hold
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum T123TpktChild {
X224ConnectionRequest(X224ConnectionRequest),
X224ConnectionConfirm(X224ConnectionConfirm),
@ -95,7 +95,7 @@ pub enum T123TpktChild {
// ================
/// x.224-spec, sections 13.3.3, 13.4.3, 13.7.3
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum X224Type {
ConnectionConfirm = 0xd,
ConnectionRequest = 0xe,
@ -104,7 +104,7 @@ pub enum X224Type {
/// x.224-spec, section 13.3
// rdp-spec, section 2.2.1.1
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct X224ConnectionRequest {
pub cdt: u8,
pub dst_ref: u16,
@ -117,13 +117,13 @@ pub struct X224ConnectionRequest {
}
/// rdp-spec, section 2.2.1.1.1
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct RdpCookie {
pub mstshash: String,
}
/// rdp-spec, sections 2.2.1.1.1, 2.2.1.2.1, 2.2.1.2.2
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum X224ConnectionRequestType {
NegotiationRequest = 0x1,
NegotiationResponse = 0x2,
@ -131,7 +131,7 @@ pub enum X224ConnectionRequestType {
}
/// rdp-spec, section 2.2.1.1.1
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct NegotiationRequest {
pub flags: NegotiationRequestFlags,
pub protocols: ProtocolFlags,
@ -148,7 +148,7 @@ bitflags! {
}
/// rdp-spec, section 2.2.1.1.1
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum Protocol {
ProtocolRdp = 0x0,
ProtocolSsl = 0x1,
@ -170,7 +170,7 @@ bitflags! {
/// rdp-spec, section 2.2.1.2
/// x.224-spec, section 13.3
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct X224ConnectionConfirm {
pub cdt: u8,
pub dst_ref: u16,
@ -181,14 +181,14 @@ pub struct X224ConnectionConfirm {
}
/// variants of a server negotiation
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum NegotiationFromServer {
Response(NegotiationResponse),
Failure(NegotiationFailure),
}
/// rdp-spec, section 2.2.1.1.1
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct NegotiationResponse {
pub flags: NegotiationResponseFlags,
pub protocol: Protocol,
@ -207,13 +207,13 @@ bitflags! {
}
/// rdp-spec, section 2.2.1.1.1
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct NegotiationFailure {
pub code: NegotiationFailureCode,
}
/// rdp-spec, section 2.2.1.2.2
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum NegotiationFailureCode {
SslRequiredByServer = 0x1,
SslNotAllowedByServer = 0x2,
@ -226,13 +226,13 @@ pub enum NegotiationFailureCode {
// ================
/// x224-spec, section 13.7
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct X223Data {
pub child: X223DataChild,
}
/// variants that an x.223 data message can hold
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum X223DataChild {
McsConnectRequest(McsConnectRequest),
McsConnectResponse(McsConnectResponse),
@ -240,20 +240,20 @@ pub enum X223DataChild {
}
/// t.125-spec, section 7, part 2
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum T125Type {
T125TypeMcsConnectRequest = 0x65, // 101
T125TypeMcsConnectResponse = 0x66, // 102
}
/// rdp-spec, section 2.2.1.3.2
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct McsConnectRequest {
pub children: Vec<McsConnectRequestChild>,
}
/// variants that an mcs connection message can hold
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum McsConnectRequestChild {
CsClientCore(CsClientCoreData),
CsNet(CsNet),
@ -261,14 +261,14 @@ pub enum McsConnectRequestChild {
}
/// rdp-spec, section 2.2.1.3.1
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum CsType {
Core = 0xc001,
Net = 0xc003,
}
/// rdp-spec, section 2.2.1.3.2
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct CsClientCoreData {
pub version: Option<RdpClientVersion>,
pub desktop_width: u16,
@ -300,7 +300,7 @@ pub struct CsClientCoreData {
}
/// rdp-spec, section 2.2.1.3.2 Client Core Data
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum RdpClientVersion {
V4 = 0x80001,
@ -316,14 +316,14 @@ pub enum RdpClientVersion {
}
/// rdp-spec, section 2.2.1.3.2 Client Core Data
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum ColorDepth {
RnsUdColor4Bpp = 0xca00,
RnsUdColor8Bpp = 0xca01,
}
/// rdp-spec, section 2.2.1.3.2 Client Core Data
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum SasSequence {
RnsUdSasDel = 0xaa03,
}
@ -331,7 +331,7 @@ pub enum SasSequence {
// for keyboard layout, see windows::lcid_to_string
/// rdp-spec, section 2.2.1.3.2 Client Core Data
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum KeyboardType {
KbXt = 0x1,
KbIco = 0x2,
@ -343,7 +343,7 @@ pub enum KeyboardType {
}
/// rdp-spec, section 2.2.1.3.2 Client Core Data
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum PostBeta2ColorDepth {
RnsUdColorNotProvided = 0x0,
RnsUdColor4Bpp = 0xca00,
@ -354,7 +354,7 @@ pub enum PostBeta2ColorDepth {
}
/// rdp-spec, section 2.2.1.3.2 Client Core Data
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum HighColorDepth {
HighColorNotProvided = 0x0,
HighColor4Bpp = 0x4,
@ -394,7 +394,7 @@ bitflags! {
}
/// rdp-spec, section 2.2.1.3.2 Client Core Data, `connectionType`
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
pub enum ConnectionHint {
ConnectionHintNotProvided = 0x0,
ConnectionHintModem = 0x1,
@ -407,7 +407,7 @@ pub enum ConnectionHint {
}
/// rdp-spec, section 2.2.1.3.2 Client Core Data
#[derive(Clone, Copy, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Copy, Debug, FromPrimitive, PartialEq, Eq)]
pub enum DesktopOrientation {
OrientationLandscape = 0,
OrientationPortrait = 90, // 0x5a
@ -416,21 +416,21 @@ pub enum DesktopOrientation {
}
/// rdp-spec, section 2.2.1.3.4
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct CsNet {
pub channels: Vec<String>,
}
/// generic structure
/// cf. rdp-spec, section 2.2.1.3.4
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct CsUnknown {
pub typ: u16,
pub data: Vec<u8>,
}
/// rdp-spec, section 2.2.1.4
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct McsConnectResponse {}
// ==================

@ -33,12 +33,12 @@ static mut ALPROTO_RDP: AppProto = ALPROTO_UNKNOWN;
// transactions
//
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct CertificateBlob {
pub data: Vec<u8>,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum RdpTransactionItem {
X224ConnectionRequest(X224ConnectionRequest),
X224ConnectionConfirm(X224ConnectionConfirm),
@ -47,7 +47,7 @@ pub enum RdpTransactionItem {
TlsCertificateChain(Vec<CertificateBlob>),
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RdpTransaction {
pub id: u64,
pub item: RdpTransactionItem,
@ -105,7 +105,7 @@ pub extern "C" fn rs_rdp_tx_get_progress(
// state
//
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct RdpState {
state_data: AppLayerStateData,
next_id: u64,

@ -476,14 +476,14 @@ pub fn lcid_to_string<'a>(lcid: u32, default: &'a str) -> String {
}
/// Windows operating system type (build and suffix/pack)
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct OperatingSystem {
pub build: Build,
pub suffix: Suffix,
}
// <https://en.wikipedia.org/wiki/Windows_NT#Releases>
#[derive(Clone, Debug, FromPrimitive, PartialEq)]
#[derive(Clone, Debug, FromPrimitive, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum Build {
Other,
@ -510,7 +510,7 @@ pub enum Build {
Server2003 = 3790,
}
#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Suffix {
Empty,
Rtm,

@ -57,7 +57,7 @@ pub struct Response {
pub body_len: u16,
}
#[derive(PartialEq, Debug, Clone)]
#[derive(PartialEq, Eq, Debug, Clone)]
pub enum Method {
Register,
Custom(String),

@ -148,7 +148,7 @@ fn parse_secblob_spnego(blob: &[u8]) -> Option<SpnegoRequest>
Some(s)
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct NtlmsspData {
pub host: Vec<u8>,
pub user: Vec<u8>,

@ -26,7 +26,7 @@ use nom7::number::streaming::{be_u16, le_u8, le_u16, le_u32, u16, u32};
use nom7::sequence::tuple;
use nom7::{Err, IResult};
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DceRpcResponseRecord<'a> {
pub data: &'a[u8],
}
@ -45,7 +45,7 @@ pub fn parse_dcerpc_response_record(i:&[u8], frag_len: u16 )
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DceRpcRequestRecord<'a> {
pub opnum: u16,
pub context_id: u16,
@ -69,7 +69,7 @@ pub fn parse_dcerpc_request_record(i:&[u8], frag_len: u16, little: bool)
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DceRpcBindIface<'a> {
pub iface: &'a[u8],
pub ver: u16,
@ -108,7 +108,7 @@ pub fn parse_dcerpc_bind_iface_big(i: &[u8]) -> IResult<&[u8], DceRpcBindIface>
Ok((i, res))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DceRpcBindRecord<'a> {
pub num_ctx_items: u8,
pub ifaces: Vec<DceRpcBindIface<'a>>,
@ -142,7 +142,7 @@ pub fn parse_dcerpc_bind_record_big(i: &[u8]) -> IResult<&[u8], DceRpcBindRecord
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DceRpcBindAckResult<'a> {
pub ack_result: u16,
pub ack_reason: u16,
@ -164,7 +164,7 @@ pub fn parse_dcerpc_bindack_result(i: &[u8]) -> IResult<&[u8], DceRpcBindAckResu
Ok((i, res))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DceRpcBindAckRecord<'a> {
pub num_results: u8,
pub results: Vec<DceRpcBindAckResult<'a>>,
@ -187,7 +187,7 @@ pub fn parse_dcerpc_bindack_record(i: &[u8]) -> IResult<&[u8], DceRpcBindAckReco
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct DceRpcRecord<'a> {
pub version_major: u8,
pub version_minor: u8,

@ -27,7 +27,7 @@ pub const NBSS_MSGTYPE_NEGATIVE_SSN_RESPONSE: u8 = 0x83;
pub const NBSS_MSGTYPE_RETARG_RESPONSE: u8 = 0x84;
pub const NBSS_MSGTYPE_KEEP_ALIVE: u8 = 0x85;
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct NbssRecord<'a> {
pub message_type: u8,
pub length: u32,

@ -24,7 +24,7 @@ use nom7::number::streaming::{le_u8, le_u16, le_u32};
use nom7::sequence::tuple;
use nom7::IResult;
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct NTLMSSPVersion {
pub ver_major: u8,
pub ver_minor: u8,
@ -55,7 +55,7 @@ fn parse_ntlm_auth_version(i: &[u8]) -> IResult<&[u8], NTLMSSPVersion> {
Ok((i, version))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct NTLMSSPAuthRecord<'a> {
pub domain: &'a[u8],
pub user: &'a[u8],
@ -121,7 +121,7 @@ pub fn parse_ntlm_auth_record(i: &[u8]) -> IResult<&[u8], NTLMSSPAuthRecord> {
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct NTLMSSPRecord<'a> {
pub msg_type: u32,
pub data: &'a[u8],

@ -46,7 +46,7 @@ pub fn smb1_get_string<'a>(i: &'a[u8], r: &SmbRecord, offset: usize) -> IResult<
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbParamBlockAndXHeader {
pub wct: u8,
pub andx_command: u8,
@ -66,7 +66,7 @@ pub fn smb1_parse_andx_header(i: &[u8]) -> IResult<&[u8], SmbParamBlockAndXHeade
Ok((i, hdr))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb1WriteRequestRecord<'a> {
pub offset: u64,
pub len: u32,
@ -140,7 +140,7 @@ pub fn parse_smb1_write_and_close_request_record(i: &[u8]) -> IResult<&[u8], Smb
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb1NegotiateProtocolResponseRecord<'a> {
pub dialect_idx: u16,
pub server_guid: &'a[u8],
@ -185,7 +185,7 @@ pub fn parse_smb1_negotiate_protocol_response_record(i: &[u8])
}
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb1NegotiateProtocolRecord<'a> {
pub dialects: Vec<&'a [u8]>,
}
@ -201,7 +201,7 @@ pub fn parse_smb1_negotiate_protocol_record(i: &[u8])
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb1ResponseRecordTreeConnectAndX<'a> {
pub service: &'a[u8],
pub nativefs: &'a[u8],
@ -225,7 +225,7 @@ pub fn parse_smb_connect_tree_andx_response_record(i: &[u8])
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRecordTreeConnectAndX<'a> {
pub path: Vec<u8>,
pub service: &'a[u8],
@ -246,7 +246,7 @@ pub fn parse_smb_connect_tree_andx_record<'a>(i: &'a[u8], r: &SmbRecord)
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRecordTransRequest<'a> {
pub params: SmbRecordTransRequestParams,
pub pipe: Option<SmbPipeProtocolRecord<'a>>,
@ -254,7 +254,7 @@ pub struct SmbRecordTransRequest<'a> {
pub data: SmbRecordTransRequestData<'a>,
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbPipeProtocolRecord<'a> {
pub function: u16,
pub fid: &'a[u8],
@ -272,7 +272,7 @@ pub fn parse_smb_trans_request_record_pipe(i: &[u8])
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRecordTransRequestParams<> {
pub max_data_cnt: u16,
param_cnt: u16,
@ -314,7 +314,7 @@ pub fn parse_smb_trans_request_record_params(i: &[u8])
Ok((i, (params, pipe)))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRecordTransRequestData<'a> {
pub data: &'a[u8],
}
@ -382,7 +382,7 @@ pub fn parse_smb_trans_request_record<'a, 'b>(i: &'a[u8], r: &SmbRecord<'b>)
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRecordTransResponse<'a> {
pub data_cnt: u16,
pub bcc: u16,
@ -436,7 +436,7 @@ pub fn parse_smb_trans_response_record(i: &[u8]) -> IResult<&[u8], SmbRecordTran
}
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRecordSetupAndX<'a> {
pub sec_blob: &'a[u8],
}
@ -451,7 +451,7 @@ pub fn parse_smb_setup_andx_record(i: &[u8]) -> IResult<&[u8], SmbRecordSetupAnd
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbResponseRecordSetupAndX<'a> {
pub sec_blob: &'a[u8],
}
@ -492,7 +492,7 @@ pub fn parse_smb_response_setup_andx_record(i: &[u8]) -> IResult<&[u8], SmbRespo
}
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRequestReadAndXRecord<'a> {
pub fid: &'a[u8],
pub size: u64,
@ -519,7 +519,7 @@ pub fn parse_smb_read_andx_request_record(i: &[u8]) -> IResult<&[u8], SmbRequest
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbResponseReadAndXRecord<'a> {
pub len: u32,
pub data: &'a[u8],
@ -553,7 +553,7 @@ pub fn parse_smb_read_andx_response_record(i: &[u8]) -> IResult<&[u8], SmbRespon
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRequestRenameRecord {
pub oldname: Vec<u8>,
pub newname: Vec<u8>,
@ -574,7 +574,7 @@ pub fn parse_smb_rename_request_record(i: &[u8]) -> IResult<&[u8], SmbRequestRen
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRequestCreateAndXRecord<> {
pub disposition: u32,
pub create_options: u32,
@ -604,7 +604,7 @@ pub fn parse_smb_create_andx_request_record<'a>(i: &'a[u8], r: &SmbRecord)
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Trans2RecordParamSetFileInfoDisposition<> {
pub delete: bool,
}
@ -618,7 +618,7 @@ pub fn parse_trans2_request_data_set_file_info_disposition(i: &[u8])
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Trans2RecordParamSetFileInfo<'a> {
pub fid: &'a[u8],
pub loi: u16,
@ -631,7 +631,7 @@ pub fn parse_trans2_request_params_set_file_info(i: &[u8]) -> IResult<&[u8], Tra
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Trans2RecordParamSetFileInfoRename<'a> {
pub replace: bool,
pub newname: &'a[u8],
@ -650,7 +650,7 @@ pub fn parse_trans2_request_data_set_file_info_rename(i: &[u8]) -> IResult<&[u8]
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Trans2RecordParamSetPathInfo<> {
pub loi: u16,
pub oldname: Vec<u8>,
@ -664,7 +664,7 @@ pub fn parse_trans2_request_params_set_path_info(i: &[u8]) -> IResult<&[u8], Tra
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Trans2RecordParamSetPathInfoRename<'a> {
pub replace: bool,
pub newname: &'a[u8],
@ -683,7 +683,7 @@ pub fn parse_trans2_request_data_set_path_info_rename(i: &[u8]) -> IResult<&[u8]
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRequestTrans2Record<'a> {
pub subcmd: u16,
pub setup_blob: &'a[u8],
@ -726,7 +726,7 @@ pub fn parse_smb_trans2_request_record(i: &[u8]) -> IResult<&[u8], SmbRequestTra
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbResponseCreateAndXRecord<'a> {
pub fid: &'a[u8],
pub create_ts: SMBFiletime,
@ -767,7 +767,7 @@ pub fn parse_smb_create_andx_response_record(i: &[u8]) -> IResult<&[u8], SmbResp
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRequestCloseRecord<'a> {
pub fid: &'a[u8],
}
@ -781,7 +781,7 @@ pub fn parse_smb1_close_request_record(i: &[u8]) -> IResult<&[u8], SmbRequestClo
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbVersion<> {
pub version: u8,
}
@ -793,7 +793,7 @@ pub fn parse_smb_version(i: &[u8]) -> IResult<&[u8], SmbVersion> {
Ok((i, version))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct SmbRecord<'a> {
pub command: u8,
pub is_dos_error: bool,

@ -27,7 +27,7 @@ use nom7::{Err, IResult, Needed};
const SMB2_FLAGS_SERVER_TO_REDIR: u32 = 0x0000_0001;
const SMB2_FLAGS_ASYNC_COMMAND: u32 = 0x0000_0002;
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2SecBlobRecord<'a> {
pub data: &'a[u8],
}
@ -37,7 +37,7 @@ pub fn parse_smb2_sec_blob(i: &[u8]) -> IResult<&[u8], Smb2SecBlobRecord> {
Ok((i, Smb2SecBlobRecord { data }))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2RecordDir<> {
pub request: bool,
}
@ -52,7 +52,7 @@ pub fn parse_smb2_record_direction(i: &[u8]) -> IResult<&[u8], Smb2RecordDir> {
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2Record<'a> {
pub direction: u8, // 0 req, 1 res
pub header_len: u16,
@ -129,7 +129,7 @@ pub fn parse_smb2_request_record(i: &[u8]) -> IResult<&[u8], Smb2Record> {
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2NegotiateProtocolRequestRecord<'a> {
pub dialects_vec: Vec<u16>,
pub client_guid: &'a[u8],
@ -153,7 +153,7 @@ pub fn parse_smb2_request_negotiate_protocol(i: &[u8]) -> IResult<&[u8], Smb2Neg
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2NegotiateProtocolResponseRecord<'a> {
pub dialect: u16,
pub server_guid: &'a[u8],
@ -196,7 +196,7 @@ pub fn parse_smb2_response_negotiate_protocol_error(i: &[u8]) -> IResult<&[u8],
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2SessionSetupRequestRecord<'a> {
pub data: &'a[u8],
}
@ -215,7 +215,7 @@ pub fn parse_smb2_request_session_setup(i: &[u8]) -> IResult<&[u8], Smb2SessionS
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2TreeConnectRequestRecord<'a> {
pub share_name: &'a[u8],
}
@ -230,7 +230,7 @@ pub fn parse_smb2_request_tree_connect(i: &[u8]) -> IResult<&[u8], Smb2TreeConne
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2TreeConnectResponseRecord<> {
pub share_type: u8,
}
@ -245,7 +245,7 @@ pub fn parse_smb2_response_tree_connect(i: &[u8]) -> IResult<&[u8], Smb2TreeConn
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2CreateRequestRecord<'a> {
pub disposition: u32,
pub create_options: u32,
@ -269,7 +269,7 @@ pub fn parse_smb2_request_create(i: &[u8]) -> IResult<&[u8], Smb2CreateRequestRe
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2IOCtlRequestRecord<'a> {
pub is_pipe: bool,
pub function: u32,
@ -298,7 +298,7 @@ pub fn parse_smb2_request_ioctl(i: &[u8]) -> IResult<&[u8], Smb2IOCtlRequestReco
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2IOCtlResponseRecord<'a> {
pub is_pipe: bool,
pub guid: &'a[u8],
@ -333,7 +333,7 @@ pub fn parse_smb2_response_ioctl(i: &[u8]) -> IResult<&[u8], Smb2IOCtlResponseRe
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2CloseRequestRecord<'a> {
pub guid: &'a[u8],
}
@ -428,7 +428,7 @@ pub fn parse_smb2_request_setinfo(i: &[u8]) -> IResult<&[u8], Smb2SetInfoRequest
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2WriteRequestRecord<'a> {
pub wr_len: u32,
pub wr_offset: u64,
@ -456,7 +456,7 @@ pub fn parse_smb2_request_write(i: &[u8]) -> IResult<&[u8], Smb2WriteRequestReco
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2ReadRequestRecord<'a> {
pub rd_len: u32,
pub rd_offset: u64,
@ -480,7 +480,7 @@ pub fn parse_smb2_request_read(i: &[u8]) -> IResult<&[u8], Smb2ReadRequestRecord
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2ReadResponseRecord<'a> {
pub len: u32,
pub data: &'a[u8],
@ -514,7 +514,7 @@ pub fn parse_smb2_response_read(i: &[u8]) -> IResult<&[u8], Smb2ReadResponseReco
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2CreateResponseRecord<'a> {
pub guid: &'a[u8],
pub create_ts: SMBFiletime,
@ -550,7 +550,7 @@ pub fn parse_smb2_response_create(i: &[u8]) -> IResult<&[u8], Smb2CreateResponse
Ok((i, record))
}
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb2WriteResponseRecord<> {
pub wr_cnt: u32,
}

@ -19,7 +19,7 @@ use nom7::bytes::streaming::{tag, take};
use nom7::number::streaming::{le_u16, le_u32, le_u64};
use nom7::IResult;
#[derive(Debug,PartialEq)]
#[derive(Debug,PartialEq, Eq)]
pub struct Smb3TransformRecord<'a> {
pub session_id: u64,
pub enc_algo: u16,

@ -84,7 +84,7 @@ pub fn ssh_parse_line(i: &[u8]) -> IResult<&[u8], &[u8]> {
)(i)
}
#[derive(PartialEq)]
#[derive(PartialEq, Eq)]
pub struct SshBanner<'a> {
pub protover: &'a [u8],
pub swver: &'a [u8],
@ -101,7 +101,7 @@ pub fn ssh_parse_banner(i: &[u8]) -> IResult<&[u8], SshBanner> {
Ok((i, SshBanner { protover, swver }))
}
#[derive(PartialEq)]
#[derive(PartialEq, Eq)]
pub struct SshRecordHeader {
pub pkt_len: u32,
padding_len: u8,
@ -148,7 +148,7 @@ pub fn ssh_parse_record(i: &[u8]) -> IResult<&[u8], SshRecordHeader> {
))
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct SshPacketKeyExchange<'a> {
pub cookie: &'a [u8],
pub kex_algs: &'a [u8],

@ -38,7 +38,7 @@ pub enum SSHEvent {
}
#[repr(u8)]
#[derive(Copy, Clone, PartialOrd, PartialEq)]
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq)]
pub enum SSHConnectionState {
SshStateInProgress = 0,
SshStateBannerWaitEol = 1,

@ -32,7 +32,7 @@ const DATA: u8 = 3;
const ACK: u8 = 4;
const ERROR: u8 = 5;
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct TFTPTransaction {
pub opcode : u8,
pub filename : String,

Loading…
Cancel
Save