ze-filter  (ze-filter-0.8.0-develop-180218)
ze-smtprate.h
Go to the documentation of this file.
1 /*
2  *
3  * ze-filter - Mail Server Filter for sendmail
4  *
5  * Copyright (c) 2001-2018 - Jose-Marcio Martins da Cruz
6  *
7  * Auteur : Jose Marcio Martins da Cruz
8  * jose.marcio.mc@gmail.org
9  *
10  * Historique :
11  * Creation : janvier 2002
12  *
13  * This program is free software, but with restricted license :
14  *
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19  *
20  * More details about ze-filter license can be found at ze-filter
21  * web site : http://foss.jose-marcio.org
22  */
23 
24 #ifndef __ZE_SMTPRATE_H
25 
32 #if 1
33 #define USE_SMTPRATE 1
34 #endif
35 
36 bool smtprate_init (size_t, size_t);
37 void smtprate_free();
38 bool smtprate_resize(size_t , size_t);
39 
40 bool smtprate_cleanup_table(time_t now, time_t win);
41 int smtprate_update_table (time_t);
42 
43 void smtprate_log_table ();
44 void smtprate_print_table (int, int, int, int, time_t, uint32_t, int);
45 void smtprate_save_table (char *);
46 int smtprate_read_table (char *);
47 
49 
50 
51 #define RATE_CONN 0
52 #define RATE_RCPT 1
53 #define RATE_BOUNCE 2
54 #define RATE_MSGS 3
55 #define RATE_HAM 4
56 #define RATE_SPAM 5
57 #define RATE_SCORE 6
58 #define RATE_XFILES 7
59 #define RATE_VOLUME 8
60 #define RATE_SVCTIME 9
61 
62 #define RATE_FROM_CONN 10
63 #define RATE_FROM_MSGS 11
64 #define RATE_FROM_RCPT 12
65 
66 #define RATE_AUTH_CONN 13
67 #define RATE_AUTH_MSGS 14
68 #define RATE_AUTH_RCPT 15
69 
70 #define RATE_DIM 20
71 
72 #define DEFAULT_WINDOW -1
73 
74 int smtprate_add_entry (int, char *, char *, int, time_t);
75 int smtprate_check (int, char *, time_t);
76 
77 
78 extern unsigned int smtprate_interval; /* 1 minute */
79 extern unsigned int smtprate_window; /* 10 minutes */
80 
83 #define __ZE_SMTPRATE_H
84 #endif
85 
86 
int smtprate_add_entry(int, char *, char *, int, time_t)
Definition: ze-smtprate.c:363
int smtprate_update_table(time_t)
Definition: ze-smtprate.c:598
uint32_t smtprate_str2flags(char *)
Definition: ze-smtprate.c:1150
unsigned int smtprate_window
Definition: ze-smtprate.c:119
bool smtprate_cleanup_table(time_t now, time_t win)
Definition: ze-smtprate.c:552
bool smtprate_resize(size_t, size_t)
Definition: ze-smtprate.c:349
int smtprate_read_table(char *)
Definition: ze-smtprate.c:784
int smtprate_check(int, char *, time_t)
Definition: ze-smtprate.c:479
void smtprate_free()
Definition: ze-smtprate.c:326
void smtprate_save_table(char *)
Definition: ze-smtprate.c:737
bool smtprate_init(size_t, size_t)
Definition: ze-smtprate.c:263
unsigned int smtprate_interval
Definition: ze-smtprate.c:118
void smtprate_log_table()
Definition: ze-smtprate.c:860
long uint32_t
Definition: ze-sys.h:489
void smtprate_print_table(int, int, int, int, time_t, uint32_t, int)