suricata
log-cf-common.h File Reference
#include "suricata-common.h"
#include "util-buffer.h"
Include dependency graph for log-cf-common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  LogCustomFormatNode_
 
struct  LogCustomFormat_
 

Macros

#define LOG_MAXN_NODES   64
 
#define LOG_NODE_STRLEN   256
 
#define LOG_NODE_MAXOUTPUTLEN   8192
 
#define TIMESTAMP_DEFAULT_FORMAT   "%D-%H:%M:%S"
 
#define LOG_CF_NONE   "-"
 
#define LOG_CF_LITERAL   '%'
 
#define LOG_CF_TIMESTAMP   't'
 
#define LOG_CF_TIMESTAMP_U   'z'
 
#define LOG_CF_CLIENT_IP   'a'
 
#define LOG_CF_SERVER_IP   'A'
 
#define LOG_CF_CLIENT_PORT   'p'
 
#define LOG_CF_SERVER_PORT   'P'
 
#define LOG_CF_STAR_SEPARATOR   "[**]"
 
#define LOG_CF_SPACE_SEPARATOR   " "
 
#define LOG_CF_UNKNOWN_VALUE   "-"
 
#define LOG_CF_WRITE_STAR_SEPARATOR(buffer)   MemBufferWriteString(buffer, LOG_CF_STAR_SEPARATOR);
 
#define LOG_CF_WRITE_SPACE_SEPARATOR(buffer)   MemBufferWriteString(buffer, LOG_CF_SPACE_SEPARATOR);
 
#define LOG_CF_WRITE_UNKNOWN_VALUE(buffer)   MemBufferWriteString(buffer, LOG_CF_UNKNOWN_VALUE);
 

Typedefs

typedef struct LogCustomFormatNode_ LogCustomFormatNode
 
typedef struct LogCustomFormat_ LogCustomFormat
 

Functions

LogCustomFormatNodeLogCustomFormatNodeAlloc (void)
 Creates a custom format node. More...
 
LogCustomFormatLogCustomFormatAlloc (void)
 Creates a custom format. More...
 
void LogCustomFormatNodeFree (LogCustomFormatNode *node)
 Frees memory held by a custom format node. More...
 
void LogCustomFormatFree (LogCustomFormat *cf)
 Frees memory held by a custom format. More...
 
void LogCustomFormatAddNode (LogCustomFormat *cf, LogCustomFormatNode *node)
 Adds a node to custom format. More...
 
int LogCustomFormatParse (LogCustomFormat *cf, const char *format)
 Parses and saves format nodes for custom format. More...
 
void LogCustomFormatWriteTimestamp (MemBuffer *buffer, const char *fmt, const SCTime_t ts)
 Writes a timestamp with given format into a MemBuffer. More...
 
void LogCustomFormatRegister (void)
 

Detailed Description

Macro Definition Documentation

◆ LOG_CF_CLIENT_IP

#define LOG_CF_CLIENT_IP   'a'

Definition at line 43 of file log-cf-common.h.

◆ LOG_CF_CLIENT_PORT

#define LOG_CF_CLIENT_PORT   'p'

Definition at line 45 of file log-cf-common.h.

◆ LOG_CF_LITERAL

#define LOG_CF_LITERAL   '%'

Definition at line 40 of file log-cf-common.h.

◆ LOG_CF_NONE

#define LOG_CF_NONE   "-"

Definition at line 39 of file log-cf-common.h.

◆ LOG_CF_SERVER_IP

#define LOG_CF_SERVER_IP   'A'

Definition at line 44 of file log-cf-common.h.

◆ LOG_CF_SERVER_PORT

#define LOG_CF_SERVER_PORT   'P'

Definition at line 46 of file log-cf-common.h.

◆ LOG_CF_SPACE_SEPARATOR

#define LOG_CF_SPACE_SEPARATOR   " "

Definition at line 50 of file log-cf-common.h.

◆ LOG_CF_STAR_SEPARATOR

#define LOG_CF_STAR_SEPARATOR   "[**]"

Definition at line 49 of file log-cf-common.h.

◆ LOG_CF_TIMESTAMP

#define LOG_CF_TIMESTAMP   't'

Definition at line 41 of file log-cf-common.h.

◆ LOG_CF_TIMESTAMP_U

#define LOG_CF_TIMESTAMP_U   'z'

Definition at line 42 of file log-cf-common.h.

◆ LOG_CF_UNKNOWN_VALUE

#define LOG_CF_UNKNOWN_VALUE   "-"

Definition at line 51 of file log-cf-common.h.

◆ LOG_CF_WRITE_SPACE_SEPARATOR

#define LOG_CF_WRITE_SPACE_SEPARATOR (   buffer)    MemBufferWriteString(buffer, LOG_CF_SPACE_SEPARATOR);

Definition at line 55 of file log-cf-common.h.

◆ LOG_CF_WRITE_STAR_SEPARATOR

#define LOG_CF_WRITE_STAR_SEPARATOR (   buffer)    MemBufferWriteString(buffer, LOG_CF_STAR_SEPARATOR);

