Feature #196 » 0001-Load-signatures-with-incompatible-fast_pattern-optio.patch
| src/detect-fast-pattern.c | ||
|---|---|---|
|
}
|
||
|
if (s->pmatch_tail == NULL) {
|
||
|
SCLogError(SC_ERR_INVALID_SIGNATURE, "fast_pattern found inside the "
|
||
|
"rule, without any preceding keywords");
|
||
|
return -1;
|
||
|
SCLogWarning(SC_WARN_COMPATIBILITY, " a fast_pattern found inside the "
|
||
|
"rule, is not preceding a keyword that support (currently)"
|
||
|
" this optimization. At least, the engine support "
|
||
|
"fast_pattern for content (not for uricontent yet). "
|
||
|
"The signature is being loaded anyway ==> %s",
|
||
|
s->sig_str);
|
||
|
return 0;
|
||
|
}
|
||
|
SigMatch *pm = DetectContentGetLastPattern(s->pmatch_tail);
|
||
| src/detect-parse.c | ||
|---|---|---|
|
SCEnter();
|
||
|
char **basics;
|
||
|
s->sig_str = sigstr;
|
||
|
int ret = SigParseBasics(s, sigstr, &basics, addrs_direction);
|
||
|
if (ret < 0) {
|
||
| ... | ... | |
|
SCFree(basics);
|
||
|
}
|
||
|
s->sig_str = NULL;
|
||
|
SCReturnInt(ret);
|
||
|
}
|
||
| src/detect.h | ||
|---|---|---|
|
/** Reference */
|
||
|
Reference *references;
|
||
|
/* Be careful, this pointer is only valid while parsing the sig,
|
||
|
* to warn the user about any possible problem */
|
||
|
char *sig_str;
|
||
|
#ifdef PROFILING
|
||
|
uint16_t profiling_id;
|
||
|
#endif
|
||
| src/util-error.c | ||
|---|---|---|
|
CASE_CODE (SC_ERR_ERF_DAG_STREAM_SET_FAILED);
|
||
|
CASE_CODE (SC_ERR_ERF_DAG_STREAM_READ_FAILED);
|
||
|
CASE_CODE (SC_WARN_ERF_DAG_REC_LEN_CHANGED);
|
||
|
CASE_CODE (SC_WARN_COMPATIBILITY);
|
||
|
CASE_CODE (SC_ERR_DCERPC);
|
||
|
default:
|
||
| src/util-error.h | ||
|---|---|---|
|
SC_ERR_LIBCAP_NG_REQUIRED,
|
||
|
SC_ERR_LIBNET11_INCOMPATIBLE_WITH_LIBCAP_NG,
|
||
|
SC_WARN_FLOW_EMERGENCY,
|
||
|
SC_WARN_COMPATIBILITY,
|
||
|
SC_ERR_SVC,
|
||
|
SC_ERR_ERF_DAG_OPEN_FAILED,
|
||
|
SC_ERR_ERF_DAG_STREAM_OPEN_FAILED,
|
||