Go to the documentation of this file.
48 #define MQTT_LOG_PASSWORDS BIT_U32(0)
49 #define MQTT_DEFAULT_FLAGS (MQTT_LOG_PASSWORDS)
50 #define MQTT_DEFAULT_MAXLOGLEN 1024
68 static int JsonMQTTLogger(
ThreadVars *
tv,
void *thread_data,
69 const Packet *p,
Flow *f,
void *state,
void *tx, uint64_t tx_id)
74 if (SCMqttTxIsToClient((MQTTTransaction *)tx)) {
98 static void OutputMQTTLogDeInitCtxSub(
OutputCtx *output_ctx)
121 SCLogError(
"Error parsing string-log-limit from config - %s, ", query);
134 if (
unlikely(mqttlog_ctx == NULL)) {
144 output_ctx->
data = mqttlog_ctx;
145 output_ctx->
DeInit = OutputMQTTLogDeInitCtxSub;
147 JsonMQTTLogParseConfig(conf, mqttlog_ctx);
151 result.
ctx = output_ctx;
156 static TmEcode JsonMQTTLogThreadInit(
ThreadVars *t,
const void *initdata,
void **data)
163 if (initdata == NULL) {
164 SCLogDebug(
"Error getting context for EveLogMQTT. \"initdata\" is NULL.");
176 *data = (
void *)thread;
184 if (thread == NULL) {
195 OutputMQTTLogInitSub,
ALPROTO_MQTT, JsonMQTTLogger, JsonMQTTLogThreadInit,
196 JsonMQTTLogThreadDeinit);
bool JsonMQTTAddMetadata(void *vtx, SCJsonBuilder *js)
int SCConfValIsTrue(const char *val)
Check if a value is true.
void FreeEveThreadCtx(OutputJsonThreadCtx *ctx)
SCJsonBuilder * CreateEveHeader(const Packet *p, enum SCOutputJsonLogDirection dir, const char *event_type, JsonAddrInfo *addr, OutputJsonCtx *eve_ctx)
OutputJsonThreadCtx * CreateEveThreadCtx(ThreadVars *t, OutputJsonCtx *ctx)
void OutputRegisterTxSubModule(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit)
OutputJsonThreadCtx * ctx
void OutputJsonBuilderBuffer(ThreadVars *tv, const Packet *p, Flow *f, SCJsonBuilder *js, OutputJsonThreadCtx *ctx)
#define MQTT_LOG_PASSWORDS
const char * SCConfNodeLookupChildValue(const SCConfNode *node, const char *name)
Lookup the value of a child configuration node by name.
void AppLayerParserRegisterLogger(uint8_t ipproto, AppProto alproto)
Per thread variable structure.
void JsonMQTTLogRegister(void)
LogMQTTFileCtx * mqttlog_ctx
#define MQTT_DEFAULT_FLAGS
void(* DeInit)(struct OutputCtx_ *)
int ParseSizeStringU32(const char *size, uint32_t *res)
#define SCLogError(...)
Macro used to log ERROR messages.
struct LogMQTTLogThread_ LogMQTTLogThread
#define MQTT_DEFAULT_MAXLOGLEN
struct LogMQTTFileCtx_ LogMQTTFileCtx