If suricata was started with --init-errors-fatal and an error occured
during setup of lua output (like if lua scripts configured in the conf file
don't exist or are not readable) suricata continued, which did not reflect
"init errors fatal" very well.
This fix makes the suricata initialization abort and send an error message
in such cases.
For details see:
https://redmine.openinfosecfoundation.org/issues/1503
error:
if (output_ctx->DeInit)
output_ctx->DeInit(output_ctx);
+
+ int failure_fatal = 0;
+ if (ConfGetBool("engine.init-failure-fatal", &failure_fatal) != 1) {
+ SCLogDebug("ConfGetBool could not load the value.");
+ }
+ if (failure_fatal) {
+ SCLogError(SC_ERR_LUA_ERROR,
+ "Error during setup of lua output. Details should be "
+ "described in previous error messages. Shutting down...");
+ exit(EXIT_FAILURE);
+ }
+
return result;
}