/
CHKUSER.changelog
183 lines (158 loc) · 8.26 KB
/
CHKUSER.changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
CHKUSER 2.0 change log
2.0.9 - 21 march 2007
New features
- New variable for accepting only authorized senders:
#define CHKUSER_EXTRA_MUSTAUTH_VARIABLE "CHKUSER_MUSTAUTH"
if the variable exists, then messages are accepted only if RELAYCLIENT is set
If defined, it works always despite CHKUSER being ON/OFF
This feature can be used for a "submission port" (see RFC 2476)
- Improved checking of MySQL server availability (if MySQL is used as vpopmail user's DB)
- Introduction of a new variable for disabling chkuser on the fly: CHKUSER_DISABLE_VARIABLE
(can be used for single IP or defined as "RELAYCLIENT" for all authorized e-mail clients)
- Improved starting variables checking sequence
CHKUSER_ALWAYS_ON and CHKUSER_STARTING_VARIABLE cannot be defined together
and in such a case a fatal error is displayed; (in previous versions
CHKUSER_ALWAYS_ON would automatically disable CHKUSER_STARTING_VARIABLE definition).
CHKUSER_DISABLE_VARIABLE is always evaluated after CHKUSER_ALWAYS_ON is set or
CHKUSER_STARTING_VARIABLE is evaluated, so CHKUSER_ALWAYS_ON or
CHKUSER_STARTING_VARIABLE can set the general behaviour, while
CHKUSER_DISABLE_VARIABLE should be invoked to handle exceptions.
- New variable for accepting qmail doublebounces: CHKUSER_ENABLE_DOUBLEBOUNCE_VARIABLE
Sender "#@[]" will be accepted. It is used by qmail for doublebounces, and should be enabled for
selected IP senders.
- define CHKUSER_ENABLE_VAUTH_OPEN has been substituted by CHKUSER_VAUTH_OPEN_CALL: this new
define must contain the name of the call used to open the auth DB
Updated features
- checking for ezmlm mailing list is now done looking for file "editor"
within mailing-list directory
- defines for allowed character within sender and rcpt addresses increased
up to CHKUSER_ALLOW_SENDER_CHAR_10 and CHKUSER_ALLOW_RCPT_CHAR_10
- updated SMTP error strings; more exact and detailed error codes
(thanks to Olivier Dony and Dane Thorsen)
- logging of valid rcpt. If CHKUSER_LOG_VALID_RCPT is defined then all valid
recipients are logged, even if domain does not want bouncing or chkuser
is disabled
Bugs corrected
- negative checking of backend DB connection did not report
DB unavailability in some situations
(thanks to Matt Brookings of Inter7)
- in check_rcpt_address_format format checking was done using defines
reserved for senders
V 2.0.8 - 7 december 2004
Features
Freeze of new features of 2.0.7, except null senders behaviour.
CHKUSER_ENABLE_NULL_SENDER_WITH_TCPREMOTEHOST is no more available
CHKUSER_ENABLE_NULL_SENDER is no more available
NULL SENDERS are now always accepted. No option is available to disable
this behaviour. Previous chkuser versions broke RFC compatibility on
null senders, and complicated real life e-mailing.
Logging of null senders <> is now available.
Bugs corrected
Sender controls were not executed if CHKUSER_STARTING_VARIABLE was defined
(thanks to Charles Sprickman)
Domains not in control/virtualdomains are now explicitely excluded from
following cascade checks; in previous versions following cascade
checks were done using fake domains paths.
vget_assign is now handled correctly (a domain in rcpthosts but not
in virtualdomains could have an incorrect path in previous versions
(this bug is also in all chkusr versions)
Defaults changed
CHKUSER_RCPT_FORMAT is now undefined as default
CHKUSER_RCPT_MX is now undefined as default.
CHKUSER_SENDER_FORMAT is now undefined as default
CHKUSER_SENDER_MX is now undefined as default.
CHKUSER_ERROR_DELAY_INCREASE new default is 300 milliseconds
V 2.0.7 - 25 october 2004
Features
added vclose() of DB auth connection, overriding
qmail-smtpd _exit call
improved MX checking; now SOFT failure is handled as
temporary error.
added #define CHKUSER_RCPTMX_TMP_STRING
added #define CHKUSER_SENDERMX_TMP_STRING
added handling of mailman mailing lists
(and related #define CHKUSER_ENABLE_MAILMAN_LISTS)
changed order of checking for recipients:
1 - valias
2 - alias
3 - alias extensions
4 - users
5 - users extensions
6 - lists
added #define CHKUSER_ACCEPT_NULL_SENDER (default defined)
added #define CHKUSER_ENABLE_ALIAS_DEFAULT (default not defined)
enables checking of .qmail-alias-default
added #define CHKUSER_IDENTIFY_REMOTE_VARIABLE "CHKUSER_IDENTIFY"
in order to allow a easy identification of remote IP
(substitutes RELAYCLIENT in chkuser logging)
added #define CHKUSER_ALLOW_RCPT_SRS
enable usage of "#" and "+" characters within rcpt address
added #define CHKUSER_ALLOW_RCPT_CHAR_1 '$'
added #define CHKUSER_ALLOW_RCPT_CHAR_2 '%'
added #define CHKUSER_ALLOW_RCPT_CHAR_3 '£'
added #define CHKUSER_ALLOW_RCPT_CHAR_4 '?'
added #define CHKUSER_ALLOW_RCPT_CHAR_5 '*'
#define CHKUSER_ENABLE_USERS_EXTENSIONS
substitutes #define CHKUSER_ENABLE_EXTENSIONS
#define CHKUSER_ENABLE_EZMLM_LISTS
substitutes #define CHKUSER_ENABLE_LISTS
#define CHKUSER_USERS_DASH
substitutes #define CHKUSER_EXTENSION_DASH
Bugs corrected
sender address "name@" could cause a crash. Corrected
(Thanks to Dmitry Petukhov)
Corrected Makefile: now qmail-smtpd.c recompiles if chkuser.h
changes
Corrected a bug in #endif sequence related to
#define CHKUSER_RCPT_FORMAT (thanks to Alex Plainer)
Corrected a bug in chkuser_sender; now is not executed when
chkuser is disabled
Corrected check of format for domains:
"xn--" admitted as leading string
Deleted correction over usage of RELAYCLIENT variable
Previous correction could affect a special
feature of RELAYCLIENT (thanks to Alex Pleiner)
Defaults changed
#define CHKUSER_ENABLE_NULL_SENDER_WITH_TCPREMOTEHOST (default undefined)
V 2.0.6 - 25 september 2004
No bugs, just doc updates and an empty patch file corrected
#define CHKUSER_ENABLE_VGET_REAL_DOMAIN was existing and working in code,
but not reported both in docs and inside chkuser_settings.h
(default is commented, but this #define is important)
patch for toaster-0.6-1 was empty. Now the correct one is provided
V 2.0.5 - 23 september 2004
This is the first public release.
added #define CHKUSER_ALLOW_SENDER_CHAR_1 (default not defined)
added #define CHKUSER_ALLOW_SENDER_CHAR_2 (default not defined)
added #define CHKUSER_ALLOW_SENDER_CHAR_3 (default not defined)
added #define CHKUSER_ALLOW_SENDER_CHAR_4 (default not defined)
added #define CHKUSER_ALLOW_SENDER_CHAR_5 (default not defined)
added #define CHKUSER_MIN_DOMAIN_LEN (default defined 4) -
Previously it was hard coded as 5. Juergen Kendzorra
showed me some existing names long only 4 chars.
added #define CHKUSER_LOG_VALID_SENDER (default defined)
V 2.0.4 - 15 september 2004
added #define CHKUSER_SENDER_NOCHECK_VARIABLE (default not defined)
added #define CHKUSER_DEBUG_STDERR (default not defined)
added #define CHKUSER_ALLOW_SENDER_SRS (default not defined)
cleaned some typos in code and documentation (thanks to Juergen
Kendzorra - http://www.kendzorra.de)
V 2.0.3 - 8 september 2004
This is the first version released outside, for wider testing.
Tested Makefile for netqmail 1.05
Added Makefiles for applying over other patches
V 2.0.0 - july 2004
chkuser 2.0.0 starts here, and is a private internal release.
Version 2.0 is much more modular than previous one (named chkusr),
and has been designed with the goal of enabling more features and
semplifying installations and upgrades of the patch himself.
chkusr changes his name, to reflect a deep change of the patch.
Chkusr 1.0 received a lot of feedbacks and suggestions.
The most of these suggestions are now inside version 2.0.
- Marcelo Coelho (marcelo at tpn.com.br), segnaled me some
unseen minor bugs of chkusr 1.0 (minor but very annoying to
my pride) and suggested some very interesting features
(some of them are now in chkuser 2.0).
- Iulian Margarintescu (http:://www.erata.net) suggested a
workable way of introducing quota check on recipients
(now in chkuser 2.0).