rdp: correctly returns incomplete in parse_tc

Adding the already consumed bytes
In case an incomplete tls handshake is handled with/after
a refular rdp t123_tpkt
pull/6038/head
Philippe Antoine 4 years ago committed by Victor Julien
parent 3de0123ffb
commit 6da9a37285

@ -354,7 +354,14 @@ impl RdpState {
Err(nom::Err::Failure(_)) | Err(nom::Err::Error(_)) => {
if probe_tls_handshake(available) {
self.tls_parsing = true;
return self.parse_tc(available);
let r = self.parse_tc(available);
if r.status == 1 {
//adds bytes already consumed to incomplete result
let consumed = (input.len() - available.len()) as u32;
return AppLayerResult::incomplete(r.consumed + consumed, r.needed);
} else {
return r;
}
} else {
return AppLayerResult::err();
}

Loading…
Cancel
Save