ze-filter  (ze-filter-0.8.0-develop-180218)
ze-policy.c File Reference
#include <ze-sys.h>
#include <libze.h>
#include "ze-filter.h"

Go to the source code of this file.

Macros

#define JDEBUG   0
 
#define ACCESS_UNDEF   0
 
#define ACCESS_NO   1
 
#define ACCESS_QUICK_NO   2
 
#define ACCESS_YES   3
 
#define ACCESS_QUICK_YES   4
 
#define MAX_TOKENS   256
 
#define DECODE_ACCESS(value, result)
 
#define VAL2LIMIT(r, buffer)
 

Functions

bool lookup_policy (char *prefix, char *key, char *buf, size_t szbuf, bool chkdefault)
 
bool check_policy (char *prefix, char *key, char *buf, size_t szbuf, bool chkdefault)
 
bool check_host_policy (char *prefix, char *addr, char *name, char *class, char *buf, size_t size, bool cdef)
 
bool check_policy_tuple (char *prefix, char *ip, char *name, char *netclass, char *from, char *to, bool result)
 
bool check_policy_all_rcpts (char *prefix, char *ip, char *name, char *netclass, char *from, rcpt_addr_T *rcpt, bool result, int conflict)
 
long check_limit_tuple (char *prefix, char *ip, char *name, char *netclass, char *from, char *to, long result)
 
long check_limit_all_rcpts (char *prefix, char *ip, char *name, char *netclass, char *from, rcpt_addr_T *rcpt, long defval)
 
bool policy_init ()
 
bool policy_close ()
 
bool policy_reopen ()
 
int policy_decode (char *code)
 

Variables

int policy_log_level = 9
 

Macro Definition Documentation

◆ ACCESS_NO

#define ACCESS_NO   1

Definition at line 32 of file ze-policy.c.

◆ ACCESS_QUICK_NO

#define ACCESS_QUICK_NO   2

Definition at line 33 of file ze-policy.c.

◆ ACCESS_QUICK_YES

#define ACCESS_QUICK_YES   4

Definition at line 35 of file ze-policy.c.

◆ ACCESS_UNDEF

#define ACCESS_UNDEF   0

Definition at line 31 of file ze-policy.c.

◆ ACCESS_YES

#define ACCESS_YES   3

Definition at line 34 of file ze-policy.c.

◆ DECODE_ACCESS

#define DECODE_ACCESS (   value,
  result 
)
Value:
do { \
switch (access_decode(value)) { \
case ACCESS_YES: \
result = TRUE; \
break; \
case ACCESS_NO: \
result = FALSE; \
break; \
return TRUE; \
break; \
return FALSE; \
break; \
} \
} while (0)
#define ACCESS_YES
Definition: ze-policy.c:34
#define FALSE
Definition: macros.h:160
#define ACCESS_NO
Definition: ze-policy.c:32
#define ACCESS_QUICK_NO
Definition: ze-policy.c:33
#define ACCESS_QUICK_YES
Definition: ze-policy.c:35
#define TRUE
Definition: macros.h:157

Definition at line 258 of file ze-policy.c.

◆ JDEBUG

#define JDEBUG   0

Definition at line 29 of file ze-policy.c.

◆ MAX_TOKENS

#define MAX_TOKENS   256

Definition at line 256 of file ze-policy.c.

◆ VAL2LIMIT

#define VAL2LIMIT (   r,
  buffer 
)
Value:
do { \
long v = 0; \
\
v = zeStr2long(buffer, NULL, r); \
if (r <= 0) \
r = MAX(v,0); \
else \
r = (v > 0) ? MIN(v,r) : r; \
} while (0)
#define MAX(a, b)
Definition: macros.h:139
#define MIN(a, b)
Definition: macros.h:140
long zeStr2long(char *s, int *error, long dval)
Definition: zeStrConvert.c:35

Definition at line 519 of file ze-policy.c.

Variable Documentation

◆ policy_log_level

int policy_log_level = 9

Definition at line 39 of file ze-policy.c.