suricata
conf-yaml-loader.c File Reference
#include "suricata-common.h"
#include "conf.h"
#include "conf-yaml-loader.h"
#include <yaml.h>
#include "util-path.h"
#include "util-debug.h"
#include "util-unittest.h"
Include dependency graph for conf-yaml-loader.c:

Go to the source code of this file.

Macros

#define YAML_VERSION_MAJOR   1
 
#define YAML_VERSION_MINOR   1
 
#define RECURSION_LIMIT   128
 
#define DEFAULT_NAME_LEN   16
 
#define MANGLE_ERRORS_MAX   10
 

Enumerations

enum  conf_state { CONF_KEY = 0, CONF_VAL, CONF_INCLUDE }
 

Functions

int SCConfYamlHandleInclude (SCConfNode *parent, const char *filename)
 Include a file in the configuration. More...
 
int SCConfYamlLoadFile (const char *filename)
 Load configuration from a YAML file. More...
 
int SCConfYamlLoadString (const char *string, size_t len)
 Load configuration from a YAML string. More...
 
int SCConfYamlLoadFileWithPrefix (const char *filename, const char *prefix)
 Load configuration from a YAML file, insert in tree at 'prefix'. More...
 
void SCConfYamlRegisterTests (void)
 

Detailed Description

Author
Endace Technology Limited - Jason Ish jason.nosp@m..ish.nosp@m.@enda.nosp@m.ce.c.nosp@m.om

YAML configuration loader.

Definition in file conf-yaml-loader.c.

Macro Definition Documentation

◆ DEFAULT_NAME_LEN

#define DEFAULT_NAME_LEN   16

Definition at line 45 of file conf-yaml-loader.c.

◆ MANGLE_ERRORS_MAX

#define MANGLE_ERRORS_MAX   10

Definition at line 47 of file conf-yaml-loader.c.

◆ RECURSION_LIMIT

#define RECURSION_LIMIT   128

Definition at line 40 of file conf-yaml-loader.c.

◆ YAML_VERSION_MAJOR

#define YAML_VERSION_MAJOR   1

Definition at line 35 of file conf-yaml-loader.c.

◆ YAML_VERSION_MINOR

#define YAML_VERSION_MINOR   1

Definition at line 36 of file conf-yaml-loader.c.

Enumeration Type Documentation

◆ conf_state

enum conf_state
Enumerator
CONF_KEY 
CONF_VAL 
CONF_INCLUDE 

Definition at line 55 of file conf-yaml-loader.c.

Function Documentation

◆ SCConfYamlHandleInclude()

int SCConfYamlHandleInclude ( SCConfNode parent,
const char *  filename 
)

Include a file in the configuration.

Parameters
parentThe configuration node the included configuration will be placed at.
filenameThe filename to include.
Return values
0on success, -1 on failure.

Definition at line 115 of file conf-yaml-loader.c.

References PathIsAbsolute(), SCLogError, and strlcpy().

Referenced by SCLoadYamlConfig().

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

◆ SCConfYamlLoadFile()

int SCConfYamlLoadFile ( const char *  filename)

Load configuration from a YAML file.

This function will load a configuration file. On failure -1 will be returned and it is suggested that the program then exit. Any errors while loading the configuration file will have already been logged.

Parameters
filenameFilename of configuration file to load.
Return values
0on success, -1 on failure.

Definition at line 477 of file conf-yaml-loader.c.

Referenced by ListAppLayerProtocols(), and SCLoadYamlConfig().

Here is the caller graph for this function:

◆ SCConfYamlLoadFileWithPrefix()

int SCConfYamlLoadFileWithPrefix ( const char *  filename,
const char *  prefix 
)

Load configuration from a YAML file, insert in tree at 'prefix'.

This function will load a configuration file and insert it into the config tree at 'prefix'. This means that if this is called with prefix "abc" and the file contains a parameter "def", it will be loaded as "abc.def".

Parameters
filenameFilename of configuration file to load.
prefixName prefix to use.
Return values
0on success, -1 on failure.

Definition at line 553 of file conf-yaml-loader.c.

◆ SCConfYamlLoadString()

int SCConfYamlLoadString ( const char *  string,
size_t  len 
)

Load configuration from a YAML string.

Definition at line 523 of file conf-yaml-loader.c.

Referenced by LLVMFuzzerTestOneInput().

Here is the caller graph for this function:

◆ SCConfYamlRegisterTests()

void SCConfYamlRegisterTests ( void  )

Definition at line 1056 of file conf-yaml-loader.c.

References UtRegisterTest().

Here is the call graph for this function: