suricata
reputation.h File Reference
#include "host.h"
Include dependency graph for reputation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SRepCIDRTree_
 
struct  SReputation_
 

Macros

#define SREP_MAX_CATS   60
 
#define SREP_MAX_VAL   127
 

Typedefs

typedef struct SRepCIDRTree_ SRepCIDRTree
 
typedef struct SReputation_ SReputation
 

Functions

uint8_t SRepCatGetByShortname (char *shortname)
 
int SRepInit (struct DetectEngineCtx_ *de_ctx)
 init reputation More...
 
void SRepDestroy (struct DetectEngineCtx_ *de_ctx)
 
void SRepReloadComplete (void)
 Increment effective reputation version after a rule/reputatio reload is complete. More...
 
int SRepHostTimedOut (Host *)
 Check if a Host is timed out wrt ip rep, meaning a new version is in place. More...
 
uint8_t SRepCIDRGetIPRepSrc (SRepCIDRTree *cidr_ctx, Packet *p, uint8_t cat, uint32_t version)
 
uint8_t SRepCIDRGetIPRepDst (SRepCIDRTree *cidr_ctx, Packet *p, uint8_t cat, uint32_t version)
 
void SRepResetVersion (void)
 
int SRepLoadCatFileFromFD (FILE *fp)
 
int SRepLoadFileFromFD (SRepCIDRTree *cidr_ctx, FILE *fp)
 
void SCReputationRegisterTests (void)
 

Detailed Description

Macro Definition Documentation

#define SREP_MAX_CATS   60
#define SREP_MAX_VAL   127

Definition at line 32 of file reputation.h.

Referenced by SRepHostTimedOut().

Typedef Documentation

typedef struct SRepCIDRTree_ SRepCIDRTree
typedef struct SReputation_ SReputation

Function Documentation

void SCReputationRegisterTests ( void  )

Register the following unittests for the Reputation module

Definition at line 147 of file reputation.c.

References UtRegisterTest().

Here is the call graph for this function:

uint8_t SRepCatGetByShortname ( char *  shortname)

Definition at line 340 of file reputation.c.

References SC_ERR_OPENING_RULE_FILE, SCLogError, SREP_MAX_CATS, and SRepLoadCatFileFromFD().

Referenced by DetectIPRepRegister().

Here is the call graph for this function:

Here is the caller graph for this function:

uint8_t SRepCIDRGetIPRepDst ( SRepCIDRTree cidr_ctx,
Packet p,
uint8_t  cat,
uint32_t  version 
)

Definition at line 158 of file reputation.c.

References GET_IPV4_DST_ADDR_PTR, GET_IPV6_DST_ADDR, PKT_IS_IPV4, and PKT_IS_IPV6.

Referenced by DetectIPRepRegister().

Here is the caller graph for this function:

uint8_t SRepCIDRGetIPRepSrc ( SRepCIDRTree cidr_ctx,
Packet p,
uint8_t  cat,
uint32_t  version 
)

Definition at line 146 of file reputation.c.

References GET_IPV4_SRC_ADDR_PTR, GET_IPV6_SRC_ADDR, PKT_IS_IPV4, and PKT_IS_IPV6.

Referenced by DetectIPRepRegister().

Here is the caller graph for this function:

void SRepDestroy ( struct DetectEngineCtx_ de_ctx)

Definition at line 662 of file reputation.c.

References SCFree, SCRadixReleaseRadixTree(), SREP_MAX_CATS, DetectEngineCtx_::srepCIDR_ctx, SRepCIDRTree_::srepIPV4_tree, and SRepCIDRTree_::srepIPV6_tree.

Referenced by DetectEngineCtxFree().

Here is the call graph for this function:

Here is the caller graph for this function:

int SRepHostTimedOut ( Host h)

Check if a Host is timed out wrt ip rep, meaning a new version is in place.

We clean up the old version here.

Parameters
hhost
Return values
0not timed out
1timed out

Definition at line 196 of file reputation.c.

References Address_::address, BUG_ON, Address_::family, HostDecrUsecnt, Host_::iprep, SCFree, SCLogDebug, SREP_MAX_CATS, SREP_MAX_VAL, strlcpy(), and SReputation_::version.

Referenced by HostGetActiveCount().

Here is the call graph for this function:

Here is the caller graph for this function:

int SRepInit ( DetectEngineCtx de_ctx)

init reputation

Parameters
de_ctxdetection engine ctx for tracking iprep version
Return values
0ok
-1error

If this function is called more than once, the category file is not reloaded.

Definition at line 579 of file reputation.c.

References ConfGet(), ConfGetNode(), DetectEngineCtx_::failure_fatal, HostPrintStats(), next, SC_ATOMIC_INIT, SC_ERR_NO_REPUTATION, SCFree, SCLogDebug, SCLogError, SCLogInfo, SCMalloc, SREP_MAX_CATS, DetectEngineCtx_::srep_version, DetectEngineCtx_::srepCIDR_ctx, SRepCIDRTree_::srepIPV4_tree, SRepCIDRTree_::srepIPV6_tree, TAILQ_FOREACH, and ConfNode_::val.

Referenced by DetectEngineInspectBufferGeneric(), and DetectIPRepFree().

Here is the call graph for this function:

Here is the caller graph for this function:

int SRepLoadCatFileFromFD ( FILE *  fp)

Definition at line 368 of file reputation.c.

References BUG_ON, Address_::family, len, SC_ERR_NO_REPUTATION, SC_ERR_OPENING_RULE_FILE, SCLogDebug, SCLogError, SREP_MAX_CATS, SREP_SHORTNAME_LEN, SRepLoadFileFromFD(), and strlcpy().

Referenced by DetectIPRepFree(), and SRepCatGetByShortname().

Here is the call graph for this function:

Here is the caller graph for this function:

int SRepLoadFileFromFD ( SRepCIDRTree cidr_ctx,
FILE *  fp 
)
void SRepReloadComplete ( void  )

Increment effective reputation version after a rule/reputatio reload is complete.

Definition at line 172 of file reputation.c.

References SC_ATOMIC_ADD, SC_ATOMIC_SET, and SCLogDebug.

Referenced by DetectEngineInspectBufferGeneric().

Here is the caller graph for this function: