From 511dbfe17181c6c850a1490a3b167d355d0046f9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Eloy=20P=C3=A9rez=20Gonz=C3=A1lez?= Date: Thu, 28 Apr 2022 12:40:56 +0200 Subject: [PATCH] krb5: add AS-REQ and TGS-REQ transactions Fix bug in ticket #4529 --- rust/src/krb/krb5.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/rust/src/krb/krb5.rs b/rust/src/krb/krb5.rs index bceae25519..b550d1f99d 100644 --- a/rust/src/krb/krb5.rs +++ b/rust/src/krb/krb5.rs @@ -132,6 +132,16 @@ impl KRB5State { if hdr.class() != Class::Application { return 0; } match hdr.tag().0 { 10 => { + let req = krb5_parser::parse_as_req(i); + if let Ok((_,kdc_req)) = req { + let mut tx = self.new_tx(direction); + tx.msg_type = MessageType::KRB_AS_REQ; + tx.cname = kdc_req.req_body.cname; + tx.realm = Some(kdc_req.req_body.realm); + tx.sname = kdc_req.req_body.sname; + tx.etype = None; + self.transactions.push(tx); + }; self.req_id = 10; }, 11 => { @@ -152,6 +162,16 @@ impl KRB5State { self.req_id = 0; }, 12 => { + let req = krb5_parser::parse_tgs_req(i); + if let Ok((_,kdc_req)) = req { + let mut tx = self.new_tx(direction); + tx.msg_type = MessageType::KRB_TGS_REQ; + tx.cname = kdc_req.req_body.cname; + tx.realm = Some(kdc_req.req_body.realm); + tx.sname = kdc_req.req_body.sname; + tx.etype = None; + self.transactions.push(tx); + }; self.req_id = 12; }, 13 => { -- 2.47.3