Project

General

Profile

Feature #196 » 0001-Load-signatures-with-incompatible-fast_pattern-optio.patch

Now it continue loading and warn with a message of compatiblity. - Pablo Rincon, 06/30/2010 07:05 AM

View differences:

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,
(1-1/4)