ze-filter  (ze-filter-0.8.0-develop-180218)
Configuration : Static Databases Handling

Classes

struct  netclass_T
 

Macros

#define DB_POLICY_EXACT   0
 
#define DB_POLICY_DOMAIN   1
 
#define DB_POLICY_TLD   2
 
#define DB_POLICY_NETCLASS   4
 
#define DB_POLICY_RCPT   16
 
#define NET_UNKNOWN   0
 
#define NET_LOCAL   0x0001
 
#define NET_DOMAIN   0x0002
 
#define NET_FRIEND   0x0004
 
#define NET_AUTH   0x0008
 
#define NET_OTHER   0x0080
 
#define NET_WHITE   0x1000
 
#define NET_BLACK   0x2000
 
#define NET_KNOWN   (NET_LOCAL | NET_FRIEND | NET_DOMAIN | NET_AUTH | NET_OTHER)
 
#define IS_FRIEND(class)   (((class) & NET_FRIEND) != 0 ? TRUE : FALSE)
 
#define IS_DOMAIN(class)   (((class) & NET_DOMAIN) != 0 ? TRUE : FALSE)
 
#define IS_LOCAL(class)   (((class) & NET_LOCAL) != 0 ? TRUE : FALSE)
 
#define IS_AUTH(class)   (((class) & NET_AUTH) != 0 ? TRUE : FALSE)
 
#define IS_OTHER(class)   (((class) & NET_OTHER) != 0 ? TRUE : FALSE)
 
#define IS_KNOWN(class)   (((class) & NET_KNOWN) != 0 ? TRUE : FALSE)
 
#define IS_UNKNOWN(class)   (((class) & NET_KNOWN) == 0 ? TRUE : FALSE)
 
#define SET_NET_CLASS(class, which)   ((class) |= (which))
 
#define CLR_NET_CLASS(class, which)   ((class) &= ~(which))
 
#define NET_CLASS_LABEL(class)
 
#define NET_CLASS_VALUE(label)
 
#define NETCLASS_INITIALIZER   {FALSE, NET_UNKNOWN}
 
#define JC_DEFAULT   0
 
#define JC_OK   1
 
#define JC_REJECT   2
 
#define ACCESS_OK   0
 
#define ACCESS_TMPFAIL   1
 
#define ACCESS_REJECT   2
 
#define __ZE_CHKLIB_H   1
 

Functions

bool db_policy_open (bool)
 
bool db_policy_reopen ()
 
bool db_policy_close ()
 
bool db_policy_check (char *prefix, char *key, char *bufout, size_t szbuf)
 
bool db_policy_lookup (char *prefix, char *key, char *bufout, size_t szbuf)
 
bool db_policy_check_spec (char *prefix, char *key, char *bufout, size_t szbuf, int32_t flags)
 
bool db_rcpt_open (bool)
 
bool db_rcpt_reopen ()
 
bool db_rcpt_close ()
 
bool db_rcpt_check (char *prefix, char *key, char *bufout, size_t szbuf)
 
bool db_rcpt_check_email (char *prefix, char *key, char *bufout, size_t szbuf)
 
bool db_rcpt_check_domain (char *prefix, char *key, char *bufout, size_t szbuf, uint32_t flags)
 
int check_host_class (char *ip, char *name, char *label, size_t sz)
 
int GetClientNetClass (char *ip, char *name, netclass_T *class, char *label, size_t sz)
 
int DecodeNetClass (char *, char *, size_t)
 
bool lookup_policy (char *, char *, char *, size_t, bool)
 
bool check_policy (char *prefix, char *key, char *buf, size_t size, bool cdef)
 
bool check_host_policy (char *prefix, char *addr, char *name, char *class, char *buf, size_t size, bool cdef)
 
bool check_email_policy (char *prefix, char *email, char *buf, size_t size, bool cdef)
 
bool check_generic_policy (char *prefix, char *key, 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 *)
 
int AccessLookup (char *addr, char *from, char *to)
 
bool PolicyLookupFrom (char *prefix, char *from, char *class, char *buf, size_t size, bool cdef)
 
bool PolicyLookupDomain (char *prefix, char *key, char *buf, size_t size)
 
bool PolicyLookupIPv4Addr (char *prefix, char *key, char *buf, size_t size)
 
