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 ConfYamlHandleInclude (ConfNode *parent, const char *filename)
 Include a file in the configuration. More...
 
int ConfYamlLoadFile (const char *filename)
 Load configuration from a YAML file. More...
 
int ConfYamlLoadString (const char *string, size_t len)
 Load configuration from a YAML string. More...
 
int ConfYamlLoadFileWithPrefix (const char *filename, const char *prefix)
 Load configuration from a YAML file, insert in tree at 'prefix'. More...
 
void ConfYamlRegisterTests (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 54 of file conf-yaml-loader.c.

Function Documentation

◆ ConfYamlHandleInclude()

int ConfYamlHandleInclude ( ConfNode 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 116 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:

◆ ConfYamlLoadFile()

int ConfYamlLoadFile ( 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 475 of file conf-yaml-loader.c.

Referenced by ListAppLayerProtocols(), and SCLoadYamlConfig().

Here is the caller graph for this function:

◆ ConfYamlLoadFileWithPrefix()

int ConfYamlLoadFileWithPrefix ( 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.

◆ ConfYamlLoadString()

int ConfYamlLoadString ( const char *  string,
size_t  len 
)

Load configuration from a YAML string.

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

Referenced by LLVMFuzzerTestOneInput().

Here is the caller graph for this function:

◆ ConfYamlRegisterTests()

void ConfYamlRegisterTests ( void  )

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

References UtRegisterTest().

Here is the call graph for this function: