http_header: enable trailer prefilter engines

Now that the mpm engines run only for the proper 'progress'
value, the trailing headers need their own engine registration.
pull/2673/head
Victor Julien 8 years ago
parent cf7f819888
commit 15dcac92f2

@ -186,7 +186,7 @@ static void PrefilterTxHttpRequestHeaders(DetectEngineThreadCtx *det_ctx,
&det_ctx->mtcu, &det_ctx->pmq, buffer, buffer_len);
}
}
#if 0
static void PrefilterTxHttpRequestTrailers(DetectEngineThreadCtx *det_ctx,
const void *pectx,
Packet *p, Flow *f, void *txv,
@ -206,18 +206,16 @@ static void PrefilterTxHttpRequestTrailers(DetectEngineThreadCtx *det_ctx,
HtpState *htp_state = f->alstate;
uint32_t buffer_len = 0;
const uint8_t *buffer = DetectEngineHHDGetBufferForTX(tx, idx,
NULL, det_ctx,
f, htp_state,
flags,
&buffer_len);
const uint8_t *buffer = GetBufferForTX(tx, idx,
NULL, det_ctx, f, htp_state,
flags, &buffer_len);
if (buffer_len >= mpm_ctx->minlen) {
(void)mpm_table[mpm_ctx->mpm_type].Search(mpm_ctx,
&det_ctx->mtcu, &det_ctx->pmq, buffer, buffer_len);
}
}
#endif
static int PrefilterTxHttpRequestHeadersRegister(SigGroupHead *sgh, MpmCtx *mpm_ctx)
{
SCEnter();
@ -225,14 +223,11 @@ static int PrefilterTxHttpRequestHeadersRegister(SigGroupHead *sgh, MpmCtx *mpm_
int r = PrefilterAppendTxEngine(sgh, PrefilterTxHttpRequestHeaders,
ALPROTO_HTTP, HTP_REQUEST_HEADERS,
mpm_ctx, NULL, "http_header (request)");
return r;
#if 0
if (r != 0)
return r;
return PrefilterAppendTxEngine(sgh, PrefilterTxHttpRequestTrailers,
ALPROTO_HTTP, HTP_REQUEST_TRAILER,
mpm_ctx, NULL, "http_header (request)");
#endif
mpm_ctx, NULL, "http_header (request trailer)");
}
/** \brief HTTP Headers Mpm prefilter callback
@ -269,7 +264,7 @@ static void PrefilterTxHttpResponseHeaders(DetectEngineThreadCtx *det_ctx,
&det_ctx->mtcu, &det_ctx->pmq, buffer, buffer_len);
}
}
#if 0
static void PrefilterTxHttpResponseTrailers(DetectEngineThreadCtx *det_ctx,
const void *pectx,
Packet *p, Flow *f, void *txv,
@ -289,7 +284,7 @@ static void PrefilterTxHttpResponseTrailers(DetectEngineThreadCtx *det_ctx,
HtpState *htp_state = f->alstate;
uint32_t buffer_len = 0;
const uint8_t *buffer = DetectEngineHHDGetBufferForTX(tx, idx,
const uint8_t *buffer = GetBufferForTX(tx, idx,
NULL, det_ctx,
f, htp_state,
flags,
@ -300,7 +295,7 @@ static void PrefilterTxHttpResponseTrailers(DetectEngineThreadCtx *det_ctx,
&det_ctx->mtcu, &det_ctx->pmq, buffer, buffer_len);
}
}
#endif
static int PrefilterTxHttpResponseHeadersRegister(SigGroupHead *sgh, MpmCtx *mpm_ctx)
{
SCEnter();
@ -308,14 +303,11 @@ static int PrefilterTxHttpResponseHeadersRegister(SigGroupHead *sgh, MpmCtx *mpm
int r = PrefilterAppendTxEngine(sgh, PrefilterTxHttpResponseHeaders,
ALPROTO_HTTP, HTP_RESPONSE_HEADERS,
mpm_ctx, NULL, "http_header (response)");
return r;
#if 0
if (r != 0)
return r;
return PrefilterAppendTxEngine(sgh, PrefilterTxHttpResponseTrailers,
ALPROTO_HTTP, HTP_RESPONSE_TRAILER,
mpm_ctx, NULL, "http_header (response)");
#endif
mpm_ctx, NULL, "http_header (response trailer)");
}
static int DetectEngineInspectHttpHeader(ThreadVars *tv,

Loading…
Cancel
Save