bool PolicyLookupIPv6Addr (char *prefix, char *key, char *buf, size_t size)
 
bool PolicyLookupNetClass (char *addr, char *name, netclass_T *class, char *buf, size_t size)
 
bool PolicyLookupEmailAddr (char *prefix, char *key, char *buf, size_t size)
 
bool PolicyLookupClient (char *prefix, char *addr, char *name, netclass_T *netClass, char *buf, size_t size)
 
bool PolicyLookupTuple (char *prefix, char *ip, char *name, char *netclass, char *from, char *to, bool result)
 

Detailed Description

Macro Definition Documentation

◆ __ZE_CHKLIB_H

#define __ZE_CHKLIB_H   1

Definition at line 33 of file zeChkLib.h.

◆ ACCESS_OK

#define ACCESS_OK   0

Definition at line 28 of file zeAccess.h.

◆ ACCESS_REJECT

#define ACCESS_REJECT   2

Definition at line 30 of file zeAccess.h.

◆ ACCESS_TMPFAIL

#define ACCESS_TMPFAIL   1

Definition at line 29 of file zeAccess.h.

◆ CLR_NET_CLASS

#define CLR_NET_CLASS (   class,
  which 
)    ((class) &= ~(which))

Definition at line 55 of file ze-netclass.h.

◆ DB_POLICY_DOMAIN

#define DB_POLICY_DOMAIN   1

Definition at line 41 of file ze-dbpolicy.h.

◆ DB_POLICY_EXACT

#define DB_POLICY_EXACT   0

Definition at line 40 of file ze-dbpolicy.h.

◆ DB_POLICY_NETCLASS

#define DB_POLICY_NETCLASS   4

Definition at line 43 of file ze-dbpolicy.h.

◆ DB_POLICY_RCPT

#define DB_POLICY_RCPT   16

Definition at line 45 of file ze-dbpolicy.h.

◆ DB_POLICY_TLD

#define DB_POLICY_TLD   2

Definition at line 42 of file ze-dbpolicy.h.

◆ IS_AUTH

#define IS_AUTH (   class)    (((class) & NET_AUTH) != 0 ? TRUE : FALSE)

Definition at line 47 of file ze-netclass.h.

◆ IS_DOMAIN

#define IS_DOMAIN (   class)    (((class) & NET_DOMAIN) != 0 ? TRUE : FALSE)

Definition at line 45 of file ze-netclass.h.

◆ IS_FRIEND

#define IS_FRIEND (   class)    (((class) & NET_FRIEND) != 0 ? TRUE : FALSE)

Definition at line 44 of file ze-netclass.h.

◆ IS_KNOWN

#define IS_KNOWN (   class)    (((class) & NET_KNOWN) != 0 ? TRUE : FALSE)

Definition at line 50 of file ze-netclass.h.

◆ IS_LOCAL

#define IS_LOCAL (   class)    (((class) & NET_LOCAL) != 0 ? TRUE : FALSE)

Definition at line 46 of file ze-netclass.h.

◆ IS_OTHER

#define IS_OTHER (   class)    (((class) & NET_OTHER) != 0 ? TRUE : FALSE)

Definition at line 48 of file ze-netclass.h.

◆ IS_UNKNOWN

#define IS_UNKNOWN (   class)    (((class) & NET_KNOWN) == 0 ? TRUE : FALSE)

Definition at line 51 of file ze-netclass.h.

◆ JC_DEFAULT

#define JC_DEFAULT   0

Definition at line 68 of file ze-policy.h.

◆ JC_OK

#define JC_OK   1

Definition at line 69 of file ze-policy.h.

◆ JC_REJECT

#define JC_REJECT   2

Definition at line 70 of file ze-policy.h.

◆ NET_AUTH

#define NET_AUTH   0x0008

Definition at line 36 of file ze-netclass.h.

◆ NET_BLACK

#define NET_BLACK   0x2000

Definition at line 40 of file ze-netclass.h.

◆ NET_CLASS_LABEL

#define NET_CLASS_LABEL (   class)
Value:
(IS_LOCAL(class) ? "LOCAL" : \
IS_DOMAIN(class) ? "DOMAIN" : \
IS_FRIEND(class) ? "FRIEND" : \
IS_AUTH(class) ? "AUTH" : \
IS_OTHER(class) ? "OTHER" : "UNKNOWN")
#define IS_LOCAL(class)
Definition: ze-netclass.h:46

Definition at line 57 of file ze-netclass.h.

◆ NET_CLASS_VALUE

#define NET_CLASS_VALUE (   label)
Value:
(STRCASEEQUAL(label, "LOCAL") ? NET_LOCAL : \
STRCASEEQUAL(label, "DOMAIN") ? NET_DOMAIN : \
STRCASEEQUAL(label, "FRIEND") ? NET_OTHER : \
STRCASEEQUAL(label, "OTHER") ? NET_OTHER : \
NET_UNKNOWN)
#define NET_DOMAIN
Definition: ze-netclass.h:34
#define NET_OTHER
Definition: ze-netclass.h:37
#define NET_LOCAL
Definition: ze-netclass.h:33
#define STRCASEEQUAL(a, b)
Definition: macros.h:72

Definition at line 63 of file ze-netclass.h.

◆ NET_DOMAIN

#define NET_DOMAIN   0x0002

Definition at line 34 of file ze-netclass.h.

◆ NET_FRIEND

#define NET_FRIEND   0x0004

Definition at line 35 of file ze-netclass.h.

◆ NET_KNOWN

#define NET_KNOWN   (NET_LOCAL | NET_FRIEND | NET_DOMAIN | NET_AUTH | NET_OTHER)

Definition at line 42 of file ze-netclass.h.

◆ NET_LOCAL

#define NET_LOCAL   0x0001

Definition at line 33 of file ze-netclass.h.

◆ NET_OTHER

#define NET_OTHER   0x0080

Definition at line 37 of file ze-netclass.h.

◆ NET_UNKNOWN

#define NET_UNKNOWN   0

Definition at line 31 of file ze-netclass.h.

◆ NET_WHITE

#define NET_WHITE   0x1000

Definition at line 39 of file ze-netclass.h.

◆ NETCLASS_INITIALIZER

#define NETCLASS_INITIALIZER   {FALSE, NET_UNKNOWN}

Definition at line 76 of file ze-netclass.h.

◆ SET_NET_CLASS

#define SET_NET_CLASS (   class,
  which 
)    ((class) |= (which))

Definition at line 53 of file ze-netclass.h.

Function Documentation

◆ AccessLookup()

int AccessLookup ( char *  addr,
char *  from,
char *  to 
)

Definition at line 48 of file zeAccess.c.

◆ check_email_policy()

bool check_email_policy ( char *  prefix,
char *  email,
char *  buf,
size_t  size,
bool  cdef 
)

◆ check_generic_policy()

bool check_generic_policy ( char *  prefix,
char *  key,
char *  buf,
size_t  size,
bool  cdef 
)

◆ check_host_class()

int check_host_class ( char *  ip,
char *  name,
char *  label,
size_t  sz 
)

◆ check_host_policy()

bool check_host_policy ( char *  prefix,
char *  addr,
char *  name,
char *  class,
char *  buf,
size_t  size,
bool  cdef 
)

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

◆ check_limit_all_rcpts()

long check_limit_all_rcpts ( char *  prefix,
char *  ip,
char *  name,
char *  netclass,
char *  from,
rcpt_addr_T rcpt,
long  defval 
)

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

◆ check_limit_tuple()

long check_limit_tuple ( char *  prefix,
char *  ip,
char *  name,
char *  netclass,
char *  from,
char *  to,
long  result 
)

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

◆ check_policy()

bool check_policy ( char *  prefix,
char *  key,
char *  buf,
size_t  size,
bool  cdef 
)

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

◆ check_policy_all_rcpts()

bool check_policy_all_rcpts ( char *  prefix,
char *  ip,
char *  name,
char *  netclass,
char *  from,
rcpt_addr_T rcpt,
bool  result,
int  conflict 
)

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

◆ check_policy_tuple()

bool check_policy_tuple ( char *  prefix,
char *  ip,
char *  name,
char *  netclass,
char *  from,
char *  to,
bool  result 
)

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

◆ db_policy_check()

bool db_policy_check ( char *  prefix,
char *  key,
char *  bufout,
size_t  szbuf 
)

