ze-filter  (ze-filter-0.8.0-develop-180218)
ze-filter.c File Reference
#include <ze-sys.h>
#include <libze.h>
#include <libml.h>
#include "ze-filter.h"
#include "ze-filter-data.h"
#include "ze-spool.h"
#include "ze-chkcontent.h"
#include "ze-callbackchecks.h"
#include "ze-callbacklogs.h"
#include "ze-mxcheck.h"
#include "mlfi_connect.c"
#include "mlfi_helo.c"
#include "mlfi_envfrom.c"
#include "mlfi_envto.c"
#include "mlfi_data.c"
#include "mlfi_header.c"
#include "mlfi_eoh.c"
#include "mlfi_body.c"
#include "mlfi_eom.c"
#include "mlfi_close.c"
#include "mlfi_abort.c"
#include "mlfi_unknown.c"
#include "mlfi_cleanup.c"
#include "mlfi_negotiate.c"

Go to the source code of this file.

Macros

#define _FFR_CTX_CONNECT   TRUE
 
#define INIT_CALLBACK(p, which)
 
#define JSM_TO   ((time_t ) 10)
 
#define INIT_CALLBACK_DELAY()
 
#define UPDATE_SVCTIME()
 
#define CHECK_CALLBACK_NOW()   (zeTime_ms() - tims)
 
#define CHECK_CALLBACK_DELAY()
 
#define FREE_DELAYED_RESULT(dres)
 
#define MAXINT   1 << 30
 

Functions

bool free_private_data (CTXPRIV_T *, bool)
 
int count_connections (int)
 
char * mlfi_result_string (sfsistat)
 
bool check_recipient_quarantine (rcpt_addr_T *head, int score)
 
int count_rcpt (rcpt_addr_T *rcpt)
 
int zeFilter ()
 

Variables

char my_hostname [256]
 
time_t tlongconn = 120
 
struct smfiDesc smfilter
 

Macro Definition Documentation

◆ _FFR_CTX_CONNECT

#define _FFR_CTX_CONNECT   TRUE

Definition at line 41 of file ze-filter.c.

◆ CHECK_CALLBACK_DELAY

#define CHECK_CALLBACK_DELAY ( )
Value:
do { \
tf = time (NULL); \
if ((priv != NULL) && ((tf - ti) > JSM_TO)) { \
ZE_LogMsgNotice(0, "%s %s : callback handling time too long : " \
" %ld (threshold = %ld)", \
CONNID_STR (priv->id), priv->peer_addr, \
(long ) (tf - ti), (long ) JSM_TO); \
/* priv->save_msg = TRUE; */ \
} \
tfms = zeTime_ms(); \
if ((tfms - tims) > 1000 * JSM_TO) { \
} \
if (priv != NULL) { \
priv->t_callback += (tfms - tims); \
if (priv->peer_addr != NULL) \
(void) smtprate_add_entry(RATE_SVCTIME, priv->peer_addr, \
STRNULL(priv->peer_name, "UNKNOWN"), \
(tfms - tims), time(NULL)); \
/* UPDATE_SVCTIME(); */ \
(void) callback_stats_update(priv->callback_id, (tfms - tims)); \
} \
} while (0)
int smtprate_add_entry(int, char *, char *, int, time_t)
Definition: ze-smtprate.c:363
uint64_t zeTime_ms()
Definition: zeTime.c:34
#define STRNULL(x, r)
Definition: macros.h:81
bool callback_stats_update(int callback, timems_T dt)
Definition: ze-callback.c:68
#define RATE_SVCTIME
Definition: ze-smtprate.h:60
#define CONNID_STR(connid)
Definition: ze-filter.h:113
#define JSM_TO
Definition: ze-filter.c:133

Definition at line 146 of file ze-filter.c.

◆ CHECK_CALLBACK_NOW

#define CHECK_CALLBACK_NOW ( )    (zeTime_ms() - tims)

Definition at line 143 of file ze-filter.c.

◆ FREE_DELAYED_RESULT

#define FREE_DELAYED_RESULT (   dres)
Value:
do { \
dres.result = SMFIS_CONTINUE; \
dres.callback = CALLBACK_CONNECT; \
FREE(dres.reply); \
FREE(dres.why); \
} while (0);
#define CALLBACK_CONNECT
Definition: ze-callback.h:28
#define SMFIS_CONTINUE

Definition at line 171 of file ze-filter.c.

◆ INIT_CALLBACK

#define INIT_CALLBACK (   p,
  which 
)
Value:
do { \
if (p != NULL) { \
p->callback_id = which; \
FREE(p->reply_code); \
} \
} while (0)

Definition at line 125 of file ze-filter.c.

◆ INIT_CALLBACK_DELAY

#define INIT_CALLBACK_DELAY ( )
Value:
time_t ti = time(NULL), tf = time(NULL); \
uint64_t tims = zeTime_ms(), tfms = zeTime_ms()
uint64_t zeTime_ms()
Definition: zeTime.c:34

Definition at line 135 of file ze-filter.c.

◆ JSM_TO

#define JSM_TO   ((time_t ) 10)

Definition at line 133 of file ze-filter.c.

◆ MAXINT

#define MAXINT   1 << 30

Definition at line 394 of file ze-filter.c.

◆ UPDATE_SVCTIME

#define UPDATE_SVCTIME ( )
Value:
(void) smtprate_add_entry(RATE_SVCTIME, priv->peer_addr, \
priv->peer_name, (tfms - tims), time(NULL));
int smtprate_add_entry(int, char *, char *, int, time_t)
Definition: ze-smtprate.c:363
#define RATE_SVCTIME
Definition: ze-smtprate.h:60

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

Function Documentation

◆ check_recipient_quarantine()

bool check_recipient_quarantine ( rcpt_addr_T head,
int  score 
)

Definition at line 407 of file ze-filter.c.

◆ count_connections()

int count_connections ( int  nb)

Definition at line 300 of file ze-filter.c.

◆ count_rcpt()

int count_rcpt ( rcpt_addr_T rcpt)

Definition at line 437 of file ze-filter.c.

◆ free_private_data()

bool free_private_data ( CTXPRIV_T ,
bool   
)

Definition at line 66 of file mlfi_cleanup.c.

◆ mlfi_result_string()

char * mlfi_result_string ( sfsistat  code)

Definition at line 185 of file ze-filter.c.

◆ zeFilter()

int zeFilter ( )

Definition at line 504 of file ze-filter.c.

Variable Documentation

◆ my_hostname

char my_hostname[256]

Definition at line 89 of file ze-filter.c.

◆ smfilter

struct smfiDesc smfilter

Definition at line 456 of file ze-filter.c.

◆ tlongconn

time_t tlongconn = 120

Definition at line 93 of file ze-filter.c.