ze-filter
(ze-filter-0.8.0-develop-180218)
ze-chkcontent.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
25
#ifndef __ZE_CHKCONTENT_H
26
27
typedef
struct
28
{
29
size_t
len_raw
;
30
size_t
len_clean
;
31
kstats_T
st_wlen
;
32
}
msgpart_T
;
33
34
typedef
struct
35
{
36
uint32_t
conn
;
37
uint32_t
ehlo
;
38
uint32_t
html
;
39
uint32_t
plain
;
40
uint32_t
mime
;
41
uint32_t
msg
;
42
}
msg_flags_T
;
43
44
typedef
struct
45
{
46
kstats_T
plain
;
47
kstats_T
plain_clean
;
48
kstats_T
html
;
49
kstats_T
html_clean
;
50
kstats_T
simple
;
51
kstats_T
other
;
52
kstats_T
attach
;
53
}
msg_ksizes_T
;
54
55
struct
spamchk_T
56
{
57
char
*
ip
;
58
CONNID_T
id
;
59
60
size_t
spool_size
;
61
size_t
max_spool_size
;
62
63
int
action
;
64
65
int
content_max_score
;
66
67
/* message flags */
68
msg_flags_T
flags
;
69
bestof_T
best
;
70
71
/* message scores */
72
msg_scores_T
scores
;
73
74
/* measured data */
75
int
nb_badrcpt
;
76
int
nb_part
;
77
int
nb_text
;
78
int
nb_image
;
79
int
nb_audio
;
80
int
nb_video
;
81
int
nb_application
;
82
int
nb_token
;
83
int
nb_message
;
84
int
nb_multipart
;
85
86
int
nb_text_plain
;
87
int
nb_text_html
;
88
int
nb_text_simple
;
89
90
int
nb_text_plain_base64
;
91
int
nb_text_html_base64
;
92
93
size_t
size
;
94
size_t
sz_text_plain
;
95
size_t
sz_text_html
;
96
97
/* comparison html vs plain */
98
msgpart_T
html
;
99
msgpart_T
plain
;
100
int
nb_diff_html_plain
;
101
102
msg_ksizes_T
mksize
;
103
104
int
mime_errors
;
105
int
headers_syntax_errors
;
106
107
/* results */
108
int
nb_rfc2822_hdrs_errors
;
109
int
nb_text_plain_empty
;
110
int
nb_text_simple_empty
;
111
int
html_unwanted_tags
;
112
int
html_invalid_tags
;
113
int
msg_bad_expressions
;
114
int
html_high_tag_ratio
;
115
116
header_T
*
hdrs
;
117
};
118
119
int
scan_body_contents
(
char
*,
char
*,
char
*,
size_t
,
120
spamchk_T
*,
msg_flags_T
*,
121
msg_scores_T
*);
122
123
#define __ZE_CHKCONTENT_H
124
#endif
spamchk_T::msg_bad_expressions
int msg_bad_expressions
Definition:
ze-chkcontent.h:113
msg_ksizes_T::plain
kstats_T plain
Definition:
ze-chkcontent.h:46
spamchk_T::ip
char * ip
Definition:
ze-chkcontent.h:57
msg_ksizes_T::html_clean
kstats_T html_clean
Definition:
ze-chkcontent.h:49
spamchk_T::plain
msgpart_T plain
Definition:
ze-chkcontent.h:99
CONNID_T
Definition:
ze-filter.h:38
spamchk_T::nb_text_simple
int nb_text_simple
Definition:
ze-chkcontent.h:88
spamchk_T::html_unwanted_tags
int html_unwanted_tags
Definition:
ze-chkcontent.h:111
msg_flags_T::ehlo
uint32_t ehlo
Definition:
ze-chkcontent.h:37
msg_flags_T
Definition:
ze-chkcontent.h:34
spamchk_T
Definition:
ze-chkcontent.h:55
spamchk_T::nb_text_html_base64
int nb_text_html_base64
Definition:
ze-chkcontent.h:91
spamchk_T::nb_video
int nb_video
Definition:
ze-chkcontent.h:80
spamchk_T::nb_text_plain_empty
int nb_text_plain_empty
Definition:
ze-chkcontent.h:109
spamchk_T::nb_token
int nb_token
Definition:
ze-chkcontent.h:82
msg_ksizes_T
Definition:
ze-chkcontent.h:44
msg_flags_T::conn
uint32_t conn
Definition:
ze-chkcontent.h:36
spamchk_T::max_spool_size
size_t max_spool_size
Definition:
ze-chkcontent.h:61
spamchk_T::nb_application
int nb_application
Definition:
ze-chkcontent.h:81
spamchk_T::content_max_score
int content_max_score
Definition:
ze-chkcontent.h:65
spamchk_T::html_high_tag_ratio
int html_high_tag_ratio
Definition:
ze-chkcontent.h:114
spamchk_T::headers_syntax_errors
int headers_syntax_errors
Definition:
ze-chkcontent.h:105
spamchk_T::sz_text_html
size_t sz_text_html
Definition:
ze-chkcontent.h:95
header_T
Definition:
ze-headers.h:33
msg_ksizes_T::plain_clean
kstats_T plain_clean
Definition:
ze-chkcontent.h:47
msg_ksizes_T::other
kstats_T other
Definition:
ze-chkcontent.h:51
bestof_T
Definition:
ze-bestof-n.h:32
msg_ksizes_T::simple
kstats_T simple
Definition:
ze-chkcontent.h:50
spamchk_T::nb_text_plain
int nb_text_plain
Definition:
ze-chkcontent.h:86
spamchk_T::flags
msg_flags_T flags
Definition:
ze-chkcontent.h:68
spamchk_T::sz_text_plain
size_t sz_text_plain
Definition:
ze-chkcontent.h:94
msgpart_T::len_raw
size_t len_raw
Definition:
ze-chkcontent.h:29
spamchk_T::nb_audio
int nb_audio
Definition:
ze-chkcontent.h:79
spamchk_T::nb_text_html
int nb_text_html
Definition:
ze-chkcontent.h:87
spamchk_T::size
size_t size
Definition:
ze-chkcontent.h:93
spamchk_T::nb_multipart
int nb_multipart
Definition:
ze-chkcontent.h:84
msgpart_T::len_clean
size_t len_clean
Definition:
ze-chkcontent.h:30
msg_ksizes_T::attach
kstats_T attach
Definition:
ze-chkcontent.h:52
msg_flags_T::mime
uint32_t mime
Definition:
ze-chkcontent.h:40
spamchk_T::nb_text_plain_base64
int nb_text_plain_base64
Definition:
ze-chkcontent.h:90
spamchk_T::hdrs
header_T * hdrs
Definition:
ze-chkcontent.h:116
spamchk_T::mksize
msg_ksizes_T mksize
Definition:
ze-chkcontent.h:102
msgpart_T::st_wlen
kstats_T st_wlen
Definition:
ze-chkcontent.h:31
msg_scores_T
Definition:
ze-msg-score.h:71
msg_flags_T::msg
uint32_t msg
Definition:
ze-chkcontent.h:41
spamchk_T::nb_image
int nb_image
Definition:
ze-chkcontent.h:78
spamchk_T::best
bestof_T best
Definition:
ze-chkcontent.h:69
msgpart_T
Definition:
ze-chkcontent.h:27
msg_flags_T::html
uint32_t html
Definition:
ze-chkcontent.h:38
kstats_T
Definition:
zeKStats.h:26
spamchk_T::nb_part
int nb_part
Definition:
ze-chkcontent.h:76
msg_ksizes_T::html
kstats_T html
Definition:
ze-chkcontent.h:48
spamchk_T::mime_errors
int mime_errors
Definition:
ze-chkcontent.h:104
spamchk_T::html_invalid_tags
int html_invalid_tags
Definition:
ze-chkcontent.h:112
spamchk_T::nb_message
int nb_message
Definition:
ze-chkcontent.h:83
spamchk_T::id
CONNID_T id
Definition:
ze-chkcontent.h:58
spamchk_T::scores
msg_scores_T scores
Definition:
ze-chkcontent.h:72
spamchk_T::nb_badrcpt
int nb_badrcpt
Definition:
ze-chkcontent.h:75
spamchk_T::nb_text
int nb_text
Definition:
ze-chkcontent.h:77
spamchk_T::nb_text_simple_empty
int nb_text_simple_empty
Definition:
ze-chkcontent.h:110
spamchk_T::nb_diff_html_plain
int nb_diff_html_plain
Definition:
ze-chkcontent.h:100
spamchk_T::action
int action
Definition:
ze-chkcontent.h:63
uint32_t
long uint32_t
Definition:
ze-sys.h:489
spamchk_T::nb_rfc2822_hdrs_errors
int nb_rfc2822_hdrs_errors
Definition:
ze-chkcontent.h:108
scan_body_contents
int scan_body_contents(char *, char *, char *, size_t, spamchk_T *, msg_flags_T *, msg_scores_T *)
Definition:
ze-chkcontent.c:583
spamchk_T::html
msgpart_T html
Definition:
ze-chkcontent.h:98
msg_flags_T::plain
uint32_t plain
Definition:
ze-chkcontent.h:39
spamchk_T::spool_size
size_t spool_size
Definition:
ze-chkcontent.h:60
include
ze-chkcontent.h
Generated by
1.8.13