Definition at line 141 of file ze-dbpolicy.c.

◆ db_policy_check_spec()

bool db_policy_check_spec ( char *  prefix,
char *  key,
char *  bufout,
size_t  szbuf,
int32_t  flags 
)

◆ db_policy_close()

bool db_policy_close ( )

Definition at line 105 of file ze-dbpolicy.c.

◆ db_policy_lookup()

bool db_policy_lookup ( char *  prefix,
char *  key,
char *  bufout,
size_t  szbuf 
)

Definition at line 370 of file ze-dbpolicy.c.

◆ db_policy_open()

bool db_policy_open ( bool  )

Definition at line 44 of file ze-dbpolicy.c.

◆ db_policy_reopen()

bool db_policy_reopen ( )

Definition at line 82 of file ze-dbpolicy.c.

◆ db_rcpt_check()

bool db_rcpt_check ( char *  prefix,
char *  key,
char *  bufout,
size_t  szbuf 
)

◆ db_rcpt_check_domain()

bool db_rcpt_check_domain ( char *  prefix,
char *  key,
char *  bufout,
size_t  szbuf,
uint32_t  flags 
)

Definition at line 298 of file ze-dbrcpt.c.

◆ db_rcpt_check_email()

bool db_rcpt_check_email ( char *  prefix,
char *  key,
char *  bufout,
size_t  szbuf 
)

Definition at line 139 of file ze-dbrcpt.c.

◆ db_rcpt_close()

bool db_rcpt_close ( )

Definition at line 101 of file ze-dbrcpt.c.

◆ db_rcpt_open()

bool db_rcpt_open ( bool  )

Definition at line 47 of file ze-dbrcpt.c.

◆ db_rcpt_reopen()

bool db_rcpt_reopen ( )

Definition at line 82 of file ze-dbrcpt.c.

◆ DecodeNetClass()

int DecodeNetClass ( char *  class,
char *  label,
size_t  sz 
)

Definition at line 124 of file ze-netclass.c.

◆ GetClientNetClass()

int GetClientNetClass ( char *  ip,
char *  name,
netclass_T class,
char *  label,
size_t  sz 
)

Definition at line 49 of file ze-netclass.c.

◆ lookup_policy()

bool lookup_policy ( char *  ,
char *  ,
char *  ,
size_t  ,
bool   
)

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

◆ policy_close()

bool policy_close ( )

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

◆ policy_decode()

int policy_decode ( char *  )

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

◆ policy_init()

bool policy_init ( )

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

◆ policy_reopen()

bool policy_reopen ( )

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

◆ PolicyLookupClient()

bool PolicyLookupClient ( char *  prefix,
char *  addr,
char *  name,
netclass_T netClass,
char *  buf,
size_t  size 
)

Definition at line 86 of file zePolicy.c.

◆ PolicyLookupDomain()

bool PolicyLookupDomain ( char *  prefix,
char *  key,
char *  buf,
size_t  size 
)

Definition at line 173 of file zePolicy.c.

◆ PolicyLookupEmailAddr()

bool PolicyLookupEmailAddr ( char *  prefix,
char *  key,
char *  buf,
size_t  size 
)

Definition at line 230 of file zePolicy.c.

◆ PolicyLookupFrom()

bool PolicyLookupFrom ( char *  prefix,
char *  from,
char *  class,
char *  buf,
size_t  size,
bool  cdef 
)

◆ PolicyLookupIPv4Addr()

bool PolicyLookupIPv4Addr ( char *  prefix,
char *  key,
char *  buf,
size_t  size 
)

Definition at line 187 of file zePolicy.c.

◆ PolicyLookupIPv6Addr()

bool PolicyLookupIPv6Addr ( char *  prefix,
char *  key,
char *  buf,
size_t  size 
)

Definition at line 201 of file zePolicy.c.

◆ PolicyLookupNetClass()

bool PolicyLookupNetClass ( char *  addr,
char *  name,
netclass_T class,
char *  buf,
size_t  size 
)

Definition at line 215 of file zePolicy.c.

◆ PolicyLookupTuple()

bool PolicyLookupTuple ( char *  prefix,
char *  ip,
char *  name,
char *  netclass,
char *  from,
char *  to,
bool  result 
)

Definition at line 244 of file zePolicy.c.