Definition at line 53 of file log-cf-common.h.

◆ LOG_CF_WRITE_UNKNOWN_VALUE

#define LOG_CF_WRITE_UNKNOWN_VALUE (   buffer)    MemBufferWriteString(buffer, LOG_CF_UNKNOWN_VALUE);

Definition at line 58 of file log-cf-common.h.

◆ LOG_MAXN_NODES

#define LOG_MAXN_NODES   64

Definition at line 32 of file log-cf-common.h.

◆ LOG_NODE_MAXOUTPUTLEN

#define LOG_NODE_MAXOUTPUTLEN   8192

Definition at line 34 of file log-cf-common.h.

◆ LOG_NODE_STRLEN

#define LOG_NODE_STRLEN   256

Definition at line 33 of file log-cf-common.h.

◆ TIMESTAMP_DEFAULT_FORMAT

#define TIMESTAMP_DEFAULT_FORMAT   "%D-%H:%M:%S"

Definition at line 36 of file log-cf-common.h.

Typedef Documentation

◆ LogCustomFormat

◆ LogCustomFormatNode

Function Documentation

◆ LogCustomFormatAddNode()

void LogCustomFormatAddNode ( LogCustomFormat cf,
LogCustomFormatNode node 
)

Adds a node to custom format.

Parameters
LogCustomFormat* cf - custom format
LogCustomFormatNode* node - node to add

Definition at line 185 of file log-cf-common.c.

References LogCustomFormat_::cf_n, LogCustomFormat_::cf_nodes, LogCustomFormatNode_::data, LOG_MAXN_NODES, LogCustomFormatNode_::maxlen, SCLogDebug, SCLogWarning, and LogCustomFormatNode_::type.

Referenced by LogCustomFormatParse().

Here is the caller graph for this function:

◆ LogCustomFormatAlloc()

LogCustomFormat* LogCustomFormatAlloc ( void  )

Creates a custom format.

Return values
LogCustomFormat* ptr if created
NULLif failed to allocate

Definition at line 54 of file log-cf-common.c.

References SCCalloc, SCLogError, and unlikely.

Referenced by LogHttpLogInitCtx().

Here is the caller graph for this function:

◆ LogCustomFormatFree()

void LogCustomFormatFree ( LogCustomFormat cf)

Frees memory held by a custom format.

Parameters
LogCustomFormat* cf - format to release

Definition at line 80 of file log-cf-common.c.

References LogCustomFormat_::cf_n, LogCustomFormat_::cf_nodes, LogCustomFormatNodeFree(), and SCFree.

Here is the call graph for this function:

◆ LogCustomFormatNodeAlloc()

LogCustomFormatNode* LogCustomFormatNodeAlloc ( void  )

Creates a custom format node.

Return values
LogCustomFormatNode* ptr if created
NULLif failed to allocate

Definition at line 39 of file log-cf-common.c.

References SCCalloc, SCLogError, and unlikely.

Referenced by LogCustomFormatParse().

Here is the caller graph for this function:

◆ LogCustomFormatNodeFree()

void LogCustomFormatNodeFree ( LogCustomFormatNode node)

Frees memory held by a custom format node.

Parameters
LogCustomFormatNode* node - node to release

Definition at line 68 of file log-cf-common.c.

References SCFree.

Referenced by LogCustomFormatFree(), and LogCustomFormatParse().

Here is the caller graph for this function:

◆ LogCustomFormatParse()

int LogCustomFormatParse ( LogCustomFormat cf,
const char *  format 
)

Parses and saves format nodes for custom format.

Parameters
LogCustomFormat* cf - custom format to build
constchar * format - string with format specification

Definition at line 96 of file log-cf-common.c.

References LogCustomFormat_::cf_n, LogCustomFormatNode_::data, LOG_CF_LITERAL, LOG_MAXN_NODES, LOG_NODE_MAXOUTPUTLEN, LOG_NODE_STRLEN, LogCustomFormatAddNode(), LogCustomFormatNodeAlloc(), LogCustomFormatNodeFree(), LogCustomFormatNode_::maxlen, strlcpy(), and LogCustomFormatNode_::type.

Referenced by LogHttpLogInitCtx().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LogCustomFormatRegister()

void LogCustomFormatRegister ( void  )

Definition at line 271 of file log-cf-common.c.

Referenced by OutputRegisterLoggers().

Here is the caller graph for this function:

◆ LogCustomFormatWriteTimestamp()

void LogCustomFormatWriteTimestamp ( MemBuffer buffer,
const char *  fmt,
const SCTime_t  ts 
)

Writes a timestamp with given format into a MemBuffer.

Parameters
MemBuffer* buffer - where to write
constchar * fmt - format to be used write timestamp
conststruct timeveal *ts - the timestamp

Definition at line 211 of file log-cf-common.c.

References MemBuffer_::buffer, CreateFormattedTimeString(), MemBuffer_::offset, PrintRawUriBuf(), SCLocalTime(), SCTIME_SECS, MemBuffer_::size, TIMESTAMP_DEFAULT_FORMAT, and ts.

Here is the call graph for this function: