suricata
util-host-os-info.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SC_HINFO_IS_IPV6   0
 
#define SC_HINFO_IS_IPV4   1
 

Functions

int SCHInfoAddHostOSInfo (const char *, const char *, int)
 Used to add the host-os-info data obtained from the conf. More...
 
int SCHInfoGetHostOSFlavour (const char *)
 Retrieves the host os flavour, given an ipv4/ipv6 address as a string. More...
 
int SCHInfoGetIPv4HostOSFlavour (uint8_t *)
 Retrieves the host os flavour, given an ipv4 address in the raw address format. More...
 
int SCHInfoGetIPv6HostOSFlavour (uint8_t *)
 Retrieves the host os flavour, given an ipv6 address in the raw address format. More...
 
void SCHInfoCleanResources (void)
 
void SCHInfoLoadFromConfig (void)
 Load the host os policy information from the configuration. More...
 
void SCHInfoRegisterTests (void)
 

Detailed Description

Macro Definition Documentation

◆ SC_HINFO_IS_IPV4

#define SC_HINFO_IS_IPV4   1

Definition at line 29 of file util-host-os-info.h.

◆ SC_HINFO_IS_IPV6

#define SC_HINFO_IS_IPV6   0

Definition at line 28 of file util-host-os-info.h.

Function Documentation

◆ SCHInfoAddHostOSInfo()

int SCHInfoAddHostOSInfo ( const char *  host_os,
const char *  host_os_ip_range,
int  is_ipv4 
)

Used to add the host-os-info data obtained from the conf.

Parameters
host_osThe host_os name/flavour from the conf file
host_os_ip_rangePointer to a char string holding the ip/ip_netblock for the host_os specified in the first argument
is_ipv4Indicates if the ip address to be considered for the default configuration is IPV4; if not it is IPV6. Specified using SC_HINFO_IS_IPV6 or SC_HINFO_IS_IPV4
Return values
0On successfully adding the host os info to the Radix tree
-1On failure \initonly (only specified from config, at the startup)

Definition at line 122 of file util-host-os-info.c.

References SCLogError.

◆ SCHInfoCleanResources()

void SCHInfoCleanResources ( void  )

Definition at line 320 of file util-host-os-info.c.

◆ SCHInfoGetHostOSFlavour()

int SCHInfoGetHostOSFlavour ( const char *  ip_addr_str)

Retrieves the host os flavour, given an ipv4/ipv6 address as a string.

Parameters
Pointerto a string containing an IP address
Return values
TheOS flavour on success; -1 on failure, or on not finding the key

Definition at line 248 of file util-host-os-info.c.

References SCLogError, SCRadixFindKeyIPV6BestMatch(), and ValidateIPV6Address().

Here is the call graph for this function:

◆ SCHInfoGetIPv4HostOSFlavour()

int SCHInfoGetIPv4HostOSFlavour ( uint8_t *  ipv4_addr)

Retrieves the host os flavour, given an ipv4 address in the raw address format.

Parameters
Pointerto a raw ipv4 address.
Return values
TheOS flavour on success; -1 on failure, or on not finding the key

Definition at line 292 of file util-host-os-info.c.

References SCRadixFindKeyIPV4BestMatch().

Referenced by DefragGetOsPolicy(), and StreamTcpSetOSPolicy().

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

◆ SCHInfoGetIPv6HostOSFlavour()

int SCHInfoGetIPv6HostOSFlavour ( uint8_t *  ipv6_addr)

Retrieves the host os flavour, given an ipv6 address in the raw address format.

Parameters
Pointerto a raw ipv6 address.
Return values
TheOS flavour on success; -1 on failure, or on not finding the key

Definition at line 310 of file util-host-os-info.c.

References SCRadixFindKeyIPV6BestMatch().

Referenced by DefragGetOsPolicy(), and StreamTcpSetOSPolicy().

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

◆ SCHInfoLoadFromConfig()

void SCHInfoLoadFromConfig ( void  )

Load the host os policy information from the configuration.

\initonly (A mem alloc error should cause an exit failure)

Definition at line 335 of file util-host-os-info.c.

◆ SCHInfoRegisterTests()

void SCHInfoRegisterTests ( void  )

Definition at line 1610 of file util-host-os-info.c.

References UtRegisterTest().

Here is the call graph for this function: