quic: add TX orientation

Set no inspection in the opposite side of the transaction.

Ticket: #5799
pull/8660/head
Eric Leblond 4 years ago committed by Victor Julien
parent 44482a68b0
commit 19174de4f3

@ -22,7 +22,7 @@ use super::{
parser::{quic_pkt_num, QuicData, QuicHeader, QuicType}, parser::{quic_pkt_num, QuicData, QuicHeader, QuicType},
}; };
use crate::applayer::{self, *}; use crate::applayer::{self, *};
use crate::core::{AppProto, Flow, ALPROTO_FAILED, ALPROTO_UNKNOWN, IPPROTO_UDP}; use crate::core::{AppProto, Flow, ALPROTO_FAILED, ALPROTO_UNKNOWN, IPPROTO_UDP, Direction};
use std::collections::VecDeque; use std::collections::VecDeque;
use std::ffi::CString; use std::ffi::CString;
use tls_parser::TlsExtensionType; use tls_parser::TlsExtensionType;
@ -58,7 +58,7 @@ impl QuicTransaction {
extv: Vec<QuicTlsExtension>, ja3: Option<String>, client: bool, extv: Vec<QuicTlsExtension>, ja3: Option<String>, client: bool,
) -> Self { ) -> Self {
let cyu = Cyu::generate(&header, &data.frames); let cyu = Cyu::generate(&header, &data.frames);
QuicTransaction { let mut ntx = QuicTransaction {
tx_id: 0, tx_id: 0,
header, header,
cyu, cyu,
@ -68,7 +68,13 @@ impl QuicTransaction {
ja3, ja3,
client, client,
tx_data: AppLayerTxData::new(), tx_data: AppLayerTxData::new(),
};
if client {
ntx.tx_data.set_inspect_direction(Direction::ToServer);
} else {
ntx.tx_data.set_inspect_direction(Direction::ToClient);
} }
return ntx;
} }
fn new_empty(client: bool, header: QuicHeader) -> Self { fn new_empty(client: bool, header: QuicHeader) -> Self {
@ -135,6 +141,11 @@ impl QuicState {
let mut tx = QuicTransaction::new(header, data, sni, ua, extb, ja3, client); let mut tx = QuicTransaction::new(header, data, sni, ua, extb, ja3, client);
self.max_tx_id += 1; self.max_tx_id += 1;
tx.tx_id = self.max_tx_id; tx.tx_id = self.max_tx_id;
if client {
tx.tx_data.set_inspect_direction(Direction::ToServer);
} else {
tx.tx_data.set_inspect_direction(Direction::ToClient);
}
self.transactions.push_back(tx); self.transactions.push_back(tx);
} }

Loading…
Cancel
Save