diff --git a/src/app-layer-parser.c b/src/app-layer-parser.c index ab4a4a7fef..274dcafa7f 100644 --- a/src/app-layer-parser.c +++ b/src/app-layer-parser.c @@ -968,7 +968,8 @@ void AppLayerParserTransactionsCleanup(Flow *f, const uint8_t pkt_dir) goto next; } - if (has_tx_detect_flags) { + // for passing flow, do not skip tx as we will not run detection on the other side + if (has_tx_detect_flags && (f->flags & (FLOW_ACTION_PASS)) == 0) { if (!IS_DISRUPTED(ts_disrupt_flags) && (f->sgh_toserver != NULL || (f->flags & FLOW_SGH_TOSERVER) == 0)) { if ((txd->flags & (APP_LAYER_TX_INSPECTED_TS | APP_LAYER_TX_SKIP_INSPECT_TS)) ==