|
|
|
@ -56,11 +56,9 @@ static int DetectRfbSectypeSetup (DetectEngineCtx *, Signature *s, const char *s
|
|
|
|
static void DetectRfbSectypeFree(DetectEngineCtx *, void *);
|
|
|
|
static void DetectRfbSectypeFree(DetectEngineCtx *, void *);
|
|
|
|
static int g_rfb_sectype_buffer_id = 0;
|
|
|
|
static int g_rfb_sectype_buffer_id = 0;
|
|
|
|
|
|
|
|
|
|
|
|
static int DetectEngineInspectRfbSectypeGeneric(ThreadVars *tv,
|
|
|
|
static int DetectEngineInspectRfbSectypeGeneric(DetectEngineCtx *de_ctx,
|
|
|
|
DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx,
|
|
|
|
DetectEngineThreadCtx *det_ctx, const struct DetectEngineAppInspectionEngine_ *engine,
|
|
|
|
const Signature *s, const SigMatchData *smd,
|
|
|
|
const Signature *s, Flow *f, uint8_t flags, void *alstate, void *txv, uint64_t tx_id);
|
|
|
|
Flow *f, uint8_t flags, void *alstate,
|
|
|
|
|
|
|
|
void *txv, uint64_t tx_id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static int DetectRfbSectypeMatch (DetectEngineThreadCtx *, Flow *,
|
|
|
|
static int DetectRfbSectypeMatch (DetectEngineThreadCtx *, Flow *,
|
|
|
|
uint8_t, void *, void *, const Signature *,
|
|
|
|
uint8_t, void *, void *, const Signature *,
|
|
|
|
@ -80,21 +78,18 @@ void DetectRfbSectypeRegister (void)
|
|
|
|
|
|
|
|
|
|
|
|
DetectSetupParseRegexes(PARSE_REGEX, &parse_regex);
|
|
|
|
DetectSetupParseRegexes(PARSE_REGEX, &parse_regex);
|
|
|
|
|
|
|
|
|
|
|
|
DetectAppLayerInspectEngineRegister("rfb.sectype",
|
|
|
|
DetectAppLayerInspectEngineRegister2("rfb.sectype", ALPROTO_RFB, SIG_FLAG_TOSERVER, 1,
|
|
|
|
ALPROTO_RFB, SIG_FLAG_TOSERVER, 1,
|
|
|
|
DetectEngineInspectRfbSectypeGeneric, NULL);
|
|
|
|
DetectEngineInspectRfbSectypeGeneric);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_rfb_sectype_buffer_id = DetectBufferTypeGetByName("rfb.sectype");
|
|
|
|
g_rfb_sectype_buffer_id = DetectBufferTypeGetByName("rfb.sectype");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int DetectEngineInspectRfbSectypeGeneric(ThreadVars *tv,
|
|
|
|
static int DetectEngineInspectRfbSectypeGeneric(DetectEngineCtx *de_ctx,
|
|
|
|
DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx,
|
|
|
|
DetectEngineThreadCtx *det_ctx, const struct DetectEngineAppInspectionEngine_ *engine,
|
|
|
|
const Signature *s, const SigMatchData *smd,
|
|
|
|
const Signature *s, Flow *f, uint8_t flags, void *alstate, void *txv, uint64_t tx_id)
|
|
|
|
Flow *f, uint8_t flags, void *alstate,
|
|
|
|
|
|
|
|
void *txv, uint64_t tx_id)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return DetectEngineInspectGenericList(tv, de_ctx, det_ctx, s, smd,
|
|
|
|
return DetectEngineInspectGenericList(
|
|
|
|
f, flags, alstate, txv, tx_id);
|
|
|
|
NULL, de_ctx, det_ctx, s, engine->smd, f, flags, alstate, txv, tx_id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static inline int SectypeMatch(const uint32_t version,
|
|
|
|
static inline int SectypeMatch(const uint32_t version,
|
|
|
|
|