In preparation of stream logging changes.
}
}
-static void AlertAddFrame(const Packet *p, JsonBuilder *jb, const int64_t frame_id)
+static void AlertAddFrame(
+ const Packet *p, const int64_t frame_id, JsonBuilder *jb, MemBuffer *buffer)
{
if (p->flow == NULL || (p->proto == IPPROTO_TCP && p->flow->protoctx == NULL))
return;
}
Frame *frame = FrameGetById(frames, frame_id);
if (frame != NULL) {
- FrameJsonLogOneFrame(IPPROTO_TCP, frame, p->flow, stream, p, jb);
+ FrameJsonLogOneFrame(IPPROTO_TCP, frame, p->flow, stream, p, jb, buffer);
}
} else if (p->proto == IPPROTO_UDP) {
if (PKT_IS_TOSERVER(p)) {
}
Frame *frame = FrameGetById(frames, frame_id);
if (frame != NULL) {
- FrameJsonLogOneFrame(IPPROTO_UDP, frame, p->flow, NULL, p, jb);
+ FrameJsonLogOneFrame(IPPROTO_UDP, frame, p->flow, NULL, p, jb, buffer);
}
}
}
}
if (pa->flags & PACKET_ALERT_FLAG_FRAME) {
- AlertAddFrame(p, jb, pa->frame_id);
+ AlertAddFrame(p, pa->frame_id, jb, aft->payload_buffer);
}
/* base64-encoded full packet */
* \note ipproto argument is passed to assist static code analyzers
*/
void FrameJsonLogOneFrame(const uint8_t ipproto, const Frame *frame, const Flow *f,
- const TcpStream *stream, const Packet *p, JsonBuilder *jb)
+ const TcpStream *stream, const Packet *p, JsonBuilder *jb, MemBuffer *buffer)
{
DEBUG_VALIDATE_BUG_ON(ipproto != p->proto);
DEBUG_VALIDATE_BUG_ON(ipproto != f->proto);
return TM_ECODE_OK;
jb_set_string(jb, "app_proto", AppProtoToString(f->alproto));
- FrameJsonLogOneFrame(IPPROTO_UDP, frame, p->flow, NULL, p, jb);
+ FrameJsonLogOneFrame(IPPROTO_UDP, frame, p->flow, NULL, p, jb, aft->payload_buffer);
OutputJsonBuilderBuffer(jb, aft->ctx);
jb_free(jb);
frame->flags |= FRAME_FLAG_LOGGED;
return TM_ECODE_OK;
jb_set_string(jb, "app_proto", AppProtoToString(p->flow->alproto));
- FrameJsonLogOneFrame(IPPROTO_TCP, frame, p->flow, stream, p, jb);
+ FrameJsonLogOneFrame(IPPROTO_TCP, frame, p->flow, stream, p, jb, aft->payload_buffer);
OutputJsonBuilderBuffer(jb, aft->ctx);
jb_free(jb);
frame->flags |= FRAME_FLAG_LOGGED;
#include "stream-tcp-private.h"
void FrameJsonLogOneFrame(const uint8_t ipproto, const Frame *frame, const Flow *f,
- const TcpStream *stream, const Packet *p, JsonBuilder *jb);
+ const TcpStream *stream, const Packet *p, JsonBuilder *jb, MemBuffer *);
void JsonFrameLogRegister(void);
#endif /* SURICATA_OUTPUT_JSON_FRAME_H */