ikev1: add metadata to alerts

pull/5961/head
Sascha Steinbiss 6 years ago committed by Victor Julien
parent e2dbdd7fd5
commit 37940180a8

@ -71,6 +71,7 @@
#include "output-json-sip.h" #include "output-json-sip.h"
#include "output-json-rfb.h" #include "output-json-rfb.h"
#include "output-json-mqtt.h" #include "output-json-mqtt.h"
#include "output-json-ike.h"
#include "util-byte.h" #include "util-byte.h"
#include "util-privs.h" #include "util-privs.h"
@ -530,6 +531,12 @@ static void AlertAddAppLayer(const Packet *p, JsonBuilder *jb,
case ALPROTO_DNS: case ALPROTO_DNS:
AlertJsonDns(p->flow, tx_id, jb); AlertJsonDns(p->flow, tx_id, jb);
break; break;
case ALPROTO_IKE:
jb_get_mark(jb, &mark);
if (!EveIKEAddMetadata(p->flow, tx_id, jb)) {
jb_restore_mark(jb, &mark);
}
break;
case ALPROTO_MQTT: case ALPROTO_MQTT:
jb_get_mark(jb, &mark); jb_get_mark(jb, &mark);
if (!JsonMQTTAddMetadata(p->flow, tx_id, jb)) { if (!JsonMQTTAddMetadata(p->flow, tx_id, jb)) {

@ -64,6 +64,19 @@ typedef struct LogIKELogThread_ {
MemBuffer *buffer; MemBuffer *buffer;
} LogIKELogThread; } LogIKELogThread;
bool EveIKEAddMetadata(const Flow *f, uint64_t tx_id, JsonBuilder *js)
{
IKEState *state = FlowGetAppState(f);
if (state) {
IKETransaction *tx = AppLayerParserGetTx(f->proto, ALPROTO_IKE, state, tx_id);
if (tx) {
return rs_ike_logger_log(state, tx, LOG_IKE_EXTENDED, js);
}
}
return false;
}
static int JsonIKELogger(ThreadVars *tv, void *thread_data, const Packet *p, Flow *f, void *state, static int JsonIKELogger(ThreadVars *tv, void *thread_data, const Packet *p, Flow *f, void *state,
void *tx, uint64_t tx_id) void *tx, uint64_t tx_id)
{ {

@ -26,4 +26,6 @@
void JsonIKELogRegister(void); void JsonIKELogRegister(void);
bool EveIKEAddMetadata(const Flow *f, uint64_t tx_id, JsonBuilder *js);
#endif /* __OUTPUT_JSON_IKE_H__ */ #endif /* __OUTPUT_JSON_IKE_H__ */

Loading…
Cancel
Save