From e38b9de6a2fe8ca53f19585f84b24ae31ee720c9 Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Thu, 16 Nov 2023 09:55:03 +0100 Subject: [PATCH] output/krb5: have krb5 properties in alerts Ticket: 5977 --- rust/src/krb/log.rs | 4 +++- src/output-json-krb5.c | 4 +--- src/output.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/rust/src/krb/log.rs b/rust/src/krb/log.rs index 7cb952581b..58c0d64b48 100644 --- a/rust/src/krb/log.rs +++ b/rust/src/krb/log.rs @@ -22,6 +22,7 @@ use crate::krb::krb5::{KRB5Transaction,test_weak_encryption}; fn krb5_log_response(jsb: &mut JsonBuilder, tx: &mut KRB5Transaction) -> Result<(), JsonError> { + jsb.open_object("krb5")?; match tx.error_code { Some(c) => { jsb.set_string("msg_type", &format!("{:?}", tx.msg_type))?; @@ -63,12 +64,13 @@ fn krb5_log_response(jsb: &mut JsonBuilder, tx: &mut KRB5Transaction) -> Result< jsb.set_string("ticket_encryption", &refs)?; jsb.set_bool("ticket_weak_encryption", test_weak_encryption(x))?; } + jsb.close()?; return Ok(()); } #[no_mangle] -pub extern "C" fn rs_krb5_log_json_response(jsb: &mut JsonBuilder, tx: &mut KRB5Transaction) -> bool +pub extern "C" fn rs_krb5_log_json_response(tx: &mut KRB5Transaction, jsb: &mut JsonBuilder) -> bool { krb5_log_response(jsb, tx).is_ok() } diff --git a/src/output-json-krb5.c b/src/output-json-krb5.c index 5e6fbad5ec..9fc45c5d3c 100644 --- a/src/output-json-krb5.c +++ b/src/output-json-krb5.c @@ -59,11 +59,9 @@ static int JsonKRB5Logger(ThreadVars *tv, void *thread_data, return TM_ECODE_FAILED; } - jb_open_object(jb, "krb5"); - if (!rs_krb5_log_json_response(jb, krb5tx)) { + if (!rs_krb5_log_json_response(krb5tx, jb)) { goto error; } - jb_close(jb); OutputJsonBuilderBuffer(jb, thread); diff --git a/src/output.c b/src/output.c index 5aa341d2cb..149dda58c2 100644 --- a/src/output.c +++ b/src/output.c @@ -1149,8 +1149,8 @@ static EveJsonSimpleAppLayerLogger simple_json_applayer_loggers[ALPROTO_MAX] = { { ALPROTO_NTP, NULL }, // no logging { ALPROTO_FTPDATA, EveFTPDataAddMetadata }, { ALPROTO_TFTP, (EveJsonSimpleTxLogFunc)rs_tftp_log_json_request }, - { ALPROTO_IKE, NULL }, // special: uses state - { ALPROTO_KRB5, NULL }, // TODO missing + { ALPROTO_IKE, NULL }, // special: uses state + { ALPROTO_KRB5, (EveJsonSimpleTxLogFunc)rs_krb5_log_json_response }, { ALPROTO_QUIC, rs_quic_to_json }, { ALPROTO_DHCP, NULL }, // TODO missing { ALPROTO_SNMP, (EveJsonSimpleTxLogFunc)rs_snmp_log_json_response }, -- 2.47.2