Skip to content

Commit b6f272d

Browse files
authored
always set the transaction in the current request (#2682)
1 parent a62e28f commit b6f272d

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

pkg/acquisition/modules/appsec/appsec_runner.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ func (r *AppsecRunner) Init(datadir string) error {
110110
func (r *AppsecRunner) processRequest(tx appsec.ExtendedTransaction, request *appsec.ParsedRequest) error {
111111
var in *corazatypes.Interruption
112112
var err error
113-
request.Tx = tx
114113

115114
if request.Tx.IsRuleEngineOff() {
116115
r.logger.Debugf("rule engine is off, skipping")
@@ -129,7 +128,7 @@ func (r *AppsecRunner) processRequest(tx appsec.ExtendedTransaction, request *ap
129128
//FIXME: should we abort here ?
130129
}
131130

132-
request.Tx.Tx.ProcessConnection(request.RemoteAddr, 0, "", 0)
131+
request.Tx.ProcessConnection(request.RemoteAddr, 0, "", 0)
133132

134133
for k, v := range request.Args {
135134
for _, vv := range v {
@@ -194,6 +193,7 @@ func (r *AppsecRunner) processRequest(tx appsec.ExtendedTransaction, request *ap
194193
func (r *AppsecRunner) ProcessInBandRules(request *appsec.ParsedRequest) error {
195194
tx := appsec.NewExtendedTransaction(r.AppsecInbandEngine, request.UUID)
196195
r.AppsecRuntime.InBandTx = tx
196+
request.Tx = tx
197197
if len(r.AppsecRuntime.InBandRules) == 0 {
198198
return nil
199199
}
@@ -202,11 +202,12 @@ func (r *AppsecRunner) ProcessInBandRules(request *appsec.ParsedRequest) error {
202202
}
203203

204204
func (r *AppsecRunner) ProcessOutOfBandRules(request *appsec.ParsedRequest) error {
205+
tx := appsec.NewExtendedTransaction(r.AppsecOutbandEngine, request.UUID)
206+
r.AppsecRuntime.OutOfBandTx = tx
207+
request.Tx = tx
205208
if len(r.AppsecRuntime.OutOfBandRules) == 0 {
206209
return nil
207210
}
208-
tx := appsec.NewExtendedTransaction(r.AppsecOutbandEngine, request.UUID)
209-
r.AppsecRuntime.OutOfBandTx = tx
210211
err := r.processRequest(tx, request)
211212
return err
212213
}
@@ -348,7 +349,7 @@ func (r *AppsecRunner) handleRequest(request *appsec.ParsedRequest) {
348349

349350
// time spent to process out of band rules
350351
outOfBandParsingElapsed := time.Since(startOutOfBandParsing)
351-
AppsecOutbandParsingHistogram.With(prometheus.Labels{"source": request.RemoteAddrNormalized}).Observe(outOfBandParsingElapsed.Seconds())
352+
AppsecOutbandParsingHistogram.With(prometheus.Labels{"source": request.RemoteAddrNormalized, "appsec_engine": request.AppsecEngine}).Observe(outOfBandParsingElapsed.Seconds())
352353
if request.Tx.IsInterrupted() {
353354
r.handleOutBandInterrupt(request)
354355
}

0 commit comments

Comments
 (0)