use kerberos_parser::krb5_parser;
use kerberos_parser::krb5::{EncryptionType,ErrorCode,MessageType,PrincipalName,Realm};
use crate::applayer::{self, *};
-use crate::core;
-use crate::core::{AppProto,Flow,ALPROTO_FAILED,ALPROTO_UNKNOWN,STREAM_TOCLIENT,STREAM_TOSERVER,sc_detect_engine_state_free};
+use crate::core::{self, *};
#[derive(AppLayerEvent)]
pub enum KRB5Event {
/// Parse a Kerberos request message
///
/// Returns 0 in case of success, or -1 on error
- fn parse(&mut self, i: &[u8], _direction: u8) -> i32 {
+ fn parse(&mut self, i: &[u8], _direction: Direction) -> i32 {
match der_read_element_header(i) {
Ok((_rem,hdr)) => {
// Kerberos messages start with an APPLICATION header
_flags: u8) -> AppLayerResult {
let buf = build_slice!(input,input_len as usize);
let state = cast_pointer!(state,KRB5State);
- if state.parse(buf, STREAM_TOSERVER) < 0 {
+ if state.parse(buf, Direction::ToServer) < 0 {
return AppLayerResult::err();
}
AppLayerResult::ok()
_flags: u8) -> AppLayerResult {
let buf = build_slice!(input,input_len as usize);
let state = cast_pointer!(state,KRB5State);
- if state.parse(buf, STREAM_TOCLIENT) < 0 {
+ if state.parse(buf, Direction::ToClient) < 0 {
return AppLayerResult::err();
}
AppLayerResult::ok()
}
}
if cur_i.len() >= state.record_ts {
- if state.parse(cur_i, STREAM_TOSERVER) < 0 {
+ if state.parse(cur_i, Direction::ToServer) < 0 {
return AppLayerResult::err();
}
state.record_ts = 0;
}
}
if cur_i.len() >= state.record_tc {
- if state.parse(cur_i, STREAM_TOCLIENT) < 0 {
+ if state.parse(cur_i, Direction::ToClient) < 0 {
return AppLayerResult::err();
}
state.record_tc = 0;