forked from sodabrew/libsieve
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
368 lines (227 loc) · 8.42 KB
/
NEWS
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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
libSieve 2.3.1
--------------
This release is made possible by the tremendous effort of Dilyan Palauzov.
- Many small fixes and improvements.
libSieve 2.3.0
--------------
This release is made possible by the tremendous effort of Dilyan Palauzov.
- Hide internal symbols (do not export them) from the final shared library (works with GCC>=4)
- Add support for DOT in addresses (RFC5322, 4.1. Miscellaneous Obsolete Tokens)
- libsieve is now reentrant
- Add SILENT_RULES to Makefile.am
- Move all Makefile.am-s to single /Makefile.am
- Move the build root from /src/ to /
libSieve 2.2.9
--------------
- Vacation segfault fix (thanks to Paul Stevens).
libSieve 2.2.8
--------------
- Handle empty addresses (thanks to Dilyan Palauzov).
- Short-circuit all(tests) as soon as a test fails (thanks to Dilyan Palauzov).
- Short-circuit any(tests) as soon as a test succeeds (thanks to Dilyan Palauzov).
- Check that 'myaddr' is among those specified in the script (thanks to Paul Stevens).
- Add AM_MAINTAINER_MODE to only rebuild flex/bison sources if required.
libSieve 2.2.7
--------------
- Fixed a duplicate symbol definition (thanks to Wilfried Goesgens).
- Fixed a mismatched function declaration (thanks to Eugene Prokopiev).
- More cases where Vacation should be ignored (thanks to Dilyan Palauzov).
- Generate Vacation handle according to RFC 5230 (thanks to Dilyan Palauzov).
- Use of NULL without declaration (thanks to Dilyan Palauzov).
- Added pkgconfig support (thanks to Dilyan Palauzov).
- Documentation corrections (thanks to Dilyan Palauzov).
libSieve 2.2.6
--------------
- Fix for bracketed comments (thanks to Daniel Shahaf).
- More graceful handling of malformed addresses (thanks to Paul Stevens).
- Return header and address errors separately from script parse errors.
libSieve 2.2.5
--------------
- Allowed CFLAGS to pass through Makefile.am
(thanks to Bernard Johnson).
- Use # instead of __STRING for assertion stringification.
- Fixed off-by-one when reallocing space for repeated headers
(thanks to Petri Laine).
libSieve 2.2.4
--------------
- Improved several test scripts.
- Fixed a memory leak in header parsing.
- Fixed a memory leak in comparator lookup.
- Accepted patch from Steffen Schuetz to respect :from in vacation action.
libSieve 2.2.3
--------------
- Numeric relational comparators were backwards.
libSieve 2.2.2
--------------
- Added more test scripts.
- Added support for RFC 3431 Relational comparators.
- Fixed segfault when parsing group syntax with empty address list.
libSieve 2.2.1
--------------
- Removed accidental dependency on Check.
- Added exception handling system.
- Added test runner scripts to sv_test.
libSieve 2.2.0
--------------
- Updated top-level README.
- Fixed address test not working.
- Fixed innocuous yet annoying GCC 4 warnings.
libSieve 2.1.13
---------------
- Fixed capabilities missingspaces.
- Fixed alloca.h in vasnprintf for FreeBSD.
libSieve 2.1.12
---------------
- Fixed namespace issue with vasnprintf.
libSieve 2.1.11
---------------
- Minor fixes to build with flex 2.5.33.
- Updated to Vacation draft 6.
- Updated to imap4flags.
- Dropped support for imapflags.
- Added callback for subaddress rather than
using a hardcoded user+mailbox format.
- Added a callback for debug messages.
- Regex is always built in now.
- Fixed multiline "text: string ." blocks.
libSieve 2.1.10
--------------
- Fixed sieve2_listextensions.
- Fixed segfault when client returns null
pointers from the getenvelope callback.
- Improved handling of extension require's.
- Fixed segfault when parsing zero length address.
libSieve 2.1.9
--------------
- Fixed subaddress, getenvelope and vacation.
- Added additional debugging messages.
- Added new and updated draft rfc's.
libSieve 2.1.8
--------------
- Created a testsuite of scripts and messages
to exercise RFC and Draft comformance.
- Fixed a memory allocation issue that prevented
the library from being used again after sieve2_free
had been called.
libSieve 2.1.7
--------------
- Rewrote the API again. I finally like it!
- Settled on the LGPL for all of my new code.
- Replaced the RSA MD5 implementation with
a public domain version.
- Documentation updated for the new API.
libSieve 2.1.6
--------------
- Added a set of error-retrieval functions.
libSieve 2.1.5
--------------
(formerly libsieve 2.2.0_pre3)
- CFLAGS now includes -Wall and compiles very
cleanly. Messages from lex/yacc are benign.
- Namespace cleanups: internal global functions
prefixed with "libsieve_" for consistency.
- Local regex library, borrowed from GNU glibc
2.3.2. Used under LGPL license version 2.1.
- Compiles under Win32 with Visual C++, with
many thanks to Brandon Knitter.
libSieve 2.1.4
--------------
(formerly libsieve 2.2.0_pre1)
- Sieve 2 API has begun. More changes should
be expected during the 2.1 series.
- All later-CMU code removed and/or replaced;
original licensing is now entirely old-CMU
style and augmented by the GNU GPL as it is
placed on all new code and applies to the
distribution as a whole from here forward.
- "Poor man's parsers" for RFC 2/822 addresses
and message headers replaced with lex/yacc.
- Extensive Valgrinding performed to identify
memory leaks; no known leaks remain.
- Many more changes, amounting to perhaps a
70% rewrite of all code.
libSieve 2.1.3
--------------
- Accepted patches from Timo Sirainen:
- Added function xstrconcat
- Changed strdup to strndup
- Changed strcpy to xstrcpy
- Changed uglies to xstrconcat
- Rebuild .y and .l in Makefile.am
- Changed int to size_t where applicable
- Added explicit casting where applicable
- Accepted patches from Oliver Tappe:
- Fixed examples for the web site
- Removed useless headers
- Now builds on BeOS
- Cleaned up lots of K&R style function declarations
libSieve 2.1.2
--------------
- Changed `timestamp` to $timestamp in configure scripts.
- Added missing autoconf and libtool scripts.
- Fixed a typo in index.html
libSieve 2.1.1
--------------
- First public release of the libSieve distribution.
- com_err library removed.
- Conversion to GNU autotools for the build process.
libSieve 2.1.0
--------------
- Forked from CMU Sieve 2.1.
- SourceForge project site and a new web site and CVS tree and prepared.
- Dependencies on libCyrus trimmed to a bare minimum.
CMU Sieve 2.1
-------------
- Compliant with RFC 3028. As a result, fileinto and redirect only
accept a single string and NOT a string-list.
- Compliant with draft-martin-sieve-notify-01. As a result, notify
actions will need to be updated to the new syntax.
CMU Sieve 2.0
-------------
- Compliant with draft-showalter-sieve-11.txt and
draft-showalter-sieve-vacation-03.txt.
- Added support for the regex, imapflags, notify and subaddress extensions.
See README for references.
- Verifies email addresses in redirect and vacation actions are syntactically
correct (compliant with RFC822).
- Run-time error reporting.
- Changed callback interface to use callback contexts instead of individual
parameters. Also added an error string buffer for run-time error reporting.
- Vacation will not reply to any message containing an "auto-submitted"
header containing anything other than "no".
CMU Sieve 1.4
-------------
Now included with imapd distribution (hell, why not?).
Error returning and recovering:
added error recovering to the parser (but not much!)
added error messages to the parser
Working on error returning and error recovering.
run-time errors
detect some errors in lexer?
Working on even better parsing:
verify addresses could be addresses
verify mailboxes could be mailboxes
verify outgoing headers can be headers
CMU Sieve 1.3
-------------
Changed for integration with cyrus deliver.
CMU Sieve 1.2
-------------
Added additional callbacks (ok, so I want to make my integration with deliver
easier) and envelope and vacation support.
Made it compile without libcyrus.
It should compile without libcyrus, but then it does not implement the
"address" test. That's just too much work to do when I have a neato
library to do it for me.
Todo:
- regex matching
CMU Sieve 1.1
-------------
- Updated to draft-showalter-sieve-07bis.txt
- Simple API (see sieve_interface.h; currently mostly undocumented)
- Implements all of the optional features except "envelope"
- Maintains "if it parses, it probably runs" behavior. (Goal: minimize
run-time errors.)
CMU Sieve 1.0
-------------
- prototype implementation