1 | Version 3.10.2 |
---|
2 | -------------- |
---|
3 | |
---|
4 | [20120402:2022] tomhendr: Make group file location configurable in dspam.conf |
---|
5 | |
---|
6 | [20120209:2215] sbajic: Fix bug in RSET handling during LHLO phase (daemon mode). |
---|
7 | |
---|
8 | [20111116:0020] sbajic: csscompress: preserve ownership and permissions as in cssclean |
---|
9 | |
---|
10 | [20111116:0015] sbajic: document that dspam_clean does nothing with hash driver |
---|
11 | |
---|
12 | [20111110:0020] tomhendr: Renamed NotificationsDirectory to TxtDirectory, added documentation on the new parameter. |
---|
13 | |
---|
14 | [20111103:1200] sbajic: Fix bugs in dspam_notify: add new line between header and body, do proper parsing of dates where the day is one single digit or the weekday is a Thursday, add From header entry. |
---|
15 | |
---|
16 | [20111030:1245] sbajic: Make notification directory configurable in dspam.conf |
---|
17 | |
---|
18 | [20111001:1200] sbajic: Fix typo and formatting issues in dspam.conf |
---|
19 | |
---|
20 | [20111001:1030] sbajic: Fix compiler warnings (unused function) in MySQL driver |
---|
21 | |
---|
22 | [20110930:2055] sbajic: Remove support for PostgreSQL < 8.1.0 (EOL) |
---|
23 | |
---|
24 | [20110915:2230] tomhendr: Fix issue where the files under the group name in DSPAM_HOME were updated in stead of the actual users' files, when retrainig and using shared groups. |
---|
25 | |
---|
26 | [20110903:1330] sbajic: Fix potential memory leak in _ds_decode_headers() |
---|
27 | |
---|
28 | [20110831:2300] tomhendr: Fix message parsing with CRLF line breaks |
---|
29 | |
---|
30 | [20110828:1230] sbajic: Fix potential memory leak and a strcmp() call that reads uninitialized bytes |
---|
31 | |
---|
32 | [20110822:2250] tomhendr: added dspam_alias_retraining to release tarball |
---|
33 | |
---|
34 | [20110817:0936] jvalroff: updated webui fr templates to validate on w3c validator |
---|
35 | |
---|
36 | [20110817:0014] tomhendr: updated webui en templates to validate on w3c validator |
---|
37 | |
---|
38 | [20110816:2226] tomhendr: replace ctime.pl usage with POSIX::ctime in webui, since it is marked as deprecated |
---|
39 | |
---|
40 | [20110815:1825] tomhendr: replace random example domains like domain.com/yourdomain.com/configureme.com with example.org |
---|
41 | |
---|
42 | [20110811:2220] sbajic: Adding license note to dspam-retrain-forward.pl |
---|
43 | |
---|
44 | Version 3.10.1 |
---|
45 | -------------- |
---|
46 | |
---|
47 | [20110810:1420] sbajic: Do not use (for now) static functions/variables when computing/reading virtual_table, virtual_uid, virtual_username and MySQLUIDInSignature |
---|
48 | |
---|
49 | [20110802:1151] tomhendr: add cssclean.txt to doc/Makefile.am |
---|
50 | |
---|
51 | Version 3.10.0 |
---|
52 | -------------- |
---|
53 | |
---|
54 | [20110801:1024] tomhendr: Update version to 3.10.0 after discussion between projectadmins. |
---|
55 | |
---|
56 | [20110726:2324] tomhendr: Updated MySQL documentation, added emphasis on usage of *-4.1.sql files, removed MySQL <4.1 specific notes |
---|
57 | |
---|
58 | [20110716:1520] sbajic: Fix build error (when selecting MySQL driver) on older autoconf/automake versions |
---|
59 | |
---|
60 | [20110713:0100] sbajic: Code cleanup in dspam_process()/_ds_operate() and minor improvements (no functional change) |
---|
61 | |
---|
62 | [20110713:0045] sbajic: Remove redundant code in process_users() |
---|
63 | |
---|
64 | [20110712:2310] sbajic: Fix typo (logical error) from last commit to libdspam |
---|
65 | |
---|
66 | [20110711:2150] sbajic: Restore operating mode and training mode on failure of ds_operate() |
---|
67 | |
---|
68 | [20110711:2345] sbajic: rename doc/README.cssclean to doc/cssclean.txt |
---|
69 | |
---|
70 | [20110711:2224] pcockings: move README.cssclean to /doc and update README Section 1.4 to note that cssclean should be used with the hash driver |
---|
71 | |
---|
72 | [20110711:2230] sbajic: Updating README to reflect upcoming macro version |
---|
73 | |
---|
74 | [20110711:2200] sbajic: Fixing typo from last commit |
---|
75 | |
---|
76 | [20110711:2130] sbajic: If the training mode has been specified on the command line, it should not be overruled by the user's (or default) preferences. Remove the DST_DEFAULT constant from the libdspam interface since it has only been (ab)used by the agent and never really belonged to the library in the first place. |
---|
77 | |
---|
78 | [20110710:1215] pcockings: Decision to release as 3.9.2 and update RELEASE.NOTES |
---|
79 | |
---|
80 | [20110709:0000] pcockings: Add note that osb is recommended for new installs |
---|
81 | |
---|
82 | [20110708:2345] pcockings: Documentation changes: |
---|
83 | * Add note that sqlite_drv will be removed in future release |
---|
84 | * Add note that hash_drv is not 32/64 or big/little endian safe |
---|
85 | * Update contact details for commercial licensing |
---|
86 | * Small documentation typos |
---|
87 | |
---|
88 | [20110702:1300] sbajic: Prevent password leakage in dspam_maintenance.sh |
---|
89 | |
---|
90 | [20110701:1740] sbajic: Use DSS_NONE and DSR_NONE according to specification (no change in binary code) |
---|
91 | |
---|
92 | [20110627:2330] sbajic: Changing DSPAM license to AGPL v3 |
---|
93 | |
---|
94 | [20110627:2320] sbajic: Use DSS_NONE and DSR_NONE according to specification (no change in binary code) |
---|
95 | |
---|
96 | [20110627:2300] sbajic: Change copyright year |
---|
97 | |
---|
98 | [20110627:2245] sbajic: Updated headers with new FSF address |
---|
99 | |
---|
100 | [20110627:2230] sbajic: Added option to HTMLize sender and subject in quarantine view |
---|
101 | |
---|
102 | [20110618:1545] sbajic: Merge two patches from Debian: |
---|
103 | 1. 011_Document-hash-drv-support-daemon.diff |
---|
104 | Description: hash driver support daemon mode since version 3.6rc2 (see upstream CHANGELOG) |
---|
105 | Author: Debian DSPAM Maintainers <pkg-dspam-misc@lists.alioth.debian.org> |
---|
106 | |
---|
107 | 2. 012_typo-dspam_maintenance.diff |
---|
108 | Description: Fix typo in dspam_maintenance for pgsql backend |
---|
109 | Author: Rodolphe Pelloux-Prayer <rodolphe@damsy.net> |
---|
110 | |
---|
111 | [20110520:0915] sbajic: Fix bug with static functions/variables inside MySQL driver |
---|
112 | |
---|
113 | [20110520:0025] sbajic: Remove support for MySQL < 5.0.0 (EOL) |
---|
114 | |
---|
115 | [20110514:0410] sbajic: Fix Lookup feature |
---|
116 | |
---|
117 | [20110513:1425] sbajic: Fix out-of-range and overflow handling in MySQL driver (fixes issue with MySQL >= 5.5.x) |
---|
118 | |
---|
119 | [20110513:0020] sbajic: Remove compile failure when using debug option |
---|
120 | |
---|
121 | [20110509:2305] sbajic: Update SQL files for MySQL to allow table creation for MySQL >=5.5.x |
---|
122 | |
---|
123 | [20110506:2305] sbajic: Fix clang analyzer issues |
---|
124 | |
---|
125 | [20110419:0720] sbajic: Document value 'deliver' in default.prefs for option 'spamAction' |
---|
126 | |
---|
127 | [20110308:0110] sbajic: Fix broken message unlearning |
---|
128 | |
---|
129 | [20110308:0105] sbajic: Speedup up dot stuffing when sending to LMTP/SMTP delivery |
---|
130 | |
---|
131 | [20110308:0100] sbajic: Add dot de-stuffing when reveiving message in deamon mode (aka: DLMTP/LMTP) |
---|
132 | |
---|
133 | [20110209:2120] sbajic: Fix segmentation fault problem in MySQL driver _ds_get_nextuser() when user row is NULL |
---|
134 | |
---|
135 | [20110209:2115] sbajic: Fix autoconf macros for ExtLookup to handle properly OpenLDAP version check |
---|
136 | |
---|
137 | [20101205:0155] sbajic: Fix linker issue with privious patch when compiling DSPAM with static Hash driver |
---|
138 | |
---|
139 | [20101130:0910] sbajic: Remove unused direct dependencies on most of the executables and libraries |
---|
140 | |
---|
141 | [20101113:1510] sbajic: Fixing typo in README |
---|
142 | |
---|
143 | [20101112:1100] sbajic: Fix segmentation fault in cssstat |
---|
144 | |
---|
145 | [20100826:0730] sbajic: Fix compiler warnings |
---|
146 | |
---|
147 | [20100825:2215] sbajic: Fix bug introduced in the last two commits by using static functions instead saving the values in the _mysql_drv_storage struct. |
---|
148 | |
---|
149 | [20100825:2130] sbajic: Do the same small speed improvements in the MySQL driver as in the last commit but when initializing the preference extension in _mysql_drv_init_tools() |
---|
150 | |
---|
151 | [20100824:0045] sbajic: Small speed improvements in the MySQL driver |
---|
152 | |
---|
153 | [20100823:2320] sbajic: Reorder version check in PostgreSQL driver (for slightly speed improvement) |
---|
154 | |
---|
155 | [20100823:1200] sbajic: Properly escape strings in PostgreSQL driver |
---|
156 | |
---|
157 | [20100822:2020] sbajic: Do not allow empty delivery agent if no delivery host is specified |
---|
158 | |
---|
159 | [20100822:1945] sbajic: Change mail recipient for uid-based signatures when processing message |
---|
160 | |
---|
161 | [20100821:1045] sbajic: Don't remove pid file when sending SIGHUP to the daemon |
---|
162 | |
---|
163 | [20100820:2230] sbajic: Fixing file descriptor leak in read_config() |
---|
164 | |
---|
165 | [20100820:1145] sbajic: Fix segmentation fault when using split configuration and running dspam_stats and the running user has no permission to read the files/directories mentioned in the "Include" configuration option. |
---|
166 | |
---|
167 | [20100819:2210] sbajic: Only allow one filesystem layout (large scale, domain scale or home dir) |
---|
168 | |
---|
169 | [20100819:0030] sbajic: Adding missing JavaScript code to the German Web-UI templates |
---|
170 | |
---|
171 | [20100816:2010] sbajic: Speedup HTML stripping and extract uri from invalid tags (aka: uri tags that have no " or ' around the uri) |
---|
172 | |
---|
173 | [20100816:2000] sbajic: Remove undocumented and unsupported spam/ham aliases and correct firstrun.txt to mention correct spam training alias |
---|
174 | |
---|
175 | [20100816:1650] sbajic: Extend SIZE extension detection to support more variants of the extension |
---|
176 | |
---|
177 | [20100814:1640] sbajic: Fixing dot escaping in client/server socket protocol |
---|
178 | |
---|
179 | [20100814:1515] sbajic: Fix client to only send SIZE=n if the LMTP delivery destination has SIZE extension support |
---|
180 | |
---|
181 | [20100814:1330] sbajic: Documenting additional --deliver values |
---|
182 | |
---|
183 | [20100812:0205] sbajic: Do not continue training with dspam_train if calling dspam_stats has failed |
---|
184 | |
---|
185 | [20100812:0155] sbajic: Do not allow --profile option for dspam_stats if trusted user security is active and user is not trusted |
---|
186 | |
---|
187 | [20100810:0135] sbajic: Print errors to stderr when using the helper tools |
---|
188 | |
---|
189 | [20100809:2355] sbajic: Changing error message to ERR_DRV_INIT for the helper tools when there is a problem loading the storage driver |
---|
190 | |
---|
191 | [20100809:2350] sbajic: Fix hang/segmentation fault in dspam_2sql when no StorageDriver is selected AND no storage dirver is statically linked |
---|
192 | |
---|
193 | [20100809:2330] sbajic: Fix hang/segmentation fault when no StorageDriver is selected AND no storage driver is statically linked |
---|
194 | |
---|
195 | [20100806:2340] sbajic: Fix logical error/typo in last commit |
---|
196 | |
---|
197 | [20100806:1900] sbajic: Fix broken appending of message (the old code removed all lines with a single \n from the message) to quarantine (mbox file) |
---|
198 | |
---|
199 | [20100806:0050] sbajic: Exit dspam_admin with proper return code |
---|
200 | |
---|
201 | [20100804:2355] sbajic: Fixing typo from last commit |
---|
202 | |
---|
203 | [20100804:2350] sbajic: Declare signature data to be escaped in PostgreSQL driver |
---|
204 | |
---|
205 | [20100804:2315] sbajic: Setting query buffer size inside functions to be equal with the one used in the PostgreSQL driver |
---|
206 | |
---|
207 | [20100804:1515] sbajic: Remove useless (double) encoding/escaping and one memory allocation issue in PostgreSQL driver |
---|
208 | |
---|
209 | [20100804:1210] sbajic: Fix a crash in the PostgreSQL driver (corrupted double-linked free) |
---|
210 | |
---|
211 | [20100804:0200] sbajic: Use '--defaults-file' instead of '--defaults-extra-file' in maintenance script |
---|
212 | |
---|
213 | [20100804:0200] sbajic: Fixing double encoding of signature data in PostgreSQL driver |
---|
214 | |
---|
215 | [20100803:1300] sbajic: Fixing calculation of performance metric in Web-UI when using groups |
---|
216 | |
---|
217 | [20100802:2045] sbajic: Fixing HTML formatting errors in dspam.cgi |
---|
218 | |
---|
219 | [20100731:1610] sbajic: Fixing two typos in ExtLookup section in dspam.conf |
---|
220 | |
---|
221 | [20100731:1545] sbajic: Fixing two typos in ExtLookup section in dspam.conf |
---|
222 | |
---|
223 | [20100731:1520] sbajic: Adding different (extended) delimiters for advanced tokenizers (aka: SBPH and OSB) that profit from more tokens per message |
---|
224 | |
---|
225 | [20100731:1510] sbajic: Adding more debug output to tokenizer.c |
---|
226 | |
---|
227 | [20100731:1500] sbajic: Unifying _pgsql_drv_getpwnam() to have same logic as _mysql_drv_getpwnam() |
---|
228 | |
---|
229 | [20100731:1445] sbajic: Limiting scope of variables in _mysql_drv_getpwnam() |
---|
230 | |
---|
231 | [20100731:1330] sbajic: Fixing typo in PostgreSQL debug output |
---|
232 | |
---|
233 | [20100731:0140] sbajic: Fixing HTML markup issues in German template |
---|
234 | |
---|
235 | [20100731:0120] sbajic: Fixing some more HTML markup issues in dspam.cgi |
---|
236 | |
---|
237 | [20100731:0010] sbajic: Fixing HTML markup in dspam.cgi |
---|
238 | |
---|
239 | [20100719:2115] sbajic: Adding strings.pl to makefile for HE translation |
---|
240 | |
---|
241 | Version 3.9.1 RC1 |
---|
242 | ----------------- |
---|
243 | |
---|
244 | [20100716:2200] sbajic: Fixing bug m4/Makefile.am regarding removal of libtool_hack.m4 |
---|
245 | |
---|
246 | [20100615:2225] sbajic: Fixing bug in _mysql_drv_getpwnam() regarding allocation of space for the username |
---|
247 | |
---|
248 | [20100612:1540] sbajic: Make LLVM clang compiler happy |
---|
249 | |
---|
250 | [20100612:1515] sbajic: Updating documentation for Sendmail MTA using virtual users |
---|
251 | |
---|
252 | [20100612:1000] sbajic: Properly escape/unescape queries/values in _ds_pref_load(), _ds_pref_set() and _ds_pref_del() for PostgreSQL driver |
---|
253 | |
---|
254 | [20100607:1400] sbajic: Adding MTA/MDA retraining script to contrib |
---|
255 | |
---|
256 | [20100525:2330] sbajic: Fixing out-of-bounds reads in various functions |
---|
257 | |
---|
258 | [20100525:2120] sbajic: Do not shutdown libdspam and do not relase locks in daemon_start() |
---|
259 | |
---|
260 | [20100519:2300] sbajic: Fixing varous memory leaks |
---|
261 | |
---|
262 | [20100515:0255] sbajic: Better verbose output when reading configuration |
---|
263 | |
---|
264 | [20100514:1820] sbajic: Fixing compiler warnings in process_parseto() |
---|
265 | |
---|
266 | [20100513:2245] sbajic: Fix potential memory leak in MySQL and PostgreSQL storage driver |
---|
267 | |
---|
268 | [20100513:2240] sbajic: Fix client to read complete result for summary operations and instruct daemon to send final dot also for summary operations |
---|
269 | |
---|
270 | [20100513:2130] sbajic: Fix memory leak in process_users() when using ClamAV |
---|
271 | |
---|
272 | [20100513:2100] sbajic: Fix no substitution in error messages when logging to file |
---|
273 | |
---|
274 | [20100513:1245] sbajic: Fix bug in process_parseto() |
---|
275 | |
---|
276 | [20100509:1215] sbajic: Fix typo in MySQL driver |
---|
277 | |
---|
278 | [20100508:2330] sbajic: Fix bug in _ds_strip_html (invalid read of 1 byte before allocated block) |
---|
279 | |
---|
280 | [20100508:0150] sbajic: Fix various errors/bugs in PostgreSQL driver, speedup SQL queries by omitting write/change to fields that are not changing their value |
---|
281 | |
---|
282 | [20100508:0145] sbajic: Fixing bugs and wrong return values in MySQL driver |
---|
283 | |
---|
284 | [20100507:2130] sbajic: Fixing bug (typo) in MySQL driver |
---|
285 | |
---|
286 | [20100506:2140] sbajic: Enforce domain part in DeliveryHost to be in lowercase when using domain based delivery. Extending DeliveryPort to be domain delivery aware. |
---|
287 | |
---|
288 | [20100506:1850] sbajic: Fixing typos and formatting in README |
---|
289 | |
---|
290 | [20100505:2325] sbajic: Fixing group file processing for inoculation groups and classification groups (global/network) |
---|
291 | |
---|
292 | [20100502:1500] sbajic: Fixing group file parsing and classification network and global group support |
---|
293 | |
---|
294 | [20100502:1400] sbajic: Updating README section 2.1 (Configuring groups) |
---|
295 | |
---|
296 | [20100501:1945] sbajic: Make LLVM clang compiler happy |
---|
297 | |
---|
298 | [20100501:1610] sbajic: Make LLVM clang compiler happy |
---|
299 | |
---|
300 | [20100501:1600] sbajic: Fix bug in dspam.c main() |
---|
301 | |
---|
302 | [20100501:1555] sbajic: Fix dereference of null pointer in log_events() |
---|
303 | |
---|
304 | [20100501:1545] sbajic: Fix pass by value bug in is_blacklisted() |
---|
305 | |
---|
306 | [20100501:1500] sbajic: Fix various errors/bugs in MySQL driver, make the driver more resistant against locking issues and speedup SQL queries by omitting write/change to fields that are not changing their value |
---|
307 | |
---|
308 | [20100430:2100] sbajic: Escape SQL query in _pgsql_drv_get_dbversion() for PostgreSQL driver |
---|
309 | |
---|
310 | [20100430:1820] sbajic: Fix typo in SQL query format in _pgsql_drv_get_dbversion() for PostgreSQL driver |
---|
311 | |
---|
312 | [20100429:1730] sbajic: Fix segmentation fault in libdspam.c introduced with last commit |
---|
313 | |
---|
314 | [20100428:2350] sbajic: Fix double free or corruption in libdspam.c |
---|
315 | |
---|
316 | [20100428:2345] sbajic: Fix SQL query splitting in _ds_setall_spamrecords() for the MySQL driver |
---|
317 | |
---|
318 | [20100427:1925] sbajic: Adding man page (provided by Julien Valroff <julien@kirya.net>) for dspam_maintenance.sh |
---|
319 | |
---|
320 | [20100427:0230] sbajic: Speeding up purging in dspam_maintenance.sh when using SQL based purging in conjunction with dspam_clean. |
---|
321 | |
---|
322 | [20100427:0220] sbajic: Fix handling of single char usernames in Web-UI when using large scale. |
---|
323 | |
---|
324 | [20100426:1015] sbajic: Adding instruction to mysql_drv.txt how and when to use InnoDB with DSPAM. |
---|
325 | |
---|
326 | [20100425:1545] sbajic: Fixing typo in dspam.cgi |
---|
327 | |
---|
328 | [20100424:0200] sbajic: Fixing typo in UPGRADING |
---|
329 | |
---|
330 | [20100422:0120] sbajic: Fixing operation order when escaping and shortening strings in Web-UI history page |
---|
331 | |
---|
332 | [20100421:2200] sbajic: Adding section in UPGRADING (UPGRADING FROM 3.9.0) to explain how to change the character set/collation to latin1 (missed to mention that conversation task for the update to 3.9.0) |
---|
333 | |
---|
334 | [20100421:2115] sbajic: Updating purge-4.1.sql to better handle tables that have mixed character sets and collations |
---|
335 | |
---|
336 | [20100421:1135] sbajic: Fixing bugs in dspam_maintenance.sh and adding parameter --with-sql-autoupdate |
---|
337 | |
---|
338 | [20100421:1130] sbajic: Updating PostgreSQL and SQLite3 purge scripts to have 30 days (default value used in MySQL purge script, SQLite purge script, dspam_clean and dspam.conf) purging value for Hapaxes. |
---|
339 | |
---|
340 | [20100421:0900] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
341 | |
---|
342 | [20100419:2100] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
343 | |
---|
344 | [20100418:0235] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
345 | |
---|
346 | [20100418:0015] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
347 | |
---|
348 | [20100417:1730] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
349 | |
---|
350 | [20100417:1720] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
351 | |
---|
352 | [20100417:1715] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
353 | |
---|
354 | [20100417:1700] sbajic: Fixing bugs in dspam_maintenance.sh |
---|
355 | |
---|
356 | [20100417:1615] sbajic: Removed "ANALYZE TABLE" from dspam_maintenance.sh for MySQL |
---|
357 | |
---|
358 | [20100417:1615] sbajic: Updating dspam_maintenance.sh to work better under Debian Almquist Shell. Adding option to run vacuum/optimize/analyze after purging. |
---|
359 | |
---|
360 | [20100417:1500] sbajic: Adding more debug output to libdspam |
---|
361 | |
---|
362 | [20100417:1445] sbajic: Unifying the format of section headers (aka: # --- MySQL ---, # --- PostgreSQL ---, etc) and adding example for split configuration |
---|
363 | |
---|
364 | [20100417:1245] sbajic: Fixing typo in libdspam when retraining message from signature with zero tokens |
---|
365 | |
---|
366 | [20100417:0025] sbajic: Fixing typos and other errors in the man pages |
---|
367 | |
---|
368 | [20100416:2100] sbajic: Do not attempt to retrain if zero tokens where retrieved from a signature |
---|
369 | |
---|
370 | [20100416:1830] sbajic: Do not treat user names as email addresses when using DLMTP |
---|
371 | |
---|
372 | [20100414:0055] sbajic: Updating dspam_maintenance.sh to use 31 days as default for system log purging. Old value was 15 days and that is way to short since the DSPAM Web-UI by default displays the last 25 days in the Administrative Suite dashboard |
---|
373 | |
---|
374 | [20100414:0050] sbajic: Adding hidden HTML snipplet to user and admin preferences HTML template in the English Web-UI |
---|
375 | |
---|
376 | [20100414:0040] sbajic: Fixing typo in user history page for the English Web-UI template |
---|
377 | |
---|
378 | [20100411:1445] sbajic: Update PostgreSQL driver to be able to parse versions that have non numeric values in major, minor or micro like 'PostgreSQL 9.0alpha4 on i686-pc-linux-gnu, compiled by GCC i686-pc-linux-gnu-gcc (Gentoo 4.5.0_alpha20100401) 4.5.0-alpha20100401 20100401 (experimental), 32-bit' |
---|
379 | |
---|
380 | [20100408:1820] sbajic: Fixed potential security issue with HTML message processing |
---|
381 | |
---|
382 | [20100405:2215] sbajic: Fixing README regarding wrong location of dspam.conf (--sysconfdir) |
---|
383 | |
---|
384 | [20100402:2345] sbajic: Updated UPGRADING regarding the additional lookup_tokens for PostgreSQL |
---|
385 | |
---|
386 | [20100323:0945] sbajic: Removing some unused variables from decode.c |
---|
387 | |
---|
388 | [20100318:0325] sbajic: Fixing reading dailyQuarantineSummary and AllowOverride evaluation in dspam_notify (still need to fix if preferences are overwritten by pref file in user home) |
---|
389 | |
---|
390 | [20100315:2300] sbajic: Added alternating colors for the quarantine notification message |
---|
391 | |
---|
392 | [20100315:1945] sbajic: Fixed issue with empty Message-ID in Web-UI history display |
---|
393 | |
---|
394 | [20100313:2100] sbajic: Fixed a HTML markup error in dspam_notify and extended dspam_notify to list messages in quarantine |
---|
395 | |
---|
396 | [20100313:0235] sbajic: Removed dependency to grep, awk, cut, wc and friends from dspam_notify and fixed a bunch of bugs in dspam_notify. |
---|
397 | |
---|
398 | [20100313:0120] sbajic: Added installation of dspam_notify |
---|
399 | |
---|
400 | [20100224:1815] sbajic: Adding _ds_validate_address() to test recipients for valid email address format (the check is not catching all possible invalid email addresses). |
---|
401 | |
---|
402 | [20100219:1905] sbajic: Adding --nofork switch to prevent DSPAM to switch into background when using --daemon. New default is to fork into background when using --daemon switch. (SF ID #2955089) |
---|
403 | |
---|
404 | [20100219:1215] sbajic: Returning non zero exit code if daemon was not able to bind to ip/port (SF Bug #2947397) |
---|
405 | |
---|
406 | [20100218:2225] sbajic: Fixing dot escaping in LMTP protocol |
---|
407 | |
---|
408 | [20100212:1400] sbajic: Fixing memory leaks in SQLite[2/3] driver |
---|
409 | |
---|
410 | [20100206:0030] sbajic: Adding Russian templates |
---|
411 | |
---|
412 | [20100202:1525] sbajic: Fixing issues with dirname() in cssclean, csscompress and cssconvert |
---|
413 | |
---|
414 | [20100128:2340] hmonteiro: Bumped thunderbird extension version number. |
---|
415 | |
---|
416 | [20100128:2320] hmonteiro: Converted pt-PT localized messages in thunderbird extension to UTF-8 |
---|
417 | |
---|
418 | [20100128:0130] sbajic: Removing mapiprop.dll and adding note where to download the dll and source |
---|
419 | |
---|
420 | [20100127:2130] sbajic: Using PQescapeByteaConn instead of PQescapeBytea in PostgreSQL driver when PostgreSQL is >= 7.3 |
---|
421 | |
---|
422 | [20100127:1520] sbajic: Fixing unresolved symbols in libdspam |
---|
423 | |
---|
424 | [20100116:1520] sbajic: Don't allow '../' or '..\' in user name |
---|
425 | |
---|
426 | [20100115:2100] sbajic: Updating dspam_maintenance.sh to work better under Fedora |
---|
427 | |
---|
428 | [20100114:0210] sbajic: Change password handling for MySQL/PostgreSQL in dspam_maintenance.sh |
---|
429 | |
---|
430 | [20100111:2035] sbajic: Fixing signal handler under *BSD |
---|
431 | |
---|
432 | [20100107:2320] sbajic: Adding option (--purgescriptdir) to dspam_maintenance.sh allowing the end-user to specify the directory where the purge scripts are located |
---|
433 | |
---|
434 | [20100106:1605] sbajic: Fixing parallel builds |
---|
435 | |
---|
436 | [20100106:1440] sbajic: Enhancing dspam_maintenance.sh to support DSPAM binary that does not print out configuration options when using switch "--version" |
---|
437 | |
---|
438 | [20100106:0110] sbajic: Adding profile support to dspam_maintenance.sh. Restricting purging with dspam_maintenance.sh to only consider currently active driver. |
---|
439 | |
---|
440 | [20100103:1520] sbajic: Changing year in copyright notices from 2009 to 2010 in dspam_maintenance.sh |
---|
441 | |
---|
442 | [20100103:1515] sbajic: Changing year in copyright notices and version output from 2009 to 2010 |
---|
443 | |
---|
444 | [20100103:0520] sbajic: Swapping out x labels from graphs to be in strings.pl |
---|
445 | |
---|
446 | [20100103:0415] sbajic: Fixing page direction in Hebrew templates |
---|
447 | |
---|
448 | [20100102:2150] sbajic: Fixing typos in Hebrew template |
---|
449 | |
---|
450 | [20100102:2030] sbajic: Fixing typos in Hebrew template |
---|
451 | |
---|
452 | [20100102:0440] sbajic: Fixing small issue in rtl.css (used in right-to-left page direction templates) |
---|
453 | |
---|
454 | [20100102:0400] sbajic: Fixing the display of Hebrew templates in the Web UI |
---|
455 | |
---|
456 | [20100102:0400] sbajic: Adding TTF font support for legend, x and y labels in Web UI |
---|
457 | |
---|
458 | [20100101:1730] sbajic: Setting 'lang_name' in Hebrew strings.pl to use HTML character entities encoding so that other languages display the language name properly even when not using CP1255/Windows-1255 encoding |
---|
459 | |
---|
460 | [20100101:1730] sbajic: Fixing typo in Czech strings.pl |
---|
461 | |
---|
462 | [20091231:0555] sbajic: Fixing compiler warnings |
---|
463 | |
---|
464 | [20091231:0550] sbajic: Fixing build system for EXT_LOOKUP |
---|
465 | |
---|
466 | [20091231:0410] sbajic: Fixing compiler warnings |
---|
467 | |
---|
468 | [20091231:0330] sbajic: Fixing compiler warnings |
---|
469 | |
---|
470 | [20091230:1750] sbajic: Fixing compiler warnings |
---|
471 | |
---|
472 | [20091230:1740] sbajic: Fixing compiler warnings |
---|
473 | |
---|
474 | [20091230:1505] sbajic: Fixing compiler warnings |
---|
475 | |
---|
476 | [20091230:1350] sbajic: Fixing compiler warnings |
---|
477 | |
---|
478 | [20091230:0135] sbajic: Fixing compiler warnings |
---|
479 | |
---|
480 | [20091230:0130] sbajic: Fixing compiler warnings |
---|
481 | |
---|
482 | [20091230:0110] sbajic: Fixing compiler warnings |
---|
483 | |
---|
484 | [20091229:0120] sbajic: Fix small error/typo in configure.ac regarding daemon mode and hash_drv |
---|
485 | |
---|
486 | [20091228:1100] sbajic: Adding strings.pl to Hebrew Web UI (translated by Dudi Goldenberg) |
---|
487 | |
---|
488 | [20091226:1330] sbajic: Adding language selection drop down in Web UI and fixing some other small and big issues in the Web UI |
---|
489 | |
---|
490 | [20091223:1030] sbajic: Adding information about sub-administrators/domain level admins to README |
---|
491 | |
---|
492 | [20091223:0950] sbajic: Removing NCORE code, m4/libtool_hack.m4 and scripts/train.pl from DSPAM |
---|
493 | |
---|
494 | [20091223:0205] sbajic: Fixing installtion of man pages |
---|
495 | |
---|
496 | [20091222:1250] sbajic: Tagging a bunch of files that did not have any change tags in their header |
---|
497 | |
---|
498 | [20091222:0210] sbajic: Adding verbose debug output to config_shared.c |
---|
499 | |
---|
500 | [20091221:2030] sbajic: Fixing typo/bug in Makefile for the man pages |
---|
501 | |
---|
502 | [20091221:1740] sbajic: Fixing the display of totals in the 'User Statistics' tab for the Administrative Suite of the Web UI |
---|
503 | |
---|
504 | [20091220:2020] sbajic: Added sub-administrator functionality to Web UI |
---|
505 | |
---|
506 | [20091220:1825] sbajic: Added option to Web UI to allow turning on/off (default off) the transformation (sender and subject) of special characters into HTML character entries |
---|
507 | |
---|
508 | [20091220:0130] sbajic: Fixed typoe in strings.pl for German Web UI |
---|
509 | |
---|
510 | [20091220:0045] sbajic: Removed double configuration option in configure.pl |
---|
511 | |
---|
512 | [20091219:2215] sbajic: Fixing bug regarding "broken returnCodes" (bug was introduced in 3.9.0) |
---|
513 | |
---|
514 | [20091219:2210] sbajic: Adding man for dspam_admin, dspam_crc and dspam_logrotate |
---|
515 | |
---|
516 | [20091219:1830] sbajic: Updated contrib/dspam_maintenance/dspam_maintenance.sh to handle correctly split config |
---|
517 | |
---|
518 | [20091219:1810] sbajic: Updated purge-4.1.sql SQL script for MySQL |
---|
519 | |
---|
520 | [20091219:1650] sbajic: Updated purge.sql SQL script for MySQL |
---|
521 | |
---|
522 | [20091219:1650] sbajic: Updated purge-4.1.sql SQL script for MySQL |
---|
523 | |
---|
524 | [20091219:1505] sbajic: Do not log virus infected files separately if "TrackSources virus" is activated |
---|
525 | |
---|
526 | [20091219:0540] sbajic: Updating syntax/help output for dspam_stats |
---|
527 | |
---|
528 | [20091219:0115] sbajic: Added option "notifications" as an user preference. Works the same way as "Notifications" in dspam.conf |
---|
529 | |
---|
530 | [20091218:2345] sbajic: Adding description to dspam.conf for option PlusedUserLowercase. |
---|
531 | |
---|
532 | [20091218:2340] sbajic: Adding PlusedCharacter option to dspam.conf. This allows setting the separator between user names and address extensions (user+foo). |
---|
533 | |
---|
534 | [20091218:2310] sbajic: Adding QuarantineWarnSize option to dspam.conf. This controls the size when DSPAM will send "Quarantine Full" notification messages to users |
---|
535 | |
---|
536 | [20091218:1930] sbajic: Updating README section 7 (NOTIFICATIONS) |
---|
537 | |
---|
538 | [20091218:0930] sbajic: Adding Czech templates for Web UI (translated by Frantisek Hanzlik <franta@hanzlici.cz>) |
---|
539 | |
---|
540 | [20091218:0145] sbajic: Updated purge-4.1.sql SQL script for MySQL |
---|
541 | |
---|
542 | [20091218:0100] sbajic: Updated purge.sql SQL script for MySQL |
---|
543 | |
---|
544 | [20091218:0030] sbajic: Updated UPGRADING regarding indices for MySQL for speeding up purging |
---|
545 | |
---|
546 | [20091217:2300] sbajic: Updated section 3.1 (PORTS / PACKAGES) of the README |
---|
547 | |
---|
548 | [20091217:2255] sbajic: Small changes to MySQL 4.1+ database schema |
---|
549 | |
---|
550 | [20091217:2250] sbajic: Fixing small typo in doc/mysql_drv.txt |
---|
551 | |
---|
552 | [20091217:1210] sbajic: Adding code to PostgreSQL driver to not fail with an error on non fatal PostgreSQL errors |
---|
553 | |
---|
554 | Version 3.9.0 |
---|
555 | ------------- |
---|
556 | |
---|
557 | Version 3.9.0 RC2 |
---|
558 | ----------------- |
---|
559 | |
---|
560 | [20091215:2335] sbajic: Adding contrib to distribution |
---|
561 | |
---|
562 | [20091215:1710] sbajic: Fixing small typo in pt-BR template |
---|
563 | |
---|
564 | [20091215:0330] sbajic: Removed LDAP driver (replaced by ExtLookup) |
---|
565 | |
---|
566 | [20091215:0100] sbajic: Replacing non ascii characters in Romanian template with HTML characters entries |
---|
567 | |
---|
568 | Version 3.9.0 RC1 |
---|
569 | ----------------- |
---|
570 | |
---|
571 | [20091214:1420] sbajic: Web UI changes: Fix display for history page selection and add and use function to transform some special characters (sender and subject) into HTML character entries |
---|
572 | |
---|
573 | [20091212:0550] sbajic: Adding more comments to conigure.pl.in for the Web UI |
---|
574 | |
---|
575 | [20091212:0545] sbajic: Fixing various issues in the CGI scripts for the Web UI |
---|
576 | |
---|
577 | [20091209:0130] sbajic: Fixing issue with empty historical data by preinitializing empty variables for the history chart/view |
---|
578 | |
---|
579 | [20091206:1840] sbajic: Fixing problem with fallbackDomains |
---|
580 | |
---|
581 | [20091206:1730] sbajic: Prettifying dspam.conf and extending the notes on some configuration options |
---|
582 | |
---|
583 | [20091205:1550] sbajic: Fixing HTML tags and some translation errors in German Web UI template |
---|
584 | |
---|
585 | [20091204:1430] sbajic: Removed old and obsolete .cvsignore files |
---|
586 | |
---|
587 | [20091204:1255] sbajic: Translating some left English elements in the Spanish templates for Web UI |
---|
588 | |
---|
589 | [20091203:0255] sbajic: Adding Spanish templates for Web UI (translated by Daniel Sánchez Pearson <danielsanchez@hachete.com>) |
---|
590 | |
---|
591 | [20091202:0125] sbajic: Gentoo patch 8: Adding "virus" option to TrackSources |
---|
592 | |
---|
593 | [20091201:2310] sbajic: Fixed m4 macros for SQLite/SQLite3 |
---|
594 | |
---|
595 | [20091129:1650] sbajic: Fixed and updated man files |
---|
596 | |
---|
597 | [20091128:1000] sbajic: Replaced umlauts in German template to use HTML character encodings |
---|
598 | |
---|
599 | [20091128:1000] sbajic: Fixed HTML markup error in pt-br/nav_fragment.html |
---|
600 | |
---|
601 | [20091128:0030] sbajic: Fixed HTML markup error in dspam.cgi |
---|
602 | |
---|
603 | [20091126:0050] sbajic: Adding Brazilian Portuguese templates for Web UI (translated by Felipe Szczesny Rout <felipe.rout@al.rs.gov.br>) |
---|
604 | |
---|
605 | [20091125:0940] sbajic: Fix Web UI access in admin area to userdir in case of domainscale and a username beginning with @ or in case of empty domain |
---|
606 | |
---|
607 | [20091125:0930] sbajic: Fix Web UI access to userdir in case of domainscale and a username beginning with @ |
---|
608 | |
---|
609 | [20091118:1700] sbajic: Require @ in username for fallbackDomains to work and don't allow calling ctx_init() without or with empty username |
---|
610 | |
---|
611 | [20091117:1705] sbajic: Enhancing HTML message processing |
---|
612 | |
---|
613 | [20091115:2050] sbajic: Updating documentation |
---|
614 | |
---|
615 | [20091115:1250] sbajic: Fixing missing <HTML> start tag in nav_fragment.html for EN, FR and RO |
---|
616 | |
---|
617 | [20091114:1140] sbajic: Fixing bugs in _ds_get_nextuser(), _ds_get_nexttoken() and _ds_get_nextsignature() in the PostgreSQL driver |
---|
618 | |
---|
619 | [20091114:0120] sbajic: Fixing compile failure of the PostgreSQL driver tool dspam_pg2int8 |
---|
620 | |
---|
621 | [20091113:2225] sbajic: Adding documentation into MySQL driver source code for _ds_get_nextuser(), _ds_get_nexttoken() and _ds_get_nextsignature() |
---|
622 | |
---|
623 | [20091113:2155] sbajic: Fixing bug in _ds_get_nextuser() and _ds_get_nexttoken() in MySQL driver |
---|
624 | |
---|
625 | [20091113:2050] sbajic: Fixing bug in _ds_get_nextsignature() in MySQL driver |
---|
626 | |
---|
627 | [20091113:1410] sbajic: Reverting one block from submit ec9a6de09f178eaf838aad5b66b07b15951d6ef3 that breaks decoding base64/quoted-printable |
---|
628 | |
---|
629 | [20091113:0400] sbajic: Fixing memory leak in dspam_merge.c |
---|
630 | |
---|
631 | [20091113:0345] sbajic: Fixing file descriptor leak in PostgreSQL driver |
---|
632 | |
---|
633 | [20091113:0340] sbajic: Fixing file descriptor leak in MySQL driver |
---|
634 | |
---|
635 | [20091113:0310] sbajic: Speeding up various functions in dspam.c |
---|
636 | |
---|
637 | [20091112:2325] sbajic: Fixing bug in quoted printable decoding |
---|
638 | |
---|
639 | [20091105:2025] sbajic: Adding German templates for Web UI |
---|
640 | |
---|
641 | [20091105:1655] sbajic: Added missing files into various make files |
---|
642 | |
---|
643 | [20091104:0255] sbajic: Removed non properly working OSB for PValue |
---|
644 | |
---|
645 | [20091104:0255] sbajic: Speeding up _ds_calc_result() |
---|
646 | |
---|
647 | [20091104:0145] sbajic: Updating make files to include changes mentioned in log entry [20090818:0100] |
---|
648 | |
---|
649 | [20091103:1843] sbajic: Typo fixes in the french WebUI (patch provided by Julien Valroff <julien@kirya.net>) |
---|
650 | |
---|
651 | [20091103:0945] sbajic: Fixing build issues in Mac OS X |
---|
652 | |
---|
653 | [20091029:0810] sbajic: Fixing build issues in Mac OS X |
---|
654 | |
---|
655 | [20091028:1018] sbajic: Fixing build issues of dynamically linked libraries |
---|
656 | |
---|
657 | [20091028:0028] sbajic: Changes in External Lookup |
---|
658 | * Removing not needed header files (agent_shared.h) |
---|
659 | * Decoupling dependency to OpenLDAP (if the libraries are there |
---|
660 | then LDAP lookups are enabled in External Lookup else LDAP |
---|
661 | lookups are disabled in the External Lookup module) |
---|
662 | |
---|
663 | Version 3.9.0 BETA4 |
---|
664 | ------------------- |
---|
665 | |
---|
666 | [20091027:1300] sbajic: Fixing various issues (memory leaks and logical errors) in PostgreSQL driver |
---|
667 | |
---|
668 | Version 3.9.0 BETA3 |
---|
669 | ------------------- |
---|
670 | |
---|
671 | [20091016:1022] sbajic: Fixing (potential) branching on uninitialized variable in SQLite3 driver |
---|
672 | |
---|
673 | [20091016:0116] sbajic: Removing unused variables in SQLite3 driver |
---|
674 | |
---|
675 | [20091016:0112] sbajic: Fixing (potential) call to readdir with NULL argument in SQLite3 driver |
---|
676 | |
---|
677 | [20091012:1012] sbajic: Fixing compiler warnings |
---|
678 | |
---|
679 | [20091012:1010] sbajic: Fixing compiler warnings |
---|
680 | |
---|
681 | [20091012:1005] sbajic: Fixing compiler warnings |
---|
682 | |
---|
683 | [20091012:1000] sbajic: Fixing compiler warnings |
---|
684 | |
---|
685 | [20091012:0905] sbajic: Fixing compiler warnings |
---|
686 | |
---|
687 | [20091012:0903] sbajic: Fixing compiler warnings |
---|
688 | |
---|
689 | [20091012:0847] sbajic: Fixing compiler warnings |
---|
690 | |
---|
691 | [20091012:0832] sbajic: Fixing compiler warnings |
---|
692 | |
---|
693 | [20091012:0824] sbajic: Fixing compiler warnings |
---|
694 | |
---|
695 | [20091012:0743] sbajic: Fixing compiler warnings |
---|
696 | |
---|
697 | [20091009:2228] sbajic: Fixing compiler warnings |
---|
698 | |
---|
699 | [20091009:2218] sbajic: Fixing compile error introduced by last commit |
---|
700 | |
---|
701 | [20091009:2211] sbajic: Fixing compiler warnings |
---|
702 | |
---|
703 | [20091009:2203] sbajic: Fixing compiler warnings |
---|
704 | |
---|
705 | [20091009:2155] sbajic: Fixing compiler warnings |
---|
706 | |
---|
707 | [20091009:2125] sbajic: Removing unused variables in retrain_message() |
---|
708 | |
---|
709 | [20091009:2120] sbajic: Removing unused variables in process_message() |
---|
710 | |
---|
711 | [20091009:2115] sbajic: Removing unused variables in process_message() |
---|
712 | |
---|
713 | [20091009:2115] sbajic: Fixing (potential) dereference of null pointer in daemon.c |
---|
714 | |
---|
715 | [20091009:2110] sbajic: Fixing (potential) dereference of null pointer in dspam_clean.c |
---|
716 | |
---|
717 | [20091009:2055] sbajic: Fixing (potential) dereference of null pointer in dspam_clean.c |
---|
718 | |
---|
719 | [20091009:2048] sbajic: Fixing (potential) call to strncasecmp with NULL argument in daemon.c |
---|
720 | |
---|
721 | [20091009:2035] sbajic: Fixing (potential) call to readdir with NULL argument in hash driver |
---|
722 | |
---|
723 | [20091008:2321] sbajic: Fixing variable declaration in MySQL driver introduced in last commit |
---|
724 | |
---|
725 | [20091008:2311] sbajic: Code cleanup (limiting scope of variables) |
---|
726 | |
---|
727 | [20091008:2122] sbajic: Fixing return code in send_socket() |
---|
728 | |
---|
729 | [20091008:2110] sbajic: Removing unused code in client_process() |
---|
730 | |
---|
731 | [20091008:2045] sbajic: Removing unused code in base64decode() when using NCORE |
---|
732 | |
---|
733 | [20091008:2045] sbajic: Removing unused variables in base64decode() when using NCORE |
---|
734 | |
---|
735 | [20091008:2045] sbajic: Removing code in _ds_calc_result() (speeding up Robinson algorithm) |
---|
736 | |
---|
737 | [20091008:2038] sbajic: Removing unused variables in csscompress() |
---|
738 | |
---|
739 | [20091008:2031] sbajic: Removing unused variables in cssstat() |
---|
740 | |
---|
741 | [20091008:2025] sbajic: Removing unused variables in bnr_hash_set() |
---|
742 | |
---|
743 | [20091008:2020] sbajic: Removing unused code from _ds_calc_result() |
---|
744 | |
---|
745 | [20091008:2010] sbajic: Removing unused variables from MySQL driver in _ds_get_nextuser() |
---|
746 | |
---|
747 | [20091008:1915] sbajic: Removing unused variables in bnr_hash_value() |
---|
748 | |
---|
749 | [20091008:1908] sbajic: Removing unused variables in find_signature() |
---|
750 | |
---|
751 | [20091008:1900] sbajic: Fixing broken return code in process_users() |
---|
752 | |
---|
753 | [20091008:1850] sbajic: Removing unused variables in _ds_ff_pref_load() |
---|
754 | |
---|
755 | [20091008:1840] sbajic: Removing unused variables in _ds_degenerate_message() |
---|
756 | |
---|
757 | [20091005:2138] sbajic: The README has twice a list of members. Updated the second list to be in sync with the first one. |
---|
758 | |
---|
759 | [20091005:2135] sbajic: Changing how control tokens are matched when computing probability for Markovian weightening and OSB/OSBF/WINNOW weightening |
---|
760 | |
---|
761 | [20091005:1600] sbajic: Adding Hugo Monteiro to the README |
---|
762 | |
---|
763 | [20090925:2005] sbajic: Take care of internal tokens (control, whitelist, frequency and BNR) when computing probability for Markovian weightening and OSB/OSBF/WINNOW weightening |
---|
764 | |
---|
765 | [20090924:2356] sbajic: Adding OSB/OSBF/WINNOW weightening |
---|
766 | |
---|
767 | [20090917:1040] sbajic: Fixing memory leak in dspam.c (closing SF Bug ID #2853124) |
---|
768 | |
---|
769 | [20090917:1025] sbajic: Fixing missing close of sockets in has_virus() and feed_clam() (closing SF Bug ID #2853156) |
---|
770 | |
---|
771 | [20090917:1010] sbajic: Fixing freeing of unallocated pointers (closing SF Bug ID #2853164) |
---|
772 | |
---|
773 | [20090912:0925] sbajic: Fixing LOG/LOGFILE writing (closing SF Bug ID #2837832) |
---|
774 | |
---|
775 | [20090910:2105] sbajic: Fixing memory leak in dspam.c (closing SF Bug ID #2853133) |
---|
776 | |
---|
777 | [20090910:2100] sbajic: Fixing missing {} block in dspam.c (closing SF Bug ID #2853138) |
---|
778 | |
---|
779 | [20090910:2045] sbajic: Fixing null pointer deallocation in libdspam (closing SF Bug ID #2853177) |
---|
780 | |
---|
781 | [20090910:2040] sbajic: Fixing memory leak in libdspam (closing SF Bug ID #2853181) |
---|
782 | |
---|
783 | [20090910:2035] sbajic: Fixing memory leak in libdspam (closing SF Bug ID #2853188) |
---|
784 | |
---|
785 | [20090821:0115] sbajic: Fixing CSS and JavaScript issues in IE7/IE8 (The absolute worst browser when it comes to supporting the standards is Internet Explorer!) (closing SF Bug ID #2841370) |
---|
786 | |
---|
787 | [20090819:1520] sbajic: Fixing one more compiling issue under uClibc |
---|
788 | |
---|
789 | [20090819:1520] sbajic: Fixing compiling issue under uClibc |
---|
790 | |
---|
791 | [20090818:1650] sbajic: Fixing one missed label to be swapped out in the CGIs |
---|
792 | |
---|
793 | [20090818:1055] sbajic: Fixing typo in dspam.conf |
---|
794 | |
---|
795 | [20090818:0120] sbajic: Adding Romanian and French templates to be build by regular make file |
---|
796 | |
---|
797 | [20090818:0115] sbajic: Adding French templates for Web UI (provided and translated by Julien Valroff <julien@kirya.net>) |
---|
798 | |
---|
799 | [20090818:0100] sbajic: Swap out text/labels from the CGIs into external file (patch from Julien Valroff <julien@kirya.net> slightly modified) |
---|
800 | |
---|
801 | [20090815:1400] sbajic: Fixing memory leak in dspam.c |
---|
802 | |
---|
803 | [20090804:1150] sbajic: Adding Hebrew templates for Web UI (translated by Dudi Goldenberg) |
---|
804 | |
---|
805 | [20090803:0730] sbajic: Fixing compiler warnings |
---|
806 | |
---|
807 | [20090803:0655] sbajic: Fixing dynamic build of storage drivers |
---|
808 | |
---|
809 | [20090802:2010] sbajic: Fixing resource leak in hash driver |
---|
810 | |
---|
811 | [20090802:1915] sbajic: Added script to contrib for purging old tokens and log entries |
---|
812 | |
---|
813 | [20090802:1745] sbajic: Fixing dynamic build of storage drivers (closing SF Bug ID #2811139) |
---|
814 | |
---|
815 | [20090802:1630] sbajic: Fixing location for notification files (closing SF Bug ID #2825171) |
---|
816 | |
---|
817 | [20090801:2057] itetcu: contrib/Lotus Notes --> contrib/lotus_notes |
---|
818 | |
---|
819 | [20090801:1455] sbajic: Adding German language files for Thunderbird plugin |
---|
820 | |
---|
821 | [20090729:1600] sbajic: Fixing typos and logical errors from last commit (closing SF Bug ID #2829650) |
---|
822 | |
---|
823 | [20090728:1600] sbajic: Fixing segmentation fault when using groups and the calling username does not have a '@' character |
---|
824 | |
---|
825 | [20090726:1215] sbajic: Fixing dspam.cgi error from last commit |
---|
826 | |
---|
827 | [20090724:2300] sbajic: Fixing bug when retraining (with signature) a virus tagged message (closing SF Bug ID #2826644) |
---|
828 | |
---|
829 | [20090724:0120] sbajic: Fixing bug in hash driver that prevented retraining with signature |
---|
830 | |
---|
831 | [20090720:2345] sbajic: Setting/reverting libdspm version back to 3.6.0 since no ABI/API changes have been done on libdspam for 3.9.0 |
---|
832 | |
---|
833 | [20090720:2330] sbajic: Fixing typos and errors from last commit (more logging and updates to Web UI) |
---|
834 | |
---|
835 | [20090720:0100] sbajic: Added more logging tags and updated Web UI to support them |
---|
836 | |
---|
837 | [20090719:2130] sbajic: Adding multi-language support to Web UI |
---|
838 | |
---|
839 | [20090719:1750] sbajic: Fixing version display in Web UI |
---|
840 | |
---|
841 | [20090712:2325] sbajic: Code cleanup (limiting scope of variables) and fixing resource leak in dspam_pg2int8 |
---|
842 | |
---|
843 | [20090711:1655] sbajic: Fixing bug in cssconvert and csscompress (closing SF Bug ID #2819960) |
---|
844 | |
---|
845 | [20090711:0910] sbajic: Casting call in _ds_degenerate_message() to _ds_strip_html() function |
---|
846 | |
---|
847 | [20090707:0930] sbajic: Fixing bug in src/hash_drv.c (closing SF Bug ID # 2817736) |
---|
848 | |
---|
849 | [20090705:1910] sbajic: Removing 3th parameter in calls to _ds_find_header() |
---|
850 | |
---|
851 | [20090705:1905] sbajic: Removing parameter from _ds_find_header() for case insensitivity |
---|
852 | |
---|
853 | [20090705:1850] sbajic: Adding more debug output if verbose is turned on |
---|
854 | |
---|
855 | [20090705:1800] sbajic: Fixing typo in src/tokenizer.c |
---|
856 | |
---|
857 | [20090705:1435] sbajic: Fixing comparing for header field names to be case insensitive (see RFC822 section B.2) |
---|
858 | |
---|
859 | [20090701:1430] sbajic: Fixing a case where a memory allocation error in decode.c was not handled correctly |
---|
860 | |
---|
861 | [20090629:2145] sbajic: Adding script for Lotus Notes into contrib directory |
---|
862 | * Added Lotus Notes/Domino LotusScript Library (libDSPAMReporting.lss) into |
---|
863 | the contrib directory. The LotusScript Library can be used together with |
---|
864 | IBM Lotus Notes/Domino for retraining messages with the Lotus Notes |
---|
865 | Client. |
---|
866 | |
---|
867 | [20090628:1350] sbajic: Closing SF Bug ID #2813474 |
---|
868 | |
---|
869 | * Applying patches submitted by Andreas Schneider <mail@cynapses.org>: |
---|
870 | * Fix a build warning in util.h/util.c |
---|
871 | * Check return values of system functions for the hash driver |
---|
872 | * Fix a compile warning that init_pwent_cache() has no prototype |
---|
873 | |
---|
874 | [20090627:0404] sbajic: Removing Mac OS X patch for the duplicate symbol issue |
---|
875 | |
---|
876 | [20090627:0228] sbajic: Fixing compiler warnings in cssclean.c and util.c |
---|
877 | |
---|
878 | [20090627:0222] sbajic: Fixing broken return value in bnr_list_node_create() |
---|
879 | |
---|
880 | [20090627:0204] sbajic: Fixing compiling issue (duplicate symbol _agent_config in .libs/read_config.o and .libs/pref.o) on Mac OS X |
---|
881 | |
---|
882 | [20090627:0157] sbajic: Added csscompress to be build for the hash driver |
---|
883 | |
---|
884 | [20090627:0143] sbajic: Fixing PostgreSQL driver |
---|
885 | * Fixing SQL query in _ds_getall_spamrecords when using lookup_tokens |
---|
886 | |
---|
887 | [20090625:0242] sbajic: Fixing resource leak in dspam.c |
---|
888 | |
---|
889 | [20090625:0115] sbajic: Code cleanup in MySQL driver |
---|
890 | |
---|
891 | [20090624:1622] sbajic: Fixing typo in configure.pl.in (SF Bug ID #2811562) |
---|
892 | |
---|
893 | [20090623:2300] sbajic: Speed up of PostgreSQL driver |
---|
894 | |
---|
895 | * Avoid calling _pgsql_drv_token_type() in _ds_get_nexttoken(). The token |
---|
896 | field is either NUMERIC(20) or BIGINT for the dspam_token_data table per |
---|
897 | made connection to the PostgreSQL database. No need to check that for |
---|
898 | each and every token in _ds_get_nexttoken(). |
---|
899 | |
---|
900 | Version 3.9.0 ALPHA2 |
---|
901 | -------------------- |
---|
902 | |
---|
903 | [20090623:2255] sbajic: Code cleanup in MySQL and PostgreSQL driver |
---|
904 | |
---|
905 | [20090623:2157] sbajic: Removing not needed index from PostgreSQL schema |
---|
906 | |
---|
907 | [20090620:2130] sbajic: Updating documentation for Postfix integration |
---|
908 | |
---|
909 | Version 3.9.0 ALPHA |
---|
910 | ------------------- |
---|
911 | |
---|
912 | [20090617:0100] sbajic: Code cleanup in PostgreSQL driver |
---|
913 | |
---|
914 | [20090615:0300] sbajic: Fixing typo in MySQL documentation |
---|
915 | |
---|
916 | [20090615:0215] sbajic: MySQL driver changes |
---|
917 | |
---|
918 | * Close properly the diction when exiting |
---|
919 | * Update documentation for MySQL driver |
---|
920 | |
---|
921 | [20090615:2355] sbajic: SQLite3 driver, purge script and documentation update |
---|
922 | |
---|
923 | Change the SQLite3 driver to be closer to the changes recently done in the |
---|
924 | MySQL and PostgreSQL driver. The changes for the SQLite3 driver include: |
---|
925 | * Set all statistical counters to be unsigned |
---|
926 | * Fix memory leaks |
---|
927 | * Reduce memory footprint |
---|
928 | * Fix issues with escaped SQL queries |
---|
929 | * Add more debug output (only if debug is enabled) |
---|
930 | * Micro speed and memory consumption improvements by removing not needed |
---|
931 | whitespace from SQL queries. |
---|
932 | * Update SQLite3 purge script |
---|
933 | * Update documentation for SQLite driver |
---|
934 | |
---|
935 | Database schema has not changed. Users from pre 3.9.0 can just use the new |
---|
936 | driver without the need to run migration commands on the database. |
---|
937 | |
---|
938 | [20090611:0140] sbajic: Reduce calls to dspam binary in the WebUI |
---|
939 | |
---|
940 | [20090610:2255] sbajic: Fixing build problems when building on uClibc [Bug ID #2803122] |
---|
941 | |
---|
942 | * Fixed use of inet_ntoa_r on uClibc |
---|
943 | |
---|
944 | [20090606:1700] sbajic: Fixing potential free of null pointer in pwent cache |
---|
945 | |
---|
946 | [20090606:1043] sbajic: Fixing build problems when building against SQLite3 3.6 series |
---|
947 | |
---|
948 | * Fixed issues with m4 macro when building against SQLite 3.6.x [Bug ID #2774657] |
---|
949 | |
---|
950 | [20090605:0925] sbajic: Fixing access of deallocated variables in hash driver |
---|
951 | |
---|
952 | * Fixed using of deallocated variable in _ds_get_nextuser |
---|
953 | |
---|
954 | [20090604:1515] sbajic: Fixing memory leaks and using of deallocated variables in SQLite/SQLite3 driver |
---|
955 | |
---|
956 | * Fixed memory leak in _ds_set_signature (SQLite3 driver) |
---|
957 | * Fixed memory leak in _ds_get_nextsignature (SQLite driver) |
---|
958 | * Fixed using of deallocated variable in _ds_get_nextuser (SQLite3 and SQLite driver) |
---|
959 | |
---|
960 | [20090602:1329] sbajic: Fixing primary dspam processing agent |
---|
961 | |
---|
962 | * Properly terminating primary dspam processing agent when called in client mode |
---|
963 | |
---|
964 | [20090602:0244] sbajic: Fixing primary dspam processing agent |
---|
965 | |
---|
966 | * Properly terminating primary dspam processing agent |
---|
967 | * Reducing still reachable memory to be on par with the lightweight client-only call |
---|
968 | |
---|
969 | [20090602:0133] sbajic: MySQL driver changes |
---|
970 | |
---|
971 | * Fixing loop in MySQL driver introduced by latest MySQL driver patch |
---|
972 | |
---|
973 | [20090602:0124] sbajic: Fixing compiler warnings |
---|
974 | |
---|
975 | [20090602:0043] sbajic: PostgreSQL and MySQL driver changes |
---|
976 | |
---|
977 | Changing the PostgreSQL and MySQL driver source to be more congruent with each |
---|
978 | other. |
---|
979 | |
---|
980 | [20090601:1610] sbajic: PostgreSQL driver and schema updates |
---|
981 | |
---|
982 | Finally things like 'dspam_admin change preference myuser "trainingMode" "toe"' |
---|
983 | work without writing garbage in the PostgreSQL table if the "myuser" did not |
---|
984 | existed before calling dspam_admin. The changes in the PostgreSQL driver push |
---|
985 | the driver to be on par with the recent changes done in the DSPAM MySQL driver. |
---|
986 | The changes for the PostgreSQL driver include: |
---|
987 | * Set all statistical counters to be unsigned |
---|
988 | * Fix memory leaks |
---|
989 | * Reduce memory footprint |
---|
990 | * Fix issues with escaped SQL queries |
---|
991 | * Add more debug output (only if debug is enabled) |
---|
992 | * Micro speed and memory consumption improvements by removing not needed |
---|
993 | whitespace from SQL queries. |
---|
994 | * Update PosgreSQL database schema (extending the amount of users DSPAM can |
---|
995 | handle with the PostgreSQL driver from 32767 to 2147483647 users) |
---|
996 | * Update PosgreSQL purge scripts |
---|
997 | |
---|
998 | The documentation for upgrading to DSPAM 3.9.0 has informations how to update |
---|
999 | existing DSPAM PostgreSQL schema from pre-3.9.0 to the new 3.9.0 schema. |
---|
1000 | |
---|
1001 | [20090530:1925] sbajic: Enhancing _ds_strip_html |
---|
1002 | |
---|
1003 | * Adding more tags to be stripped/handled in _ds_strip_html |
---|
1004 | |
---|
1005 | [20090530:1210] sbajic: Fixes for bug id #2796390 |
---|
1006 | |
---|
1007 | * Adding function _ds_strip_html to strip html tags and decode a bunch of html encoded characters |
---|
1008 | * Replacing stripping of html in _ds_degenerate_message with call to new function |
---|
1009 | * Speeding up and enhancing html message processing |
---|
1010 | |
---|
1011 | [20090530:1020] sbajic: Fixes for bug id #2796390 |
---|
1012 | |
---|
1013 | * Adding function _ds_decode_hex8bit |
---|
1014 | * Replacing decoding of hexadecimal 8-bit in _ds_degenerate_message with call to new function |
---|
1015 | * Speeding up hexadecimal 8-bit decoding |
---|
1016 | |
---|
1017 | [20090530:0145] sbajic: Fixes for bug id #2796390 |
---|
1018 | |
---|
1019 | * Speeding up and fixing function _ds_decode_quoted() |
---|
1020 | * Adding function _ds_hex2dec() |
---|
1021 | |
---|
1022 | [20090529:2350] sbajic: MySQL driver updates |
---|
1023 | |
---|
1024 | * Updating _ds_setall_spamrecords to honor MySQLs max_allowed_packet for the insert query. |
---|
1025 | * Updating _ds_setall_spamrecords to honor MySQLs max_allowed_packet for the update query. |
---|
1026 | * Micro speed and memory consumption improvements by removing not needed whitespace from SQL queries. |
---|
1027 | |
---|
1028 | [20090525:1240] sbajic: Closing bug id #2796340 |
---|
1029 | |
---|
1030 | Applying patch submitted by Andreas Schneider: Don't exit() if malloc fails. |
---|
1031 | |
---|
1032 | When a library function calls exit(), it prevents the calling program from |
---|
1033 | handling the error, reporting it to the user, closing files properly, and |
---|
1034 | cleaning up any state that the program has. It is preferred for the |
---|
1035 | library to return an actual error code and let the calling program decide |
---|
1036 | how to handle the situation. |
---|
1037 | |
---|
1038 | [20090525:1215] sbajic: Updating MySQL related items |
---|
1039 | |
---|
1040 | * Purge scripts |
---|
1041 | * Schema |
---|
1042 | * Documentation regarding upgrade to 3.9.0 |
---|
1043 | |
---|
1044 | [20090525:1110] sbajic: Speeding up sbph/osb |
---|
1045 | |
---|
1046 | Slightly speed up algorithm for calculating complexity and algorithm |
---|
1047 | for calculating sparse. |
---|
1048 | |
---|
1049 | [20090525:0240] sbajic: Speeding up sbph/osb |
---|
1050 | |
---|
1051 | Using fast exponentiation (reducing existing algorithm complexity from |
---|
1052 | O(n-1) to O(log n)) for sparse token and bitpattern generation. |
---|
1053 | |
---|
1054 | [20090524:2315] sbajic: Reverting back Markovian weight calculation |
---|
1055 | |
---|
1056 | Use again a bunch of "if" statements instead of calculating Markovian |
---|
1057 | weight. It turns out that using "if" statements is way faster then |
---|
1058 | calling the pow() function. Reordered the "if" statements in order to |
---|
1059 | speed up weight calculation. |
---|
1060 | |
---|
1061 | [20090523:2240] sbajic: MySQL driver fixes |
---|
1062 | |
---|
1063 | Fixing typo in last MySQL patch |
---|
1064 | |
---|
1065 | [20090523:1940] sbajic: Improper client exit |
---|
1066 | |
---|
1067 | Fix improper exit in client code. |
---|
1068 | |
---|
1069 | [20090523:1920] sbajic: Gentoo patch 30 (b.g.o id #231175) |
---|
1070 | |
---|
1071 | Cut the domain (including the at sign) from recipients. |
---|
1072 | |
---|
1073 | [20090523:1535] sbajic: Simplify Markovian weight calculation |
---|
1074 | |
---|
1075 | Calculate Markovian weight instead of using a bunch of if conditions |
---|
1076 | |
---|
1077 | [20090523:1530] sbajic: Improve buffer management |
---|
1078 | |
---|
1079 | Speedup/Improve buffer management |
---|
1080 | |
---|
1081 | [20090523:1440] sbajic: MySQL driver changes |
---|
1082 | |
---|
1083 | * Setting all statistical counters to be unsigned |
---|
1084 | * Fixing memory leaks |
---|
1085 | * Enhancing speed for MySQL (especially for >= 4.1) |
---|
1086 | * Honor MySQL 'max_allowed_packet' setting |
---|
1087 | * Reduce memory footprint |
---|
1088 | * Updating MySQL database schema |
---|
1089 | |
---|
1090 | [20090523:0400] sbajic: MySQL driver changes |
---|
1091 | |
---|
1092 | Adding more debug output (in case of errors) for the MySQL driver |
---|
1093 | |
---|
1094 | [20090523:0300] sbajic: MySQL driver changes |
---|
1095 | |
---|
1096 | Added support for MySQL >= 5.0.3 client libraries |
---|
1097 | |
---|
1098 | [20090523:0200] sbajic: Closing Bug-ID: 2527286 and 2527289 |
---|
1099 | |
---|
1100 | * Added ability to set RBLInoculate as a user preference. |
---|
1101 | * Added ability to ignore RBLLookups as a user preference. |
---|
1102 | See ignoreRBLLookups and RBLLookups in README |
---|
1103 | |
---|
1104 | [20090523:0000] sbajic: Code cleanup / fixing memory leaks in libdspam |
---|
1105 | |
---|
1106 | * Fixing some memory leaks in libdspam.c |
---|
1107 | * Cleaning up code in libdspam.c |
---|
1108 | * Total Innocent and Total Spam set to be unsigned long instead of long |
---|
1109 | * Fixing calculation for robinson to use unsigned long instead of signed int |
---|
1110 | for spam_hits + innocent_hits |
---|
1111 | * Adding more verbose output in case of CTX errors |
---|
1112 | |
---|
1113 | [20090523:0000] sbajic: Fixing libdspam objects and structs |
---|
1114 | |
---|
1115 | Setting the 'length' of the DSPAM signature struct to be unsigned long. There |
---|
1116 | is no need to have that value signed long. |
---|
1117 | |
---|
1118 | [20090523:0000] sbajic: Fixing memory leaks / enhancing stats output |
---|
1119 | |
---|
1120 | * Fixing a bunch of memory leaks in dspam.c |
---|
1121 | * Fixing a bunch of memory leaks in tokenizer.c |
---|
1122 | * Adding PPV (Positive predictive value) to the output of dspam_stats |
---|
1123 | |
---|
1124 | [20090522:2130] steeeeeveee: Closing Bug-ID: 2692425 |
---|
1125 | |
---|
1126 | Blacklist if RBL lookup return in the 127.0.0.0/8 network |
---|
1127 | |
---|
1128 | [20090522:2100] steeeeeveee: Fixing output of syntax/switches for DSPAM |
---|
1129 | |
---|
1130 | * Added undocumented (but available) switches to DSPAM agent syntax output: |
---|
1131 | --debug |
---|
1132 | --mail-from= |
---|
1133 | --rcpt-to |
---|
1134 | --signature= |
---|
1135 | --help |
---|
1136 | --version |
---|
1137 | |
---|
1138 | * Added undocumented (but available) mode "unlearn" into the syntax output |
---|
1139 | |
---|
1140 | * Only "no" (noise), "wh" (whitelist) and "tb" (training buffer) are supported |
---|
1141 | features. The features "ch" (chain/chained) and "sbph" (Sparse Binary Polynomial |
---|
1142 | Hashing) where long time ago moved to tokenizers and are not any more available |
---|
1143 | as features. |
---|
1144 | |
---|
1145 | [20090522:2030] steeeeeveee: Fixing memory leaks |
---|
1146 | |
---|
1147 | Fixing a memory leak condition in libdspam.c |
---|
1148 | |
---|
1149 | [20080507:1500] mjohnson: Added external_lookup.* source files |
---|
1150 | |
---|
1151 | These files were missed in the previous round of CVS updates. |
---|
1152 | |
---|
1153 | [20080503:1400] mjohnson: Dspam train with MBOX files |
---|
1154 | |
---|
1155 | Submitted by Vadim Zeitlin. Allows dspam_train to work with both maildir-like |
---|
1156 | directories and also MBOX folders. |
---|
1157 | |
---|
1158 | [20080503:1400] mjohnson: Dspam dump fixes |
---|
1159 | |
---|
1160 | Submitted by Vadim Zeitlin. Allows dspam_dump to be used by normal |
---|
1161 | (non-trusted) users for their own usernames, while trusted users can use this |
---|
1162 | for other usernames as well. Also updated the manpage to more correctly |
---|
1163 | reflect the current usage syntax. |
---|
1164 | |
---|
1165 | [20080503:1400] mjohnson: Dspam train fixes |
---|
1166 | |
---|
1167 | Submitted by Vadim Zeitlin. Proper string comparison of spam_dir and ham_dir |
---|
1168 | using 'ne' instead of '!='. Fixed disparity between operation and man page for |
---|
1169 | username parameter. |
---|
1170 | |
---|
1171 | [20080503:1100] mjohnson: MySQL driver bug fixes |
---|
1172 | |
---|
1173 | Corrects error handling of name logging for both user and group names. |
---|
1174 | |
---|
1175 | [20080503:1100] mjohnson: External user lookup |
---|
1176 | |
---|
1177 | Submitted by Hugo Monteiro. Allows dspam to lookup a username for the dspam |
---|
1178 | database in an external source. This extends the existing |
---|
1179 | ldap_client interface, and also provides a generic interface for scripted |
---|
1180 | programs. More detail and the latest versions. This allows the administrator |
---|
1181 | to define custom usernames to be used, not only system usernames or email addresses. |
---|
1182 | |
---|
1183 | This gives the possibility to change a users username and/or email address |
---|
1184 | without having to worry about losing or migrating the users DSPAM data. It |
---|
1185 | also mitigates the problem of user address and email alias matching in mail |
---|
1186 | gateway/anti-spam appliance types of setup. |
---|
1187 | |
---|
1188 | [20080502:1600] mjohnson: WebUI changes |
---|
1189 | |
---|
1190 | Submitted by Kyle Johnson. Number of changes including: |
---|
1191 | * Moved the Version listing to underneath of the dspam logo. |
---|
1192 | * Completely removed the #footer. |
---|
1193 | * Fixed the navigation list to display correctly (correct use of css (floats and clears)). |
---|
1194 | * Moved the history page numbers ([ 1 2 3 4 5 6 7 8 > ]) into their own thingy ($HISTORYPAGES$). |
---|
1195 | * Moved the "Sort by:" links in the Quarantine tab into the table headers ($SORT_QUARANTINE$). |
---|
1196 | |
---|
1197 | [20080502:1600] mjohnson: Post quarantine method |
---|
1198 | |
---|
1199 | Submitted by Scott Worley. Changes from Get to Post method |
---|
1200 | |
---|
1201 | [20080502:1600] mjohnson: Untrusted users statistics |
---|
1202 | |
---|
1203 | Submitted by Vadim Zeitlin. Untrusted users can see their own statistics. |
---|
1204 | |
---|
1205 | [20080502:1600] mjohnson: MySQL UIDinSignature option |
---|
1206 | |
---|
1207 | Submitted by Xavier De Cock. Looks for the userid in sig first, then tries the |
---|
1208 | username. |
---|
1209 | |
---|
1210 | [20080502:1530] mjohnson: Default username for webui patch |
---|
1211 | |
---|
1212 | Submitted by Hugo Monteiro. Uses 'default' username for default preferences. |
---|
1213 | |
---|
1214 | [20080310:0556] steveb: Allow daemon to listen to specific TCP host |
---|
1215 | |
---|
1216 | User-configurable preference ServerHost added (set to '127.0.0.1') to allow using |
---|
1217 | specific TCP host when running in daemon mode. Not specifying ServerHost will |
---|
1218 | bind to all available interfaces when running in daemon mode and using TCP sockets. |
---|
1219 | |
---|
1220 | [20080202:1330] mjohnson: PostgreSQL patch 8+ performance patch |
---|
1221 | |
---|
1222 | Submitted by Kenneth Marshall. |
---|
1223 | |
---|
1224 | [20080201:1300] mjohnson: shift-click multiple row-selection |
---|
1225 | |
---|
1226 | Submitted via web interface. Allows users to select multiple rows by clicking |
---|
1227 | on the initial row, holding shift, and clicking on the final row. |
---|
1228 | |
---|
1229 | [20080201:1300] mjohnson: Select 200 patch |
---|
1230 | |
---|
1231 | Submitted via web interface. Adds a "select 200" button to the quarantine page. |
---|
1232 | |
---|
1233 | [20080201:1300] mjohnson: configure.ac fit |
---|
1234 | |
---|
1235 | Submitted by Niki Guldbrand. Removed some junk from a previous merge. |
---|
1236 | |
---|
1237 | [20071220:1800] mjohnson: Feature request #23 - dspam_notify |
---|
1238 | |
---|
1239 | Submitted by Kyle Johnson. Also added Daily Quarantine Summary option. |
---|
1240 | |
---|
1241 | [20071220:1730] mjohnson: Gentoo bug 201656 |
---|
1242 | |
---|
1243 | Submitted by Alin Nastac. Hash driver work. |
---|
1244 | |
---|
1245 | [20071213:1300] mjohnson: Advertise 8-bit MIME support |
---|
1246 | |
---|
1247 | Submitted by Aleksander Kemanik. |
---|
1248 | |
---|
1249 | [20071213:1300] mjohnson: Write checking for hash driver |
---|
1250 | |
---|
1251 | Submitted by Boguslaw Juza - Uses ERR_IO_FILE_WRITE instead of |
---|
1252 | ERR_IO_FILE_OPEN, improved error handling |
---|
1253 | |
---|
1254 | [20071213:1600] mjohnson: Lock timeout |
---|
1255 | |
---|
1256 | Submitted by Boguslaw Juza - Now uses signal.h |
---|
1257 | |
---|
1258 | [20071213:1300] mjohnson: CSS clean copy header |
---|
1259 | |
---|
1260 | Submitted by Boguslaw Juza - Copies the older header into the new header for |
---|
1261 | the hash driver |
---|
1262 | |
---|
1263 | [20071213:1300] mjohnson: Hash time stamp |
---|
1264 | |
---|
1265 | Submitted by Boguslaw Juza - Adds a README and (heavy) optional flag to hash |
---|
1266 | driver cssclean |
---|
1267 | |
---|
1268 | [20071213:1300] mjohnson: Feature Request 22 |
---|
1269 | |
---|
1270 | Submitted by Kyle Johnson - Add version number to bottom of web interface |
---|
1271 | |
---|
1272 | [20071213:1300] mjohnson: Gentoo patch 29 |
---|
1273 | |
---|
1274 | Submitted by Steve - Debug fix for BNR |
---|
1275 | |
---|
1276 | [20071213:1300] mjohnson: Gentoo patch 28 |
---|
1277 | |
---|
1278 | Submitted by Alin Nastac - Fixes to the hash driver |
---|
1279 | |
---|
1280 | [20071213:1300] mjohnson: fix-unused-variables warnings |
---|
1281 | |
---|
1282 | Submitted by Steve to fix the warnings generating by the make-daemon-quiet |
---|
1283 | patch. |
---|
1284 | |
---|
1285 | [20071206:1530] mjohnson: Gentoo patch 26 |
---|
1286 | |
---|
1287 | Relaxed group member matching |
---|
1288 | |
---|
1289 | [20071206:1530] mjohnson: Gentoo patch 25 |
---|
1290 | |
---|
1291 | Improved error handling on shutdown |
---|
1292 | |
---|
1293 | [20071206:1530] mjohnson: Gentoo patch 24 |
---|
1294 | |
---|
1295 | Ensure notification paths exist |
---|
1296 | |
---|
1297 | [20071206:1530] mjohnson: Gentoo patch 23 |
---|
1298 | |
---|
1299 | MySQL reconnect patch |
---|
1300 | |
---|
1301 | [20071206:1500] mjohnson: Gentoo patch 21 |
---|
1302 | |
---|
1303 | On client sending errors, send partial message with \r\n instead of \n |
---|
1304 | |
---|
1305 | [20071206:1500] mjohnson: Gentoo patch 20 |
---|
1306 | |
---|
1307 | Training skips broken tests and signatures, rather than exiting |
---|
1308 | |
---|
1309 | [20071206:1500] mjohnson: Gentoo patch 19 |
---|
1310 | |
---|
1311 | Look for the last @ symbol in addresses (not the first) |
---|
1312 | |
---|
1313 | [20071206:1500] mjohnson: Gentoo patch 18 |
---|
1314 | |
---|
1315 | Optimize database tables with dspam tokens and signature data |
---|
1316 | |
---|
1317 | [20071206:1500] mjohnson: Gentoo patch 17 |
---|
1318 | |
---|
1319 | Deprecated LDAP |
---|
1320 | |
---|
1321 | [20071206:1500] mjohnson: Gentoo patch 16 |
---|
1322 | |
---|
1323 | Pkglibdir in Makefile.am |
---|
1324 | |
---|
1325 | [20071206:1500] mjohnson: Gentoo patch 15 |
---|
1326 | |
---|
1327 | Hash driver and cssclean.cgi |
---|
1328 | |
---|
1329 | [20071206:1500] mjohnson: Gentoo patch 14 |
---|
1330 | |
---|
1331 | Improved line-ending for CGI scripts |
---|
1332 | |
---|
1333 | [20071206:1500] mjohnson: Updated copyright in configure.ac |
---|
1334 | |
---|
1335 | NodalCore(r) and Sensory Networks |
---|
1336 | |
---|
1337 | [20071206:1500] mjohnson: Gentoo patch 13 |
---|
1338 | |
---|
1339 | Improve config autodetection in configure.ac |
---|
1340 | |
---|
1341 | [20071206:1330] mjohnson: Gentoo patch 12 |
---|
1342 | |
---|
1343 | Take the configuration directory value from sysconfdir |
---|
1344 | |
---|
1345 | [20071206:1330] mjohnson: Gentoo patch 11 |
---|
1346 | |
---|
1347 | Preserve uid, gid, and permissions on the logfile during rotation |
---|
1348 | |
---|
1349 | [20071206:1330] mjohnson: Gentoo patch 10 |
---|
1350 | |
---|
1351 | Updates the storage driver location and trust setting in dspam.conf.in. |
---|
1352 | |
---|
1353 | [20071206:1300] mjohnson: Gentoo patch 9 |
---|
1354 | |
---|
1355 | Enable domain quarantine. |
---|
1356 | |
---|
1357 | [20071206:1300] mjohnson: Gentoo patch 7 |
---|
1358 | |
---|
1359 | Set the default pid file to be /var/run/dspam/dspam.pid if not specified. |
---|
1360 | |
---|
1361 | [20071206:1300] mjohnson: Gentoo patch 6 |
---|
1362 | |
---|
1363 | Fix quotes in PGSQL driver. |
---|
1364 | |
---|
1365 | [20071206:1300] mjohnson: Gentoo patch 5 |
---|
1366 | |
---|
1367 | Print dspam startup message to stdout instead of stderr |
---|
1368 | |
---|
1369 | [20071206:1100] mjohnson: Gentoo patch 4 |
---|
1370 | |
---|
1371 | Silences dspam daemon startup |
---|
1372 | |
---|
1373 | [20071206:1100] mjohnson: Gentoo patch 3 |
---|
1374 | |
---|
1375 | Fixed warnings for MySQL and PGSQL. |
---|
1376 | |
---|
1377 | [20071206:1100] mjohnson: Gentoo patch 2 |
---|
1378 | |
---|
1379 | Link dynamically instead of statically. |
---|
1380 | |
---|
1381 | [20071206:1100] mjohnson: Gentoo patch 1 |
---|
1382 | |
---|
1383 | Moved manpages into the right sections. |
---|
1384 | |
---|
1385 | [20071206:1100] mjohnson: Manpages |
---|
1386 | |
---|
1387 | Updated copyright to 2007 and changed website to dspam.nuclearelephant.com. |
---|
1388 | |
---|
1389 | [20071205:1600] mjohnson: FilteringHistory |
---|
1390 | |
---|
1391 | Martin Mares posted on 05-25-07. Feature Request #34. Filtering now all | spam |
---|
1392 | | innocent | whitelisted |
---|
1393 | |
---|
1394 | [20071205:1600] mjohnson: 8-bit headers patch |
---|
1395 | |
---|
1396 | Martin Mares posted on 05-25-07. All characters in X-DSpam-Factors headers except for obviously safe |
---|
1397 | regions encoded using %xx syntax. |
---|
1398 | |
---|
1399 | [20071205:1600] mjohnson: Virus not spam patch |
---|
1400 | |
---|
1401 | Julien Valroff posted on 11-29-07 for 3.6.8. Updated. |
---|
1402 | |
---|
1403 | [20071204:1200] mjohnson: dspam.cgi 'Retrain Checked' bug for false positives |
---|
1404 | |
---|
1405 | Remi Broemeling discovered on 10-26-07. Combination of |
---|
1406 | checkboxes and 'Retrain Checked' button fails for messages marked Spam that |
---|
1407 | should be Innocent. |
---|
1408 | |
---|
1409 | [20071204:1330] mjohnson: process_parseto bug |
---|
1410 | |
---|
1411 | Doug Hardie discovered on 06-09-07. Incorrectly parses forwarded messages with |
---|
1412 | lines like 'To: spam-trash'. |
---|
1413 | |
---|
1414 | [20071204:1530] mjohnson: libdspam linking |
---|
1415 | |
---|
1416 | Andreas Schneider posted on 10-22-07. Links dspam modules against libdspam |
---|
1417 | for compiling with shared storage drivers. |
---|
1418 | |
---|
1419 | [20071204:1530] mjohnson: read_config support for libdspam |
---|
1420 | |
---|
1421 | Andreas Schneider posted on 10-22-07. |
---|
1422 | |
---|
1423 | [20071204:1530] mjohnson: No such user bug |
---|
1424 | |
---|
1425 | Andreas Schneider posted on 10-23-07. dspamc wasn't declaring needed entity |
---|
1426 | variables (name, uid) for the agent. |
---|
1427 | |
---|
1428 | [20071204:1600] mjohnson: Enables '+' in addresses, ignores case |
---|
1429 | |
---|
1430 | Benjamin Donnachie posted on 05-30-07. |
---|
1431 | |
---|
1432 | [20071204:1600] mjohnson: Improved random seed initialization |
---|
1433 | |
---|
1434 | Martin Mares posted on 05-25-07. |
---|
1435 | |
---|
1436 | |
---|
1437 | Version 3.8.0 |
---|
1438 | ------------- |
---|
1439 | |
---|
1440 | [20061210.1435] jonz: fixed message corruption problems with direct delivery |
---|
1441 | |
---|
1442 | when using direct delivery (e.g. DeliveryHost), certain servers require a |
---|
1443 | linefeed after carriage return otherwise the message will become malformatted. |
---|
1444 | |
---|
1445 | [20060818.0700] jonz: added msg tagging support |
---|
1446 | |
---|
1447 | added ability to add tagline to messages based on their classification; see |
---|
1448 | tagSpam and tagNonspam preferences in README |
---|
1449 | |
---|
1450 | [20060607.1200] jonz: removed depricated oracle driver |
---|
1451 | |
---|
1452 | removed outdated oracle driver; no maintainer, lack of interest |
---|
1453 | |
---|
1454 | [20060606.0000] jonz: added ldap client to build |
---|
1455 | |
---|
1456 | added ldap client headers to makefile, would not build on some systems |
---|
1457 | |
---|
1458 | [20060601.0500] jonz: fix for dynamic storage drivers api |
---|
1459 | |
---|
1460 | fixed _ds_pref_del call to storage library |
---|
1461 | |
---|
1462 | [20060601.0300] jonz: webui history fix for 12:00 noon |
---|
1463 | |
---|
1464 | bugfix to display 12 noon as 12p, not 12a |
---|
1465 | |
---|
1466 | [20060530.0145] jonz: added connect check for pgsql |
---|
1467 | |
---|
1468 | added a connection check for pgsql, to reconnect on failure in daemon mode |
---|
1469 | |
---|
1470 | [20060530.0130] jonz: added logging of viruses |
---|
1471 | |
---|
1472 | added logging of viruses (and the source) to agent |
---|
1473 | |
---|
1474 | [20060527.1700] jonz: added HashPctIncrease option in dspam.conf |
---|
1475 | |
---|
1476 | HashPctIncrease: Increase the next extent size by n% from the size of the |
---|
1477 | last extent. The default behavior, when HashPctIncrease is not used, is to |
---|
1478 | always use HashExtentSize with no increase. This is useful in accommodating |
---|
1479 | systems where the default HashExtentSize can be too small for certain |
---|
1480 | high-volume users. |
---|
1481 | |
---|
1482 | [20060527.1530] jonz: cache runtime user information |
---|
1483 | |
---|
1484 | added caching of runtime user information, so this information is not polled |
---|
1485 | every message when running in daemon mode. also elimiates the need for |
---|
1486 | getpwuid_r when running in daemon mode (unless using mysql or pgsql), |
---|
1487 | which some operating systems do not have. |
---|
1488 | |
---|
1489 | [20060527.1530] jonz: moved TIME_ME into DEBUG |
---|
1490 | |
---|
1491 | when debug is active, TIME_ME automatically runs, reporting processing time |
---|
1492 | to debug |
---|
1493 | |
---|
1494 | [20060526.1900] jonz: fix for library TIME_ME measurements |
---|
1495 | |
---|
1496 | fixed bug where negative processing times were reported using TIME_ME |
---|
1497 | |
---|
1498 | [20060526.1600] jonz: turned off locking when not using syslog or logging |
---|
1499 | |
---|
1500 | no need to lock on LOG() when not logging |
---|
1501 | |
---|
1502 | [20060526.0230] jonz: rewrite for hash_drv offset caching |
---|
1503 | |
---|
1504 | rewrote offset caching in hash_drv; fixed some bugs which may have caused |
---|
1505 | a crash on extent addition |
---|
1506 | |
---|
1507 | [20060525.1100] jonz: fix for segfault on undefined DeliveryHost or ClientHost |
---|
1508 | |
---|
1509 | fix for segfault in daemon mode when DeliveryHost or ClientHost is not |
---|
1510 | specified |
---|
1511 | |
---|
1512 | [20060524.0300] jonz: added --client support for dspam_train |
---|
1513 | |
---|
1514 | use --client after username |
---|
1515 | |
---|
1516 | [20060523.0300] jonz: more code optimizations |
---|
1517 | |
---|
1518 | various optimizations to: |
---|
1519 | - tokenizer core |
---|
1520 | - hash_drv driver (store offset for writes) |
---|
1521 | - libdspam (preference lookups) |
---|
1522 | - optimizations for osb/sbph |
---|
1523 | |
---|
1524 | [20060522.0300] jonz: added ProcessorURLContext |
---|
1525 | |
---|
1526 | ProcessorURLContext creates Url* context-specific tokens for URLs; this is |
---|
1527 | the default in previous (and current) versions |
---|
1528 | |
---|
1529 | [20060522.0300] jonz: optimized osb/sbph tokenizer |
---|
1530 | |
---|
1531 | replaced several strlcat's with simple len counting to eliminate thousands of |
---|
1532 | unnecessary calls to strlen() and speed up osb/sbph tokenization process |
---|
1533 | |
---|
1534 | [20060519.0300] jonz: fix for segfault in vsyslog() |
---|
1535 | |
---|
1536 | fix segfault caused by bad use of va_args when vsyslog is called |
---|
1537 | |
---|
1538 | [20060519.0130] jonz: fix for segfault in dlopen() failure |
---|
1539 | |
---|
1540 | fixed bug causing segfault when dlopen() to storage driver library fails. |
---|
1541 | dspam still won't work any better if dlopen is failing but huzzah. |
---|
1542 | |
---|
1543 | [20060519.0100] jonz: fix for performance template / local domain |
---|
1544 | |
---|
1545 | added fix to display correct local domain in performance template, and only |
---|
1546 | display local domain if the username doesn't include an @ sign |
---|
1547 | |
---|
1548 | [20060517.0700] jonz: fix for preference delete |
---|
1549 | |
---|
1550 | fixed infinite loop on all non-preference-extension calls to delete a preference |
---|
1551 | |
---|
1552 | [20060516.0200] jonz: changed SupressWebStats |
---|
1553 | |
---|
1554 | SupressWebStats is now WebStats in dspam.conf, and setting is inverted. |
---|
1555 | |
---|
1556 | [20060516.0200] jonz: fix for agent flags |
---|
1557 | |
---|
1558 | discovered that agent flags required a 64-bit variable to hold all flags, but |
---|
1559 | only 32-bit variable was being used; this may have caused unpredictable |
---|
1560 | behavior when using SBPH, "unlearning" a message, or processing summaries. |
---|
1561 | |
---|
1562 | [20060516.0200] jonz: added OSB tokenizer |
---|
1563 | |
---|
1564 | osb (orthogonal sparse bigram) is similar to sbph, however only bigrams are |
---|
1565 | used to form sparse tokens; this uses far fewer resources than sbph with |
---|
1566 | very similar results |
---|
1567 | |
---|
1568 | [20060516.0200] jonz: interface change: added tokenizer variable |
---|
1569 | |
---|
1570 | added tokenizer variable to DSPAM_CTX and added following tokenizer flags: |
---|
1571 | |
---|
1572 | DSZ_WORD Use WORD (uniGram) tokenizer |
---|
1573 | DSZ_CHAIN Use CHAIN (biGram) tokenizer |
---|
1574 | DSZ_SBPH Use SBPH (Sparse BP Hashing) tokenizer |
---|
1575 | DSZ_OSB Use OSB (Orthogonal Sparse biGram) |
---|
1576 | |
---|
1577 | WARNING: This is an API change and constitutes a new major version. Third |
---|
1578 | party applications may fail to compile/run against this. |
---|
1579 | |
---|
1580 | [20060414.1145] jonz: fix for segfault on log write err |
---|
1581 | |
---|
1582 | when using --with-logfile, if file cannot be opened, dspam segfaulted |
---|
1583 | |
---|
1584 | [20060513.1100] jonz: fixed compiler warnings on sqlite drivers |
---|
1585 | |
---|
1586 | signed-ness warnings, nothing significant |
---|
1587 | |
---|
1588 | [20060514.0900] jonz: discontinued support for berkeley db |
---|
1589 | |
---|
1590 | deprecated bdb drivers finally removed from distribution |
---|
1591 | |
---|
1592 | [20060512.2105] jonz: copyright modifications |
---|
1593 | |
---|
1594 | reassignment to Jonathan Zdziarski instead of using my corporate face |
---|
1595 | |
---|
1596 | [20060512.2100] jonz: removed some legacy piecess |
---|
1597 | |
---|
1598 | - removed dspam_corpus (replaced by newer dspam_train) |
---|
1599 | - removed dspam_genaliases (replaced by parse-to-headers, virtual users, etc) |
---|
1600 | |
---|
1601 | [20060512.0100] jonz: segfault fix for UIDInSignature |
---|
1602 | |
---|
1603 | fixed a critical bug that can cause segfaults when correcting messages using |
---|
1604 | UIDInSignature options. database handle is refreshed, but new pointer is never |
---|
1605 | used. |
---|
1606 | |
---|
1607 | [20060510.0800] jonz: fix to recognize trainPristine "off" in preferences |
---|
1608 | |
---|
1609 | preference turned "off" should override config turned "on" |
---|
1610 | |
---|
1611 | Version 3.6.8 |
---|
1612 | ------------- |
---|
1613 | |
---|
1614 | [20060606.0000] jonz: fixes for pgsql_drv |
---|
1615 | |
---|
1616 | fixed bugs from last release causing pgsql to fail on connection |
---|
1617 | |
---|
1618 | [20060606.0000] jonz: added ldap_client headers to build |
---|
1619 | |
---|
1620 | some operating systems refused to build ldap client due to missing header |
---|
1621 | in makefile |
---|
1622 | |
---|
1623 | Version 3.6.7 |
---|
1624 | ------------- |
---|
1625 | |
---|
1626 | [20060602.2300] jonz: fix for UIDInSignature with groups |
---|
1627 | |
---|
1628 | fixed a bug causing the wrong uid to be written when UIDInSignature is used |
---|
1629 | in conjunction with groups |
---|
1630 | |
---|
1631 | [20060530.0145] jonz: added connect check for pgsql |
---|
1632 | |
---|
1633 | added a connection check for pgsql, to reconnect on failure in daemon mode |
---|
1634 | |
---|
1635 | [20060530.1100] jonz: fix for incorrect reporting of X-DSPAM-Probability |
---|
1636 | |
---|
1637 | fixed a bug causing X-DSPAM-Probability to be misreported when using multiple |
---|
1638 | algorithms |
---|
1639 | |
---|
1640 | [20060525.1100] jonz: fix for segfault on undefined DeliveryHost or ClientHost |
---|
1641 | |
---|
1642 | fix for segfault in daemon mode when DeliveryHost or ClientHost is not |
---|
1643 | specified |
---|
1644 | |
---|
1645 | [20060519.0300] jonz: fix for segfault in vsyslog() |
---|
1646 | |
---|
1647 | fix segfault caused by bad use of va_args when vsyslog is called |
---|
1648 | |
---|
1649 | [20060519.0130] jonz: fix for segfault in dlopen() failure |
---|
1650 | |
---|
1651 | fixed bug causing segfault when dlopen() to storage driver library fails. |
---|
1652 | dspam still won't work any better if dlopen is failing but huzzah. |
---|
1653 | |
---|
1654 | [20060517.0700] jonz: fix for preference delete |
---|
1655 | |
---|
1656 | fixed infinite loop on all non-preference-extension calls to delete a preference |
---|
1657 | |
---|
1658 | [20060516.0200] jonz: fix for agent flags |
---|
1659 | |
---|
1660 | discovered that agent flags required a 64-bit variable to hold all flags, but |
---|
1661 | only 32-bit variable was being used; this may have caused unpredictable |
---|
1662 | behavior when using SBPH, "unlearning" a message, or processing summaries. |
---|
1663 | |
---|
1664 | Version 3.6.6 |
---|
1665 | ------------- |
---|
1666 | |
---|
1667 | [20060513.1100] jonz: fixed compiler warnings on sqlite drivers |
---|
1668 | |
---|
1669 | signed-ness warnings, nothing significant |
---|
1670 | |
---|
1671 | [20060514.0900] jonz: discontinued support for berkeley db |
---|
1672 | |
---|
1673 | deprecated bdb drivers finally removed from distribution |
---|
1674 | |
---|
1675 | [20060512.2105] jonz: copyright modifications |
---|
1676 | |
---|
1677 | reassignment to Jonathan Zdziarski instead of using my corporate face |
---|
1678 | |
---|
1679 | [20060512.2100] jonz: removed some legacy piecess |
---|
1680 | |
---|
1681 | - removed dspam_corpus (replaced by newer dspam_train) |
---|
1682 | - removed dspam_genaliases (replaced by parse-to-headers, virtual users, etc) |
---|
1683 | |
---|
1684 | [20060512.0100] jonz: segfault fix for UIDInSignature |
---|
1685 | |
---|
1686 | fixed a critical bug that can cause segfaults when correcting messages using |
---|
1687 | UIDInSignature options. database handle is refreshed, but new pointer is never |
---|
1688 | used. |
---|
1689 | |
---|
1690 | [20060510.0800] jonz: fix to recognize trainPristine "off" in preferences |
---|
1691 | |
---|
1692 | preference turned "off" should override config turned "on" |
---|
1693 | |
---|
1694 | Version 3.6.5 |
---|
1695 | ------------- |
---|
1696 | |
---|
1697 | [20060421.1645] jonz: do not quarantine when delivering summary |
---|
1698 | |
---|
1699 | bugfix to prevent quarantining of message when delivering summary |
---|
1700 | |
---|
1701 | [20060421.1630] jonz: pgsql performance enhancements |
---|
1702 | |
---|
1703 | improvements to purge scripts and object creation script |
---|
1704 | |
---|
1705 | [20060419.1300] jonz: admin graph fixes |
---|
1706 | |
---|
1707 | prevents carriage returns in subjects/fromlines from being written |
---|
1708 | improves parsing of admin graphs to avoid "last day stackup" scenario |
---|
1709 | |
---|
1710 | [20060419.1200] jonz: webui patch |
---|
1711 | |
---|
1712 | Applied patch submitted by Stefan Huelswitt <s.huelswitt@gmx.de> |
---|
1713 | |
---|
1714 | Using HTTP redirect to redirect the browser back to the original template |
---|
1715 | after the user has executed a link. Doesn't allow the browser to show the URL |
---|
1716 | location with the embedded command e.g. retrain=spam. Protects the user from |
---|
1717 | accidental re-execute of the command by reloading the page. |
---|
1718 | Changed DisplayHistory to scan the entire logfile first and only then decide |
---|
1719 | which information has to be displayed based on history_page. Avoids wrong |
---|
1720 | display due to incomplete information available. |
---|
1721 | Discard 'resent' messages in history display. |
---|
1722 | Quote single-quote ' (mostly from subject) in javascript command for fragment |
---|
1723 | display. Prevents execution of the command. |
---|
1724 | Added links to previous/next history page. |
---|
1725 | Added 'history_page=1' to all templates for consistency. |
---|
1726 | Apply MAX_COL_LEN to history display as well. |
---|
1727 | Added DATE_FORMAT to configure.pl to allow customized date format in history |
---|
1728 | and quarantine (using strftime). |
---|
1729 | Added OPTMODE to configure.pl to customize preferences tab for OptIn, OptOut |
---|
1730 | or no selectable option. |
---|
1731 | Touching a mailbox timestamp file every time the user displays the quarantine. |
---|
1732 | This file can be used in a report_quarantine script. |
---|
1733 | Removed 'sortby=Rating' from all templates as it renders SORT_DEFAULT useless. |
---|
1734 | In quarantine, keep selected sort method after processing mails. |
---|
1735 | In GetPrefs, read default prefs first and overlay them with user prefs. |
---|
1736 | |
---|
1737 | [20060418.0830] jonz: dspam.cgi to use MAX_COL_LEN |
---|
1738 | |
---|
1739 | MAX_COL_LEN used for calculating column length in WebUI |
---|
1740 | |
---|
1741 | [20060418.0830] jonz: dspam_admin patch |
---|
1742 | |
---|
1743 | corrects the output of "dspam_admin aggr pref" |
---|
1744 | |
---|
1745 | [20060418.1435] jonz: bugfix for flat preference read |
---|
1746 | |
---|
1747 | fixed a bug causing writing of flat-file preferences to fail on some systems |
---|
1748 | |
---|
1749 | [20060418.1435] jonz: fix for segfault on clamav connect error |
---|
1750 | |
---|
1751 | fixed a bug where certain problems establishing connectivity to clamav can |
---|
1752 | segfault dspam |
---|
1753 | |
---|
1754 | [20060412.0900] jonz: fix for segfault on empty username |
---|
1755 | |
---|
1756 | fixed a bug where a NULL username can sneak in and cause a segfault on strdup |
---|
1757 | |
---|
1758 | [20060331.0800] jonz: fix for ClamAV |
---|
1759 | |
---|
1760 | applied patch to fix clamav issues |
---|
1761 | |
---|
1762 | [20060324.0845] jonz: fragment overwrite bug |
---|
1763 | |
---|
1764 | fixed a bug where a fragment file is overwritten on retrain |
---|
1765 | |
---|
1766 | [20060324.0845] jonz: fixed invalid read/segfault |
---|
1767 | |
---|
1768 | dspam.c:3284 |
---|
1769 | |
---|
1770 | [20060222.0830] jonz: fixed segfault on bad configuration |
---|
1771 | |
---|
1772 | fixed a segfault which can occur if TrainingMode is not specified in dspam.conf |
---|
1773 | |
---|
1774 | [20060216.1545] jonz: added syslog and logfile flags |
---|
1775 | |
---|
1776 | added --disable-syslog function to turn off syslogging |
---|
1777 | added --with-logfile= funciton to define a flat file for logging |
---|
1778 | |
---|
1779 | [20060215.1230] jonz: dspam_stats to total all stats displayed with -t |
---|
1780 | |
---|
1781 | dspam_stats now displays a total of all stats included in the original query |
---|
1782 | when -t is used |
---|
1783 | |
---|
1784 | [20060215.1230] jonz: Markovian result used as X-DSPAM-Confidence |
---|
1785 | |
---|
1786 | X-DSPAM-Confidence is set using markovian result, whenever markovian |
---|
1787 | pvalues are used. |
---|
1788 | |
---|
1789 | [20060215.1200] jonz: bugfix for dspamc and --deliver=summary |
---|
1790 | |
---|
1791 | fixed a bug causing --deliver=summary to return no output when used in dspamc |
---|
1792 | |
---|
1793 | [20060215.1200] jonz: support for read/write servers in mysql_drv |
---|
1794 | |
---|
1795 | added support for separate read/write servers to be used with mysql_drv. see |
---|
1796 | dspam.conf for more information. |
---|
1797 | |
---|
1798 | Version 3.6.4 |
---|
1799 | ------------- |
---|
1800 | |
---|
1801 | [20060211.1515] jonz: added index support for dspam_train |
---|
1802 | |
---|
1803 | added support for training using an index file to define the order of ham/spam |
---|
1804 | by specifying dspam_train [username] -i [indexname]. format of index file is |
---|
1805 | "class filename" where class can be spam/nonspam. |
---|
1806 | |
---|
1807 | [20060209.1930] jonz: cgi mass retraining patch |
---|
1808 | |
---|
1809 | applied mass retraining patch submitted by Cove Schneider <cove@wildpackets.com> |
---|
1810 | |
---|
1811 | [20060207.0400] jonz: cgi improvements |
---|
1812 | |
---|
1813 | - added Undo option to undo retraining |
---|
1814 | - added support for existing storeFragments option to recall message in history |
---|
1815 | |
---|
1816 | [20060206.1430] jonz: documented user preference options |
---|
1817 | |
---|
1818 | documented all available user preferences in 2.5 of README |
---|
1819 | |
---|
1820 | [20060202.1630] jonz: added ClassAlias options |
---|
1821 | |
---|
1822 | added ClassAlias options to dspam.conf to alias spam/nonspam classes |
---|
1823 | |
---|
1824 | [20060202.1200] jonz: bugfix for segfault on UIDInSignature with bad UID |
---|
1825 | |
---|
1826 | fixed a bug which causes a segfault when using UIDInSignature if a bad uid |
---|
1827 | is specified in the signature |
---|
1828 | |
---|
1829 | [20060131.0830] jonz: bugfix in --classify in client/server mode |
---|
1830 | |
---|
1831 | fixed a bug causing no output when using --classify in client/server mode |
---|
1832 | |
---|
1833 | [20060129.0000] jonz: dramatic reduction of token separators |
---|
1834 | |
---|
1835 | changed token separators in config.h, made noticeable improvement in accuracy |
---|
1836 | across a few different corpora. old delimiters are still there if we need |
---|
1837 | to change back. |
---|
1838 | |
---|
1839 | [20060124.0830] jonz: added dspam_train |
---|
1840 | |
---|
1841 | a true training and testing mechanism, useful for building pretrained databases |
---|
1842 | or training a user with their own corpus. also provides a test jig for |
---|
1843 | measuring efficiency/accuracy with a corpus over a configuration. |
---|
1844 | |
---|
1845 | [20060124.0830] jonz: fixes for dspam_corpus |
---|
1846 | |
---|
1847 | fixes for dspam_corpus: |
---|
1848 | - uses default settings for features and training modes, instead of its own |
---|
1849 | - now requires --spam or --nonspam arguments |
---|
1850 | |
---|
1851 | [20060124.0830] jonz: removed neural networking functions |
---|
1852 | |
---|
1853 | experimental, needed a rewrite, no support, and high maintenance |
---|
1854 | |
---|
1855 | [20060122.1700] jonz: more enhancements to accuracy |
---|
1856 | |
---|
1857 | - extended range for probabilities from .01/.99 to .0001/.9999 |
---|
1858 | - if a single-corpus token would have a stronger probability with one hit than |
---|
1859 | none, use the stronger probability |
---|
1860 | |
---|
1861 | [20060121.1835] jonz: code cleanup / performance improvements |
---|
1862 | |
---|
1863 | cleaned up text preprocessors (decoders and html scrubbers), avoided using |
---|
1864 | repeated strlen() functions which were consuming around 25% of the total |
---|
1865 | processing time. renamed _ds_message_block to _ds_message_part (no reason). |
---|
1866 | |
---|
1867 | [20060120.0500] jonz: packaging problem with preferences-extension support |
---|
1868 | |
---|
1869 | packagers trying to build all available storage drivers, but using |
---|
1870 | preferences-extension support would end up with a bombed build if they included |
---|
1871 | any drivers that didn't support preferences-extensions. this has been |
---|
1872 | corrected so that each driver has a stub to the flat-file preferences code, |
---|
1873 | which will be called if preferences extensions are disables or unsupported |
---|
1874 | for that driver. in other words, it should be possible to build all drivers |
---|
1875 | now with one build, even using preferences-extensions. |
---|
1876 | |
---|
1877 | Version 3.6.3 |
---|
1878 | ------------- |
---|
1879 | |
---|
1880 | [20060117.0608] jonz: enhancements to accuracy, performance |
---|
1881 | |
---|
1882 | made several optimizations to enhance accuracy and performance: |
---|
1883 | - rewrote some routines that were strdup'ing message body repeatedly |
---|
1884 | - changes to tokenization and probability assignment make a noticeable |
---|
1885 | difference in accuracy |
---|
1886 | |
---|
1887 | [20060113.0400] jonz: change for dspam_stats output |
---|
1888 | |
---|
1889 | updated dspam_stats "-S" output to use more widely accepted readings: |
---|
1890 | SHR: Spam Hit Rate (true positive rate) |
---|
1891 | HSR: Ham Strike Rate (false positive rate) |
---|
1892 | OCA: Overall Classification Accuracy |
---|
1893 | |
---|
1894 | [20060111.0830] jonz: bugfix for commandline agent error |
---|
1895 | |
---|
1896 | fixed bug causing "no trusted delivery agent configured" error when calling |
---|
1897 | dspam without an agent configured, but not delivering - or when using |
---|
1898 | --classify |
---|
1899 | |
---|
1900 | [20060110.0830] jonz: bugfix for ChangeUserOnParse |
---|
1901 | |
---|
1902 | fixed minor bug causing ChangeUserOnParse to format incorrectly |
---|
1903 | |
---|
1904 | [20060110.0830] jonz: patch to support multiple users with logrotate |
---|
1905 | |
---|
1906 | applied patch by Norman Maurer <nm@byteaction.de> to add large-scale support |
---|
1907 | to dspam_logrotate |
---|
1908 | |
---|
1909 | [20051213.1200] jonz: memory leak in bayesian noise reduction |
---|
1910 | |
---|
1911 | corrected a memory leak generated when using bayesian noise reduction |
---|
1912 | |
---|
1913 | [20051201.0000] jonz: fix for ldap calls |
---|
1914 | |
---|
1915 | fix to close connections to ldap after calls |
---|
1916 | fix to fail database creation on ldap failure |
---|
1917 | |
---|
1918 | Version 3.6.2 |
---|
1919 | ------------- |
---|
1920 | |
---|
1921 | [20051124.0900] jonz: bugfixes for token value calculations |
---|
1922 | |
---|
1923 | two bugs in how token values are calculated caused a significant rise in |
---|
1924 | false positives. this is now fixed, cutting false positives nearly in half. |
---|
1925 | |
---|
1926 | [20051123.1905] jonz: fix for get_nexttoken and hash_drv |
---|
1927 | |
---|
1928 | fixed calloc(0) oddity in get_nexttoken in hash_drv |
---|
1929 | |
---|
1930 | [20051123.0231] jonz: fix for hash_drv in daemon mode |
---|
1931 | |
---|
1932 | when hash_drv is used in daemon mode without HashConcurrentUser option, |
---|
1933 | segfaults can occur due to a failure to initialize the locking subsystem. |
---|
1934 | |
---|
1935 | Version 3.6.1 |
---|
1936 | ------------- |
---|
1937 | |
---|
1938 | [20051029.2230] jonz: fix for parsetoheaders |
---|
1939 | |
---|
1940 | fix for parsetoheaders which could have caused a segfault on malformatted "To" |
---|
1941 | header |
---|
1942 | |
---|
1943 | [20051029.2230] jonz: qmail support for tracksources |
---|
1944 | |
---|
1945 | applied patch contributed by Doug Miller <dnm@prentrom.com> to add support |
---|
1946 | for parsing qmail headers |
---|
1947 | |
---|
1948 | [20051025.0130] jonz: added check for strcasestr |
---|
1949 | |
---|
1950 | for some operating systems that have strcasestr, use the os's version instead |
---|
1951 | of our own |
---|
1952 | |
---|
1953 | [20051026.0130] jonz: fix for x-dspam-reclassified heading |
---|
1954 | |
---|
1955 | added fix for x-dspam-reclassified heading, which appears blank after |
---|
1956 | corrective training |
---|
1957 | |
---|
1958 | [20051025.0800] jonz: plused-detail to work with domains |
---|
1959 | |
---|
1960 | plused-detail would previously chop off anything after the +, which presented |
---|
1961 | a problem for systems using a full email address as a username. this fix |
---|
1962 | will cause user@domain.com to be used if user+mailbox@domain.com is specified, |
---|
1963 | and plused-detail support is enabled. |
---|
1964 | |
---|
1965 | [20051025.0800] jonz: fixed 8-byte alignment for hash databases |
---|
1966 | |
---|
1967 | using hash_drv on 64-bit processors caused crashes due to the structures in |
---|
1968 | the file not being 8-byte aligned. added cssconvert tool to convert all 3.6.0 |
---|
1969 | databases to aligned format. |
---|
1970 | |
---|
1971 | [20051022.0945] jonz: added train.pl script |
---|
1972 | |
---|
1973 | added train.pl script to scripts/ as an example of how to properly train. |
---|
1974 | updated markovian discrimination documents |
---|
1975 | |
---|
1976 | [20051020.0800] jonz: added processorBias preference |
---|
1977 | |
---|
1978 | added preference option to set processorBias |
---|
1979 | |
---|
1980 | [20051020.0800] jonz: fixed daemon-mode streaming issues |
---|
1981 | |
---|
1982 | fixed minor bugs causing trailing periods to be outputted after summaries |
---|
1983 | causing streaming tools to break |
---|
1984 | |
---|
1985 | [20051020.0800] jonz: fixed document source bug |
---|
1986 | |
---|
1987 | fixed a bug causing all documents processed with "DataSource document" to |
---|
1988 | fail |
---|
1989 | |
---|
1990 | [20051019.0300] jonz: fixed segfault on malformed Content-Type header |
---|
1991 | |
---|
1992 | fixed a segfault caused by invalid read on malformed Content-Type header |
---|
1993 | |
---|
1994 | [20051017.0800] jonz: fix for history in dspam.cgi |
---|
1995 | |
---|
1996 | fixed a typo causing the history to display blank in dspam.cgi |
---|
1997 | |
---|
1998 | Version 3.6.0 |
---|
1999 | ------------- |
---|
2000 | |
---|
2001 | [20051016.1930] jonz: automatic whitelisting now trusted sender system |
---|
2002 | |
---|
2003 | Instead of senders having to send you zero spam in order to be whitelisted, |
---|
2004 | they will have to send you less than one spam for every fifteen legitimate |
---|
2005 | messages. |
---|
2006 | |
---|
2007 | [20051013.0820] jonz: fix for header truncation bug |
---|
2008 | |
---|
2009 | fixed condition where headers could be truncated if > 4k in length |
---|
2010 | |
---|
2011 | [20051002.2100] jonz: dynamic storage driver support for linux and freebsd |
---|
2012 | |
---|
2013 | added fix for linux and freebsd to work with dynamic storage drivers; added |
---|
2014 | -rdynamic to LDFLAGS |
---|
2015 | |
---|
2016 | [20051001.1100] jonz: fixed dspam_merge tool |
---|
2017 | |
---|
2018 | fixed (rewrote) dspam_merge tool to work correctly. |
---|
2019 | |
---|
2020 | [20050930.0300] jonz: fixed spurious tabs in user log |
---|
2021 | |
---|
2022 | removed tabs from subject and sender in user log to avoid cgi malformatting |
---|
2023 | |
---|
2024 | [20050930.0300] jonz: added hash autoextend, csscompress tool |
---|
2025 | |
---|
2026 | added hash autoextend options to make hashes automatically grow. |
---|
2027 | added csscompress tool to compress extents. |
---|
2028 | made hash_drv default driver. |
---|
2029 | |
---|
2030 | [20050929.0700] jonz: added scan for dlopen/-ldl |
---|
2031 | |
---|
2032 | added a check to see if -ldl is needed to use dlopen/dlsym/etc |
---|
2033 | |
---|
2034 | [20050929.0700] jonz: fixed termination boundary bug |
---|
2035 | |
---|
2036 | fixed a bug causing a termination boundry to be written at end of html |
---|
2037 | segment instead of on separate line, under certain conditions |
---|
2038 | |
---|
2039 | [20050928.2100] jonz: fixed bugs in _ds_pref_set dynamic functions |
---|
2040 | |
---|
2041 | bug causing segfault, was calling the driver inappropriately |
---|
2042 | |
---|
2043 | [20050928.2100] jonz: tokenizer tweak: don't ignore digits |
---|
2044 | |
---|
2045 | stopped ignoring digits to further improve accuracy (old, paranoid code) |
---|
2046 | |
---|
2047 | Version 3.6.rc3 |
---|
2048 | --------------- |
---|
2049 | |
---|
2050 | [20050928.1800] jonz: removed token reassembly from ngram tokenizer |
---|
2051 | |
---|
2052 | removed token reassembly (individual letters, and chained letters appear to |
---|
2053 | be 1% more accurate during training) |
---|
2054 | |
---|
2055 | [20050928.1800] jonz: added signature to deliver=summary |
---|
2056 | |
---|
2057 | added signature=[sig] when specifying --deliver=summary |
---|
2058 | |
---|
2059 | [20050925.2200] jonz: added infinite improbability drive |
---|
2060 | |
---|
2061 | added infinite improbability drive, ImprobabilityDrive on |
---|
2062 | |
---|
2063 | [20050924.2040] jonz: removed legacy algorithm switches from configure |
---|
2064 | |
---|
2065 | removed vintage (old) algorithm switches from autoconf, e.g. |
---|
2066 | --enable-chi-square as they are now defined in dspam.conf. developers should |
---|
2067 | now start using the CTX->algorithms context member and the DSA_ and DSP_ |
---|
2068 | selections |
---|
2069 | |
---|
2070 | [20050924.2030] jonz: renamed SM/IM in dspam_stats |
---|
2071 | |
---|
2072 | renamed SM/IM in dspam_stats to TP (true positives) and TN (true negatives) |
---|
2073 | |
---|
2074 | [20050924.1345] jonz: relicensed; bound to GPL v2 |
---|
2075 | |
---|
2076 | after reading rms' latest responses hinting at the GPL3, which to some |
---|
2077 | degree mandates feature continuity for commercial use and other limits on |
---|
2078 | use rather than distribution, I thought I would take the opportunity while |
---|
2079 | I have it to bind to the GPL v2. should the GPLv3 turn out to be sane, we can |
---|
2080 | always open it back up to license under it. I have removed the "either |
---|
2081 | version 2 or later versions" and replaced it with "version 2". ianal, but |
---|
2082 | since no later versions existed during the period which dspam was available |
---|
2083 | under old terms, it is my understanding that previous versions of dspam may |
---|
2084 | similarly _not_ be applied to the GPLv3 as it would create a temporal paradox. |
---|
2085 | even if this is incorrect, 3.6 will be released specifically under the GPLv2. |
---|
2086 | |
---|
2087 | [20050923.2100] jonz: renamed css_drv to hash_drv |
---|
2088 | |
---|
2089 | to avoid confusion, the CRM Sparse Spectra driver is now known as simply the |
---|
2090 | hash driver, and is configured as hash_drv. |
---|
2091 | |
---|
2092 | [20050923.0800] jonz: added bias mode for markovian discrimination |
---|
2093 | |
---|
2094 | added support for ProcessorBias to markovian discrimination calculations. |
---|
2095 | NOTE: there is a significant change in results, and you may wish to leave bias |
---|
2096 | turned off (the way Bill intended it). See these sample results: |
---|
2097 | |
---|
2098 | Without Bias: |
---|
2099 | |
---|
2100 | sample TP: 956 TN: 992 FN: 49 FP: 13 SC: 0 IC: 0 |
---|
2101 | |
---|
2102 | With Bias: |
---|
2103 | |
---|
2104 | sample TP: 863 TN: 1004 FN: 140 FP: 3 SC: 8 IC: 0 |
---|
2105 | |
---|
2106 | [20050923.0800] jonz: added ProcessorBias and TestConditionalTraining |
---|
2107 | |
---|
2108 | added these options to dspam.conf, instead of using as configure options. |
---|
2109 | be sure to add these to your existing dspam.conf to avoid changes in dspam's |
---|
2110 | behavior (see UPGRADING). |
---|
2111 | |
---|
2112 | Version 3.6.rc2 |
---|
2113 | --------------- |
---|
2114 | |
---|
2115 | [20050922.0400] jonz: added MySQLSupressQuote for MySQL 4.1 quoting bug |
---|
2116 | |
---|
2117 | documented MySQL quoting bug in some versions of 4.1 (see doc/mysql.txt), and |
---|
2118 | added MySQLSupressQuote option to compensate, or alternatively you could just |
---|
2119 | upgrade to a better version of MySQL |
---|
2120 | |
---|
2121 | [20050920.1800] jonz: added persistent mode support for css_drv |
---|
2122 | |
---|
2123 | NOTE: css_drv has since been renamed to hash_drv |
---|
2124 | |
---|
2125 | added daemon mode support for css_drv when using CSSConcurrentUser (permanently |
---|
2126 | mmap's user's database into memory). no need for daemon mode when NOT using this |
---|
2127 | feature so don't bother, but is very fast if you are using a single global |
---|
2128 | css file. |
---|
2129 | |
---|
2130 | [20050916.0800] jonz: added override for css_rec_max to dspam.conf |
---|
2131 | |
---|
2132 | CSSRecMax can now be configured in dspam.conf |
---|
2133 | |
---|
2134 | [20050914.2215] jonz: added DataSource and ProcessorWordOccurence options |
---|
2135 | |
---|
2136 | if "DataSource document" is used in dspam.conf, all input will be treated as |
---|
2137 | a message "body" (e.g. a document) rather than split up between headers and |
---|
2138 | body. this is useful if classifying things other than email. |
---|
2139 | |
---|
2140 | if "ProcessorWordOccurence" is set to 'occurrence', all word counts are |
---|
2141 | based on occurrence rather than per-message. this may be useful when |
---|
2142 | classifying large documents. |
---|
2143 | |
---|
2144 | Version 3.6.rc1 |
---|
2145 | --------------- |
---|
2146 | |
---|
2147 | [20050914.0700] jonz: applied history paging patch |
---|
2148 | |
---|
2149 | applied patch contributed by Norman Maurer <nm@byteaction.de> to add paging |
---|
2150 | to webui history |
---|
2151 | |
---|
2152 | [20050913.0700] jonz: added css tools |
---|
2153 | |
---|
2154 | in tools.css_drv: |
---|
2155 | cssgrow - grow (or shrink) the capacity of a css file |
---|
2156 | cssstat - report css file statistics (records free, used, max, etc) |
---|
2157 | cssclean - free all tokens which have only been seen once |
---|
2158 | (there is no date in css files, so only run this once every 30-90 days) |
---|
2159 | |
---|
2160 | [20050910.2145] jonz: css_drv using single .css file |
---|
2161 | |
---|
2162 | moved counters for both spam and nonspam into single .css file, saving |
---|
2163 | considerable disk space by removing extra set of keys. also added header |
---|
2164 | to css files containing record count, for cssgrow tool. |
---|
2165 | |
---|
2166 | NOTE: new format is incompatible with older development versions |
---|
2167 | |
---|
2168 | [20050910.1400] jonz: minor dspam_stats output changes |
---|
2169 | |
---|
2170 | SM and IM changed to FN and FP, respectively |
---|
2171 | |
---|
2172 | [20050910.1400] jonz: commandline enhancements |
---|
2173 | |
---|
2174 | added --class=nonspam which is the same as --class=innocent, depending on how |
---|
2175 | users like to specify |
---|
2176 | |
---|
2177 | added --deliver=stdout which is a shortcut for --deliver=innocent,spam --stdout |
---|
2178 | |
---|
2179 | [20050910.1400] jonz: completed markovian discrimination |
---|
2180 | |
---|
2181 | Completed markovian discrimination algorithms and implemented 'naive' |
---|
2182 | combination. Accuracy tests show significant improvement. |
---|
2183 | |
---|
2184 | [20050830.1500] jonz: RCPT TO and Broken Case bugfix |
---|
2185 | |
---|
2186 | fixed a bug where Broken Case wasn't working when in LMTP RCPT mode |
---|
2187 | |
---|
2188 | Version 3.6.beta.2 |
---|
2189 | ------------------ |
---|
2190 | |
---|
2191 | [20050827.2130] jonz: dynamic storage driver library support |
---|
2192 | |
---|
2193 | support for dynamic storage driver library builds (including multiple driver |
---|
2194 | builds for packagers) is now supported through the existing |
---|
2195 | --with-storage-driver function. specifying a single storage driver, such as: |
---|
2196 | |
---|
2197 | --with-storage-driver=mysql_drv |
---|
2198 | |
---|
2199 | will build a statically linked storage driver (the same behavior as previous |
---|
2200 | versions of dspam). specifying multiple drivers, however, will build dynamic |
---|
2201 | libraries - one of which can then be dynamically loaded at run-time by |
---|
2202 | setting the StorageDriver parameter in dspam.conf (see the new dspam.conf for |
---|
2203 | more information). for example: |
---|
2204 | |
---|
2205 | --with-storage-driver=mysql_drv,pgsql_drv,ora_drv |
---|
2206 | |
---|
2207 | NOTE: required parameters for all activated drivers must be provided |
---|
2208 | |
---|
2209 | users wishing to build only one storage driver, but dynamically loaded instead |
---|
2210 | of statically linked, may supply the same driver name twice to enable |
---|
2211 | dynamic loading: |
---|
2212 | |
---|
2213 | --with-storage-driver=mysql_drv,mysql_drv |
---|
2214 | |
---|
2215 | [20050822.2350] jonz: added new X-DSPAM-Result / X-DSPAM-Reclassified values |
---|
2216 | |
---|
2217 | The following values may now appear under X-DSPAM-Result / X-DSPAM-Reclassified |
---|
2218 | Spam, Innocent, Whitelisted, Blacklisted, Blocklisted, Virus |
---|
2219 | |
---|
2220 | This is made possible by the addition of CTX->class (char[32]), whose constants |
---|
2221 | are made available in language.h. Previous CTX->result options specifying |
---|
2222 | DSR_ISWHITELISTED and DSR_ISVIRUS values are now gone, leaving only |
---|
2223 | DSR_ISINNOCENT and DSR_ISSPAM for backward-compatibility (whitelisted |
---|
2224 | messages will be marked as DSR_ISINNOCENT). Future applications should use |
---|
2225 | CTX->class instead of CTX->result for more specific results info. |
---|
2226 | |
---|
2227 | [20050822.1000] jonz: added optOutClamAV option to opt out of virus scanning |
---|
2228 | |
---|
2229 | User-configurable preference optOutClamAV added (set to 'on') to opt out of |
---|
2230 | A/V, if active. |
---|
2231 | |
---|
2232 | [20050815.0800] jonz; added custom tags to dspam.conf for virtual uids |
---|
2233 | |
---|
2234 | added tags to dspam.conf to use custom table/field names for dspam_virtual_uids |
---|
2235 | allowing you to use a postfix table or some other table for username/uid |
---|
2236 | lookups. |
---|
2237 | |
---|
2238 | Version 3.5.3 |
---|
2239 | ------------- |
---|
2240 | |
---|
2241 | [20050803.0700] jonz: changes to pgsql drive for 8.0+ |
---|
2242 | |
---|
2243 | changes to the pgsql driver have been made increasing performance by three |
---|
2244 | times on versions 8.0+. the driver will auto-detect which version you are |
---|
2245 | running in and take advantage of a new lookup_tokens function. |
---|
2246 | |
---|
2247 | IMPORTANT: If you're upgrading dspam on your pgsql 8.0+ system, you must |
---|
2248 | create the lookup_tokens function added to the pgsql_objects.sql script or |
---|
2249 | everything will break miserably. |
---|
2250 | |
---|
2251 | [20050801.0600] jonz: updated postfix documentation |
---|
2252 | |
---|
2253 | added model using postfix's content filter |
---|
2254 | |
---|
2255 | [20050801.0600] jonz: fixed bug in mysql driver |
---|
2256 | |
---|
2257 | fixed a bug causing a segfault in mysql_drv when certain preferences are |
---|
2258 | null or have null values |
---|
2259 | |
---|
2260 | Version 3.5.2 |
---|
2261 | ------------- |
---|
2262 | |
---|
2263 | [20050714.0715] jonz: added extern "C" for C++ compilers |
---|
2264 | |
---|
2265 | added extern "C" to libdspam.h for C++ compilers |
---|
2266 | |
---|
2267 | [20050714.0715] jonz: more work on css_drv |
---|
2268 | |
---|
2269 | more work on css_drv; functionality added to make dspam_stats work |
---|
2270 | |
---|
2271 | [20050714.0715] jonz: added WEB_ROOT to CGI |
---|
2272 | |
---|
2273 | added WEB_ROOT to configure.pl, location to webui's htdocs contents |
---|
2274 | |
---|
2275 | [20050714.0715] jonz: sqlite 3 purge script changes |
---|
2276 | |
---|
2277 | added a sqlite 3 specific purge script in tools.sqlite_drv |
---|
2278 | |
---|
2279 | [20050702.0030] jonz: cgi review and fixes |
---|
2280 | |
---|
2281 | reviewed cgi, made minor fixes to history display and admin graphs |
---|
2282 | |
---|
2283 | Version 3.5.1 |
---|
2284 | ------------- |
---|
2285 | |
---|
2286 | [20050608.0330] jonz: fixed socket file descriptor leak on delivery failure |
---|
2287 | |
---|
2288 | fixed a file descriptor leak which occurs on socket delivery connect failure, |
---|
2289 | leading to the daemon exiting when it has exceeded its file descriptor limit |
---|
2290 | |
---|
2291 | [20050607.2200] jonz: added preliminary ldap support |
---|
2292 | |
---|
2293 | added ldap verification function which will verify existence of user on an ldap |
---|
2294 | server before adding to virtual uid table. dspam links to openldap libraries and |
---|
2295 | is also compatible with os x's openldap libs. use --enable-ldap to enable. see |
---|
2296 | dspam.conf for more information. |
---|
2297 | |
---|
2298 | STATUS: |
---|
2299 | functionality is presently limited to lookup of dspam username only. user and |
---|
2300 | domain as separate variables will come later. additional ldap mode to support |
---|
2301 | actual uid lookups on ldap server will be added later as well. |
---|
2302 | |
---|
2303 | authentication also coming later |
---|
2304 | |
---|
2305 | [20050521.1600] jonz: smtp/lmtp delivery to accept all 2xx delivery responses |
---|
2306 | |
---|
2307 | DBmail appears to be the only MTA that sends a 215 response to a successful |
---|
2308 | delivery, instead of 250. After reviewing RFC, the deliver_socket() code has |
---|
2309 | been modified to accept any 2xx message in response to a final delivery |
---|
2310 | instruction. |
---|
2311 | |
---|
2312 | [20050521.0730] jonz: improved performance of css_drv |
---|
2313 | |
---|
2314 | made additional performance improvements to css_drv. plan to finish up driver |
---|
2315 | later this weekend. |
---|
2316 | |
---|
2317 | Version 3.5.0 |
---|
2318 | ------------- |
---|
2319 | |
---|
2320 | [20050519.0600] jonz: made preferences case-insensitive |
---|
2321 | |
---|
2322 | user preferences now case insensitive |
---|
2323 | |
---|
2324 | [20050512.0400] jonz: added experimental css_drv (CRM114 sparse spectra driver) |
---|
2325 | |
---|
2326 | added *experimental* css_drv which is a flat-file based driver using Bill |
---|
2327 | Yerazunis' "sparse spectra" approach to storage. each user will have two 16MB |
---|
2328 | fixed-size files containing up to a million tokens (this will be adjustable |
---|
2329 | later). |
---|
2330 | |
---|
2331 | [20050511.2045] jonz: added markovian weighting functions |
---|
2332 | |
---|
2333 | added functions to support markovian weighting (the algorithm used in |
---|
2334 | crm114). markovian discrimination has shown to be very effective at |
---|
2335 | classifying text, and with the new css_drv driver, performs very fast. |
---|
2336 | |
---|
2337 | note: dspam_dump and dspam_clean -p presently do not function with markovian |
---|
2338 | discrimination, because weights are not stored in the database (they are |
---|
2339 | computed when a message is processed). dspam_dump will inaccurately show a |
---|
2340 | value of 0.5000 for all tokens. do not run dspam_clean -p at all when using |
---|
2341 | markovian weighting, as the band of interestingness is entirely different |
---|
2342 | and dspam_clean -p is likely to wipe out /all/ markov-based tokens. |
---|
2343 | |
---|
2344 | finally, see doc/markov.txt for more information on configuring dspam as a |
---|
2345 | markovian filter |
---|
2346 | |
---|
2347 | [20050505.0800] jonz: added plused detail support |
---|
2348 | |
---|
2349 | applied patch submitted by Arnaldo Viegas de Lima <arnaldo@viegasdelima.com> |
---|
2350 | to add plused-detail support (username+mailbox). |
---|
2351 | |
---|
2352 | [20050501.0800] jonz: LMTP error codes to include more descriptive text |
---|
2353 | |
---|
2354 | LMTP error codes should include relevant text from error where possible |
---|
2355 | |
---|
2356 | [20050501.0800] jonz: added preliminary support for Clam/AV |
---|
2357 | |
---|
2358 | added support for clamd virus checking via TCP via ClamAVHost and ClamAVPort |
---|
2359 | properties (see dspam.conf. added ClamAVResponse to control how DSPAM should |
---|
2360 | act if a virus is found. |
---|
2361 | |
---|
2362 | use --enable-clamav to enable |
---|
2363 | |
---|
2364 | [20050426.2300] jonz: added storeFragments preference |
---|
2365 | |
---|
2366 | when set to 'on', dspam will store 1k of the message body in user.frag/sig.frag |
---|
2367 | |
---|
2368 | [20050425.0700] jonz: changed copyright notice |
---|
2369 | |
---|
2370 | changed copyright notice to reflect my company name change (I am ditching |
---|
2371 | Network Dweebs Corp. in exchange for Jonathan A. Zdziarski) |
---|
2372 | |
---|
2373 | [20050422.0700] jonz: got rid of report_error and report_error_printf |
---|
2374 | |
---|
2375 | all logging now calls LOG() which syslogs, prints to stderr, and debug |
---|
2376 | LOGDEBUG remains |
---|
2377 | |
---|
2378 | updated language.h with more sensible error codes partitioned by service |
---|
2379 | components. |
---|
2380 | |
---|
2381 | [20050419.0200] jonz: got rid of retrain.log entirely, reworked logs |
---|
2382 | |
---|
2383 | reworked the system and user logs to be a little more useful and removed the |
---|
2384 | retrain.log entirely. it's pretty simple: |
---|
2385 | |
---|
2386 | 1 entry for a message process |
---|
2387 | 1 entry for a retrain using same signature id |
---|
2388 | 1 entry for a delivery error using same signature id |
---|
2389 | |
---|
2390 | the message id is also stored to detect resends. updated dspam.cgi. |
---|
2391 | |
---|
2392 | [20050417.1400] jonz: added support for domain-based delivery hosts |
---|
2393 | |
---|
2394 | you can now configure: |
---|
2395 | |
---|
2396 | DeliveryHost.domain.com a.b.c.da |
---|
2397 | |
---|
2398 | in dspam.conf |
---|
2399 | |
---|
2400 | [20050415.0700] jonz: added RBLInoculate option |
---|
2401 | |
---|
2402 | default is now changed to handle RBL spam like all other spam, but when |
---|
2403 | setting RBLLearnAsSpam to "on", RBL spam will be inoculated |
---|
2404 | |
---|
2405 | [20050414.1900] jonz: added extended logging to system.log |
---|
2406 | |
---|
2407 | added recipient and beginnings of a "status" or remarks section for system.log. |
---|
2408 | |
---|
2409 | [20050413.2005] jonz: added PgSQLUIDInSignature option |
---|
2410 | |
---|
2411 | applied patch contributed by Alexandre Biancalana to mirror UID support for |
---|
2412 | postgres |
---|
2413 | |
---|
2414 | [20050413.2005] jonz: added MySQLUIDInSignature option |
---|
2415 | |
---|
2416 | for mysql users who want to put the user id in the signature (and effectively |
---|
2417 | have only one spam address for all users), this feature uses uid,signature |
---|
2418 | instead of just signature. |
---|
2419 | |
---|
2420 | [20050412.0800] jonz: fix for cgi during time zone changes |
---|
2421 | |
---|
2422 | applied patch for cgi losing data during time zone changes |
---|
2423 | |
---|
2424 | [20050410.2000] jonz: adjusted mysql/pgsql objects/purge scripts for performance |
---|
2425 | |
---|
2426 | made adjustments based on performance without token counter indexes |
---|
2427 | |
---|
2428 | [02050409.1400] jonz: added 'date' to quarantine display, reversed ordering |
---|
2429 | |
---|
2430 | added 'date' field to quarantine display using X-DSPAM-Processed header. |
---|
2431 | reversed 'Date' ordering to list most recent at top |
---|
2432 | |
---|
2433 | [20050405.1815] jonz: minor code cleanup |
---|
2434 | |
---|
2435 | minor cleanup of static -1 values in code, replaced with #define'd values |
---|
2436 | |
---|
2437 | removed configure help strings and checking notifications for developer-only |
---|
2438 | features. will phase out in a few versions. |
---|
2439 | |
---|
2440 | [20050402.1945] jonz: changed domain-based groups to use *@domain |
---|
2441 | |
---|
2442 | domain-based groups have been changed to require *@domain.tld instead of |
---|
2443 | @domain.tld in the group file. |
---|
2444 | |
---|
2445 | [20050401.0100] jonz: added domain blocklisting |
---|
2446 | |
---|
2447 | added domain blocklisting via data/user.blocklist file; does not train. useful |
---|
2448 | for filtering unwanted nonspam. may expand for full support later via cgi. |
---|
2449 | |
---|
2450 | [20050331.0600] jonz: external default preferences merged |
---|
2451 | |
---|
2452 | external preferences (default preferences stored in the database or .pref |
---|
2453 | file) were not previously used when merging system and user preferences. this |
---|
2454 | now changes behavior so that dspam.conf preferences are only loaded in absence |
---|
2455 | of default preferences set in the database. |
---|
2456 | |
---|
2457 | [20050331.0600] jonz: added fallback domain support |
---|
2458 | |
---|
2459 | fallback domain support is for systems using a user's full email address as |
---|
2460 | a username, and allows users being processed who have no preferences to |
---|
2461 | fallback to using @domain.tld as the username (which should be appropriately |
---|
2462 | trained and set to notrain). this is only useful under limited circumstances, |
---|
2463 | and would require that all valid system users be given at least one |
---|
2464 | preference when provsioned. To use: |
---|
2465 | 1. Add "FallbackDomains on" to dspam.conf |
---|
2466 | 2. Create wildcard domains (@domain.tld) as users in dspam |
---|
2467 | 3. Set each wildcard domain with the "fallbackDomain on" preference |
---|
2468 | |
---|
2469 | Version 3.4.9 |
---|
2470 | ------------- |
---|
2471 | |
---|
2472 | [20050808.0000] jonz: upgraded streamlined blacklisting support to RABL |
---|
2473 | changed configuration options for streamlined blacklisting to support the RABL |
---|
2474 | |
---|
2475 | [20050714.0700] jonz: add X-DSPAM-User when using localStore |
---|
2476 | |
---|
2477 | added X-DSPAM-User heading to spam when localStore preference is used, so that |
---|
2478 | destination address will be right |
---|
2479 | |
---|
2480 | [20050714.0700] jonz: bugfix for header decoding |
---|
2481 | |
---|
2482 | fixed a bug where the decoded headers (used internally) were delivered, instead |
---|
2483 | of the original headers |
---|
2484 | |
---|
2485 | Version 3.4.8 |
---|
2486 | ------------- |
---|
2487 | |
---|
2488 | [20050612.2200] jonz: fixed null decoding bug |
---|
2489 | |
---|
2490 | fixed a bug where placing %00 or =00 in an encoded message would decode the NUL character, causing the message to become truncated. |
---|
2491 | |
---|
2492 | [20050611.1000] jonz: fixed broken managed group functions |
---|
2493 | |
---|
2494 | fixed many files (such as logs and corpus maker) which were not written to |
---|
2495 | the correct directory when used with managed groups |
---|
2496 | |
---|
2497 | [20050610.0530] jonz: message truncation fix |
---|
2498 | |
---|
2499 | fixed a problem where some mta's woulud fail to quote a single dot on a line |
---|
2500 | by itself, leading to message truncation. solution was to check for quoting |
---|
2501 | inside dspam too. |
---|
2502 | |
---|
2503 | [20050606.0420] jonz: fixes for encoding shifts |
---|
2504 | |
---|
2505 | 7bit encoding tag changed to 8bit, due to some 8bit data in decoded messages |
---|
2506 | |
---|
2507 | [20050606.0420] jonz: fix for multiple-recipient decoding bug |
---|
2508 | |
---|
2509 | bug addresses siguation where messages addressed to multiple recipients may fail |
---|
2510 | to be completely decoded |
---|
2511 | |
---|
2512 | Version 3.4.7 |
---|
2513 | ------------- |
---|
2514 | |
---|
2515 | [20050522.2300] jonz: fix for managed groups reclassification |
---|
2516 | |
---|
2517 | fix for managed groups where delivery of false positives would fail due tothe managed group not being recognized |
---|
2518 | |
---|
2519 | [20050512.0600] jonz: fix for signature embedding with malformatted boundary |
---|
2520 | |
---|
2521 | fixed a bug where messages lacking a terminating boundary would fail to |
---|
2522 | receive a signature in the message body |
---|
2523 | |
---|
2524 | Version 3.4.6 |
---|
2525 | ------------- |
---|
2526 | |
---|
2527 | [20050503.2000] jonz: fixed obscure malformatted signature crash bug |
---|
2528 | |
---|
2529 | fixed an obscure bug causing dspam to crash under certain conditions when the |
---|
2530 | loose signature was provided without the appropriate delimiter |
---|
2531 | |
---|
2532 | Version 3.4.5 |
---|
2533 | ------------- |
---|
2534 | |
---|
2535 | [20050417.0900] jonz: fixed firstrun/firstspam messages with groups |
---|
2536 | |
---|
2537 | fixed condition where users in groups would never receive firstrun or firstspam |
---|
2538 | messages. |
---|
2539 | |
---|
2540 | IMPORTANT: this fix will cause all users to receive the notifications for the |
---|
2541 | first time. if you want to avoid this, touch user.firstrun and user.firstspam |
---|
2542 | files in each user's data directory. |
---|
2543 | |
---|
2544 | [20050408.0300] jonz: set proper permissions for socket file |
---|
2545 | |
---|
2546 | set proper permissions (rwxrwxrwx) when creating socket file |
---|
2547 | |
---|
2548 | [20050419.2200] jonz: applied signature retrieval failure error patch |
---|
2549 | |
---|
2550 | applied patch to fix some false signature retrievals |
---|
2551 | |
---|
2552 | [20050415.2300] jonz: LMTP error codes for temporary failures |
---|
2553 | |
---|
2554 | changed relevant LMTP error codes to report temporary failures instead of |
---|
2555 | permanent failures, to fix mail loss problem. |
---|
2556 | |
---|
2557 | for permanent failures, we still send a permanent failure |
---|
2558 | |
---|
2559 | [20050412.2130] jonz: fix for notspam- aliases and changeuseronparse |
---|
2560 | |
---|
2561 | corrected parsing error causing notspam- aliases to fail to identify username |
---|
2562 | when using changeuseronparse |
---|
2563 | |
---|
2564 | Version 3.4.4 |
---|
2565 | ------------- |
---|
2566 | |
---|
2567 | [20050412.0800] jonz: critical fix for signature-in-body |
---|
2568 | |
---|
2569 | fixed a critical bug that caused the signature to NOT be written to the |
---|
2570 | message body on quoted-printable or base64 messages |
---|
2571 | |
---|
2572 | Version 3.4.3 |
---|
2573 | ------------- |
---|
2574 | |
---|
2575 | [20050407.0800] jonz: fix for LMTP and QuarantineAgent |
---|
2576 | |
---|
2577 | bugfix for bug causing spam to be delivered via LMTP when a quarantine |
---|
2578 | agent is specified |
---|
2579 | |
---|
2580 | [20050406.2300] jonz: fix for domain-scale and admin.cgi |
---|
2581 | |
---|
2582 | fix for admin.cgi when using domain-scale; could not previously find data dirs |
---|
2583 | |
---|
2584 | [20050406.0700] jonz: fixed cygwin build errors |
---|
2585 | |
---|
2586 | fixed cygwin build errors by removing support for ip blacklisting (cygwin |
---|
2587 | does not have the necessary functions to perform these lookups, at least |
---|
2588 | nothing standard + mt-safe) |
---|
2589 | |
---|
2590 | [20050406.0700] jonz: fixed optIn + preferences extension support |
---|
2591 | |
---|
2592 | fixed a bug where dspam_admin 'ch pref' would fail on nonexistent users, |
---|
2593 | making it impossible to opt-in users when using preferences extension |
---|
2594 | |
---|
2595 | [20050404.0700] jonz: applied various cgi patches |
---|
2596 | |
---|
2597 | applied various cgi patches to fix: |
---|
2598 | - showFactors preference not setting/showing correctly in admin.cgi |
---|
2599 | - empty spamSubject raised errors when writing preferences |
---|
2600 | - global default.prefs file should not be written with pref extensions |
---|
2601 | |
---|
2602 | [20050402.1000] jonz: changed log status of signature errors |
---|
2603 | |
---|
2604 | changed logging status of signature-based errors so they show up in the |
---|
2605 | error and system logs, rather than just debug |
---|
2606 | |
---|
2607 | [20050402.0900] jonz: fixed system.log formatting bug |
---|
2608 | |
---|
2609 | fixed a bug causing the system.log to be malformatted when reclassifying a |
---|
2610 | message |
---|
2611 | |
---|
2612 | |
---|
2613 | Version 3.4.2 |
---|
2614 | ------------- |
---|
2615 | |
---|
2616 | [20050328.0600] jonz: memory leak fix for chained token |
---|
2617 | |
---|
2618 | fixed a very small memory leak in chained tokens implementation |
---|
2619 | |
---|
2620 | [20050327.2330] jonz: updates to cgi |
---|
2621 | |
---|
2622 | added retrain log to keep track of messages retrained, which allows the cgi |
---|
2623 | to display 'Retrained' in the history next to messages that have already been |
---|
2624 | retrained. history retraining and quarantine retraining both log this info. |
---|
2625 | |
---|
2626 | history retraining now forwards false positives and removed from quarantine |
---|
2627 | |
---|
2628 | made top and bottom row of buttons symmetric in quarantine view (deliver |
---|
2629 | checked, delete checked, delete all) |
---|
2630 | |
---|
2631 | [20050327.2330] jonz: no logs when using --classify |
---|
2632 | |
---|
2633 | no logs should be written when using --classify |
---|
2634 | |
---|
2635 | [20050327.2330] jonz: users with signatureLocation=headers should prefer header |
---|
2636 | |
---|
2637 | users using signatureLocation=headers should prefer the X-DSPAM-Signature |
---|
2638 | header over any signature in the body (this can apparently cause problems |
---|
2639 | when conversing with another dspam user) |
---|
2640 | |
---|
2641 | [20050327.1400] jonz: fix for history retraining |
---|
2642 | |
---|
2643 | fix for history based retraining that allows non-admins to use the feature |
---|
2644 | |
---|
2645 | [20050327.1400] jonz: applied pgsql patch |
---|
2646 | |
---|
2647 | applied pgsql patch to remmove duplicate key warnings and improve performance |
---|
2648 | |
---|
2649 | [20050326.1730] jonz: added support for non-ascii character sets |
---|
2650 | |
---|
2651 | added support for non-ascii character sets |
---|
2652 | |
---|
2653 | [20050325.2345] jonz: fixed avg. processing time reporting |
---|
2654 | |
---|
2655 | fixed avg. processing time reporting in daemon mode; was previously reporting |
---|
2656 | time since daemon start |
---|
2657 | |
---|
2658 | [20050324.0730] jonz: added ChangeUserOnParse 'full' option |
---|
2659 | |
---|
2660 | setting ChangeUserOnParse to 'full' now uses the entire email address after |
---|
2661 | the initial {spam,notspam}- identifier allowing the domain to be used. |
---|
2662 | using 'on' or 'user' continues to default to just username. |
---|
2663 | |
---|
2664 | [20050324.0700] jonz: added long usernames support to dspam stats |
---|
2665 | |
---|
2666 | if --enable-long-usernames is used, formatting will add additional padding |
---|
2667 | for username in stats output |
---|
2668 | |
---|
2669 | [20050322.2330] jonz: fixed deadlocked connection on null characters |
---|
2670 | |
---|
2671 | fixed a condition where a 300-second deadlock, then timeout occurs when |
---|
2672 | client sends \0 to server |
---|
2673 | |
---|
2674 | [20050322.2330] jonz: fixed some minor memory leaks |
---|
2675 | |
---|
2676 | minor leaks in daemon process |
---|
2677 | |
---|
2678 | [20050320.0400] jonz: fixed pgsql_drv connection linger bug |
---|
2679 | |
---|
2680 | fixed a bug when using pgsql_drv and preferences extension that fails to |
---|
2681 | close a pgsql database connection on exit, leaving connections lingering. |
---|
2682 | |
---|
2683 | Version 3.4.1 |
---|
2684 | ------------- |
---|
2685 | |
---|
2686 | [20050320.1700] jonz: fix for exit codes with daemon+stdout |
---|
2687 | |
---|
2688 | fixed a bug causing Broken returnCodes to fail when using daemon in |
---|
2689 | combination with --stdout. |
---|
2690 | |
---|
2691 | [20050318.1930] jonz: fixed transliteration of "" |
---|
2692 | |
---|
2693 | fixed transliteration of "" so that empty spaces can be passed to LDA |
---|
2694 | |
---|
2695 | [20050318.1900] jonz: implemented DSPAMPROCESSMODE service tag |
---|
2696 | |
---|
2697 | implemented DSPAMPROCESSMODE service tag for proprietary client functions |
---|
2698 | |
---|
2699 | [20050318.0700] jonz: added RSET functionality |
---|
2700 | |
---|
2701 | added RSET functionality to daemon |
---|
2702 | |
---|
2703 | [20050318.0700] jonz: added localStore preference for storage |
---|
2704 | |
---|
2705 | added localStore preference to set local storage username, which can override |
---|
2706 | the DSPAM username (ideal for managing aliases) |
---|
2707 | |
---|
2708 | [20050318.0700] jonz: fixed bug related to corpusfeeding and signatures |
---|
2709 | |
---|
2710 | normally you're not supposed to corpus traini with email containing dspam |
---|
2711 | signatures, but that doesn't mean dspam should bomb when you do. fixed a |
---|
2712 | bug where the signature would cause the process to fail (since the signature |
---|
2713 | isn't in the database anymore). |
---|
2714 | |
---|
2715 | [20050318.0700] jonz: fixed bug sending empty parameter via client |
---|
2716 | |
---|
2717 | fixed a bug where sending an empty parameter via client (for example -a "") |
---|
2718 | would break the arg chain, as the empty argument would not be quoted |
---|
2719 | |
---|
2720 | [20050318.0700] jonz: fixed track sources on report spam bug |
---|
2721 | |
---|
2722 | fixed a bug causing tracksources to report a spam from the user who forwarded |
---|
2723 | it to correct the filter |
---|
2724 | |
---|
2725 | [20050317.0500] jonz: fix for 5.1.0's in daemon mode |
---|
2726 | |
---|
2727 | fixed condition where 5.1.0 error would occur if TrustedDeliveryAgent was |
---|
2728 | not specified, even if DeliveryHost was. |
---|
2729 | |
---|
2730 | fixed condition where 5.1.0 error would be followed by 354 (response to DATA) |
---|
2731 | instead of failing |
---|
2732 | |
---|
2733 | [20050316.0700] jonz: fixed crash on long argv list |
---|
2734 | |
---|
2735 | fixed a crash/potential arg list overflow for authentication DSPAM clients |
---|
2736 | sending too many arguments. |
---|
2737 | |
---|
2738 | [20050316.0100] jonz: reclassification failures should not deliver on failure |
---|
2739 | |
---|
2740 | false positive reclassification failures shouldn't deliver when a signature |
---|
2741 | isn't found, as a spammer could take advantage of a system using false |
---|
2742 | positive aliases and send mail through them. |
---|
2743 | |
---|
2744 | [20050316.0100] jonz: changed fp- to notspam- |
---|
2745 | |
---|
2746 | changed fp- to notspam- in parsetoheaders and docs |
---|
2747 | |
---|
2748 | [20050316.0030] jonz: added admin.cgi opt in/out preferences support |
---|
2749 | |
---|
2750 | added support for opt in/out to admin.cgi |
---|
2751 | |
---|
2752 | [20050315.0800] jonz: fixed broken returnCodes when using dspamc |
---|
2753 | |
---|
2754 | fixed broken return codes when using dspamc, which involved rewriting the |
---|
2755 | return code reporting pieces of the agent to include a classification. when |
---|
2756 | running in 'DSPAM' mode, : CLASSIFICATION is sent back with each response. |
---|
2757 | |
---|
2758 | [20050315.0800] jonz: applied patch to fix file descriptor problems |
---|
2759 | |
---|
2760 | when listener fails, file descriptor fails to close, causing a possibly |
---|
2761 | fatal situation in the event of too many failures |
---|
2762 | |
---|
2763 | fixed invalid file descriptor problem |
---|
2764 | |
---|
2765 | [20050315.0730] jonz: added LOG_NOWAIT to syslogging |
---|
2766 | |
---|
2767 | added LOG_NOWAIT to syslogging, to prevent dspam from hanging if syslog is |
---|
2768 | nonresponsive |
---|
2769 | |
---|
2770 | [20050313.0700] jonz: fixed bugs handling multiple rcpt to's |
---|
2771 | |
---|
2772 | fixed bugs in the handling of multiple rcpt to's. strange behavior; some email |
---|
2773 | would get sent to the last recipient only. some email would never be |
---|
2774 | processed for a user. fixed a bug where specifying --user without recipients |
---|
2775 | could cause a crash. fixed it again. |
---|
2776 | |
---|
2777 | [20050313.0700] jonz: changed lmtp commandline options |
---|
2778 | |
---|
2779 | --lmtp-rcpt-to and --lmtp-recipient have been changed to --rcpt-to, which |
---|
2780 | takes a list of users like --user does. For example: |
---|
2781 | |
---|
2782 | --user spot dick jane --rcpt-to spot@domain.com dick@domain.com jane@domain.com |
---|
2783 | |
---|
2784 | This allows for each user to be assigned its own unique recipient. If the |
---|
2785 | recipient is not provided, it will default to the username being processed. |
---|
2786 | |
---|
2787 | --lmtp-mail-from has been changed to --mail-from |
---|
2788 | |
---|
2789 | [20050312.1600] jonz: added SMTP delivery support, changes delivery hosts |
---|
2790 | |
---|
2791 | added SMTP delivery support via DeliveryProto option in dspam.conf |
---|
2792 | |
---|
2793 | NOTE: configuration has changed for LMTP host delivery. See new dspam.conf |
---|
2794 | * fixed crash bug related to an earlier committ |
---|
2795 | |
---|
2796 | [20050312.1530] jonz: added virtual_user_aliases.sql for mysql |
---|
2797 | |
---|
2798 | added virtual_user_aliases.sql, providing an alternative dspam_virtual_users |
---|
2799 | table example where aliases to a single dspam user can be created. ideal for |
---|
2800 | large mail systems with automatic provisioning of uids. this does, however, |
---|
2801 | break dspam's own ability to create new virtual users, so they will need to |
---|
2802 | be added manually if this aliases approach is used. |
---|
2803 | |
---|
2804 | [20050312.1035] jonz: added ChangeModeOnParse functionality |
---|
2805 | |
---|
2806 | added ChangeModeOnParse option to set the proper --class and --source when |
---|
2807 | ParseToHeaders deteects a spam- or fp- address. This allows a system to be |
---|
2808 | implemented without aliases, as all requests can be passed to dspam. |
---|
2809 | |
---|
2810 | |
---|
2811 | [20050313.0700] jonz: added \r to socket communications |
---|
2812 | |
---|
2813 | as per RFC 2822, \r\n should be sent to SMTP/LMTP |
---|
2814 | |
---|
2815 | Version 3.4.0 |
---|
2816 | ------------- |
---|
2817 | |
---|
2818 | [20050311.0800] jonz: moved supplementary documentation into doc/ |
---|
2819 | |
---|
2820 | moved all supplementary documentation into doc/ including storage driver, |
---|
2821 | operating system, and mta configuration documentation. |
---|
2822 | |
---|
2823 | [20050311.0800] jonz: miscellaneous bug fixes |
---|
2824 | |
---|
2825 | many minor bug fixes |
---|
2826 | |
---|
2827 | Version 3.4.pr1 |
---|
2828 | --------------- |
---|
2829 | |
---|
2830 | [20050308.0800] jonz: fixed header duplication on reclassify |
---|
2831 | |
---|
2832 | fixed a bug where a new set of headers would be added to the old set upon |
---|
2833 | reclassification. now, only X-DSPAM-Reclassified header is added. also fixed |
---|
2834 | duplicate signature being written. |
---|
2835 | |
---|
2836 | [20050305.0900] jonz: fixed bug in cgi autodetect of extensions |
---|
2837 | |
---|
2838 | fixed bug causing extensions detection to fail in cgi for users with older |
---|
2839 | configure.pl scripts lacking AUTODETECT property. also propagated ability to |
---|
2840 | "not" autodetect to admin.cgi |
---|
2841 | |
---|
2842 | [20050304.2100] jonz: fixed user duplicate bug in ParseToHeaders+Daemon combo |
---|
2843 | |
---|
2844 | fixed a bug causing a user to be processed twice when using ParseToHeaders and |
---|
2845 | server daemon mode |
---|
2846 | |
---|
2847 | [20050302.0730] jonz: ClientHost to be used for client domain sockets |
---|
2848 | |
---|
2849 | If connecting to DLMTP client via domain socket, ClientHost is now used as the |
---|
2850 | path to the socket on the client side, and ServerDomainSocketPath on the |
---|
2851 | server side. |
---|
2852 | |
---|
2853 | [20050302.0730] jonz: minor lmtp protocol tweaks |
---|
2854 | |
---|
2855 | minor tweaks to LMTP protocol service |
---|
2856 | |
---|
2857 | [20050302.0730] jonz: fixed a bug with TOE and automatic whitelisting |
---|
2858 | |
---|
2859 | fixed a bug where the "spam hit" from a false positive wouldn't be reversed |
---|
2860 | for users using TOE after their training threshold has been exceeded |
---|
2861 | |
---|
2862 | [20050302.0700] jonz: fixed unknown token value bug |
---|
2863 | |
---|
2864 | fixed a bug where unknown tokens would be assigned an innocent value rather |
---|
2865 | than neutral |
---|
2866 | |
---|
2867 | Version 3.4.rc2a |
---|
2868 | ---------------- |
---|
2869 | |
---|
2870 | [20050301.0700] jonz: fix for segfault on malformatted MAIL FROM |
---|
2871 | |
---|
2872 | fixed a bug causing a segfault when MAIL FROM was malformatted in DLMTP mode |
---|
2873 | |
---|
2874 | [20050301.0700] jonz: fix for pgsql double-innocent bug |
---|
2875 | |
---|
2876 | important bug fix for pgsql driver, where new innocent tokens were learned |
---|
2877 | twice, killing accuracy since RC1 |
---|
2878 | |
---|
2879 | [20050301.0600] jonz: rewrote flat file preference code |
---|
2880 | |
---|
2881 | rewrote flat file preference code after discovering many bugs with patches |
---|
2882 | submitted over past few months |
---|
2883 | |
---|
2884 | Version 3.4.rc2 |
---|
2885 | --------------- |
---|
2886 | |
---|
2887 | [20050227.1515] jonz: LMTP enhancements |
---|
2888 | |
---|
2889 | 1. if --user is specified in ServerParameters when DSPAM is running in |
---|
2890 | standard LMTP mode, then RCPT TO will be used only for delivery, and not |
---|
2891 | processing. |
---|
2892 | |
---|
2893 | 2. added 'auto' mode for server, to auto-detect DLMTP or LMTP based on |
---|
2894 | the LHLO ident |
---|
2895 | |
---|
2896 | 3. added extended status codes and initial LMTP extensions list |
---|
2897 | |
---|
2898 | [20050225.0700] jonz: added support for LMTP delivery via domai socket |
---|
2899 | |
---|
2900 | specifying a path as LMTPDeliveryHost will cause DSPAM to connect and deliver |
---|
2901 | via domain socket (instead of TCP). |
---|
2902 | |
---|
2903 | [20050225.0600] jonz: added %r and %s LDA arguments |
---|
2904 | |
---|
2905 | For LMTP front-end with LDA delivery, the following conventions may be used |
---|
2906 | in ServerParameters: |
---|
2907 | |
---|
2908 | %r - the RCPT TO provided via LMTP |
---|
2909 | %s - the MAIL FROM provided via LMTP |
---|
2910 | |
---|
2911 | in both cases, only the content between < > is actually used |
---|
2912 | |
---|
2913 | [20050225.0500] jonz: added pass-through of mail from |
---|
2914 | |
---|
2915 | added pass-through of contents of MAIL FROM inside < >. for commandline |
---|
2916 | functionality, also added --lmtp-mail-from to define it. |
---|
2917 | |
---|
2918 | [20050224.0700] jonz: added "standard" LMTP inbound support |
---|
2919 | |
---|
2920 | added a ServerMode option to dspam.conf allowing DSPAM to function in either |
---|
2921 | "dspam" proprietary LMTP mode or "standard" LMTP server mode. see README |
---|
2922 | section 2.4 for more information. support for multiple RCPT TO's added. |
---|
2923 | Fixed pass-through of error messages, to show failure instead of "accepted" |
---|
2924 | when a failure actually did occur. |
---|
2925 | |
---|
2926 | [20050224.0700] jonz: fixed dspamc hanging bug |
---|
2927 | |
---|
2928 | applied fix contributed by Peter Santiago to prevent dspamc from hanging |
---|
2929 | |
---|
2930 | [20050224.0700] jonz: added lmtp delivery support |
---|
2931 | |
---|
2932 | added support to deliver via LMTP instead of LDA. although this doesn't require |
---|
2933 | operating in daemon mode, you must compile with --enable-daemon as the code |
---|
2934 | uses some of the daemon's socket components. |
---|
2935 | |
---|
2936 | Version 3.4.rc1 |
---|
2937 | --------------- |
---|
2938 | |
---|
2939 | [20050214.0800] jonz: miscellaneous minor patches |
---|
2940 | |
---|
2941 | miscellaneous minor patches to CGI and some small subroutines |
---|
2942 | |
---|
2943 | Version 3.4.beta.3 |
---|
2944 | ------------------ |
---|
2945 | |
---|
2946 | [20050208.0330] jonz: added CGI spam functionality to history |
---|
2947 | |
---|
2948 | added a retrain link in the history portion of the CGI allowing users to |
---|
2949 | retrain spam misses without having to forward messages. |
---|
2950 | |
---|
2951 | [20050205.1800] jonz: added fast user switching to CGI for admins |
---|
2952 | |
---|
2953 | added the ability for admins to change users dynamically in the cgi |
---|
2954 | |
---|
2955 | [20050204.0800] jonz: applied patch to improve performance in pgsql migration |
---|
2956 | |
---|
2957 | patched for performance improvement in pgsql migration tool |
---|
2958 | |
---|
2959 | [20050203.0800] jonz: signature to write to all text segments |
---|
2960 | |
---|
2961 | reverted back to signature writing to all text segments of an email, and not |
---|
2962 | just the top level parts. |
---|
2963 | |
---|
2964 | [20050202.0530] jonz: miscellaneous cgi patches |
---|
2965 | |
---|
2966 | applied many miscellaneous cgi patches submitted by Ben Reser <ben@reser.org> |
---|
2967 | |
---|
2968 | Version 3.4.beta.2 |
---|
2969 | ------------------ |
---|
2970 | |
---|
2971 | [20050129.1945] jonz: applied cgi patch for delivery failure |
---|
2972 | |
---|
2973 | applied patch submitted by Martin Forssen <maf@appgate.com> to avoid losing |
---|
2974 | mail in the event of a FP delivery failure within the CGI |
---|
2975 | |
---|
2976 | [20050129.0000] jonz: added doc for osx builds |
---|
2977 | |
---|
2978 | added doc for building dspam on osx |
---|
2979 | |
---|
2980 | [20050128.0245] jonz: fixed segfault on post-signature failure |
---|
2981 | |
---|
2982 | fixed a segfault that only occurs when dspam_process() fails after loading a |
---|
2983 | signature |
---|
2984 | |
---|
2985 | [20050126.0100] jonz: fixed whitelist training bug with notrain |
---|
2986 | |
---|
2987 | when in notrain mode, whitelists were still trained |
---|
2988 | |
---|
2989 | [20050122.2115] jonz: applied bugfixes to sbl lookup |
---|
2990 | |
---|
2991 | fixed sbl lookups to use mt-safe functions, also fixed crashing |
---|
2992 | |
---|
2993 | [20050122.0900] jonz: applied latest postgresql patches |
---|
2994 | |
---|
2995 | applied latest patches upgrade postgresql drivers. significant change is the |
---|
2996 | use of BIGINT to improve performance. while backward compatible, a migration |
---|
2997 | tool has been provided (see UPGRADING). |
---|
2998 | |
---|
2999 | [20050119.0300] jonz: set default training buffer to off |
---|
3000 | |
---|
3001 | sedation should not be instantiated unless specifically specified |
---|
3002 | |
---|
3003 | [20050119.0245] jonz: applied patch adding aggregation to dspam_admin |
---|
3004 | |
---|
3005 | applied a patch by Philip Champon <flah@hell.com> adding a preference |
---|
3006 | aggregation function to dspam_admin, which combined system preferences with |
---|
3007 | user preferences before outputting. |
---|
3008 | |
---|
3009 | [20050119.0230] jonz: fixed bug in statisticalSedation preference |
---|
3010 | |
---|
3011 | statisticalSedation preference has been ignored for 2 versions. this bug |
---|
3012 | has been fixed. |
---|
3013 | |
---|
3014 | [20050118.0730] jonz: removed requirement for dspam_home in dspam_create() |
---|
3015 | |
---|
3016 | some storage drivers don't require dspam_home |
---|
3017 | |
---|
3018 | [20050118.0710] jonz: fixed negative values in web stats |
---|
3019 | |
---|
3020 | fixed a bug causing negative values to be written in web stats |
---|
3021 | |
---|
3022 | [20050118.0700] jonz: applied patch adding full preferences functionality |
---|
3023 | |
---|
3024 | applied a patch by Philip Champon <flah@hell.com> adding full preferences |
---|
3025 | functionality for installs without storage driver extensions. this allows |
---|
3026 | preferences to be set through dspam_admin for flat file-based systems as well. |
---|
3027 | |
---|
3028 | [20050116.2330] jonz: tweak to statistical sedation |
---|
3029 | |
---|
3030 | added a tweak to statistical sedation so that only spammy tokens are |
---|
3031 | sedated |
---|
3032 | |
---|
3033 | [20050116.2300] jonz: added makeCorpus preference |
---|
3034 | |
---|
3035 | added makeCorpus preference which records all messages processed for the user |
---|
3036 | to dspam_home/data/username/username.corpus/[spam|nonspam]. when an error is |
---|
3037 | corrected, the file is moved to the appropriate corpus. |
---|
3038 | |
---|
3039 | [20050116.1800] jonz: change to TUM training mode |
---|
3040 | |
---|
3041 | TUM training mode to train also when confidence is low |
---|
3042 | |
---|
3043 | [20050115.1200] jonz: fixed token malalignment bug |
---|
3044 | |
---|
3045 | fixed a bug causing token names to be malaligned with their values; should |
---|
3046 | not have affected accuracy, only debug messages |
---|
3047 | |
---|
3048 | [20050115.1000] jonz: added dspam_logrotate |
---|
3049 | |
---|
3050 | added Steve Pellegrin's log rotate script as a tool |
---|
3051 | |
---|
3052 | [20050115.0900] jonz: fixed preference overrides |
---|
3053 | |
---|
3054 | fixed a bug causing preferences to fail to override |
---|
3055 | |
---|
3056 | Version 3.4.beta.1 |
---|
3057 | ------------------ |
---|
3058 | |
---|
3059 | [20050113.0500] jonz: fixed sqlite shared group bug |
---|
3060 | |
---|
3061 | fixed a bug where sqlite was ignoring shared groups |
---|
3062 | |
---|
3063 | [20050112.0600] jonz: added stats functionality to dspam_stats |
---|
3064 | |
---|
3065 | added the following functionality to dspam_stats: |
---|
3066 | |
---|
3067 | - specifying -S will display accuracy levels as percentages |
---|
3068 | - specifying -s will use totals "since last reset" (s = snapshot) |
---|
3069 | - specifying -r will reset the totals in the snapshot |
---|
3070 | |
---|
3071 | to measure accuracy for each month, use dspam_stats -r [username] at the |
---|
3072 | beginning of the month, and dspam_stats -s -S [username] at the end of the |
---|
3073 | month. |
---|
3074 | |
---|
3075 | NOTE: dspam_stats -r uses the same .rstats file as the CGI, so resetting |
---|
3076 | stats in either will affect the other. this is the desired behavior at |
---|
3077 | the moment, rather than have two snapshots running around. |
---|
3078 | |
---|
3079 | [20050111.0700] jonz: fixed preferences to aggregate |
---|
3080 | |
---|
3081 | fixed preferences so that system prefs and user prefs are aggregated, instead |
---|
3082 | of either-or. |
---|
3083 | |
---|
3084 | also fixed a bug causing AllowOverrides to not work in preferences extension |
---|
3085 | |
---|
3086 | [20050106.1800] jonz: added SBLQueue dspam.conf option |
---|
3087 | |
---|
3088 | removed hard-coded sbl queue path (/var/spool/sbl) and added to config an |
---|
3089 | option to specify the path |
---|
3090 | |
---|
3091 | [20050106.0000] jonz: added manual override for CGI options |
---|
3092 | |
---|
3093 | for implementations running the cgi as an untrusted user (e.g. cpanel), |
---|
3094 | the cgi needs to manually override autodetection of certain options like |
---|
3095 | filesystem scale and preferences extension detection. added option for this |
---|
3096 | to configure.pl in the cgi. |
---|
3097 | |
---|
3098 | [20050105.2035] jonz: trainingMode preference to be case insensitive |
---|
3099 | |
---|
3100 | made training mode preference (toe, tum, etc) to be case insensitive |
---|
3101 | |
---|
3102 | [20050102.1800] jonz: added --client flag for client operations |
---|
3103 | |
---|
3104 | added --client flag for client operations. failure to use --client causes |
---|
3105 | dspam to operate in independent mode |
---|
3106 | |
---|
3107 | IMPORTANT: --client should be added to the client arguments on daemon-based |
---|
3108 | setups |
---|
3109 | |
---|
3110 | [20050102.2100] jonz: rewrite hash-code into 'diction' and 'term' structures |
---|
3111 | |
---|
3112 | rewrote the lht code (long-hash-token) into a more specialized 'diction' |
---|
3113 | structure, which has terms. a diction represents a subset of lexical data |
---|
3114 | within the user's dataset (namely, the data representing a message). |
---|
3115 | |
---|
3116 | [20041230.0800] jonz: memory leak and thread-safe cleanup |
---|
3117 | |
---|
3118 | - fixed memory leak related to bayesian noise reduction calls |
---|
3119 | - fixed use of inet_ntoa, which is not thread-safe, replaced with inet_ntoa_r |
---|
3120 | - inet_ntoa_r should never be called if using domain sockets |
---|
3121 | |
---|
3122 | [20041228.2300] jonz: integrated libbnr |
---|
3123 | |
---|
3124 | integrated bayesian noise reduction in DSPAM with libbnr sources |
---|
3125 | |
---|
3126 | [20041225.1400] jonz: added support for trainPristine as user preference |
---|
3127 | |
---|
3128 | Set trainPristine to 'on' in a user's preference to enable for that user. If |
---|
3129 | master configuration has TrainPristine on, this will override the preference |
---|
3130 | option. |
---|
3131 | |
---|
3132 | [20041224.1400] jonz: implemented daemon SIGHUP reload |
---|
3133 | |
---|
3134 | upon receiving SIGHUP, daemon will: |
---|
3135 | - stop listening for new requests |
---|
3136 | - allow all threads to finish processing |
---|
3137 | - terminate all connections to the database |
---|
3138 | - reload dspam.conf |
---|
3139 | - reestablish all connections to the database |
---|
3140 | - start listening for new requests |
---|
3141 | |
---|
3142 | [20041223.2106] jonz: fixed segfault on unreadable dspam.conf |
---|
3143 | |
---|
3144 | fixed a bug causing a segfault when dspam.conf is unreadable |
---|
3145 | |
---|
3146 | [20041223.1504] jonz: made url and tag scans case insensitive |
---|
3147 | |
---|
3148 | url and tag scans now case-insensitive, so HTTP:// and HREF= should also be |
---|
3149 | detected and tokenized |
---|
3150 | |
---|
3151 | [20041221.2230] jonz: rewrote signature embedding code |
---|
3152 | |
---|
3153 | rewrote signature embedding code |
---|
3154 | - fixed malformatting bug with signed messages |
---|
3155 | - made body and html tag searches case insensitive |
---|
3156 | |
---|
3157 | [20041221.0600] jonz: added streamlined blackhole list "learn as spam" support |
---|
3158 | |
---|
3159 | added functionality to automatically perform streamlined blackhole list |
---|
3160 | lookups and learn as spam if blacklisted. for more information on the |
---|
3161 | streamlined blackhole list, see http://www.nuclearelephant.com/projects/sbl/ |
---|
3162 | |
---|
3163 | [20041221.0600] jonz: fixed preferences extensions and storage profiles |
---|
3164 | |
---|
3165 | fixed preferences extensions so that they will work with storage profiles |
---|
3166 | |
---|
3167 | [20041217.0700] jonz: replaced btree sort with heap sort, major speedup |
---|
3168 | |
---|
3169 | replaced btree sort of tokens by delta with a heap window-size sort, major |
---|
3170 | speedup in performance; a 200k text message down to 2.2s from 12s. |
---|
3171 | |
---|
3172 | [20041215.1845] jonz: added sqlite3_drv |
---|
3173 | |
---|
3174 | added sqlite3 storage driver, use --with-storage-driver=sqlite3_drv |
---|
3175 | |
---|
3176 | [20041213.0600] jonz: added build hooks for NodalCore(tm) C-Series Accelerator |
---|
3177 | |
---|
3178 | added build hooks for the NodalCore(tm) C-Series Accelerator Card, the |
---|
3179 | hardware platform used for Accelerated DSPAM(R). actual adapter code remains |
---|
3180 | proprietary, so build hooks are only useful if you've licensed the |
---|
3181 | accelerator. |
---|
3182 | |
---|
3183 | [20041209.0800] jonz: added profile failover |
---|
3184 | |
---|
3185 | added failover support for storage profiles |
---|
3186 | |
---|
3187 | [20041203.0800] jonz: added patch to sort by subject or from in CGI |
---|
3188 | |
---|
3189 | applied patch adding hotlinks to subject/from fields in dspam.cgi for |
---|
3190 | sorting. |
---|
3191 | |
---|
3192 | [20041202.2024] jonz: added dspamc thin client |
---|
3193 | |
---|
3194 | added dspamc thin client for those who would prefer something light than |
---|
3195 | running DSPAM in client mode (linked in with libdspam and other unnecessary |
---|
3196 | code). |
---|
3197 | |
---|
3198 | [20041130.0800] jonz: dspam daemonized LMTP server and client |
---|
3199 | |
---|
3200 | added --daemon functionality to put DSPAM into daemonized LMTP server mode; |
---|
3201 | configure client in dspam.conf to talk to daemon, or speak LMTP without the |
---|
3202 | client. authentication configurable in dspam.conf. implemented stateful |
---|
3203 | database connections. --stdout and --classify supported. |
---|
3204 | |
---|
3205 | NOTE: Daemon mode is multithreaded, and therefore requires a multithreaded |
---|
3206 | driver: mysql_drv or pgsql_drv. |
---|
3207 | |
---|
3208 | [20041127.1700] jonz: normalized process_message() |
---|
3209 | |
---|
3210 | normalized process_message() by breaking up code into many smaller subroutines |
---|
3211 | |
---|
3212 | [20041121.1530] jonz: implemented bayesian noise reduction 2.0 |
---|
3213 | |
---|
3214 | see http://bnr.nuclearelephant.com |
---|
3215 | |
---|
3216 | [20041101.0700] jonz: added MaxMessageSize option to dspam.conf |
---|
3217 | |
---|
3218 | added a max message size configuration option to specify a maximum message |
---|
3219 | size to process |
---|
3220 | |
---|
3221 | [20041024.1700] jonz: moved sources to src/ |
---|
3222 | |
---|
3223 | moved all build sources to src/ for easier management |
---|
3224 | |
---|
3225 | [20041024.1545] jonz: repeat linestripping as necessary |
---|
3226 | |
---|
3227 | changed broken linestripping code to repeat as necessary, for some dos |
---|
3228 | systems with multiple ^M's. |
---|
3229 | |
---|
3230 | [20041020.2345] jonz: enhanced TUM mode training |
---|
3231 | |
---|
3232 | greatly enhanced TUM-mode training by setting a dirty bit for each token in |
---|
3233 | memory; instead of writing all tokens and then adding a conditional where |
---|
3234 | clause for TUM (where total hits < 50), only tokens whose total hits are |
---|
3235 | below 50 are included in the sql statement, the extra where clause is no |
---|
3236 | longer necessary. this helps tum outperform teft in resources. |
---|
3237 | |
---|
3238 | [20041020.1400] jonz: normalized main() |
---|
3239 | |
---|
3240 | normalized main() by breaking up code into smaller subroutines |
---|
3241 | |
---|
3242 | Version 3.2.4 |
---|
3243 | ------------- |
---|
3244 | |
---|
3245 | [20041229.1925] jonz: fix for broken boundary rfc |
---|
3246 | |
---|
3247 | added fix for intentionally broken mime boundaries |
---|
3248 | |
---|
3249 | [20041203.0800] jonz: performance fixes for pgsql_drv |
---|
3250 | |
---|
3251 | minor performance fixed for pgsql_drv that may have a big effect on some |
---|
3252 | implementations |
---|
3253 | |
---|
3254 | [20041203.0800] jonz: applied patch to fix build fail when CFLAGS defined |
---|
3255 | |
---|
3256 | fixed a bug causing tools to fail to build when CFLAGS was specified |
---|
3257 | |
---|
3258 | [20041203.0745] jonz: fixed addition of spurious colons after delimiter |
---|
3259 | |
---|
3260 | fixed bug causing a colon to be added to lines after -- delimiters that |
---|
3261 | were not actual boundary delimiters. this also caused certain encoded portions |
---|
3262 | of the body to not be decoded, giving the appearance of equal signs (=) in |
---|
3263 | message bodies. |
---|
3264 | |
---|
3265 | Version 3.2.3 |
---|
3266 | ------------- |
---|
3267 | |
---|
3268 | [20041125.0925] jonz: rewrote boundary extraction in decode.c |
---|
3269 | |
---|
3270 | rewrote boundary extraction in decode.c to fix a bug where messages could |
---|
3271 | get mangled if boundary was specified without quotes, but other tags used |
---|
3272 | quotes |
---|
3273 | |
---|
3274 | [20041123.1830] jonz: fixed multipart blocks with no content-type |
---|
3275 | |
---|
3276 | fixed bug causing the DSPAM signature to NOT be written to multipart |
---|
3277 | blocks without a content-type (broken RFC) |
---|
3278 | |
---|
3279 | [20041123.0800] jonz: fixed bug in _ds_get_spamrecord broken on mysql 4.1 |
---|
3280 | |
---|
3281 | changed token = '' to token in('') in _ds_get_spamrecord, to fix bug in |
---|
3282 | mysql 4.1 with respect to numeric fields and quoted conditionals. in('') seems |
---|
3283 | to work without problem. |
---|
3284 | |
---|
3285 | [20041117.0800] jonz: fixed critical bug in Bayesian Noise Reduction |
---|
3286 | |
---|
3287 | fixed a critical bug in Bayesian Noise Reduction causing the algorithm to |
---|
3288 | never instantiate |
---|
3289 | |
---|
3290 | Version 3.2.2 |
---|
3291 | ------------- |
---|
3292 | |
---|
3293 | [20041114.2245] jonz: fixed optOut preferences option |
---|
3294 | |
---|
3295 | fixed a bug causing optOut preference to be ignored |
---|
3296 | |
---|
3297 | [20041112.0800] jonz: fixed source address tracking bug w/TOE |
---|
3298 | |
---|
3299 | fixed a bug causing source address tracking to fail when TOE used |
---|
3300 | |
---|
3301 | [20041112.0800] jonz: fixed LocalMX bug |
---|
3302 | |
---|
3303 | fixed a bug causing LocalMX to be ignored in dspam.conf |
---|
3304 | |
---|
3305 | [20041110.0800] jonz: set permissions on dspam.conf to 640 |
---|
3306 | |
---|
3307 | permissions on dspam.conf were defaulted to 750, changed to 640 |
---|
3308 | |
---|
3309 | [20041101.0700] jonz: changed loose signature matching |
---|
3310 | |
---|
3311 | changed loose signature to X-DSPAM-Signature from the ever useless DSPAM: to |
---|
3312 | allow the use of signature headers in forwarded attachments. |
---|
3313 | |
---|
3314 | [20041109.0800] jonz: fixed source address tracking |
---|
3315 | |
---|
3316 | fixed source address tracking by removing an old #ifdef that never got |
---|
3317 | defined in 3.2. also changed 'ham' to 'nonspam' in dspam.conf. |
---|
3318 | |
---|
3319 | [20041109.0800] jonz: adjusted chi-square cutoff |
---|
3320 | |
---|
3321 | changed chi-square cutoff from 0.5000 to 0.5010 to avoid erroneous |
---|
3322 | classifications when there is no data |
---|
3323 | |
---|
3324 | [20041108.0800] jonz: fixed multiline token bug |
---|
3325 | |
---|
3326 | fixed a bug where tokens on a multiline header would be ignored past the first |
---|
3327 | line |
---|
3328 | |
---|
3329 | [20041103.0745] jonz: fixed segfault on signature scan |
---|
3330 | |
---|
3331 | fixed a bug causing segfault during scanning of some messages for a signature |
---|
3332 | |
---|
3333 | [20041103.0745] jonz: fixed signature encoding bug in sqlite_drv |
---|
3334 | |
---|
3335 | fixed a bug causing signature inserts to fail in sqlite. |
---|
3336 | |
---|
3337 | Version 3.2.1 |
---|
3338 | ------------- |
---|
3339 | |
---|
3340 | [20041029.0800] jonz: added needed c/r at end of pgp messages |
---|
3341 | |
---|
3342 | added needed c/r at end of pgp messages |
---|
3343 | |
---|
3344 | [20041029.0800] jonz: fixed invalid read of free()'d memory |
---|
3345 | |
---|
3346 | fixed invalid read of free()'d memory caused when parsing multi-line |
---|
3347 | header tokens |
---|
3348 | |
---|
3349 | [20041029.0800] jonz: fixed pragma bug in sqlite_drv |
---|
3350 | |
---|
3351 | fixed a bug in sqlite_drv causing pragma's in dspam.conf to be ignored |
---|
3352 | |
---|
3353 | [20041028.0700] jonz: support for mysql 4.1's ON DUPLICATE KEY |
---|
3354 | |
---|
3355 | added support for mysql 4.1's ON DUPLICATE KEY functionality, so that compiling |
---|
3356 | with 4.1+ will perform a single insert query without causing duplicate key |
---|
3357 | failures |
---|
3358 | |
---|
3359 | [20041025.0600] jonz: memory leaks in dspam_clean |
---|
3360 | |
---|
3361 | fixed minor memory leaks in dspam_clean |
---|
3362 | |
---|
3363 | [20041025.0600] jonz: sqlite fixes |
---|
3364 | |
---|
3365 | fixes to sqlite driver; started using sqlite_[encode|decode]_binary and fixed |
---|
3366 | calls to sqlite_finalize causing segfaults. |
---|
3367 | |
---|
3368 | [20041024.2000] jonz: added patch for parsing signature from body |
---|
3369 | |
---|
3370 | added a patch to parse leading whitespace from signature keys found in |
---|
3371 | messages with malformed signature lines |
---|
3372 | |
---|
3373 | [20041024.1845] jonz: added patch for pgsql and PQfreemem() |
---|
3374 | |
---|
3375 | added patch to search for PQfreemem() and use free() as an alternative |
---|
3376 | |
---|
3377 | [20041024.0650] jonz: fixed bug with mysql_drv and duplicate key entries |
---|
3378 | |
---|
3379 | fixed a bug caused by performing multiple inserts simultaneously on the |
---|
3380 | database |
---|
3381 | |
---|
3382 | [20041023.0923] jonz: fixed memory malpractice in pgsql_drv |
---|
3383 | |
---|
3384 | fixed some bugs in pgsql_drv with memory mishandling |
---|
3385 | |
---|
3386 | [20041021.0730] jonz: fixed attachment for PGP signed messages |
---|
3387 | |
---|
3388 | fixed a bug in the dspam.txt attachment added to PGP signed messages, causing |
---|
3389 | the attachment to have an invalid boundary delimiter |
---|
3390 | |
---|
3391 | [20041021.0700] jonz: put --with-delivery-agent back, minor config fixes |
---|
3392 | |
---|
3393 | put --with-delivery-agent flag back (formerly, would try and just autodetect) |
---|
3394 | and made some fixes to escape comma's. |
---|
3395 | |
---|
3396 | [20041020.1400] jonz: changed default logdir to dspam_home/log |
---|
3397 | |
---|
3398 | default logdir has been changed to dspam_home/log; this prevents confusion |
---|
3399 | around permissions on /var/log |
---|
3400 | |
---|
3401 | [20041020.1400] jonz: applied patch for man page install |
---|
3402 | |
---|
3403 | applied patch adding $(DESTDIR) to man page install |
---|
3404 | |
---|
3405 | [20041020.1200] jonz: applied patch for URL parsing bug |
---|
3406 | |
---|
3407 | applied a patch causing an invalid memory read when an email ends with |
---|
3408 | http:// |
---|
3409 | |
---|
3410 | Version 3.2.0 |
---|
3411 | ------------- |
---|
3412 | |
---|
3413 | [20041020.0100] jonz: fixed mysql performance bottleneck |
---|
3414 | |
---|
3415 | fixed mysql performance bottleneck with inserts by using multi-row inserts |
---|
3416 | instead of hundreds of individual inserts |
---|
3417 | |
---|
3418 | [20041019.2315] jonz: changes to mysql 4.1 purge script |
---|
3419 | |
---|
3420 | changed IN() to left-join query for faster purging |
---|
3421 | rewrote all fields as 'not null' |
---|
3422 | |
---|
3423 | [20041019.2200] jonz: made all rows not null in mysql |
---|
3424 | |
---|
3425 | made all rows in mysql scripts, conserves 1-2 bytes per row and speeds up |
---|
3426 | just a hair |
---|
3427 | |
---|
3428 | [20041018.0800] jonz: added qmail/vpopmail instructions |
---|
3429 | |
---|
3430 | added qmail/vpopmail instructions contributed by John Peacock |
---|
3431 | <jpeacock@rowman.com> |
---|
3432 | |
---|
3433 | [20041018.0800] jonz: split up MTA configuration into multiple README files |
---|
3434 | |
---|
3435 | split up the MTA configuration section of the README into multiple files. |
---|
3436 | |
---|
3437 | [20041018.0730] jonz: fix for write of .stats files on notrain |
---|
3438 | |
---|
3439 | .stats files shouldn't be getting written when in notrain mode |
---|
3440 | |
---|
3441 | [20041018.0700] jonz: memory leak fixes for pgsql |
---|
3442 | |
---|
3443 | many memory leak fixes for postgresql driver |
---|
3444 | |
---|
3445 | [20041017.1725] jonz: added mysql4-initialization configure option |
---|
3446 | |
---|
3447 | added an option to disable mysql client library initialization and |
---|
3448 | cleanup. this is only really useful if you're using libdspam with a third |
---|
3449 | party application that requires this (e.g. the application accesses |
---|
3450 | libmysqlclient itself, and therefore needs to manage startup and shutdown |
---|
3451 | of the library). |
---|
3452 | |
---|
3453 | [20041016.1935] jonz: fixed massive number of memory leaks |
---|
3454 | |
---|
3455 | fixed a massive number of memory leaks in libdspam and the agent and |
---|
3456 | incorrect memory management practices. |
---|
3457 | |
---|
3458 | [20041015.1700] jonz: fixed sedation deactivation |
---|
3459 | |
---|
3460 | fixed a bug causing statistical sedation to _not_ deactivate even when the |
---|
3461 | training buffer level was set to 0. |
---|
3462 | |
---|
3463 | [20041015.0800] jonz: fixed dspam_admin segfaults on invalid syntax |
---|
3464 | |
---|
3465 | fixed bugs in dspam_admin causing a segfault (instead of print of usage |
---|
3466 | information) when too few arguments for a function were specified |
---|
3467 | |
---|
3468 | [20041015.0800] jonz: fixed preferences extensions in admin.cgi |
---|
3469 | |
---|
3470 | fixed bugs in admin.cgi causing server errors when preferences extensions |
---|
3471 | was used. |
---|
3472 | |
---|
3473 | [20041014.1130] jonz: bugfix for dspam_dump |
---|
3474 | |
---|
3475 | applied bugfix for dspam_dump to username correctly when commandline options |
---|
3476 | are specified. |
---|
3477 | |
---|
3478 | Version 3.2.pr1 |
---|
3479 | --------------- |
---|
3480 | |
---|
3481 | [20041014.0800] jonz: added WITHOUT OIDS to all pgsql tables |
---|
3482 | |
---|
3483 | turned off OIDS for all pgsql tables, speeding up table access significantly |
---|
3484 | |
---|
3485 | [20041014.0000] jonz: added DSPAM_BIN to path in CGI |
---|
3486 | |
---|
3487 | added DSPAM_BIN to the path in configure.pl; some CGIs weren't finding |
---|
3488 | the DSPAM binaries |
---|
3489 | |
---|
3490 | [20041013.1800] jonz: added mysql 4.1 objects script, renamed .sql files |
---|
3491 | |
---|
3492 | did some minor renaming of .sql files. added a mysql 4.1 object script which |
---|
3493 | uses bigint/unsigned instead of char(20) for tokens. put neural networking |
---|
3494 | in its own file. |
---|
3495 | |
---|
3496 | [20041013.0900] jonz: added mysql/postgres purge scripts for TOE and TUM |
---|
3497 | |
---|
3498 | added purge-pe.sql for mysql/postgres with preferences extensions. |
---|
3499 | additional logic skips certain purges for TOE and TUM-mode users. |
---|
3500 | |
---|
3501 | [20041013.0830] jonz: consolidated error messages in language.h |
---|
3502 | |
---|
3503 | consolidated error messages and other important output in language.h to |
---|
3504 | centralize most commonly used output, and to make translation easier. |
---|
3505 | |
---|
3506 | [20041012.2330] jonz: dspam_clean fix for toe training mode |
---|
3507 | |
---|
3508 | added patch to dspam_clean to skip certain unused token operations for users |
---|
3509 | with toe training mode, since their last_hit value is never updated. left token |
---|
3510 | probability operation, as it will use the date the token was first hit which |
---|
3511 | is still useful. |
---|
3512 | |
---|
3513 | [20041012.0300] jonz: removed !DSPAM tag from X-DSPAM-Signature header |
---|
3514 | |
---|
3515 | when using signatureLocation=headers, the !DSPAM tag is no longer written to |
---|
3516 | the header, just the signature. backward-compatible. |
---|
3517 | |
---|
3518 | [20041012.0300] jonz: changed location of dspam_home and dspam.conf |
---|
3519 | |
---|
3520 | dspam.conf now defaulted to sysconfdir (default: /usr/local/etc) |
---|
3521 | |
---|
3522 | dspam home now defaulted to prefix/var/dspam (default /usr/local/var/dspam) |
---|
3523 | |
---|
3524 | can still override dspam home using --with-dspam-home |
---|
3525 | |
---|
3526 | [20041011.0300] jonz: added --signature= functionality |
---|
3527 | |
---|
3528 | for commandline signature correction where the admin would prefer to just |
---|
3529 | specify the signature on the commandline, --signature=[signature] can be |
---|
3530 | used. only the signature itself should be provided, and not the !DSPAM tag. |
---|
3531 | |
---|
3532 | [20041009.1830] jonz: bugfixes for inline decoding |
---|
3533 | |
---|
3534 | fixed a bug which caused a segfault on malformed inline encoding blocks |
---|
3535 | |
---|
3536 | added better support for inline encoding; now encodes all blocks in a header |
---|
3537 | and not just the first block. |
---|
3538 | |
---|
3539 | [20041009.1345] jonz: fix for sqlite permissions |
---|
3540 | |
---|
3541 | added fix for sqlite permissions to create database as 0660 |
---|
3542 | |
---|
3543 | [20041009.1100] jonz: added storage profile support |
---|
3544 | |
---|
3545 | Implemented this from my blog: |
---|
3546 | |
---|
3547 | 5. Distributed database configurations. I'd like to add a commandline |
---|
3548 | option or environment variable to set a storage "profile". This |
---|
3549 | profile would refer to a MySQL or PgSQL server config in dspam.conf. |
---|
3550 | For example: |
---|
3551 | |
---|
3552 | MySQLServer.Sun420R 10.0.0.5 |
---|
3553 | MySQLPort.Sun420R 3306 |
---|
3554 | ... |
---|
3555 | |
---|
3556 | MySQLServer.DECAlpha 10.0.0.6 |
---|
3557 | MySQLPort.DECAlpha 3306 |
---|
3558 | ... |
---|
3559 | |
---|
3560 | Providing --profile=DECAlpha on the commandline would cause DSPAM to |
---|
3561 | use that particular storage profile. This is especially useful in |
---|
3562 | distributed environments where a user might be mapped to a particular |
---|
3563 | server. |
---|
3564 | |
---|
3565 | [20041008.0420] jonz: added new logo |
---|
3566 | |
---|
3567 | added new logo for cgi |
---|
3568 | |
---|
3569 | [20041008.0420] jonz: added index to dspam_signature_data for created_on dates |
---|
3570 | |
---|
3571 | added index and updated purge.sql to use for dspam_signature_data, which |
---|
3572 | greatly improves purge speed. |
---|
3573 | |
---|
3574 | Version 3.2.rc2 |
---|
3575 | --------------- |
---|
3576 | |
---|
3577 | [20041007.2300] jonz: made LARGE_SCALE and DOMAIN_SCALE autodetect in CGI |
---|
3578 | |
---|
3579 | made filesystem scaling auto-detect based on dspam --version |
---|
3580 | |
---|
3581 | [20041007.1950] jonz: added preferences verbose output |
---|
3582 | |
---|
3583 | added verbose debugging of preference attributes and values loaded |
---|
3584 | |
---|
3585 | [20041007.0400] jonz: added autogen support for freebsd |
---|
3586 | |
---|
3587 | added support for freebsd to autogen script, so freebsd users can build |
---|
3588 | from cvs. |
---|
3589 | |
---|
3590 | [20041006.2245] jonz: merged group cgi bugfix |
---|
3591 | |
---|
3592 | fixed a bug in the cgi where merged groups would be added to the user totals |
---|
3593 | when displayed under statistics. |
---|
3594 | |
---|
3595 | [20041006.0430] jonz: added algorithm and pvalue choice to dspam.conf |
---|
3596 | |
---|
3597 | added support for selecting the combination algorithm(s) and pvalue |
---|
3598 | technique to dspam.conf. for third-party agent compatibility, configure |
---|
3599 | options have remained active, but the agent will override these if it finds |
---|
3600 | options in dspam.conf. |
---|
3601 | |
---|
3602 | [20041005.1930] jonz: added debug option to dspam.conf |
---|
3603 | |
---|
3604 | added DebugOpt option to specify which types of messages to route to debug |
---|
3605 | |
---|
3606 | [20041005.0400] jonz: syslogging of more error messages |
---|
3607 | |
---|
3608 | added the syslogging of more types of failures |
---|
3609 | |
---|
3610 | [20041005.0355] jonz: libdspam debug: all calculations only on verbose |
---|
3611 | |
---|
3612 | changed libdspam's debugging output so that all calculations are made only |
---|
3613 | when verbose is active; this will allow users to run with standard debug |
---|
3614 | enabled without using as many resources |
---|
3615 | |
---|
3616 | [20041005.0102] jonz: applied pgsql patches for performance/bugfixes |
---|
3617 | |
---|
3618 | applied pgsql patch submitted by Rustam Aliyev to improve performance by |
---|
3619 | an estimated 30% and fix some minor issues. |
---|
3620 | |
---|
3621 | [20041003.0515] jonz: --version to return configure parms only when trusted |
---|
3622 | |
---|
3623 | --version should print configuration parameters only when running as a |
---|
3624 | trusted user |
---|
3625 | |
---|
3626 | [20041002.1730] jonz: added return codes on quarantine failure |
---|
3627 | |
---|
3628 | the agent now returns a failure code if it was unable to quarantine an |
---|
3629 | incoming spam. |
---|
3630 | |
---|
3631 | [20041002.1700] jonz: added unlearning functionality |
---|
3632 | |
---|
3633 | added unlearning functionality which can be triggered in one of two ways: |
---|
3634 | |
---|
3635 | 1. using --mode=unlearn on the commandline will unlearn the message passed in; |
---|
3636 | useful for some cases of error and such. Use --source=error and set --class |
---|
3637 | to the original classification that the message was LEARNED WITH (e.g. |
---|
3638 | if it was originally classified as spam, set --class=spam to unlearn it |
---|
3639 | as spam). |
---|
3640 | |
---|
3641 | 2. by setting OnFail to unlearn in dspam.conf, DSPAM will unlearn a message |
---|
3642 | on delivery or quarantine failure. this will fix problems on some servers |
---|
3643 | where the message is requeued, and then reprocessed. |
---|
3644 | |
---|
3645 | [20041002.1040] jonz: minor bugfix for inoculation |
---|
3646 | |
---|
3647 | fixed a minor bug which may have caused message inoculations to be overly |
---|
3648 | inoculated (5 hits instead of 2). |
---|
3649 | |
---|
3650 | [20041001.2145] jonz: algorithm cleanup |
---|
3651 | |
---|
3652 | cleaned up algorithm definitions in configure: |
---|
3653 | |
---|
3654 | 1. --disable-traditional-bayesian is now --disable-graham-bayesian |
---|
3655 | 2. --disable-alternative-bayesian is now --disable-burton-bayesian |
---|
3656 | 3. configure will no longer allow you to enable chi-square without disabling |
---|
3657 | both bayesian calculations; this is to avoid rainstorms of false positives |
---|
3658 | and accidental configurations by users who don't realize you need to |
---|
3659 | disable one to enable the other |
---|
3660 | |
---|
3661 | Version 3.2.rc1 |
---|
3662 | --------------- |
---|
3663 | |
---|
3664 | [20041001.0035] jonz: signatureLocation "headers" preserves encoding |
---|
3665 | |
---|
3666 | when signatureLocation is set to "headers", the message is treated as if |
---|
3667 | signed and the original encoded body is preserved. |
---|
3668 | |
---|
3669 | [20041001.0030] jonz: a few features removed/changed |
---|
3670 | |
---|
3671 | a few features have been removed from the agent and/or libdspam to improve |
---|
3672 | functionality and/or to restore libdspam's function as a text classifier and |
---|
3673 | not an encoding/decoding engine. some functionality has simply been "moved" |
---|
3674 | into the agent and out of libdspam. changes are very minor and shouldn't |
---|
3675 | affect a majority of third party applications or many end-users. |
---|
3676 | |
---|
3677 | 1. dropped "attachment" signatureLocation |
---|
3678 | |
---|
3679 | signatureLocation = 'attachment' has been officially dropped. I realize one or |
---|
3680 | two people were using it, but the amount of black magic that had to be |
---|
3681 | used to maintain this function were just too time consuming, and nobody |
---|
3682 | liked having paper clips on every message. |
---|
3683 | |
---|
3684 | 2. dropped DSF_COPYBACK; libdspam no longer permanently decodes anything |
---|
3685 | |
---|
3686 | copyback feature to copy back decoded message no longer used by DSPAM agent, |
---|
3687 | not very useful for any other applications. applications looking to decode |
---|
3688 | should consider either self-actualizing the message (as the dspam agent does) |
---|
3689 | or using a different approach to decoding. |
---|
3690 | |
---|
3691 | 3. libdspam to treat all messages as "signed" |
---|
3692 | |
---|
3693 | libdspam now preserves the original message body and transfer-encoding, |
---|
3694 | treating all messages as signed. the agent is the piece responsible now for |
---|
3695 | modifying the message and appending signatures. |
---|
3696 | |
---|
3697 | [20040930.2215] jonz: added parse-to-headers to dspam.conf |
---|
3698 | |
---|
3699 | setting "ParseToHeaders on" in dspam.conf is now used to parse the To: |
---|
3700 | line for extracting a username when forwarding spam/fp's to catchall |
---|
3701 | domains (see README) |
---|
3702 | |
---|
3703 | [20040930.1900] jonz: changes to homedir option |
---|
3704 | |
---|
3705 | 1. --enable-homedir-dotfiles is now --enable-homedir |
---|
3706 | 2. all .nodspam and .dspam files are now .optout and .optin, respectively |
---|
3707 | 3. when --enable-homedir is used at configure time, not only are opt-in/out |
---|
3708 | files looked for in the user's home directory, but all data files are stored |
---|
3709 | in ~/.dspam including the .inoc file previously stored in ~. |
---|
3710 | |
---|
3711 | NOTE: This option requires dspam to run as setuid root (automatically |
---|
3712 | configured) and is incompatible with the DSPAM CGI (can't read mailboxes). |
---|
3713 | If you require users to be able to opt themselves in/out and use the CGI, |
---|
3714 | use the CGI's opt-in/out preference or configure a small tool to manage |
---|
3715 | them from DSPAM Home. |
---|
3716 | |
---|
3717 | [20040930.1845] jonz: added TrackSources attribute |
---|
3718 | |
---|
3719 | moved source address tracking into dspam.conf |
---|
3720 | |
---|
3721 | [20040930.1830] jonz: added Opt attribute |
---|
3722 | |
---|
3723 | Opt can be set to in or out in dspam.conf to specify whether the system is |
---|
3724 | opt-in or opt-out. |
---|
3725 | |
---|
3726 | [20040930.1815] jonz: added TrainPristine attribute |
---|
3727 | |
---|
3728 | TrainPristine replaces --enable-webmail and is used to put the DSPAM agent in |
---|
3729 | a training mode where it assumes the original message is provided for |
---|
3730 | retraining. This ceases the writing of any signatures, and is ideal for |
---|
3731 | webmail or imap systems where the original message is preserved on the server |
---|
3732 | and can be used to retrain. |
---|
3733 | |
---|
3734 | [20040930.0129] jonz: implemented thread-safe functionality |
---|
3735 | |
---|
3736 | implemented thread-safe functionality in libdspam and two storage drivers |
---|
3737 | (mysql_drv and pgsql_drv). each thread will require its own context, however |
---|
3738 | if you check out the libdspam man page, you'll see it's possible to set |
---|
3739 | up multiple contexts with the same database handle. |
---|
3740 | |
---|
3741 | [20040929.0710] jonz: added libdspam man page |
---|
3742 | |
---|
3743 | added libdspam man page, API reference. symlinked to: |
---|
3744 | dspam_init, dspam_create, dspam_attach, dspam_addattribute, dspam_process, |
---|
3745 | dspam_getsource, dspam_destroy |
---|
3746 | |
---|
3747 | [20040929.0700] jonz: fixed bugs in preferences extension/dspam.cgi |
---|
3748 | |
---|
3749 | applied fixed submitted by Marty Pauley to fix bugs with dspam.cgi's handling |
---|
3750 | of preferences extension calls |
---|
3751 | |
---|
3752 | [20040928.1900] jonz: added new API functions |
---|
3753 | |
---|
3754 | added new API functions to support the libdspam attribute API. dspam_init has |
---|
3755 | remained in the code for backward compatibility with other applications, |
---|
3756 | however a new set of create/attach functions have been added with the |
---|
3757 | attribute API so that storage attributes (such as server information) can be |
---|
3758 | set prior to connecting to storage. see the updated example.c's example 4 for |
---|
3759 | a more thorough explanation. |
---|
3760 | |
---|
3761 | to retain backward-compatibility, contexts instantiated using dspam_init |
---|
3762 | will revert to their legacy behavior of looking for a [driver].data file in |
---|
3763 | the dspam home. dspam_init() has been slightly tweaked, however, to require |
---|
3764 | the path to the dspam home as an argument. DSPAM_HOME can be passed in by |
---|
3765 | legacy applications that already have it defined. |
---|
3766 | |
---|
3767 | This functionality also allows multithreaded applications (which must have |
---|
3768 | a separate context) to share a single database handle. |
---|
3769 | |
---|
3770 | [20040928.0501] jonz: added IgnoreHeader option to dspam.conf |
---|
3771 | |
---|
3772 | added IgnoreHeader option to dspam.conf, allowing specific headers from other |
---|
3773 | virus tools/spam filters on the network to be ignored. |
---|
3774 | |
---|
3775 | [20040928.0210] jonz: made dspam.conf operational |
---|
3776 | |
---|
3777 | dspam.conf now operational; will copy at install time into prefix/etc if a |
---|
3778 | copy does not already exist. |
---|
3779 | |
---|
3780 | NOTE: See the UPGRADING section of the README for a full explanation of changes |
---|
3781 | and be sure to read before attempting an upgrade |
---|
3782 | |
---|
3783 | [20040928.0200] jonz: moved show/hide factors as a preference |
---|
3784 | |
---|
3785 | showFactors is now a preference (and suitable as an option for each user or |
---|
3786 | globally); set to "on" to enable factors in the message headers. added to cgi. |
---|
3787 | |
---|
3788 | [20040925.0817] jonz: fixed empty spamSubject bug |
---|
3789 | |
---|
3790 | fixed bug causing subject of spam to be truncated if spamSubject left blank |
---|
3791 | |
---|
3792 | [20040923.0300] jonz: rating sort default quarantine view |
---|
3793 | |
---|
3794 | made "rating sort" the default quarantine view in cgi. if a delete all fails, |
---|
3795 | will revert to a chronological sort so users can see the last spam to be |
---|
3796 | quarantined. |
---|
3797 | |
---|
3798 | Version 3.2.beta-1 |
---|
3799 | ------------------ |
---|
3800 | |
---|
3801 | [20040922.0500] jonz: fixed toe/zero signature bug |
---|
3802 | |
---|
3803 | fixed a bug created in 3.1.2 causing toe-mode training to write zeros for |
---|
3804 | signatures (causing toe users to cease all learning) |
---|
3805 | |
---|
3806 | [20040922.0400] jonz: fixed mysql buffer overrun bug |
---|
3807 | |
---|
3808 | fixed a bug in the mysql driver where escaping a large number of |
---|
3809 | characters caused an unexploitable overrun. |
---|
3810 | |
---|
3811 | Version 3.1.2 |
---|
3812 | ------------- |
---|
3813 | |
---|
3814 | [20040906.0939] jonz: implemented sparse binary polynomial hashing |
---|
3815 | |
---|
3816 | implemented Bill Yerazunis' sparse binary polynomial hashing (tokenizer |
---|
3817 | method only). use --feature=sbph to generate an SBPH-based token set. |
---|
3818 | |
---|
3819 | [20040901.0800] jonz: bugfix for --debug |
---|
3820 | |
---|
3821 | fixed --debug so it doesn't get passed along to MTA |
---|
3822 | |
---|
3823 | [20040830.0800] jonz: pgsql fixes |
---|
3824 | |
---|
3825 | Applied Rustam Aliyev's patch to fix the following issued with pgsql_drv: |
---|
3826 | |
---|
3827 | - Added support for Preferences Extensions. |
---|
3828 | - BUGFIX: 'length' field's type changed from 'smallint' to 'int' |
---|
3829 | 'smallint' not enought for big signatures. |
---|
3830 | - All values passed to columns with 'smallint' type now are quoted. |
---|
3831 | This will enable casting and make indexes on these columns available. |
---|
3832 | - Added new index on dspam_token_data (token) which helps speed up |
---|
3833 | some operations. |
---|
3834 | - Number of fixes to keep memory cleaner. |
---|
3835 | |
---|
3836 | [20040826.2100] jonz: fixed bugs in classify and inoculation |
---|
3837 | |
---|
3838 | fixed a bug where noise reduction and chained tokens weren't applied to |
---|
3839 | user classification and message inoculation |
---|
3840 | |
---|
3841 | [20040826.0600] jonz: tweaked mysql where clauses |
---|
3842 | |
---|
3843 | tweaked mysql where clauses for better indexing |
---|
3844 | |
---|
3845 | [20040825.0225] jonz: added --disable-factors option |
---|
3846 | |
---|
3847 | added option to disable factors in message headers |
---|
3848 | |
---|
3849 | Version 3.1.1 |
---|
3850 | ------------- |
---|
3851 | |
---|
3852 | [20040819.0800] jonz: minor CGI template changes |
---|
3853 | |
---|
3854 | minor changes to CGI templates |
---|
3855 | |
---|
3856 | [20040819.0800] jonz: added X-DSPAM-Factors |
---|
3857 | |
---|
3858 | added determining factors header to emails containing a list of tokens that |
---|
3859 | played a role in the decision. if multiple algorithms are defined, only one |
---|
3860 | is used. if the message is spam, the factor set from an algorithm returning |
---|
3861 | a spam result will be used. |
---|
3862 | |
---|
3863 | [20040818.1900] jonz: cast smallints in postgres |
---|
3864 | |
---|
3865 | cast all smallint's in postgres, so indexes should be used now (major |
---|
3866 | performance increase) |
---|
3867 | |
---|
3868 | [20040818.1845] jonz: fixed memory leaks |
---|
3869 | |
---|
3870 | fixed some miscellaneous memory leaks |
---|
3871 | |
---|
3872 | [20040818.1845] jonz: added optIn / optOut preference |
---|
3873 | |
---|
3874 | added optIn and optOut preference support; whichever one is used depends on |
---|
3875 | whether dspam is configured for opt-in or opt-out. |
---|
3876 | |
---|
3877 | [20040811.0900] jonz: fixed totals bug with merged groups |
---|
3878 | |
---|
3879 | fixed a small bug preventing totals from traveling < 0 when using merged |
---|
3880 | groups |
---|
3881 | |
---|
3882 | Version 3.1.0 |
---|
3883 | ------------- |
---|
3884 | |
---|
3885 | [20040724.2000] jonz: fixes to Bayesian Noise Reduction |
---|
3886 | |
---|
3887 | made fixed to Bayesian Noise Reduction to fix bugs related to 3.1 Beta |
---|
3888 | |
---|
3889 | [20040723.0630] jonz: added --deliver=summary option |
---|
3890 | |
---|
3891 | added 'summary' delivery option which will deliver (to stdout) a summary |
---|
3892 | identical to the output of message classification: |
---|
3893 | |
---|
3894 | X-DSPAM-Result: user; result="Innocent"; probability=0.0023; confidence=1.00 |
---|
3895 | |
---|
3896 | Obviously, should not be used with --stdout |
---|
3897 | |
---|
3898 | Version 3.1.0-beta-2 |
---|
3899 | -------------------- |
---|
3900 | |
---|
3901 | [20040721.0800] jonz: added single spam hit purge to purge.sql |
---|
3902 | |
---|
3903 | added purge of tokens with single spam hit to purge.sql. adjusted purge times |
---|
3904 | |
---|
3905 | [20040721.0800] jonz: place signature before /HTML tags |
---|
3906 | |
---|
3907 | in spams without a </body> tag, signature are now placed before /html tags |
---|
3908 | in order to ensure they are passed on with some email clients (such as |
---|
3909 | outlook). this might explain users who receive the same spam over and over. |
---|
3910 | |
---|
3911 | [20040720.2130] jonz: rewrites to bayesian noise reduction |
---|
3912 | |
---|
3913 | rewrite of BNR algorithm with minor tweaks, code cleanup |
---|
3914 | |
---|
3915 | [20040720.0800] jonz: applied patches to CGI |
---|
3916 | |
---|
3917 | applied patches to CGI submitted by Craig Hockenberry to add configure.pl |
---|
3918 | functionality for configuring the CGIs. |
---|
3919 | |
---|
3920 | [20040716.0800] jonz: removed 2500 message threshold for TOE |
---|
3921 | |
---|
3922 | TOE-mode training now kicks in immediately after 100 learned innocent |
---|
3923 | messages, rather than waiting for 2500 messages. as a result, more initial |
---|
3924 | errors are likely to occur (just as with any other filter implementing TOE) |
---|
3925 | but final accuracy should be better. |
---|
3926 | |
---|
3927 | [20040711.2300] jonz: fixed field names in dspam_2sql |
---|
3928 | |
---|
3929 | updated field names in dspam_2sql to reflect present-day database field names. |
---|
3930 | |
---|
3931 | Version 3.1.0.beta.1.1 |
---|
3932 | ---------------------- |
---|
3933 | |
---|
3934 | [20040711.2200] jonz: fixed --disable-trusted-user-security compile errors |
---|
3935 | |
---|
3936 | fixed compiler errors when users disabled trusted user security |
---|
3937 | |
---|
3938 | [20040711.2200] jonz removed debug output |
---|
3939 | |
---|
3940 | removed a line of debug output causing problems with implementations using |
---|
3941 | stdout |
---|
3942 | |
---|
3943 | Version 3.1.0.beta.1 |
---|
3944 | -------------------- |
---|
3945 | |
---|
3946 | [20040709.0700] jonz: fixed bug with subject encoding and spam tags |
---|
3947 | |
---|
3948 | fixed a bug where spam tags would not be added to encoded subjects |
---|
3949 | |
---|
3950 | [20040709.0700] jonz: added --debug commandline argument |
---|
3951 | |
---|
3952 | if --enable-debug is specified, --debug can be passed on the commandline to |
---|
3953 | activate debugging. alternatively, dropping a .debug file in DSPAM_HOME or |
---|
3954 | user.debug file in the user's DSPAM_HOME data directory will still work. |
---|
3955 | |
---|
3956 | [20040709.0700] jonz: fixed error bug with snprintf |
---|
3957 | |
---|
3958 | fixed a bug in error reporting where not using vsnprintf as required |
---|
3959 | caused crashing on some systems. |
---|
3960 | |
---|
3961 | [20040709.0700] jonz: added header support for automatic whitelisting |
---|
3962 | |
---|
3963 | instead of X-DSPAM-Probability: -2 to identify automatic whitelisted emails, |
---|
3964 | a header of X-DSPAM-Result: Whitelisted will be used, and the original |
---|
3965 | probability (even if guilty) will be provided in each message. |
---|
3966 | |
---|
3967 | [20040707.0730] jonz: added dynamic noise reduction extension support |
---|
3968 | |
---|
3969 | added support for dynamic noise reduction extension; designed to track SNR |
---|
3970 | in emails for each user to dynamically determine noise thresholds and perform |
---|
3971 | calibration. extensions supported in libdspam, but is still experimental and |
---|
3972 | only used for tracking noise margins at the moment. |
---|
3973 | |
---|
3974 | [20040707.0700] jonz: added whitelistThreshold preference |
---|
3975 | |
---|
3976 | the whitelistThreshold preference will set the threshold for innocent hits |
---|
3977 | before automatically whitelisting a recipient. the default value is 10. do |
---|
3978 | not set this value too low! |
---|
3979 | |
---|
3980 | [20040707.0500] jonz: added NOTRAIN preference for trainingMode |
---|
3981 | |
---|
3982 | added NOTRAIN preference for trainingMode, which will result in messages being |
---|
3983 | processed but not trained. |
---|
3984 | |
---|
3985 | [20040707.0408] jonz: signature location now a preference |
---|
3986 | |
---|
3987 | signature location (headers, message, attachment) now moved to |
---|
3988 | signatureLocation preference and added to CGI. configure-time arguments |
---|
3989 | will set a default preference if user hasn't overridden. |
---|
3990 | |
---|
3991 | [20040706.2000] jonz: applied win32 patches |
---|
3992 | |
---|
3993 | applied patch portion of win32 build supplement; win32/README updated. |
---|
3994 | visual c++ project updated. initial testing shows all systems go =) |
---|
3995 | |
---|
3996 | [20040706.0800] jonz: added ignoreGroups preference |
---|
3997 | |
---|
3998 | ignoreGroups, when set to 'on', will ignore any group memberships the user |
---|
3999 | should belong to (including system-wide). useful to allow some users to remove |
---|
4000 | themselves from any memberships. |
---|
4001 | |
---|
4002 | [20040705.2000] jonz: utilities to require trusted user permissions |
---|
4003 | |
---|
4004 | utilities modified to require the caller be a trusted user. this is normally |
---|
4005 | done with groups, but as an extra security measure is also done with trusted |
---|
4006 | users. |
---|
4007 | |
---|
4008 | [20040705.2000] jonz: rewrote preferences, added preferences extension support |
---|
4009 | |
---|
4010 | preference functions entirely rewritten. added preferences extension support to |
---|
4011 | dspam, added first extension to mysql_drv, and added preference administration |
---|
4012 | to dspam_admin. |
---|
4013 | |
---|
4014 | [20040705.0800] jonz: added sort option to cgi quarantine |
---|
4015 | |
---|
4016 | added ability to sort by rating or date to cgi's quarantine |
---|
4017 | |
---|
4018 | [20040630.0800] jonz: added preliminary win32 support files |
---|
4019 | |
---|
4020 | added Vadim Zeitlin's preliminary win32 files into win32/ directory |
---|
4021 | |
---|
4022 | [20040630.0800] jonz: added transactional blocks to postgres driver |
---|
4023 | |
---|
4024 | applied rustam's patch to add transactional blocks to pgsql_drv for |
---|
4025 | performance increase |
---|
4026 | |
---|
4027 | [20040629.1945] jonz: untrusted user error to report username |
---|
4028 | |
---|
4029 | untrusted user error (specifying --user) should report active username |
---|
4030 | |
---|
4031 | [20040629.0800] jonz: fixed domain scale in dspam.cgi |
---|
4032 | |
---|
4033 | domain scale pathname was missing /data/ in dspam.cgi |
---|
4034 | |
---|
4035 | [20040629.0800] jonz: fixed segfault on empty body |
---|
4036 | |
---|
4037 | fixed a bug causing libdspam to segfault with some email having an empty body. |
---|
4038 | |
---|
4039 | [20040628.1945] jonz: added removal option for merged groups |
---|
4040 | |
---|
4041 | added removal option for merged groups, by specifying -username, username is |
---|
4042 | removed from the group. This is useful if you want system-wide merged groups |
---|
4043 | but have a few users who want to unsubscribe |
---|
4044 | |
---|
4045 | [20040628.0700] jonz: fixed bug in spam-subject |
---|
4046 | |
---|
4047 | fixed a bug in spam-subject causing: |
---|
4048 | 1. the last character of the subject to be truncated |
---|
4049 | 2. spam tags to be repeated for each local recipient |
---|
4050 | |
---|
4051 | [20040627.1330] jonz: added sql-formatted output support to dspam_dump |
---|
4052 | |
---|
4053 | added support for sql-formatted output in dspam_dump using the -d [driver] |
---|
4054 | command. only driver supported is sqlite_drv. use dspam_2sql for all other |
---|
4055 | drivers (dspam_dump dumps one user at a time, so is only useful for sqlite |
---|
4056 | at the moment). |
---|
4057 | |
---|
4058 | [20040625.2300] jonz: rewrote locking in bdb drivers |
---|
4059 | |
---|
4060 | rewrote locking in bdb drivers to use fcntl locking instead of db env |
---|
4061 | locking. kernel-level locking works over nfs and automatically removes |
---|
4062 | stale locks if a process should crash or the system fail. |
---|
4063 | |
---|
4064 | [20040625.2200] jonz: fixed a locking bug with fcntllocking/quarantine |
---|
4065 | |
---|
4066 | fixed a quarantine locking bug where fcntl locking was not waiting for a lock, |
---|
4067 | but returning a failure immediately if already locked |
---|
4068 | |
---|
4069 | [20040625.0800] jonz: added configure arguments to --version output |
---|
4070 | |
---|
4071 | added a list of arguments DSPAM was configured with to --version output |
---|
4072 | |
---|
4073 | [20040624.0425] jonz: applied CGI facelife |
---|
4074 | |
---|
4075 | applied CGI facelift submitted by Craig Hockenberry <craig@iconfactory.com> |
---|
4076 | |
---|
4077 | [20040623.0700] jonz: bugfix for encoded multiline header mangling |
---|
4078 | |
---|
4079 | fixed a bug that caused encoded, multiline headers to lose any lines of text |
---|
4080 | after the first. |
---|
4081 | |
---|
4082 | [20040621.2135] jonz: made sqlite_drv default storage driver |
---|
4083 | |
---|
4084 | made sqlite_drv the default storage driver |
---|
4085 | |
---|
4086 | [20040621.2135] jonz: added SQLite storage driver |
---|
4087 | |
---|
4088 | added SQLite storage driver. see tools.sqlite_drv/README for more information |
---|
4089 | |
---|
4090 | [20040621.0245] jonz: committed minor patch for Solaris builds |
---|
4091 | |
---|
4092 | another patch for declaring u_int32_t's on Solaris |
---|
4093 | |
---|
4094 | [20040617.0220] jonz: fixed configure help text for --enable-webmail |
---|
4095 | |
---|
4096 | fixed configure help text for --enable-webmail, which was mangled |
---|
4097 | |
---|
4098 | [20040617.0211] jonz: fixed type-o in admin.cgi for $CONFIG{'LARGE_SCALE'} |
---|
4099 | |
---|
4100 | fixed a type-o in admin.cgi where $CONFIG{'LARGE_SCLAE'} = 0; |
---|
4101 | |
---|
4102 | Version 3.0.0 |
---|
4103 | ------------- |
---|
4104 | |
---|
4105 | [20040614.0700] jonz: fixed 14-day user graphs |
---|
4106 | |
---|
4107 | fixed a bug causing the 14-day user graphs to appear empty |
---|
4108 | |
---|
4109 | [20040612.0018] jonz: oracle storage driver fixes |
---|
4110 | |
---|
4111 | made several bugfixes to oracle storage driver |
---|
4112 | added --with-oracle-version[=10] configure flag for linking to 10g libraries |
---|
4113 | |
---|
4114 | [20040609.0205] jonz: fixed a bug in --enable-signature-attachments |
---|
4115 | |
---|
4116 | fixed two bugs using --enable-signature attachments; 1 compiler error and 1 |
---|
4117 | segfault (uninitialized value) |
---|
4118 | |
---|
4119 | [20040608.0715] jonz: fixed compile bug with --enable-webmail |
---|
4120 | |
---|
4121 | fixed compile errors resulting from --enable-webmail |
---|
4122 | |
---|
4123 | [20040607.1800] jonz: replaced quarantine locking with fcntl locking |
---|
4124 | |
---|
4125 | replaced quarantine .lock'ing with fcntl locking and also applied it to |
---|
4126 | locking .log files. fcntl should work over NFS. |
---|
4127 | |
---|
4128 | [20040607.0730] jonz: fixed rare segfault (strlen on NULL) |
---|
4129 | |
---|
4130 | fixed a rare segfault in decode.c |
---|
4131 | |
---|
4132 | [20040607.0730] jonz: minor aesthetic changes to cgi |
---|
4133 | |
---|
4134 | minor aesthetic changes to cgi |
---|
4135 | |
---|
4136 | [20040606.1445] jonz: added training left option to dspam_stats -H |
---|
4137 | |
---|
4138 | modified dspam_stats to display # of training messages left when using -H |
---|
4139 | command |
---|
4140 | |
---|
4141 | [20040606.1441] jonz: fixed bug in training threshold |
---|
4142 | |
---|
4143 | fixed a bug in the training threshold, which miscalculated the mail left to |
---|
4144 | train. |
---|
4145 | |
---|
4146 | [20040605.1521] jonz: added statistical sedation to cgi |
---|
4147 | |
---|
4148 | added level of sensitivity-during-training to cgi preferences |
---|
4149 | |
---|
4150 | [20040605.1450] jonz: added ability to edit user preferences from admin suite |
---|
4151 | |
---|
4152 | added the ability to edit user preferences (and the default preferences) |
---|
4153 | from the admin suite. |
---|
4154 | |
---|
4155 | [20040605.1100] jonz: fixed a bug with user processing flag |
---|
4156 | |
---|
4157 | fixed a bug where some parameters may be added as users instead of parameters. |
---|
4158 | this was particularly the case if no mailer flags prepended %u. |
---|
4159 | |
---|
4160 | [20040604.0525] jonz: fixed blank dspam signature on reclassification |
---|
4161 | |
---|
4162 | fixed a problem where reclassified messages would receive: |
---|
4163 | |
---|
4164 | X-DSPAM-Signature: !DSPAM! |
---|
4165 | |
---|
4166 | fixed this by NOT stripping the old X-DSPAM-Signature header, since a new one |
---|
4167 | is not created upon reclassification |
---|
4168 | |
---|
4169 | [20040604.0525] jonz: fixed untrusted.mailer_args |
---|
4170 | |
---|
4171 | fixed a bug where the last argument of untrusted.mailer_args was ignored. |
---|
4172 | |
---|
4173 | Version 3.0.0.rc2 |
---|
4174 | ----------------- |
---|
4175 | |
---|
4176 | [20040603.2215] jonz: added user-logging option |
---|
4177 | |
---|
4178 | added --disable-user-logging option to disable user logging |
---|
4179 | |
---|
4180 | [20040603.0500] jonz: auto-whitelisting now works with toe-mode training |
---|
4181 | |
---|
4182 | added code to cause automatic whitelisting to function with toe-mode training |
---|
4183 | |
---|
4184 | [20040602.0030] jonz: added administration suite cgi |
---|
4185 | |
---|
4186 | added administration suite cgi |
---|
4187 | |
---|
4188 | [20040602.0030] jonz: added system logging of execution time |
---|
4189 | |
---|
4190 | added system logging of execution time |
---|
4191 | |
---|
4192 | [20040602.0025] jonz: fixed spam subject |
---|
4193 | |
---|
4194 | fixed spam subject headings to support variable length titles |
---|
4195 | |
---|
4196 | [20040601.2230] jonz: added system logging |
---|
4197 | |
---|
4198 | added system logging to DSPAM_HOME/system.log for future sysadmin interface |
---|
4199 | |
---|
4200 | [20040601.1822] jonz: removed mysql delay_key_write |
---|
4201 | |
---|
4202 | removed mysql's delay_key_write feature from the sql scripts, because of a |
---|
4203 | bug in mysql that leads to database corruption when using it. |
---|
4204 | |
---|
4205 | [20040601.0330] jonz: added To: header parsing |
---|
4206 | |
---|
4207 | added --enable-parse-to-header, which will parse spam-username and fp-username |
---|
4208 | from the To: header of a message to determine the username. This can be |
---|
4209 | used in lieu of using spam/fp aliases by creating a wildcard subdomain |
---|
4210 | (such as spam.yourdomain.com) and piping all email into dspam without a |
---|
4211 | --user flag, for example: |
---|
4212 | |
---|
4213 | wildcard: "|/usr/local/bin/dspam --mode=toe --class=spam --source=error" |
---|
4214 | |
---|
4215 | [20040531.2245] jonz: added pkgconfig files |
---|
4216 | |
---|
4217 | added installation of pkgconfig files submitted by Ronald Hummelink |
---|
4218 | <ronald@hummelink.xs4all.nl> |
---|
4219 | |
---|
4220 | [20040531.2120] jonz: added --enable-broken-return-codes |
---|
4221 | |
---|
4222 | added --enable-broken-return-codes configure option which causes DSPAM to |
---|
4223 | return an exit code of 99 if the message being processed is believed to be |
---|
4224 | spam, 0 if not, and any other code to suggest an error has occured. this is |
---|
4225 | useful for some MTAs such as qmail. |
---|
4226 | |
---|
4227 | [20040531.2100] jonz: fixed error.h overwrite bug |
---|
4228 | |
---|
4229 | fixed a bug where libc's error.h would be overwritten if --prefix=/usr. DSPAM |
---|
4230 | headers are now written to includedir/dspam. |
---|
4231 | |
---|
4232 | [20040531.1915] jonz: added man pages |
---|
4233 | |
---|
4234 | added man pages to distribution |
---|
4235 | |
---|
4236 | [20040531.0830] jonz: fixed header signature stripping |
---|
4237 | |
---|
4238 | signatures no longer stripped if --enable-signature-headers is used; to allow |
---|
4239 | for re-re-training |
---|
4240 | |
---|
4241 | [20040531.0830] jonz: fixed cgi graphs falling below zero |
---|
4242 | |
---|
4243 | minor fix to cgi graphs preventing data points from falling below zero |
---|
4244 | |
---|
4245 | Version 3.0.0.rc1 |
---|
4246 | ----------------- |
---|
4247 | |
---|
4248 | [20040528.0100] jonz: added logging support |
---|
4249 | |
---|
4250 | added support for message logging (enabled by default). logs all classification |
---|
4251 | calls to $DSPAM_HOME/data/user/user.log. disable with --disable-logging. |
---|
4252 | |
---|
4253 | [20040527.2200] jonz: added new CGI |
---|
4254 | |
---|
4255 | added new CGI |
---|
4256 | |
---|
4257 | [20040527.0730] jonz: added support for profiling |
---|
4258 | |
---|
4259 | added support for profiling using gmon output. this allows developers to use |
---|
4260 | profiling tools such as gprof to analyze the performance of the software. |
---|
4261 | |
---|
4262 | [20040527.0730] jonz: applied patch submitted by Mark Femal |
---|
4263 | |
---|
4264 | applied a patch submitted by Mark Femal <mark@beantree.com> which: |
---|
4265 | 1. Includes select *.h files and incorporates them into the installation |
---|
4266 | 2. Fixes some issues in compiling with Sun's Pro C compiler |
---|
4267 | 3. Makes some minor changes to header files to avoid conflicts |
---|
4268 | |
---|
4269 | Version 3.0.0.beta.3.1 |
---|
4270 | ---------------------- |
---|
4271 | |
---|
4272 | [20040525.0830] jonz: fixed compiler error on verbose debug |
---|
4273 | |
---|
4274 | fixed compiler errors when verbose debug was enabled |
---|
4275 | |
---|
4276 | Version 3.0.0.beta.3 |
---|
4277 | -------------------- |
---|
4278 | |
---|
4279 | [20040524.2024] jonz: bugfix for null bodies |
---|
4280 | |
---|
4281 | applied bugfix causing a segfault when the message body of some parts was |
---|
4282 | null. rare occurrence. |
---|
4283 | |
---|
4284 | [20040524.1903] jonz: implemented Robinson's technique for combining p-values |
---|
4285 | |
---|
4286 | added support for using Robinson's technique for combining p-values, as |
---|
4287 | described at http://www.linuxjournal.com/article.php?sid=6467. This technique |
---|
4288 | is presently used for chi-square calculations, but using |
---|
4289 | --enable-robinson-pvalues will use this technique for *all* calculations in |
---|
4290 | place of Graham's approach. Appears to provide slightly better results |
---|
4291 | (on the order of 1 message per thousand). |
---|
4292 | |
---|
4293 | [20040524.0529] jonz: implemented *real* chi-square |
---|
4294 | |
---|
4295 | implement Fisher-Robinson's Inverse Chi-Square algorithm...the real stuff. |
---|
4296 | use --enable-chi-square to use. |
---|
4297 | |
---|
4298 | [20040522.2350] jonz: renamed chi-square to robinson's naive bayesian |
---|
4299 | |
---|
4300 | renamed chi-square because it really isn't chi-square, but robinson's first |
---|
4301 | algorithm for naive bayesian combination. use --enable-robinson to use. |
---|
4302 | |
---|
4303 | [20040520.0800] jonz: bugfix for attachments |
---|
4304 | |
---|
4305 | fixed a bug that caused message headers in attachment sections to be ignored |
---|
4306 | |
---|
4307 | Version 3.0.0.beta.2.1 |
---|
4308 | ---------------------- |
---|
4309 | |
---|
4310 | [20040518.0630] jonz: bugfix: seg faults on rare occasions |
---|
4311 | |
---|
4312 | fixed a strlen(NULL) bug fixing an occasional segfault |
---|
4313 | |
---|
4314 | [20040514.1130] jonz: applied dspam_genaliases patch |
---|
4315 | |
---|
4316 | applied dspam_genaliases patch supplied by Scott Moorhouse |
---|
4317 | <smoorhouse@ae-solutions.com> which adds the following functionality: |
---|
4318 | |
---|
4319 | --exclude NAME Do not generate an alias for username / usernames. |
---|
4320 | --excludeuid NUM Do not generate an alias for UID / UIDS. |
---|
4321 | --minuid NUM Minimum UID for which to generate an alias. |
---|
4322 | --maxuid NUM Maximum UID for which to generate an alias. |
---|
4323 | |
---|
4324 | It also uses setpwent/getpwent to get passwd information instead |
---|
4325 | of /etc/passwd. This allows the tool to be used with any default system |
---|
4326 | authentication. |
---|
4327 | |
---|
4328 | [20040514.0830] jonz: modified mode=notrain to ignore signature |
---|
4329 | |
---|
4330 | when setting mode=notrain, the signature is NOT stored, and not appended to |
---|
4331 | an email. |
---|
4332 | |
---|
4333 | Version 3.0.0.beta.2 |
---|
4334 | -------------------- |
---|
4335 | |
---|
4336 | [20040513.1845] jonz: updated configure.ac |
---|
4337 | |
---|
4338 | updated configure.ac to work with newer versions of autoconf (with warnings) |
---|
4339 | |
---|
4340 | [20040513.0157] jonz: segfault patch for sql drivers |
---|
4341 | |
---|
4342 | applied patch to prevent segfaults in mysql and pgsql drivers under certain |
---|
4343 | conditions |
---|
4344 | |
---|
4345 | [20040512.0830] jonz: user directories moved to $DSPAM_HOME/data |
---|
4346 | |
---|
4347 | user directories have been moved to $DSPAM_HOME/data. it will be necessary to |
---|
4348 | move all user directories into this folder when upgrading |
---|
4349 | |
---|
4350 | [20040512.0830] jonz: default $DSPAM_HOME changed |
---|
4351 | |
---|
4352 | default dspam home has been changed from /etc/mail/dspam to /var/dspam. use |
---|
4353 | --with-dspam-home to change this. |
---|
4354 | |
---|
4355 | [20040512.0830] jonz: patch for sql drivers |
---|
4356 | |
---|
4357 | applied patch for mysql and pgsql drivers to prevent errors in sql due to |
---|
4358 | lack of commas |
---|
4359 | |
---|
4360 | Version 3.0.0.beta.1.2 |
---|
4361 | ---------------------- |
---|
4362 | |
---|
4363 | [20040504.1835] jonz: bugfix for signed message signature |
---|
4364 | |
---|
4365 | corrected a bug where the boundary for a signed message would be missing |
---|
4366 | a carriage return. |
---|
4367 | |
---|
4368 | [20040504.0548] jonz: bugfix for token storage bug |
---|
4369 | |
---|
4370 | fixed a token storage bug, where some tokens would not be stored if they |
---|
4371 | were preceeded by a token that was found in the database |
---|
4372 | |
---|
4373 | [20040503.0830] jonz: bugfix for corpus spam delivery |
---|
4374 | |
---|
4375 | fixed a bug where corpusfed messages would be delivered if a quarantine agent |
---|
4376 | was specified at configure time. |
---|
4377 | |
---|
4378 | [20040501.1052] jonz: added spam-subject feature |
---|
4379 | |
---|
4380 | added a spam-subject feature which can be activated with --enable-spam-subject. |
---|
4381 | when enabled, DSPAM will prepend [SPAM] to the subject headers of all messages |
---|
4382 | suspected to be spam. |
---|
4383 | |
---|
4384 | Version 3.0.0.beta.1.1 |
---|
4385 | ---------------------- |
---|
4386 | |
---|
4387 | [20040501.0630] jonz: fixed critical problems with pgsql_drv driver |
---|
4388 | |
---|
4389 | fixed a critical problem with the postgres storage driver to correct sql errors |
---|
4390 | in processing |
---|
4391 | |
---|
4392 | Version 3.0.0.beta.1 |
---|
4393 | -------------------- |
---|
4394 | |
---|
4395 | [20040430.0800] jonz: fix for sql driver subtractions |
---|
4396 | |
---|
4397 | implemented GREATEST(0, [Argument] ) functions for subtractions, which fixes a |
---|
4398 | problem in which error corrections are not made to tokens where there are |
---|
4399 | zero hits for the classification being subtracted from. should also |
---|
4400 | definitively prevent negative values in hit totals. |
---|
4401 | |
---|
4402 | [20040430.0800] jonz: bugfix: corpus feeding invoked test-conditional training |
---|
4403 | |
---|
4404 | fixed a bug where corpus feeding would invoke test-conditional training. |
---|
4405 | |
---|
4406 | [20040430.0800] jonz: test-conditional training to subtract only once |
---|
4407 | |
---|
4408 | test-conditional training modified to subtract from misclassified corpus only |
---|
4409 | once, and corpus feed for all other iterations |
---|
4410 | |
---|
4411 | [20040430.0800] jonz: fixed bug in sql-drivers/test-conditional training |
---|
4412 | |
---|
4413 | fixed a bug in the sql drivers where test condition training would make |
---|
4414 | exponential changes instead of incremental. this was due to not resetting |
---|
4415 | the control token on every call to _ds_getall_spamrecords. |
---|
4416 | |
---|
4417 | [20040430.0745] jonz: fixed bug in web stats |
---|
4418 | |
---|
4419 | fixed bug where merged group web stats wouldn't get written |
---|
4420 | |
---|
4421 | [20040430.0730] jonz: fixed bug in TOE totals |
---|
4422 | |
---|
4423 | fixed a bug where spam/innocent classified wasn't updated when TOE was used |
---|
4424 | |
---|
4425 | [20040427.0433] jonz: fixed bug in mysql and pgsql drivers |
---|
4426 | |
---|
4427 | fixed a bug in mysql and pgsql drivers where dspam_merge was functioning |
---|
4428 | incorrectly, due to the token count on record insertion being set to 1 or 0, |
---|
4429 | and not the actual token value. |
---|
4430 | |
---|
4431 | [20040427.0155] jonz: merged groups shouldn't merge with themselves |
---|
4432 | |
---|
4433 | corrected a situation where the actual user in a merged group could be merged |
---|
4434 | with themselves, if they were the target user. |
---|
4435 | |
---|
4436 | [20040427.0119] jonz: applied bdb patch for solaris |
---|
4437 | |
---|
4438 | applied a patch to building on Solaris 9 with BDB drivers |
---|
4439 | |
---|
4440 | [20040425.0757] jonz: updated pgsql drivers |
---|
4441 | |
---|
4442 | applied pgsql_drv storage driver updates submitted by Rustam Aliyev |
---|
4443 | |
---|
4444 | Version 3.0.0.alpha.6 |
---|
4445 | --------------------- |
---|
4446 | |
---|
4447 | [20040424.2235] jonz: fixed header tokenization |
---|
4448 | |
---|
4449 | fixed header tokenization from previous alpha; was suddenly leaving out |
---|
4450 | heading from token names. |
---|
4451 | |
---|
4452 | [20040424.1427] jonz: added merged groups |
---|
4453 | |
---|
4454 | merged groups are similar to global groups, only instead of the global user |
---|
4455 | being used in lieu of per-user statistics, the global user in a merged group |
---|
4456 | is merged with the user's own training data. this allows immediate correction |
---|
4457 | to take place and no training loop. |
---|
4458 | |
---|
4459 | NOTE: merged groups are storage driver dependent. presently they have only |
---|
4460 | been implemented for the mysql driver. |
---|
4461 | |
---|
4462 | [20040422.1900] jonz: messages with empty bodies should still be processed |
---|
4463 | |
---|
4464 | fixed bug where messages with empty bodies failed into delivery |
---|
4465 | |
---|
4466 | [20040422.1829] jonz: added encoding strip patch |
---|
4467 | |
---|
4468 | added patch to fix the stripping of the content-transfer-encoding |
---|
4469 | |
---|
4470 | [20040421.1809] jonz: added training mode 'notrain' |
---|
4471 | |
---|
4472 | added training mode 'notrain' which will process the message, but not train any |
---|
4473 | user data; this is ideal for implementations where a global dictionary is |
---|
4474 | used, but the administrator doesn't want to accumulate training data for each |
---|
4475 | user. |
---|
4476 | |
---|
4477 | [20040421.0310] jonz: fixed TOE-mode totals updating |
---|
4478 | |
---|
4479 | fixed bug where TOE-mode would update totals when it shouldn't |
---|
4480 | |
---|
4481 | Version 3.0.0.alpha.5 |
---|
4482 | --------------------- |
---|
4483 | |
---|
4484 | [20040421.0100] jonz: fixed totaling problems with classification groups |
---|
4485 | |
---|
4486 | fixed totaling problems with global users and classification groups, where |
---|
4487 | spams wouldn't get counted, and some innocents |
---|
4488 | |
---|
4489 | [20040421.0100] jonz: fix for dspam_stats |
---|
4490 | |
---|
4491 | fix for dspam_stats, identifying individual users |
---|
4492 | |
---|
4493 | [20040420.0734] jonz: fix for builds on Solaris w/BDB |
---|
4494 | |
---|
4495 | fixed compiler error when building on Solaris w/BDB drivers |
---|
4496 | |
---|
4497 | [20040419.0758] jonz: fix for X-DSPAM-Result header problem with TOE |
---|
4498 | |
---|
4499 | TOE resulted in the X-DSPAM-Result being send to stdout, which broke all |
---|
4500 | implementations of TOE where --stdout was used. bug fixed. |
---|
4501 | |
---|
4502 | [20040419.0700] jonz: added support for multipart/encrypted messages |
---|
4503 | |
---|
4504 | added the same support for multipart/encrypted messags as is provided |
---|
4505 | for multipart/signed |
---|
4506 | |
---|
4507 | [20040418.1840] jonz: changes to pgsql objects |
---|
4508 | |
---|
4509 | changes to pgsql objects to fix performance issues |
---|
4510 | |
---|
4511 | [20040417.1105] jonz: more global user tweaks |
---|
4512 | |
---|
4513 | if the global user thinks the message was innocent, but the user thinks it was |
---|
4514 | spam, retrain the message as a false positive into the user's dictionary |
---|
4515 | automatically, but don't update FP totals (internal function) |
---|
4516 | |
---|
4517 | [20040417.1050] jonz: implemented totals checking |
---|
4518 | |
---|
4519 | implemented totals checking to insure no totals travel below 0 |
---|
4520 | |
---|
4521 | [20040417.1045] jonz: don't retrain some classification catches |
---|
4522 | |
---|
4523 | patch added not to retrain some spams in a global user catch if the user's |
---|
4524 | own dictionary already learned it as spam |
---|
4525 | |
---|
4526 | [20040417.1037] jonz: patch for non-user creation |
---|
4527 | |
---|
4528 | patch made to sql-based drivers to avoid creating virtual users in cases where |
---|
4529 | a message isn't being directly processed (e.g. tools, error correction, etc.) |
---|
4530 | |
---|
4531 | [20040417.2006] jonz: added human-readable patch to dspam_stats |
---|
4532 | |
---|
4533 | added patch for human-readable format to dspam_stats, submitted by Alan |
---|
4534 | Shields |
---|
4535 | |
---|
4536 | Version 3.0.0.alpha.4 |
---|
4537 | --------------------- |
---|
4538 | |
---|
4539 | [20040416.0000] jonz: fix for global users to prevent FPs |
---|
4540 | |
---|
4541 | applied bugfix for global users code where false positives were getting |
---|
4542 | generated because the user's dictionary wasn't completely ignored. |
---|
4543 | |
---|
4544 | [20040416.0000] jonz: applied dspam_corpus division by zero patch |
---|
4545 | |
---|
4546 | applied div by zero patch for dspam_corpus submitted by Nick Burnett |
---|
4547 | |
---|
4548 | [20040415.0010] jonz: added end-of-token truncated symbols |
---|
4549 | |
---|
4550 | added support for end-of-token symbols, such as exclamation point. slight |
---|
4551 | boost in accuracy in testing. |
---|
4552 | |
---|
4553 | [20040414.0052] jonz: added abbreviated feature references |
---|
4554 | |
---|
4555 | the first two letters of a feature can be used alternatively instead of the |
---|
4556 | whole feature name; for example --feature=ch,no,wh |
---|
4557 | |
---|
4558 | [20040411.0100] jonz: added X-DSPAM-Confidence header |
---|
4559 | |
---|
4560 | added X-DSPAM-Confidence header to all processed messages to identify the |
---|
4561 | confidence level of the decision made. |
---|
4562 | |
---|
4563 | [20040410.0930] jonz: tum maturity level increased to 50 hits |
---|
4564 | |
---|
4565 | train-until-mature level increased from 25 hits to 50; doesn't appear to work |
---|
4566 | well in classification groups. |
---|
4567 | |
---|
4568 | [20040409.0201] jonz: added support for domain scale |
---|
4569 | |
---|
4570 | added support for domain scale applying patches submitted by |
---|
4571 | Patrick Tudor <ptudor@ptudor.net> |
---|
4572 | |
---|
4573 | [20040409.0153] jonz: applied pgsql patches |
---|
4574 | |
---|
4575 | applied more pgsql patches |
---|
4576 | |
---|
4577 | [20040409.0129] jonz: fixed headers to preserve original encoding |
---|
4578 | |
---|
4579 | headers are now delivered with original encodings |
---|
4580 | |
---|
4581 | [20040407.2254] jonz: added mass false positive button to CGI |
---|
4582 | |
---|
4583 | added a button to reverse multipe false positives by clicking on checkboxes. |
---|
4584 | |
---|
4585 | [20040407.2248] jonz: fixed bug in classification groups |
---|
4586 | |
---|
4587 | fixed a bug in classification groups, where a "classify catch" would cause |
---|
4588 | the DSPAM signature to be empty, and thus irreversible. |
---|
4589 | |
---|
4590 | [20040407.0255] jonz: tweaks to postgres m4 |
---|
4591 | |
---|
4592 | tweaks to postgres m4 to test headers and library on configure |
---|
4593 | |
---|
4594 | Version 3.0.0.alpha.3 |
---|
4595 | --------------------- |
---|
4596 | |
---|
4597 | [20040406.0124] jonz: supress extra newline in message body |
---|
4598 | |
---|
4599 | corrected message reassembly behavior by supressing newline characters at the |
---|
4600 | end of the message body. |
---|
4601 | |
---|
4602 | [20040405.0524] jonz: added postgresql driver to project |
---|
4603 | |
---|
4604 | added pgsql_drv (PostgreSQL) submitted by Rustam Aliyev <rustam@azernews.com> |
---|
4605 | to project, added to configure with its own set of configuration commands. |
---|
4606 | see tools.pgsql/README for more information. Applied recent SQL fixes. |
---|
4607 | |
---|
4608 | [20040405.0330] jonz: virtual users should not be created on reclassification |
---|
4609 | |
---|
4610 | if a message is being submitted for reclassification, a virtual user should not |
---|
4611 | be created, but fail instead - e.g. spam could be getting sent to the alias, |
---|
4612 | and shouldn't create new uids. |
---|
4613 | |
---|
4614 | [20040405.0233] jonz: fixed SQL-driver hits-below-zero bug |
---|
4615 | |
---|
4616 | fixed a bug causing some tokens to drop below zero hits using the mysql |
---|
4617 | driver. |
---|
4618 | |
---|
4619 | [20040405.0149] jonz: fixed BNR bug |
---|
4620 | |
---|
4621 | fixed a bug caused by Bayesian Noise Reduction which caused some messages |
---|
4622 | never to get learned if the control token was filtered; or caused filtered |
---|
4623 | tokens never to be learned. |
---|
4624 | |
---|
4625 | [20040403.1745] jonz: rewrite of libdspam API |
---|
4626 | |
---|
4627 | rewrite of libdspam's API. in short: |
---|
4628 | |
---|
4629 | - Operating modes DSM_ADDSPAM and DSM_FALSEPOSITIVE dropped |
---|
4630 | - CTX->classification added: DSR_ISSPAM | DSR_ISINNOCENT | DSR_NONE |
---|
4631 | - CTX->source added: DSS_ERROR | DSS_INOCULATION | DSS_CORPUS | DSS_NONE |
---|
4632 | |
---|
4633 | provides a much cleaner and less ambiguous interface |
---|
4634 | |
---|
4635 | [20040403.1215] jonz: removed signature deletion |
---|
4636 | |
---|
4637 | removed signature deletion from agent, so messages can be re-re-classified. |
---|
4638 | also prevents mysql errors. |
---|
4639 | |
---|
4640 | [20040403.1125] jonz: added dotfile debugging support |
---|
4641 | |
---|
4642 | --enable-debug and --enable-verbose-debug flags now require a .debug file |
---|
4643 | to be dropped in order to log debug messages, providing you with the ability |
---|
4644 | to dynamically activate/deactivate debug messages for some or all users. A |
---|
4645 | .debug file can either be dropped in DSPAM_HOME to activate debugging for all |
---|
4646 | users, or a username.debug file can be dropped in DSPAM_HOME/userpath/ to |
---|
4647 | activate debugging for a subset of users. |
---|
4648 | |
---|
4649 | [20040402.1839] jonz: added support for domain-name groups |
---|
4650 | |
---|
4651 | added support for groups based on domain name |
---|
4652 | |
---|
4653 | Version 3.0.0.alpha.2 |
---|
4654 | --------------------- |
---|
4655 | |
---|
4656 | [20040402.0730] jonz: improved agent classification output |
---|
4657 | |
---|
4658 | agent classification output improved to include username, result, probability, |
---|
4659 | and confidence level in MIME format for easy parsing |
---|
4660 | |
---|
4661 | [20040402.0730] jonz: added broken MTA support |
---|
4662 | |
---|
4663 | --enable-broken-mta |
---|
4664 | You should enable this if your MTA is broken and passes messages into DSPAM |
---|
4665 | with CTRL-M's (^M) in them. |
---|
4666 | |
---|
4667 | [20040402.0730] jonz: added training loop buffering feature |
---|
4668 | |
---|
4669 | Training loop buffering is the amount of statistical sedation performed to |
---|
4670 | water down statistics and avoid false positives during the user's training loop. |
---|
4671 | The training buffer sets the buffer sensitivity, and should be a number |
---|
4672 | between 0 (no buffering whatsoever) to 10 (heavy buffering). The default is 5, |
---|
4673 | half of what previous versions of DSPAM used. To avoid dulling down |
---|
4674 | statistics at all during the training loop, set this to 0. |
---|
4675 | |
---|
4676 | The training buffer can be set using bf=N as a feature, where N is the level of |
---|
4677 | buffering (0-10). For example: |
---|
4678 | |
---|
4679 | --feature=chained,noise,tb=10 |
---|
4680 | |
---|
4681 | Causes the buffer level to be set to 10, the highest level of safety, whereas |
---|
4682 | |
---|
4683 | --feature=chained,noise,tb=0 |
---|
4684 | |
---|
4685 | Removes all buffering constraints |
---|
4686 | |
---|
4687 | [20040402.0723] jonz: fixed bug in dspam_dump |
---|
4688 | |
---|
4689 | fixed a bug in dspam_dump causing unknown tokens to be displayed with |
---|
4690 | uninitialized values |
---|
4691 | |
---|
4692 | [20040402.0720] jonz: fixed bug in agent for signature dropping |
---|
4693 | |
---|
4694 | when a signature can't be found, the message is dropped; unfortunately the |
---|
4695 | agent forgot to shut down the dspam context which caused BDB to lock up. |
---|
4696 | |
---|
4697 | [20040402.0700] jonz: added switch for webmail |
---|
4698 | |
---|
4699 | The webmail switch is designed for systems where the original message remains |
---|
4700 | server side and can therefore be presented in pristine format for retraining. |
---|
4701 | |
---|
4702 | --enable-webmail |
---|
4703 | The webmail switch is designed for systems where the original message |
---|
4704 | remains server side and can therefore be presented in pristine format for |
---|
4705 | retraining. This option will cause DSPAM to cease all writing of |
---|
4706 | signatures and DSPAM headers to the message, and deliver the message in as |
---|
4707 | pristine format as possible. This mode REQUIRES that the original message |
---|
4708 | in its pristine format (as of delivery) be presented for retraining, as in |
---|
4709 | the case of webmail or other applications where the message is actually |
---|
4710 | kept server-side during reading, and is preserved. DO NOT use this switch |
---|
4711 | unless the original message can be presented for retraining with the |
---|
4712 | ORIGINAL HEADERS and NO MODIFICATIONS. |
---|
4713 | |
---|
4714 | [20040401.2243] jonz: fix for signature headers |
---|
4715 | |
---|
4716 | applied patch to fix multipart boundary bug when signature-headers is enabled |
---|
4717 | |
---|
4718 | Version 3.0.0.alpha.1 |
---|
4719 | --------------------- |
---|
4720 | |
---|
4721 | [20040401.1230] jonz: patches to corpus locking |
---|
4722 | |
---|
4723 | made patches for corpus locking, to help prevent corruption with BDB drivers. |
---|
4724 | DSPAM agent now drops a .corpuslock file upon processing a corpus which in |
---|
4725 | turn tells the drivers not to run automatic recovery. this should prevent |
---|
4726 | corruption when an email comes in while you are corpus training with the BDB |
---|
4727 | drivers. this was not an issue with the SQL-based drivers. |
---|
4728 | |
---|
4729 | [20040401.1230] jonz: deleted libdb4_purge, libdb3_purge |
---|
4730 | |
---|
4731 | libdb4_purge and libdb3_purge have been obsoleted by the new rewritten |
---|
4732 | dspam_clean tool |
---|
4733 | |
---|
4734 | [20040401.0720] jonz: extended group line length to 10k |
---|
4735 | |
---|
4736 | extended length of a single group line to 10k, from 1k |
---|
4737 | |
---|
4738 | [20040401.0720] jonz: new dspam_clean functionality |
---|
4739 | |
---|
4740 | dspam_clean has been rewritten to support the following different clean |
---|
4741 | operations: |
---|
4742 | |
---|
4743 | 1. Using the -s flag, dspam_clean will continue to perform stale signature |
---|
4744 | purging. If an age is specified, for example -s14, the age defined as the |
---|
4745 | default will be overridden. Specifying an age of 0 will delete all |
---|
4746 | signatures for the users processed. |
---|
4747 | |
---|
4748 | 2. Using the -p flag, dspam_clean will delete all tokens from a user's database |
---|
4749 | whose probability is between 0.35 and 0.65 (fairly neutral, useless tokens) |
---|
4750 | that fall beyond the default age. If an age is specified, for example |
---|
4751 | -p30, the age defined as the default will be overridden. It is a good |
---|
4752 | idea to use this type of clean with an age of 0 on users after a lot of |
---|
4753 | corpus training. |
---|
4754 | |
---|
4755 | 3. Using the -u flag, dspam_clean will delete all unused tokens from a user's |
---|
4756 | database. There are four different types of unused tokens: |
---|
4757 | |
---|
4758 | - Tokens which have not been used for a long time |
---|
4759 | - Tokens which have a total hit count below 5 |
---|
4760 | - Tokens which have only one spam hit |
---|
4761 | - Tokens which have only one innocent hit |
---|
4762 | |
---|
4763 | Ages may be overridden by specifying a format such as -u30,15,10,10 |
---|
4764 | where each number represents the respective age. Specifying an age of |
---|
4765 | zero will delete all unused tokens in the category. |
---|
4766 | |
---|
4767 | Optionally, usernames may be specified to override the default behavior of |
---|
4768 | processing all users. |
---|
4769 | |
---|
4770 | Examples: |
---|
4771 | |
---|
4772 | Process all users on the system using all clean operations: |
---|
4773 | dspam_clean -s -p15 -u90,30,15,15 |
---|
4774 | |
---|
4775 | Delete all of user 'dick' and 'jane's signatures |
---|
4776 | dspam_clean -s0 dick jane |
---|
4777 | |
---|
4778 | Perform a post-corpus training clean on user 'spot' |
---|
4779 | dspam_clean -p0 -u0,0,0,0 |
---|
4780 | |
---|
4781 | Perform nightly maintenance using all default values, for all users, with all |
---|
4782 | options enabled: |
---|
4783 | dspam_clean -p -u -s |
---|
4784 | |
---|
4785 | NOTE: You may wish to only run certain cleaning modes depending on the type of |
---|
4786 | storage driver you are using. For example, the MySQL storage driver |
---|
4787 | includes a purge.sql script which performs signature and unused operations, |
---|
4788 | leaving only the probability operation as a useful operation. If you are |
---|
4789 | using a SQL-based storage driver, it is strongly recommended that you use |
---|
4790 | the maintenace scripts wherever possible. |
---|
4791 | |
---|
4792 | [20040401.0720] jonz: added _ds_delall_spamrecords and _ds_del_spamrecord |
---|
4793 | |
---|
4794 | added spamrecord deletion functionality to storage driver, increased version |
---|
4795 | to 5:0:0 |
---|
4796 | |
---|
4797 | [20040331.2000] jonz: applied some memory leak patches |
---|
4798 | |
---|
4799 | applied some memory leak patches submitted by |
---|
4800 | William Ahern <wahern@barracudanetworks.com> |
---|
4801 | |
---|
4802 | [20040328.2200] jonz: renamed USERDIR to DSPAM_HOME |
---|
4803 | |
---|
4804 | all references to USERDIR are now known as DSPAM_HOME, including the |
---|
4805 | --with-dspam-home configure flag, and mode settings. |
---|
4806 | |
---|
4807 | [20040328.2200] jonz: moved several features to commandline |
---|
4808 | |
---|
4809 | many features have been REMOVED from the configure script and into the |
---|
4810 | commandline including chained tokens, bayesian noise reduction, automatic |
---|
4811 | whitelisting, and training modes. please see the documentation for a complete |
---|
4812 | list of commandline arguments. |
---|
4813 | |
---|
4814 | configure functions which have changed: |
---|
4815 | |
---|
4816 | --with-userdir-* changed all to dspam-home |
---|
4817 | --with-local-delivery-agent changed to --with-delivery-agent |
---|
4818 | --enable/disable-chained-tokens removed from configure |
---|
4819 | --enable/disable-bnr removed from configure |
---|
4820 | --enable/disable-whitelist removed from configure |
---|
4821 | --enable/disable-toe removed from configure |
---|
4822 | --enable/disable-tum removed from configure |
---|
4823 | --enable/disable-spam-delivery removed from configure |
---|
4824 | --enable-deliver-to-stdout removed from configure |
---|
4825 | |
---|
4826 | [20040328.1745] jonz: completely reworked commandline arguments |
---|
4827 | |
---|
4828 | please see documentation for new commandline arguments. |
---|
4829 | |
---|
4830 | [20040328.1745] jonz: removed free-pass of arguments by untrusted users |
---|
4831 | |
---|
4832 | removed ability to pass in arguments by untrusted users, when the file |
---|
4833 | untrusted.mailer_args didn't exist |
---|
4834 | |
---|
4835 | [20040327.2230] jonz: CGI to allow logo-click to return |
---|
4836 | |
---|
4837 | changed CGI to allow a click on the DSPAM logo to return the user to the |
---|
4838 | main page |
---|
4839 | |
---|
4840 | [20040327.2222] jonz: thresholds to include all totals |
---|
4841 | |
---|
4842 | thresholds changed to include all 3 totals: learned, classified, corpusfed |
---|
4843 | |
---|
4844 | [20040327.2221] jonz: test-conditional training threshold dropped |
---|
4845 | |
---|
4846 | test-conditional training threshold dropped to 1000 messages |
---|
4847 | |
---|
4848 | [20040326.0730] jonz: extended DAF flagset |
---|
4849 | |
---|
4850 | extended DAF flagset to four bytes |
---|
4851 | |
---|
4852 | [20040326.0730] jonz: temporarily removed blackbox framework |
---|
4853 | |
---|
4854 | archived and removed blackbox framework from cvs; not likely i'll be working |
---|
4855 | on it any time soon |
---|
4856 | |
---|
4857 | [20040325.2129] jonz: extended context flags to u_int32_t |
---|
4858 | |
---|
4859 | extended context flags to 4 bytes, to add additional commandline features |
---|
4860 | |
---|
4861 | [20040325.2129] jonz: compatibility fixes for TOE |
---|
4862 | |
---|
4863 | compatibility fixes for TOE for web client and stats |
---|
4864 | |
---|
4865 | [20040325.1939] jonz: code cleanup |
---|
4866 | |
---|
4867 | commented headers, cleaned up code |
---|
4868 | |
---|
4869 | [20040325.1930] jonz: converted total_spam, total_innocent |
---|
4870 | |
---|
4871 | converted total_spam, total_innocent to spam_learned, innocent_learned, and |
---|
4872 | added spam_classified, innocent_classified for stats use with TOE. |
---|
4873 | |
---|
4874 | NOTE: changes are required to SQL-based drivers for this version |
---|
4875 | |
---|
4876 | MySQL Example: |
---|
4877 | |
---|
4878 | alter table dspam_stats add spam_learned int; |
---|
4879 | alter table dspam_stats add innocent_learned int; |
---|
4880 | alter table dspam_stats add spam_classified int; |
---|
4881 | alter table dspam_stats add innocent_classified int; |
---|
4882 | update dspam_stats set spam_learned = total_spam; |
---|
4883 | update dspam_stats set innocent_learned = total_innocent; |
---|
4884 | update dspam_stats set spam_classified = 0; |
---|
4885 | update dspam_stats set innocent_classified = 0; |
---|
4886 | alter table dspam_stats drop column total_spam; |
---|
4887 | alter table dspam_stats drop column total_innocent; |
---|
4888 | alter table dspam_stats add spam_misclassified int; |
---|
4889 | alter table dspam_stats add innocent_misclassified int; |
---|
4890 | update dspam_stats set spam_misclassified = spam_misses; |
---|
4891 | update dspam_stats set innocent_misclassified = false_positives; |
---|
4892 | alter table dspam_stats drop column spam_misses; |
---|
4893 | alter table dspam_stats drop column false_positives; |
---|
4894 | |
---|
4895 | [20040325.1930] jonz: addspam to fail on failed signature retrieval |
---|
4896 | |
---|
4897 | due to a lot of misconfigurations of dspam, addspam will now fail if a |
---|
4898 | signature cannot be retrieved. this should help pinpoint problem installs |
---|
4899 | and clients, and prevent poor accuracy. |
---|
4900 | |
---|
4901 | Version 2.11.1 |
---|
4902 | -------------- |
---|
4903 | |
---|
4904 | [20040325.0757] jonz: added --help |
---|
4905 | |
---|
4906 | added --help commandline argument |
---|
4907 | |
---|
4908 | [20040325.0757] jonz: fixed division by zero bug in dspam.cgi |
---|
4909 | |
---|
4910 | small chance of division by zero bug fixed |
---|
4911 | |
---|
4912 | [20040325.0740] jonz: fixed toe |
---|
4913 | |
---|
4914 | fixed toe, which has been accidentally disabled in testing |
---|
4915 | |
---|
4916 | [20040325.0740] jonz: provided runtime arguments for training mode |
---|
4917 | |
---|
4918 | added run-time arguments --toe --tum --teft to specify training mode. the |
---|
4919 | default is based on configure-time options. |
---|
4920 | |
---|
4921 | also added training_mode variable to dspam context, should not affect |
---|
4922 | compatibility. |
---|
4923 | |
---|
4924 | Version 2.10.2 |
---|
4925 | -------------- |
---|
4926 | |
---|
4927 | [20040319.2138] jonz: added shell quoting of special characters |
---|
4928 | |
---|
4929 | special characters are now quoted, instead of filtered, when calling the LDA. |
---|
4930 | |
---|
4931 | Version 2.11.0 / Version 2.10.2 |
---|
4932 | ------------------------------- |
---|
4933 | |
---|
4934 | [20040319.1845] jonz: fixed bash special characters problem |
---|
4935 | |
---|
4936 | fixed special characters problem in bash by encapsulating all arguments in |
---|
4937 | quotes |
---|
4938 | |
---|
4939 | [20040319.0730] jonz: added train-on-mature training option |
---|
4940 | |
---|
4941 | --enable-tum |
---|
4942 | train-on-mature (TuM) is a hybrid of train-everything and train-on-error. |
---|
4943 | all tokens are candidates for training as in train-everything, but only tokens |
---|
4944 | whose total number of "hits" don't exceed 100 are trained. on error, all |
---|
4945 | tokens are trained. this provides a good balance between the volatility of |
---|
4946 | train-everything and the lack of behavioral learning in train-on-error. it |
---|
4947 | also has the added benefit of not breaking the things that toe presently |
---|
4948 | breaks in dspam (whitelists, stats, etc). |
---|
4949 | |
---|
4950 | [20040319.0700] jonz: fixed source address bug |
---|
4951 | |
---|
4952 | fixed a bug in source address tracking where messages were reported as innocent |
---|
4953 | even if they were guilty, if the user had < 2500 messages in corpus |
---|
4954 | |
---|
4955 | [20040318.1932] jonz: fixed compile-time warning in dspam_tools.c |
---|
4956 | |
---|
4957 | fixed warning for uninitialized crc variable |
---|
4958 | |
---|
4959 | [20040318.0259] jonz: post-training features dropped to 2500 |
---|
4960 | |
---|
4961 | post-training features such as TOE and BNR have had their prerequisite ham count |
---|
4962 | droped from 4000 to 2500. |
---|
4963 | |
---|
4964 | [20040318.0241] jonz: fixed up headers so developers only need libdspam.h |
---|
4965 | |
---|
4966 | fixed up header dependencies so developers only need include libdspam.h to |
---|
4967 | use libdspam. |
---|
4968 | |
---|
4969 | [20040318.0124] jonz: added support for header-based signatures |
---|
4970 | |
---|
4971 | for implementations where a signature in the body is unacceptable, using |
---|
4972 | --enable-signature-headers will place the signature in the header, and not |
---|
4973 | in the body. |
---|
4974 | |
---|
4975 | IMPORTANT: This will -require- that the headers be forwarded with the message |
---|
4976 | when being reported as spam. This usually requires bouncing the message, |
---|
4977 | forwarding it as an attachment, or using a macro. The header will otherwise |
---|
4978 | be lost with standard forwarding. |
---|
4979 | |
---|
4980 | [20040316.2315] jonz: added support for userlist termination |
---|
4981 | |
---|
4982 | userlist can now be terminated using -- |
---|
4983 | |
---|
4984 | Version 2.10.1 |
---|
4985 | -------------- |
---|
4986 | |
---|
4987 | [20040314.0128] jonz: bugfix for segfaults in dspam.c |
---|
4988 | |
---|
4989 | segfaults can occur on some systems (predominantly Solaris) when mail is sent |
---|
4990 | to multiple local recipients. bugfix required the header insert pointer to |
---|
4991 | be reset. |
---|
4992 | |
---|
4993 | Version 2.10.0 |
---|
4994 | -------------- |
---|
4995 | |
---|
4996 | [20040307.1828] jonz: new dspam_corpus tool by Gary Funck |
---|
4997 | |
---|
4998 | replaced old dspam_corpus tool with a better one contributed by Gary Funck |
---|
4999 | <gary@intrepid.com> |
---|
5000 | |
---|
5001 | [20040305.0320] jonz: added postfix documentation |
---|
5002 | |
---|
5003 | added documentation for postfix local delivery |
---|
5004 | |
---|
5005 | [20040305.0320] jonz: added support for domain filesystem structure |
---|
5006 | |
---|
5007 | use of --enable-domain-scale configures filesystem for domain-based |
---|
5008 | support. when used, username@domain should be passed in as the userid and |
---|
5009 | $USERDIR/domain/username/ will be used instead of $USERDIR/username or |
---|
5010 | $USERDIR/u/us/username as done with large scale |
---|
5011 | |
---|
5012 | [20040303.2208] jonz: applied bugfix patch by dennis pedersen |
---|
5013 | |
---|
5014 | applied a bugfix to libdb3 and libdb4 fixing a bug that was presented in rc2 |
---|
5015 | causing loop hangs. submitted by dennis pedersen <dennis@moellegaard.dk> |
---|
5016 | |
---|
5017 | [20040303.0243] jonz: added long username support |
---|
5018 | |
---|
5019 | by default, the username length uses the same limits as the operating system. |
---|
5020 | if --enable-long-usernames is specified, however, the limit will be set to |
---|
5021 | 256. |
---|
5022 | |
---|
5023 | Version 2.10-rc2 |
---|
5024 | ---------------- |
---|
5025 | |
---|
5026 | [20040302.0007] jonz: implemented auto-whitelisting |
---|
5027 | |
---|
5028 | implemented auto-whitelisting using --enable-whitelist function. automatic |
---|
5029 | whitelisting will automatically whitelist any full 'From' addresses (including |
---|
5030 | the name) that have appeared in at least 10 innocent messages and zero spams. |
---|
5031 | when a message is forwarded as a spam, any automatic whitelisting for that |
---|
5032 | address is permanently deactivated. |
---|
5033 | |
---|
5034 | [20040301.2339] jonz: fixed purge.sql |
---|
5035 | |
---|
5036 | fixed some bugs in MySQL's purge.sql, optimized for speed thanks to another |
---|
5037 | patch submitted by bob glamm. |
---|
5038 | |
---|
5039 | [20040229.1245] jonz: applied patch submitted by Sascha Blank |
---|
5040 | |
---|
5041 | applied patch submitted by Sascha Blank for dspam_dump to allow lookup of |
---|
5042 | individual tokens. |
---|
5043 | |
---|
5044 | [20040228.1618] jonz: train-on-error to perform source address tracking |
---|
5045 | |
---|
5046 | train-on-error mode fixed to perform source address tracking |
---|
5047 | |
---|
5048 | [20040224.2008] jonz: fixed high cpu utilization on large messages |
---|
5049 | |
---|
5050 | fixed an iteration problem which caused high cpu utilization on large (2MB+) |
---|
5051 | text messages |
---|
5052 | |
---|
5053 | [20040223.0350] jonz: fixed compile error in libdspam.c |
---|
5054 | |
---|
5055 | fixed compile error in libdspam.c when HAVE_ISO_VARARGS isn't defined |
---|
5056 | |
---|
5057 | Version 2.10-rc1 |
---|
5058 | ---------------- |
---|
5059 | |
---|
5060 | [20040222.1606] jonz: added support for global groups |
---|
5061 | |
---|
5062 | global groups allows DSPAM to provide a "SpamAssassin type out-of-the-box |
---|
5063 | filtering" for all new users until they have built their own useful |
---|
5064 | dictionaries. to create a global classification group, add something like |
---|
5065 | this to $USERDIR/group: |
---|
5066 | |
---|
5067 | groupname:classification:*globaluser |
---|
5068 | |
---|
5069 | This will automatically add globaluser as a classification peer to all users. |
---|
5070 | Any user who has less than 1000 innocent messages or 250 spam messages in |
---|
5071 | their corpus, or whose filter is uncertain about a particular message will |
---|
5072 | consult the global dictionary for an answer. |
---|
5073 | |
---|
5074 | global groups will need to be trained using corpus or other means, or by |
---|
5075 | using the dspam_merge tool. the global user (in this case 'globaluser') is |
---|
5076 | treated just as any other user on the system. |
---|
5077 | |
---|
5078 | [20040221.2155] jonz: format changes to dspam_dump |
---|
5079 | |
---|
5080 | dspam_dump formatting changes + display of token probability |
---|
5081 | |
---|
5082 | [20040220.1700] jonz: added quick fix for \r stripping in dspam_corpus |
---|
5083 | |
---|
5084 | added a quick fix to strip \r's in mailboxes when using dspam_corpus |
---|
5085 | |
---|
5086 | [20040220.1700] jonz: fixed segfault bug |
---|
5087 | |
---|
5088 | fixed a bug that caused DSPAM to segfault on empty MIME delimiters. This |
---|
5089 | generally only occured with spams, as legitimate messages have RFC-compliant |
---|
5090 | delimiters. |
---|
5091 | |
---|
5092 | [20040219.0150] jonz: added support for neural networking |
---|
5093 | |
---|
5094 | see README for more details |
---|
5095 | |
---|
5096 | [20040218.2300] jonz: added tweaking to BNR for small text samples |
---|
5097 | |
---|
5098 | added tweaking of thresholds to BNR for small text sampes < 3.5k |
---|
5099 | |
---|
5100 | [20040217.0724] jonz: fixed some miscellaneous compile warnings |
---|
5101 | |
---|
5102 | fixed some miscellaneous compile warnings. 2 for when trusted user security |
---|
5103 | is disabled, 1 for dspam_2mysql.c:126 |
---|
5104 | |
---|
5105 | Version 2.10-beta-2 |
---|
5106 | ------------------- |
---|
5107 | |
---|
5108 | [20040214.1632] jonz: added TOE support |
---|
5109 | |
---|
5110 | added TOE (Train on Error) support using the --enable-toe configure function. |
---|
5111 | see the README file for more details. |
---|
5112 | |
---|
5113 | [20040213.1549] jonz: fixed X-DSPAM header duplication bug |
---|
5114 | |
---|
5115 | fixed a bug which caused X-DSPAM headers to be cumulatively appended when |
---|
5116 | a single message addresses multiple local users. |
---|
5117 | |
---|
5118 | [20040214.1327] jonz: added --enable-client-compression configure flag |
---|
5119 | |
---|
5120 | added option --enable-client-compression to use compression option between |
---|
5121 | data source and its clients (where available). presently only available with |
---|
5122 | the mysql_drv storage driver. you should enable this if the data source |
---|
5123 | is on a separate machine from the DSPAM agent(s), as it conserves bandwidth |
---|
5124 | at the expense of a few CPU cycles. |
---|
5125 | |
---|
5126 | [20040214.1258] jonz: created speed and space optimized MySQL scripts |
---|
5127 | |
---|
5128 | created both speed and space optimized mysql_objects.sql scripts. |
---|
5129 | |
---|
5130 | [20040214.1235] jonz: added new stats to CGI |
---|
5131 | |
---|
5132 | added FP stats + overall accuracy to CGI |
---|
5133 | |
---|
5134 | [20040214.1235] jonz: added debug output for noise filtering |
---|
5135 | |
---|
5136 | added noise level, spammy tokens, and eliminations to debug output |
---|
5137 | |
---|
5138 | Version 2.10-beta-1 |
---|
5139 | ------------------- |
---|
5140 | |
---|
5141 | [20040212.2208] jonz: added stale data purge / PURGE_ANY |
---|
5142 | |
---|
5143 | added stale data purge to libdb3 and libdb4 purge tools. based on PURGE_ANY, |
---|
5144 | defined in config.h, any stale data is removed after six months. |
---|
5145 | |
---|
5146 | [20040212.2205] jonz: added DSF_NOISE flag |
---|
5147 | |
---|
5148 | added DSF_NOISE flag to libdspam interface for activating Bayesian Noise |
---|
5149 | Reduction. |
---|
5150 | |
---|
5151 | [20040211.0158] jonz: disabled mysql_drv _ds_delete_signature |
---|
5152 | |
---|
5153 | disabled _ds_delete_signature in mysql_drv due to errors; added signature |
---|
5154 | purge to purge.sql script. no longer necessary to run dspam_clean if using |
---|
5155 | the mysql storage driver. |
---|
5156 | |
---|
5157 | [20040211.0155] jonz: mysql_drv get_one update |
---|
5158 | |
---|
5159 | check to insure there was at least one token to be loaded, otherwise do not |
---|
5160 | perform query |
---|
5161 | |
---|
5162 | Version 2.9.6 |
---|
5163 | ------------- |
---|
5164 | [20040208.1906] jonz: bugfix for BNR |
---|
5165 | |
---|
5166 | BUGFIX: when BNR is activated on users with < 4000 innocent |
---|
5167 | messages, the filter forgets to load token stats for the user and marks |
---|
5168 | all messages as innocent. |
---|
5169 | |
---|
5170 | Version 2.9.5 |
---|
5171 | ------------- |
---|
5172 | [20040204.0413] jonz: implemented Bayesian Dolby |
---|
5173 | |
---|
5174 | implemented Bayesian Noise Reduction |
---|
5175 | (see http://www.nuclearelephant.com/projects/dspam/bnr.html) |
---|
5176 | |
---|
5177 | [20040202.2216] jonz: added multipart frequency threshholds |
---|
5178 | |
---|
5179 | body tokens in multipart messages now require a minimum frequency of 2 to be |
---|
5180 | included in the calculation. |
---|
5181 | |
---|
5182 | [20040128.2021] jonz: only report source-addresses in mature corpuses |
---|
5183 | |
---|
5184 | only report source-addresses when the user has >4000 innocent messages in |
---|
5185 | their corpus. |
---|
5186 | |
---|
5187 | Version 2.9.4 |
---|
5188 | ------------- |
---|
5189 | |
---|
5190 | [20030128.0334] jonz: added DSPAM SBL dropfile support |
---|
5191 | |
---|
5192 | added support to source address tracking to drop SBL files to /var/spool/sbl |
---|
5193 | if exists, where client in directory watch mode can read. |
---|
5194 | |
---|
5195 | Version 2.9.3 |
---|
5196 | ------------- |
---|
5197 | |
---|
5198 | [20040122.0700] jonz: hex decoding |
---|
5199 | |
---|
5200 | a small piece of code to perform hex-decoding on 8bit encodings. very useful, |
---|
5201 | although hex encoding is still somewhat rare. |
---|
5202 | |
---|
5203 | [20040121.0805] jonz: new stats watering-down code for high-spam users |
---|
5204 | |
---|
5205 | implemented new code for watering down statistcs during the learning phase to |
---|
5206 | compensate for users with a high percentage of spam. this should only affect |
---|
5207 | accuracy of normal (average spam) users for the first 1000 messages. |
---|
5208 | significant watering down takes place up to 1000 spams. limited watering |
---|
5209 | down takes place up to 2500 spams if the user has more spam in their corpus |
---|
5210 | than innocent mail. |
---|
5211 | |
---|
5212 | [20040121.0805] jonz: priority given to complex tokens |
---|
5213 | |
---|
5214 | slight code tweak to give priority to more complex tokens (e.g. chained |
---|
5215 | tokens) to help improve accuracy. |
---|
5216 | |
---|
5217 | [20030121.0805] jonz: signaure should not be stored when using --corpus |
---|
5218 | |
---|
5219 | signatures are no longer stored when using the --corpus flag |
---|
5220 | |
---|
5221 | Version 2.9.1 |
---|
5222 | ------------ |
---|
5223 | |
---|
5224 | [20031220.1442] jonz: added notification emails |
---|
5225 | |
---|
5226 | three different notification emails can be configured to get sent: |
---|
5227 | |
---|
5228 | - to a user the first time they receive a message through dspam (first run) |
---|
5229 | - to a user the first time a spam is caught through dspam on their behalf |
---|
5230 | - to a user when their quarantine box is > 2MB in size |
---|
5231 | |
---|
5232 | to use notification emails, copy the txt/ directory from the distribution |
---|
5233 | into USERDIR and configure the emails accordingly. more information is |
---|
5234 | available in the README. |
---|
5235 | |
---|
5236 | Version 2.8.1 |
---|
5237 | ------------- |
---|
5238 | |
---|
5239 | [20031205.0821] jonz: html preformatting only for html parts |
---|
5240 | |
---|
5241 | html preformatting to be done only to html parts; html comments in |
---|
5242 | plain text parts should not be filtered out. |
---|
5243 | |
---|
5244 | [20031205.0156] jonz: high-byte tokens not ignored |
---|
5245 | |
---|
5246 | fixed a small bug causing tokens consisting of all high-bytes to be |
---|
5247 | ignored. |
---|
5248 | |
---|
5249 | [20031205.0122] jonz: tweaked cgi spam ratio |
---|
5250 | |
---|
5251 | tweaked cgi spam ratio to include misclassificatoins |
---|
5252 | |
---|
5253 | [20031130.1016] jonz: dspam_merge to corpusfy totals |
---|
5254 | |
---|
5255 | dspam_merge now moves all totals to corpusfed, so that a merged user can |
---|
5256 | easily start with fresh stats. |
---|
5257 | |
---|
5258 | [20031129.1619] jonz: fixed quarantine agent arg skip bug |
---|
5259 | |
---|
5260 | fixed minor bug which caused some arguments to be skipped then using a custom |
---|
5261 | quarantine agent |
---|
5262 | |
---|
5263 | [20031129.1443] jonz: implemented opt-in/opt-out storage directory |
---|
5264 | |
---|
5265 | moved all user.dspam and user.nodspam files to USERDIR/opt-in and |
---|
5266 | USERDIR/opt-out, respectively. this saves from needing to have and set up |
---|
5267 | a directory for each user. |
---|
5268 | |
---|
5269 | Version 2.8 |
---|
5270 | ----------- |
---|
5271 | |
---|
5272 | [20031126.1633] jonz: stepped down insert query error to debug info |
---|
5273 | |
---|
5274 | stepped down the query error on insert down to debug info, as it is a common |
---|
5275 | occurance on busy servers. |
---|
5276 | |
---|
5277 | [20031124.0523] jonz: corrected buffer overrun in BDB drivers |
---|
5278 | |
---|
5279 | corrected buffer overrun vulnerability in BDB drivers dealing with copying |
---|
5280 | tokens into memory. discovered when working with corrupt dictionaries which |
---|
5281 | caused segfaults. the dictionary would have to be manipulated in order to |
---|
5282 | exploit, so risk was minimal. |
---|
5283 | |
---|
5284 | [20031124.0459] jonz: fixed bug in dspam_2mysql |
---|
5285 | |
---|
5286 | dspam_2mysql failed to place quotes around token value. |
---|
5287 | |
---|
5288 | [20031123.1351] jonz: fixed libdb4,libdb3 shared group bug |
---|
5289 | |
---|
5290 | fixed a bug that caused shared groups to fail with the following error: |
---|
5291 | |
---|
5292 | DB_ENV->open failed: No such file or directory |
---|
5293 | |
---|
5294 | [20031120.0405] jonz: fixed HTML boundary corruption with signature removal |
---|
5295 | |
---|
5296 | fixed a bug that caused boundary corruption after an HTML part where a DSPAM |
---|
5297 | signature from a previous reply was removed by the agent. |
---|
5298 | |
---|
5299 | [20031120.0405] jonz: do not remove old signatures from signed messages |
---|
5300 | |
---|
5301 | corrected the dspam agent so that older signatures from signed messages were |
---|
5302 | not parsed out. this caused the message to fail to authenticate. |
---|
5303 | |
---|
5304 | Version 2.8-rc-1 |
---|
5305 | ---------------- |
---|
5306 | |
---|
5307 | [20031115.2042] jonz: fixed minor memory leak on initialization failure |
---|
5308 | |
---|
5309 | minor memory leak caused in libdspam when dspam_init fails. does not affect |
---|
5310 | DSPAM agent, only library. |
---|
5311 | |
---|
5312 | [20031115.2042] jonz: DSM_CLASSIFY generated truncated signatures |
---|
5313 | |
---|
5314 | fixed a bug where DSM_CLASSIFY generated truncated signatures |
---|
5315 | |
---|
5316 | [20031115.1540] jonz: corrected multipart analysis bug |
---|
5317 | |
---|
5318 | corrected a bug that caused parts of a multipart message that were not |
---|
5319 | specifically marked as text with the "Content-Type" header to be ignored from |
---|
5320 | analysis. |
---|
5321 | |
---|
5322 | [20031114.1949] jonz: corrected DSM_CLASSIFY in-memory totals bug |
---|
5323 | |
---|
5324 | corrected a bug that changed in-memory totals when DSM_CLASSIFY was used |
---|
5325 | |
---|
5326 | [20031113.1938] jonz: corrected DSM_CLASSIFY bug in libdspam |
---|
5327 | |
---|
5328 | corrected two bugs in libdspam regarding the DSM_CLASSIFY mode: |
---|
5329 | |
---|
5330 | 1. CTX->signature would overwrite the provided signature with a new signature |
---|
5331 | resulting in a potential memory leak |
---|
5332 | |
---|
5333 | 2. If no signature was provided, DSM_CLASSIFY would segfault instead of create |
---|
5334 | a new signature |
---|
5335 | |
---|
5336 | Version 2.8-beta-2 |
---|
5337 | ------------------ |
---|
5338 | |
---|
5339 | [20031103.1119] awn: libdspam version changed to the '4:0:0' |
---|
5340 | |
---|
5341 | libdspam version changed to the '4:0:0' because introducing and |
---|
5342 | requiring of dspam_init_driver() at start and dspam_shutdown_driver() at |
---|
5343 | and is backward incompatible change. |
---|
5344 | |
---|
5345 | [20031031.0402] jonz: fixed web stats for shared groups |
---|
5346 | |
---|
5347 | shared group webstats fixed |
---|
5348 | |
---|
5349 | [20031031.0340] jonz: added commandline options |
---|
5350 | |
---|
5351 | added --stdout commandline option to deliver messages to stdout |
---|
5352 | added --deliver-spam commandline option to deliver spams to user's mailbox |
---|
5353 | changed --deliver flag to --deliver-fp, although --deliver still supported |
---|
5354 | for backward compatibility. option still only necessary when configuring |
---|
5355 | with --enable-spam-delivery |
---|
5356 | |
---|
5357 | [20031031.0324] jonz: changed default configure options |
---|
5358 | |
---|
5359 | enabled the following as defaults in configure: |
---|
5360 | |
---|
5361 | alternative-bayesian (alternative Bayesian algorithm) |
---|
5362 | test-conditional (test-conditional, iterative based training) |
---|
5363 | |
---|
5364 | [20031030.1120] jonz: fixed caching bug |
---|
5365 | |
---|
5366 | fixed caching bug in mysql_drv driver and ora_drv drivers causing dspam_stats |
---|
5367 | to return stats for first user, as stats for all users |
---|
5368 | |
---|
5369 | [20031029.0538] jonz: added --classify commandline flag |
---|
5370 | |
---|
5371 | the --classify commandline flag will classify the input message and output |
---|
5372 | to stdout "SPAM" or "HAM" depending on the result. No changes will be made |
---|
5373 | to the user's tokens or totals. |
---|
5374 | |
---|
5375 | [20031029.0538] jonz: changed totals mechanism |
---|
5376 | |
---|
5377 | the following changes have been made to the totals mechanism: |
---|
5378 | |
---|
5379 | - spam_misses has been changed to spam_misclassified |
---|
5380 | - false_positives has been changed to innocent_misclassified |
---|
5381 | - spam_corpusfed and innocent_corpusfed have been added |
---|
5382 | |
---|
5383 | IMPORTANT UPGRADE NOTE: Please see the README for information on updating your |
---|
5384 | SQL databases to accept these changes if you are using a SQL-based driver. If |
---|
5385 | you are using a BDB-based driver, these changes will automatically be |
---|
5386 | implemented. |
---|
5387 | |
---|
5388 | [20031028.2000] jonz: corrected CLASSIFY bug in mysql_drv and ora_drv |
---|
5389 | |
---|
5390 | corrected a significant bug in mysql_drv and ora_drv which caused tokens and |
---|
5391 | totals to be incremented on all CLASSIFY calls. |
---|
5392 | |
---|
5393 | [20031028.2000] jonz: changed DSF_CLASSIFY (flag) to DSM_CLASSIFY (mode) |
---|
5394 | |
---|
5395 | the DSF_CLASSIFY flag is now a mode called DSM_CLASSIFY. |
---|
5396 | |
---|
5397 | Version 2.8-beta-1 |
---|
5398 | ------------------ |
---|
5399 | |
---|
5400 | [20031028.0531] jonz: added customizable header for cgi |
---|
5401 | |
---|
5402 | cgi spam account now has customizable header |
---|
5403 | |
---|
5404 | [20031028.0448] jonz: classification catches to add as spam |
---|
5405 | |
---|
5406 | spam catches by a member of a classification group should result in the |
---|
5407 | message being added as spam, as opposed to innocent. this has been corrected. |
---|
5408 | |
---|
5409 | [20031028.0204] jonz: X-DSPAM-User header only considered in managed groups |
---|
5410 | |
---|
5411 | the X-DSPAM-User header field is only paid attention to when the user is |
---|
5412 | a member of a managed group (the only time where the original user is |
---|
5413 | necessary). |
---|
5414 | |
---|
5415 | the parsing of the X-DSPAM-User header has also been corrected to chomp the |
---|
5416 | newline character, which was resulting in some systems including the character |
---|
5417 | in the username. |
---|
5418 | |
---|
5419 | [20031028.0116] jonz: corrected a critical error in classification groups |
---|
5420 | |
---|
5421 | corrected a critical error in classification groups causing DSPAM to crash |
---|
5422 | (and the message get delivered by the MTA's failsafe in most cases) when a |
---|
5423 | user in a classification group resulted in a spam being caught. |
---|
5424 | |
---|
5425 | [20031027.0137] jonz: added mta whitelists for source address tracking |
---|
5426 | |
---|
5427 | file USERDIR/mta.whitelist may now contain a list of internal MTA ip addresses, |
---|
5428 | which will cause DSPAM to skip to the next 'Received' header when processing |
---|
5429 | the source address. each IP should be on a newline. |
---|
5430 | |
---|
5431 | [20031026.1706] jonz: added signal handling to tools |
---|
5432 | |
---|
5433 | added signal handling to tools, to unlock databases upon SIGINT, SIGPIPE or |
---|
5434 | SIGTERM to avoid stale locks. |
---|
5435 | |
---|
5436 | [20031025.1111] jonz: added rolling filter accuracy stats to cgi |
---|
5437 | |
---|
5438 | rolling filter accuracy stats allows the user to measure their filtering |
---|
5439 | accuracy over a period of time (usually monthly or quarterly). stats should |
---|
5440 | be reset after a good learning period (approximately 4000 spams and nonspams) |
---|
5441 | to measure accuracy accurately =) |
---|
5442 | |
---|
5443 | [20031024.0007] jonz: libdb drivers reworked |
---|
5444 | |
---|
5445 | libdb drivers reworked for better: |
---|
5446 | - locking (exclusive) |
---|
5447 | - recovery (simple recovery run on open) |
---|
5448 | - environment management (individual user environments) |
---|
5449 | |
---|
5450 | IMPORTANT UPGRADE NOTE: |
---|
5451 | |
---|
5452 | run the script 'dspam_movefiles [userdir]' in the tools directory to upgrade to |
---|
5453 | this new directory storage format. after running, make sure you chown the |
---|
5454 | correct file ownership to the newly created directories. this should be done |
---|
5455 | with the MTA shut down and no dspam processes running. |
---|
5456 | |
---|
5457 | you will also need to reinstall/reconfigure the CGI |
---|
5458 | |
---|
5459 | [20031023.1949] jonz: update to cgi to avoid missed messages |
---|
5460 | |
---|
5461 | cgi now tracks the size of the quarantine between viewing and deleting all |
---|
5462 | messages, to avoid deleting messages that came in while reviewing the |
---|
5463 | quarantine. |
---|
5464 | |
---|
5465 | [20031023.1727] jonz: compensated for converged boundaries |
---|
5466 | |
---|
5467 | compensated for a slight break of RFC where two boundaries in a nested |
---|
5468 | message appear without a blank space in-between, leading to message corruption. |
---|
5469 | fortunatley, this type of behavior is extremely scarce. |
---|
5470 | |
---|
5471 | [20031023.0900] jonz: fixed classification group bug |
---|
5472 | |
---|
5473 | fixed a bug that caused classification groups never to fire; datatype |
---|
5474 | CTX->confidence should be float, not int. |
---|
5475 | |
---|
5476 | [20031022.2229] jonz: added "-d %u" to default cgi flags |
---|
5477 | |
---|
5478 | added "-d %u" to default dspam cgi flags to assist new users |
---|
5479 | |
---|
5480 | [20031022.0930] jonz: fixed bug preventing multiple group subscriptions |
---|
5481 | |
---|
5482 | fixed a bug that caused a user to not be able to be subscribed to multiple |
---|
5483 | groups |
---|
5484 | |
---|
5485 | Version 2.7.6.10 |
---|
5486 | ---------------- |
---|
5487 | |
---|
5488 | [20031022.0930] jonz: added support for managed shared groups |
---|
5489 | |
---|
5490 | the group type 'shared' can be appended with ',managed' to convert the shared |
---|
5491 | group into a managed shared group. a managed shared group is the same as a |
---|
5492 | shared group, only the managed version will share the quarantine box as well, |
---|
5493 | enabling one user (named after the group) to manage the handling of all |
---|
5494 | quarantine functions (false positive reporting, etc.). |
---|
5495 | |
---|
5496 | this is generally not what users want, as personal information could potentially |
---|
5497 | be shared with the administrator of the group, however there are some |
---|
5498 | circumstances where this would be appropriate. |
---|
5499 | |
---|
5500 | a regular shared group: |
---|
5501 | |
---|
5502 | groupname:shared:user1,user2,userN |
---|
5503 | |
---|
5504 | a managed shared group: |
---|
5505 | |
---|
5506 | groupname:shared,managed:user1,user2,userN |
---|
5507 | |
---|
5508 | [20031022.0930] jonz: corrected long-time stdin bug |
---|
5509 | |
---|
5510 | corrected a long-time, just discovered but that caused stdin to be read in very |
---|
5511 | small chunks (32 bytes each). correcting this bug has caused DSPAM to read |
---|
5512 | in messages much quicker. |
---|
5513 | |
---|
5514 | [20031022.0930] jonz: cgi to use X-DSPAM-Signature |
---|
5515 | |
---|
5516 | when message-id is not present, the cgi will now use the X-DSPAM-Signature |
---|
5517 | field to uniquely identify each message. |
---|
5518 | |
---|
5519 | [20031022.0930] jonz: extended header assembly buffer to 4k |
---|
5520 | |
---|
5521 | header assembly buffer extended to 4k; was truncating some longer fields at 1k. |
---|
5522 | |
---|
5523 | [20031022.0930] jonz: minor crash bugfix |
---|
5524 | |
---|
5525 | an obscure bug has been corrected which caused dspam to crash if the word |
---|
5526 | "boundary" was placed on a line in the message body, and that line began |
---|
5527 | with a space or tab. |
---|
5528 | |
---|
5529 | [20031022.0900] jonz: false positives not delivered when spam-delivery enabled |
---|
5530 | |
---|
5531 | false positives shouldn't be delivered when --enable-spam-delivery is enabled, |
---|
5532 | since they will be mailed in (or otherwise processed) directly from the user's |
---|
5533 | inbox. |
---|
5534 | |
---|
5535 | to force false positives to be delivered, use the --deliver commandline |
---|
5536 | argument |
---|
5537 | |
---|
5538 | Version 2.7.6.9 |
---|
5539 | --------------- |
---|
5540 | |
---|
5541 | [20031021.1300] jonz: significant changes to mysql driver |
---|
5542 | |
---|
5543 | the data type for the 'token' field in the dspam_token_data table has been |
---|
5544 | changed from BIGINT to VARCHAR. This is due to a bug in MySQL being unable to |
---|
5545 | handle some of the large numeric values used for tokens. |
---|
5546 | |
---|
5547 | BEFORE UPGRADING, SHUT DOWN YOUR MTA AND ISSUE THE FOLLOWING MYSQL QUERY: |
---|
5548 | |
---|
5549 | alter table dspam_token_data modify token varchar(32); |
---|
5550 | |
---|
5551 | [20031021.1206] awn: Convenience symlinks for libdb{3,4}_deadlock |
---|
5552 | |
---|
5553 | Convenience symlinks dspam_deadlock.libdb4 (in case of libdb4_drv), |
---|
5554 | dspam_deadlock.libdb3 (in case of libdb3_drv) and dspam_deadlock (in |
---|
5555 | case of both libdb*_drv) are added and pointed to the appropriate |
---|
5556 | libdb{3,4}_deadlock binary. |
---|
5557 | |
---|
5558 | [20031021.1016] awn: configure: mysql and network-related libraries |
---|
5559 | |
---|
5560 | -lnsl and -lsocket are added to the mysql client library check where |
---|
5561 | needed (e.g. on Solaris). |
---|
5562 | |
---|
5563 | [20031021.0000] jonz: changed signature format to include frequency |
---|
5564 | |
---|
5565 | WARNING: You should delete all your temporary signature information before |
---|
5566 | upgrading to this version, as the signature format has changed. You can do |
---|
5567 | this by deleting all your .sig files or issuing a |
---|
5568 | "delete from dspam_signature_data" query if using a SQL-based driver. |
---|
5569 | |
---|
5570 | RATIONALE: When performing classification queries with signatures, the |
---|
5571 | frequency is necessary to insure an identical calculation. |
---|
5572 | |
---|
5573 | [20031021.0000] jonz: added support for 'CLASSIFICATION' group |
---|
5574 | |
---|
5575 | A 'CLASSIFICATION' group type has been added. Classify groups are groups of |
---|
5576 | users who share the results of spams against their own personal dictionaries. |
---|
5577 | This means that for every message that comes in for any user in the group, |
---|
5578 | dspam classifies that message for every user and if any user believes the |
---|
5579 | message to be spam, it is marked as spam for the destination user. |
---|
5580 | |
---|
5581 | To avoid false positives, external classification is only used when there is |
---|
5582 | a confidence level of 0.30 or higher of spam. The confidence level is |
---|
5583 | calculated with Chi-Square. |
---|
5584 | |
---|
5585 | Members of this type of group should only join after their initial training |
---|
5586 | period. Members may also be part of an inoculation group, but users can |
---|
5587 | not be a part of both a classify group and a shared group. |
---|
5588 | |
---|
5589 | [20031021.0000] jonz: changed default probability for single-corpus tokens |
---|
5590 | |
---|
5591 | changed the probability for tokens that appear only in one corpus: |
---|
5592 | |
---|
5593 | TYPE FROM TO |
---|
5594 | Appears +10 in Spam .9901 .9999 |
---|
5595 | Appears <10 in Spam .9900 .9998 |
---|
5596 | Appears +10 in Innocent .0099 .0001 |
---|
5597 | Appears <10 in Innocent .0100 .0002 |
---|
5598 | |
---|
5599 | [20031019.2200] jonz: added test-conditional training support |
---|
5600 | |
---|
5601 | added configure flag --enable-test-conditional which will enable test- |
---|
5602 | conditional training. test-conditional tranining will automatically re-train |
---|
5603 | the user's dictionary on spam or false positive until the message condition is |
---|
5604 | met (e.g. until the user's dictionary no longer results in misclassification of |
---|
5605 | the message being retrained). this training has a maximum number of 5 |
---|
5606 | iterations, and will only invoke when: |
---|
5607 | |
---|
5608 | - The user has > 4000 innocent messages in their corpus, and is reporting |
---|
5609 | a spam |
---|
5610 | |
---|
5611 | - The user is reporting a false positive (regardless of the number of |
---|
5612 | messages in their corpus) |
---|
5613 | |
---|
5614 | [20031019.2016] jonz: added support for shared groups in mysql_drv driver |
---|
5615 | |
---|
5616 | support has been added for shared groups using the mysql_drv driver, but with |
---|
5617 | one caveat: if you will NOT be enabling "virtual users" support, you will need |
---|
5618 | to create a user on your system for each group you add. This is because the |
---|
5619 | mysql_drv driver maps user ids in the database to users on the system. this |
---|
5620 | is not an issue when "virtual users" support is enabled. |
---|
5621 | |
---|
5622 | Version 2.7.6.8 |
---|
5623 | --------------- |
---|
5624 | |
---|
5625 | [20031019.1722] jonz: added mysql.sock functionality |
---|
5626 | |
---|
5627 | added functionality for connecting via mysql.sock instead of TCP. specify |
---|
5628 | pathname to socket in lieu of hostname to implement. |
---|
5629 | |
---|
5630 | [20031019.1700] jonz: eliminated false-positive retrain headers |
---|
5631 | |
---|
5632 | eliminated the additional X-DSPAM headers added when reclassifying a |
---|
5633 | false positive. the headers from the original classification are |
---|
5634 | preserved. |
---|
5635 | |
---|
5636 | [20031019.1530] jonz: centralized syslog logging of mysql query errors |
---|
5637 | |
---|
5638 | centralized/standardized syslog logging of all mysql query errors |
---|
5639 | |
---|
5640 | [20031019.1530] jonz: corrected bug in virtual users w/mysql |
---|
5641 | |
---|
5642 | corrected a bug causing some tools to fail when virtual users is enabled while |
---|
5643 | using the mysql_drv driver. |
---|
5644 | |
---|
5645 | [20031018.1050] jonz: corrected type-o in dspam_corpus.in |
---|
5646 | |
---|
5647 | fixed close(PIPIE) type-o in dspam_corpus.in |
---|
5648 | |
---|
5649 | Version 2.7.6.7 |
---|
5650 | --------------- |
---|
5651 | |
---|
5652 | [20031017.2230] jonz: enhanced overall inoculation processing |
---|
5653 | |
---|
5654 | code cleanup of inoculation processing; one central subroutine. fixed some |
---|
5655 | minor related bugs. |
---|
5656 | |
---|
5657 | [20031017.2129] jonz: corrected external inoculation processing |
---|
5658 | |
---|
5659 | external inoculations (--corpus --inoculate --addspam combination) resulted in |
---|
5660 | an error causing the user to never be inoculated, however all users in the |
---|
5661 | inoculation group were. corrected this bug so that the destination user would |
---|
5662 | also be inoculated. |
---|
5663 | |
---|
5664 | Version 2.7.6.6 |
---|
5665 | --------------- |
---|
5666 | |
---|
5667 | [20031017.1930] jonz: fixed bugs in CGI 'From' line reporting |
---|
5668 | |
---|
5669 | fixed a bug that caused malformatting in the 'Fron' line when placing in spam |
---|
5670 | quarantine |
---|
5671 | |
---|
5672 | [20031017.1930] jonz: fixed bugs in false positive processing |
---|
5673 | |
---|
5674 | fixed a bug, which now strips out any quarantine message 'From' line added by |
---|
5675 | DSPAM prior to processing. |
---|
5676 | |
---|
5677 | [20031017.1930] jonz: fixed variable definition problems with experimental code |
---|
5678 | |
---|
5679 | fixed bugs in experimental code; should not affect normal users, but broke |
---|
5680 | the build anyway. |
---|
5681 | |
---|
5682 | Version 2.7.6.5 |
---|
5683 | --------------- |
---|
5684 | |
---|
5685 | [20031017.1730] jonz: added --enable-experimental |
---|
5686 | |
---|
5687 | added --enable-experimental flag which activates experimental code, moved |
---|
5688 | the following code bases to experimental: |
---|
5689 | |
---|
5690 | - Versatile Language Message Inoculation Format |
---|
5691 | (standard for sending/receiving inoculations across multiple anti-spam |
---|
5692 | platforms and systems) |
---|
5693 | |
---|
5694 | - Counting of unknown tokens in messages |
---|
5695 | |
---|
5696 | [20031017.1700] jonz: only inoculate users who require inoculation |
---|
5697 | |
---|
5698 | inoculation now only inoculates users who would otherwise have misclassified |
---|
5699 | the message being presented |
---|
5700 | |
---|
5701 | [20031017.1600] jonz: changed all /tmp files to USERDIR |
---|
5702 | |
---|
5703 | all /tmp files now outputted to USERDIR to avoid a race condition. |
---|
5704 | |
---|
5705 | [20031016.2207] awn: libdb detection is changed again (sigh) |
---|
5706 | |
---|
5707 | Probing for -ldb-<major> and -ldb<major> is resurrected again (needed |
---|
5708 | for some version of Debian with libdb v3.2.9). Difference from previous |
---|
5709 | one is using libtool for linking test frogram at the "header- |
---|
5710 | vs. library version" check stage. |
---|
5711 | |
---|
5712 | [20031016.1837] jonz: changed high characters to 'z' instead of ignored |
---|
5713 | |
---|
5714 | changed all high characters to z's; previously ignored them. effective way to |
---|
5715 | improve filter rate on spams using wide characters. credit for this technique |
---|
5716 | given to Brian Burton. |
---|
5717 | |
---|
5718 | [20031016.1400] jonz: added warning about MySQL bug to README |
---|
5719 | |
---|
5720 | added information about the bug in MySQL versions < 4.0.15.stable to the |
---|
5721 | MySQL README. |
---|
5722 | |
---|
5723 | [20031016.1227] jonz: compensated for mysql_drv insert bug |
---|
5724 | |
---|
5725 | compensated for mysql_drv insert bug; made better code in both mysql_drv and |
---|
5726 | ora_drv to handle insert failures with more grace |
---|
5727 | |
---|
5728 | [20031016.1142] jonz: corrected token insert debug output |
---|
5729 | |
---|
5730 | corrected debug output for token inserts to display correct query and disk |
---|
5731 | state. |
---|
5732 | |
---|
5733 | Version 2.7.6.4 |
---|
5734 | --------------- |
---|
5735 | |
---|
5736 | [20031016.0946] jonz: switched to MyISAM MySQL tables |
---|
5737 | |
---|
5738 | InnoDB turned out to be much slower than MyISAM, so all MySQL objects have |
---|
5739 | been changed to be of type "MyISAM". |
---|
5740 | |
---|
5741 | [20031015.1434] jonz: added exit code mirroring of LDA |
---|
5742 | |
---|
5743 | added exit code mirroring of LDA; if any calls to LDA fail, dspam will return |
---|
5744 | the last failed exit code |
---|
5745 | |
---|
5746 | [20031015.1045] jonz: added caching of getpwnam() and getpwuid() information |
---|
5747 | |
---|
5748 | added caching of getpwnam() and getpwuid() information for non-virtual users |
---|
5749 | (already caches for virtual users). this was added to keep some tools from |
---|
5750 | hammering on LDAP or other local authentication mechanisms. |
---|
5751 | |
---|
5752 | Version 2.7.6.3 |
---|
5753 | --------------- |
---|
5754 | |
---|
5755 | [20031014.2211] jonz: fixed 100% cpu utilization bug in libdbX_deadlock |
---|
5756 | |
---|
5757 | fixed a bug in libdbX_deadlock causing 100% cpu utilization on linux |
---|
5758 | |
---|
5759 | [20031014.1935] jonz: fixed auto-recovery in libdb drivers |
---|
5760 | |
---|
5761 | fixed bugs in auto-recovery mechanism in libdb drivers |
---|
5762 | |
---|
5763 | [20031014.1545] jonz: added support for accepting inoculation messages |
---|
5764 | |
---|
5765 | Added support for "Inoculation Message Format", a new standard which |
---|
5766 | is currently in the form of an Internet-Draft, to allow inoculation |
---|
5767 | via email and trusted checksums. |
---|
5768 | |
---|
5769 | [20031014.0824] jonz: added X-DSPAM-Signature |
---|
5770 | |
---|
5771 | X-DSPAM-Signature is NOT a replacement for having in-line signatures |
---|
5772 | but is useful for debugging purposes |
---|
5773 | |
---|
5774 | [20031014.0842] jonz: enhanced boundary recognition |
---|
5775 | |
---|
5776 | enhanced boundary recognition to catch boundaries with malformatted |
---|
5777 | definition lines |
---|
5778 | |
---|
5779 | [20031013.2217] jonz: fixed bug in dspam_2mysql |
---|
5780 | |
---|
5781 | fixed type-o in 'false-positives' field to false_positives |
---|
5782 | |
---|
5783 | [20031013.1949] jonz: better html filtering |
---|
5784 | |
---|
5785 | implemented better filtering of some useless html tag data, focus more on |
---|
5786 | content; resulted in the catching of a few more spams |
---|
5787 | |
---|
5788 | [20031013.1832] jonz: added --inoculate flag |
---|
5789 | |
---|
5790 | added support for inoculation using --inoculate flag. this can be used in |
---|
5791 | conjunction with external inoculation as described in the README file. |
---|
5792 | |
---|
5793 | Version 2.7.6.2 |
---|
5794 | --------------- |
---|
5795 | |
---|
5796 | [20031013.1443] jonz: fixed algorithm initialization bug |
---|
5797 | |
---|
5798 | fixed a bug in the initialization of algorithm data, which caused some |
---|
5799 | miscalculations whenever the first token was very innocent. |
---|
5800 | |
---|
5801 | [20031013.1413] jonz: changed token sorting algorithm |
---|
5802 | |
---|
5803 | token sorting now sorts by delta first, then by frequency; this means |
---|
5804 | tiebreakers will be based in part on token frequency |
---|
5805 | |
---|
5806 | [20031013.1329] jonz: added deadlock detection tool |
---|
5807 | |
---|
5808 | for large-volume implementations, added a deadlock detection tool, |
---|
5809 | libdb3_deadlock or libdb4_deadlock. this tool can be run at system start and |
---|
5810 | will continue to perform deadlock operations in the background. |
---|
5811 | |
---|
5812 | [20031013.1317] jonz: implemented deadlock detection |
---|
5813 | |
---|
5814 | Implemented calls to libdb's deadlock detection mechanism |
---|
5815 | |
---|
5816 | [20031013.1250] jonz: modified Chi-Square algorithm for better performance |
---|
5817 | |
---|
5818 | Chi-Square algorithm changed to use 25 tokens, ignoring mid-range |
---|
5819 | |
---|
5820 | [20031012.1831] jonz: changed group file format, added inoculation type |
---|
5821 | |
---|
5822 | changed group format to: |
---|
5823 | |
---|
5824 | groupname:grouptype:user1,user2,userN |
---|
5825 | |
---|
5826 | BE SURE TO UPDATE IN YOUR GROUP FILE |
---|
5827 | |
---|
5828 | there are now two types of groups: shared and inoculation. the shared group |
---|
5829 | is the group everyone is used to, sharing dictionaries and signature dbs. |
---|
5830 | |
---|
5831 | the inoculation group allows each member of the group to maintain their own |
---|
5832 | private dictionary and signature database, but members of the group will |
---|
5833 | automatically train eachother's dictionaries with spams they manually forward in |
---|
5834 | which will help 'inoculate' all other group members from new spams going out. |
---|
5835 | |
---|
5836 | examples: |
---|
5837 | |
---|
5838 | development:shared:bob,tom,bill |
---|
5839 | |
---|
5840 | company:inoculation:jim,ted,robert |
---|
5841 | |
---|
5842 | a user can be a member of multiple inoculation groups, but cannot be a member |
---|
5843 | of both a shared group and an inoculation group. |
---|
5844 | |
---|
5845 | [20031012.0009] jonz: fixed freed-memory bug in decode.c |
---|
5846 | |
---|
5847 | fixed freed-memory bug in deocde.c, which caused an occasional crash when |
---|
5848 | decoding encoded headers. |
---|
5849 | |
---|
5850 | Version 2.7.6.1 |
---|
5851 | --------------- |
---|
5852 | |
---|
5853 | [20031011.1236] jonz: added support for multiple algorithms |
---|
5854 | |
---|
5855 | added support for multiple algorithms; e.g. if any of the enabled algorithms |
---|
5856 | suspect the message is spam, it is spam. you can use the following flags: |
---|
5857 | |
---|
5858 | --enable-chi-square |
---|
5859 | --enable-alternative-bayesian |
---|
5860 | --disable-traditional-bayesian |
---|
5861 | |
---|
5862 | traditional bayesian is enabled by default |
---|
5863 | |
---|
5864 | [20031011.1034] jonz: added Chi-Square specific per-token calculations |
---|
5865 | |
---|
5866 | when using Chi-Square, added Chi-Square's expanded per-token calculations |
---|
5867 | |
---|
5868 | [20031011.0923] jonz: fixed alternative bayesian calculations |
---|
5869 | |
---|
5870 | fixed problem with the wrong definition names being used, which caused |
---|
5871 | alternative bayesian never to get invoked |
---|
5872 | |
---|
5873 | [20031011.0923] jonz: fixed a bug in all calculations |
---|
5874 | |
---|
5875 | a bug in 2.7.6 was fixed which resulted in spams to be missed if there were |
---|
5876 | fewer than 15 tokens available for calculation. this could only occur in the |
---|
5877 | most rarest of circumstances, so it should not have affected much. |
---|
5878 | |
---|
5879 | Version 2.7.6 |
---|
5880 | ------------- |
---|
5881 | |
---|
5882 | [20031008.2200] jonz: added alternative calculation modes |
---|
5883 | |
---|
5884 | added --enable-alternative-bayesian flag which invokes Brian Burton's |
---|
5885 | alternative Bayesian algorithm |
---|
5886 | |
---|
5887 | added --enable-chi-square flag which invokes Chi-Square algorithm |
---|
5888 | |
---|
5889 | only one or neither (for default bayesian) flags should be used. debug |
---|
5890 | information for all three calculations is generated regardless. |
---|
5891 | |
---|
5892 | [20031008.2029] jonz: fixed bug in libdb drivers |
---|
5893 | |
---|
5894 | fixed a bug which used memory that had already been freed causing |
---|
5895 | some occasional unpredictible behavior. |
---|
5896 | |
---|
5897 | [20031008.1431] jonz: added support for multipart/signed messages |
---|
5898 | |
---|
5899 | added support for multipart/signed messages without altering message body. |
---|
5900 | signature is appended as a text attachment. |
---|
5901 | |
---|
5902 | [20031007.1904] jonz: fixed bug in boundary detection |
---|
5903 | |
---|
5904 | fixed a bug in boundary detection where boundary would fail to be detected if |
---|
5905 | it wasn't the first definition on the Content-Type heading. For example: |
---|
5906 | |
---|
5907 | Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; |
---|
5908 | boundary="------------ms010307080208090601090900" |
---|
5909 | |
---|
5910 | would have failed. this bug fix also improves overall boundary detection. |
---|
5911 | |
---|
5912 | [20031007.1724] jonz: added source address reporting |
---|
5913 | |
---|
5914 | the source address for all messages are now reported via syslog. this uses |
---|
5915 | the new dspam_getsource() function added to the API. depending on whether the |
---|
5916 | message is spam or innocent, the message will be reported either to MAIL.INFO |
---|
5917 | or MAIL.DEBUG. for example: |
---|
5918 | |
---|
5919 | dspam[30965]: spam detected from X.X.X.X |
---|
5920 | |
---|
5921 | dspam[30414]: innocent message from X.X.X.X |
---|
5922 | |
---|
5923 | this can be used for creating automatic blacklists. more to come. |
---|
5924 | |
---|
5925 | [20031007.1557] awn: configure script changes |
---|
5926 | |
---|
5927 | Configure script now detects version of libdb headers and guesses |
---|
5928 | appropriate library name from this version. Probed libraries are: |
---|
5929 | |
---|
5930 | -ldb-<major>.minor> |
---|
5931 | -ldb<major><minor> |
---|
5932 | |
---|
5933 | As consequence and for example, no symlinking libdb41.so to the libdb-4.so is required now on FreeBSD. |
---|
5934 | |
---|
5935 | Version 2.7.5 |
---|
5936 | ------------- |
---|
5937 | |
---|
5938 | [20031007.0930] jonz: date field no longer ignored |
---|
5939 | |
---|
5940 | date field is no longer ignored; time of day can sometimes play an effective |
---|
5941 | role in identifying spam or preventing false positives. |
---|
5942 | |
---|
5943 | [20031006.1911] jonz: Oracle storage driver |
---|
5944 | |
---|
5945 | first release of ora_drv; storage driver for Oracle. please see README file |
---|
5946 | for more information. |
---|
5947 | |
---|
5948 | [20031004.1423] awn: support for program-name transformation. |
---|
5949 | |
---|
5950 | Configure options `--program-prefix', `--program-suffix' and |
---|
5951 | `--program-transform-name' are fully supported now except CGI. |
---|
5952 | (Was: dspam_corpus and dspam_genaliases don't honor transformed name of |
---|
5953 | dspam binary). |
---|
5954 | |
---|
5955 | [20031003.1832] jonz: fix for base64-encoded binary messages |
---|
5956 | |
---|
5957 | bug fixed which caused corruption in some base64-encoded single-part |
---|
5958 | messages in which the only component was a binary file. |
---|
5959 | |
---|
5960 | [20031003.0031] jonz: automatic recovery for libdb drivers |
---|
5961 | |
---|
5962 | automatic recovery has been implemented for libdb drivers |
---|
5963 | |
---|
5964 | [20031003.0031] jonz: DB_ENV implemented for libdb drivers |
---|
5965 | |
---|
5966 | DB_ENV locking has been implemented for libdb drivers. This obsoletes |
---|
5967 | storage driver dot-lock file locking, which is no longer used. quarantine |
---|
5968 | dot-lockfile locking is still used when writing to the quarantine. |
---|
5969 | |
---|
5970 | Version 2.7.4 |
---|
5971 | ------------- |
---|
5972 | |
---|
5973 | [20031002.1728] jonz: modified corpus flag to force results |
---|
5974 | |
---|
5975 | use of corpus flag now forces results to match commandline flags, meaning |
---|
5976 | innocent messages no longer need to be fed in first. |
---|
5977 | |
---|
5978 | [20031002.0800] jonz: added unique id to dspam_ngstats |
---|
5979 | |
---|
5980 | for systems without a static public ip address, a unique id can be configured |
---|
5981 | in dspam_ngstats.c (NGSTATS_UID) comprised of alphanumeric characters, periods, |
---|
5982 | and underscores. any invalid characters will cause stats to be ignored. |
---|
5983 | |
---|
5984 | [20031002.0800] jonz: removed broken sanity checks |
---|
5985 | |
---|
5986 | some sanity checks were firing off erroneous messages in 2.7.3; these have |
---|
5987 | been removed |
---|
5988 | |
---|
5989 | [20031001.0800] jonz: fixed --enable-large-scale with mysql_drv |
---|
5990 | |
---|
5991 | modified all drivers to add support for --enable-large-scale with mysql_drv |
---|
5992 | |
---|
5993 | [20031001.0800] jonz: added dspam_ngstats |
---|
5994 | |
---|
5995 | added dspam_ngstats, a global stats reporting tool designed for global |
---|
5996 | stats tracking for dspam |
---|
5997 | |
---|
5998 | [20030930.1547] awn: Convenience symlinks for libdb{3,4}_purge |
---|
5999 | |
---|
6000 | IMHO, `libdb3_purge' and `libdb4_purge' are not a very descriptive names. |
---|
6001 | Therefore, 2 convenience symlinks are added: |
---|
6002 | o dspam_purge.libdb4 (dspam_purge.libdb3 in case of libdb3 driver), and |
---|
6003 | o dspam_purge |
---|
6004 | both pointed to the appropriate libdb{3,4}_purge. |
---|
6005 | |
---|
6006 | [20030930.1517] jonz: fixed problem with trailing commas in update command |
---|
6007 | |
---|
6008 | Version 2.7.3 |
---|
6009 | ------------- |
---|
6010 | |
---|
6011 | [20030929.1450] jonz: fixed problem with groups |
---|
6012 | |
---|
6013 | groups has been repaired; apparently a line of code was inadvertantly deleted |
---|
6014 | from the source tree causing it to fail in 2.7.2. |
---|
6015 | |
---|
6016 | [20030928.0253] awn: New scheme for conditional compilation of storage drivers |
---|
6017 | |
---|
6018 | All following is for `configure.ac' and resulting `configure' script: |
---|
6019 | |
---|
6020 | Now configure doesn't assume that storage driver sources are have |
---|
6021 | name `${storage_drv}.c' and `${storage_drv}.h' |
---|
6022 | |
---|
6023 | You need to list resulting .lo files in the `${storage_drv_objects}' |
---|
6024 | variable instead. |
---|
6025 | |
---|
6026 | Storage driver specific subdirectories are should be listed in the |
---|
6027 | `${storage_drv_subdirs}' variable also. |
---|
6028 | |
---|
6029 | This allows to have any number (including zero) driver-specific sources |
---|
6030 | and subdirectories, build automatically driver specific tools in these |
---|
6031 | directories (like `libdb4_purge') and should work properly in the VPATH |
---|
6032 | environment. |
---|
6033 | |
---|
6034 | [20030928.0248] awn: configure.ac bug fix |
---|
6035 | |
---|
6036 | Fix CPPFLAGS related bugs in the storage drivers sections of |
---|
6037 | `configure.ac'. |
---|
6038 | |
---|
6039 | All three storage sections in the configure.ac was have code like |
---|
6040 | CPPFLAGS="$DB_LIBS $CPPFLAGS" |
---|
6041 | instead of |
---|
6042 | CPPFLAGS="$DB_CPPFLAGS $CPPFLAGS" |
---|
6043 | (replace DB_ by MYSQL for give mysql case). |
---|
6044 | |
---|
6045 | This was my bug, I know. |
---|
6046 | |
---|
6047 | [20030927.1600] jonz: added docs for Courier MTA |
---|
6048 | |
---|
6049 | added documentation for configuring Courier MTA with DSPAM. contributed by |
---|
6050 | Michael Greb. |
---|
6051 | |
---|
6052 | Version 2.7.2 |
---|
6053 | ------------- |
---|
6054 | |
---|
6055 | [20030925.2231] jonz: added --disable-trusted-user-security |
---|
6056 | |
---|
6057 | added configure flag --disable-trusted-user-security to disable trusted user |
---|
6058 | security, rather than trying to maintain two different versions of dspam. |
---|
6059 | |
---|
6060 | [20030925.1103] jonz: added support for RedHat's built-in libdb4.0 |
---|
6061 | |
---|
6062 | added support for RedHat's built-in libdb-4.0. This should also provide |
---|
6063 | compatibility with any other libdb-4.0. An alias will still be necessary: |
---|
6064 | |
---|
6065 | ln -s /usr/lib/libdb-4.0.so /usr/lib/libdb-4.so |
---|
6066 | |
---|
6067 | [20030925.1103] jonz: removed -d $u from default LDA configuration |
---|
6068 | |
---|
6069 | -d $u coming first in the argument list caused some problems; -d %u should now |
---|
6070 | be used instead in the MTA configuration. |
---|
6071 | |
---|
6072 | [20030925.1103] jonz: patch to compensate for yahoo broken RFC bug |
---|
6073 | |
---|
6074 | implemented patch to compensate for a bug in the yahoo client where yahoo |
---|
6075 | breaks RFC and writes an end boundary prematurely, causing the real boundary |
---|
6076 | to get corrupted. |
---|
6077 | |
---|
6078 | [20030925.0855] jonz: changed compile flag --enable-virtual-uids |
---|
6079 | |
---|
6080 | changed compile flag --enable-virtual-uids to --enable-virtual-users |
---|
6081 | |
---|
6082 | [20030925.0852] jonz: fixed plain text html signature placement bug |
---|
6083 | |
---|
6084 | fixed a small bug that caused DSPAM to place the signature in html code samples |
---|
6085 | in plain text. |
---|
6086 | |
---|
6087 | [20030924.0000] jonz: added support for virtual users |
---|
6088 | |
---|
6089 | added support for virtual users in mysql_drv. this is necessary when the |
---|
6090 | users don't actually exist on the system. use --enable-virtual-users to |
---|
6091 | enable. only necessary when using the mysql storage driver. |
---|
6092 | |
---|
6093 | [20030923.2043] jonz: fix for multiple user bug |
---|
6094 | |
---|
6095 | restored %u and adjusted docs for multiple local user bug with sendmail |
---|
6096 | |
---|
6097 | Version 2.7.1 |
---|
6098 | ------------- |
---|
6099 | |
---|
6100 | [20030923.0050] jonz: fixes for libdb tools |
---|
6101 | |
---|
6102 | several small fixes to issues with compiling libdb tools |
---|
6103 | |
---|
6104 | [20030923.0045] jonz: bug fix for header decoding |
---|
6105 | |
---|
6106 | fixed a bug causing some headers to decode incorrectly |
---|
6107 | |
---|
6108 | [20030923.0030] jonz: bug fix for attachments and signature |
---|
6109 | |
---|
6110 | added code to specifically NOT append a signature to any segments that have |
---|
6111 | "Content-Disposition" of type attachment. |
---|
6112 | |
---|
6113 | [20030922.1900] jonz: added more debug output |
---|
6114 | |
---|
6115 | added more debug output (on error) to mysql driver and libdspam |
---|
6116 | |
---|
6117 | [20030920.0840] jonz: mysql_drv to use -lm -lz |
---|
6118 | |
---|
6119 | switched mysql_drv to use -lm -lz in place of -lcrypto. both apparently have |
---|
6120 | compress/uncompress functions |
---|
6121 | |
---|
6122 | Version 2.7 |
---|
6123 | ----------- |
---|
6124 | |
---|
6125 | [20030919.0900] jonz: added dspam_merge tool |
---|
6126 | |
---|
6127 | Version 2.7.beta.3 |
---|
6128 | ------------------ |
---|
6129 | |
---|
6130 | [20030915.0000] jonz: added mysql_drv storage driver |
---|
6131 | |
---|
6132 | mysql_drv storage driver added for MySQL functionality. please see README |
---|
6133 | and tools.mysql_drv for more information. |
---|
6134 | |
---|
6135 | [20030914.1410] jonz: fixed bug in innocent_hits |
---|
6136 | |
---|
6137 | fixed bug where some tokens received 2 innocent hits instead of 1 (apparently |
---|
6138 | is an old but but did not dramatically affect effectiveness) |
---|
6139 | |
---|
6140 | [20030913.0956] jonz: implemented quarantine locking |
---|
6141 | |
---|
6142 | implemented quarantine locking mechanism independent of driver locking |
---|
6143 | |
---|
6144 | [20030913.0900] jonz: internalized API locking |
---|
6145 | |
---|
6146 | all API locking performed internally (driver-specific). no external locking |
---|
6147 | calls exist; part of _ds_init_storage and _ds_shutdown_storage. reason: |
---|
6148 | not all drivers will require context locking (and hopefully someday neither |
---|
6149 | will libdb3/libdb4 drivers). |
---|
6150 | |
---|
6151 | [20030912.0000] jonz: locks to use USERDIR |
---|
6152 | |
---|
6153 | for driver compatibility, all .lock file locking takes place in USERDIR, even |
---|
6154 | for large-scale implementations |
---|
6155 | |
---|
6156 | [20030911.0000] jonz: driver config script management |
---|
6157 | |
---|
6158 | implemented driver configure script management and tools.[driver] for |
---|
6159 | driver-specific tools. |
---|
6160 | |
---|
6161 | Version 2.7.beta.2 |
---|
6162 | ------------------ |
---|
6163 | |
---|
6164 | [20030910.0054] jonz: message header decoding |
---|
6165 | |
---|
6166 | added message header decoding per RFC 2047 |
---|
6167 | |
---|
6168 | [20030909.1830] jonz: implmented standardized return codes |
---|
6169 | |
---|
6170 | implemented standardized return codes for the major api functions: |
---|
6171 | EINVAL, EFAILURE, ELOCk, EFILE, EUNKNOWN |
---|
6172 | |
---|
6173 | [20030909.1730] jonz: ported all tools to new driver API |
---|
6174 | |
---|
6175 | ported all tools to new driver API. dspam_purge has been replaced with |
---|
6176 | a driver-specific purge mechanism (default: libdb4_purge), due to the fact |
---|
6177 | that not all drivers will need to purge, and recreating datafiles is a very |
---|
6178 | specific function...still uses the storage driver api's locking mechanism. |
---|
6179 | |
---|
6180 | [20030909.0051] jonz: removed dspam_convert |
---|
6181 | |
---|
6182 | removed dspam_convert tool for 2.5->2.6 upgrades |
---|
6183 | |
---|
6184 | [20030909.0051] awn: configure script changes |
---|
6185 | |
---|
6186 | `--enable-gcc-warnings' configure option is added. |
---|
6187 | |
---|
6188 | [20030908.2000] jonz: implemented storage driver API |
---|
6189 | |
---|
6190 | implemented storage driver api. default driver is libdb4_drv |
---|
6191 | |
---|
6192 | [20030907.1627] awn: dspam_genaliases changes |
---|
6193 | |
---|
6194 | dspam_genaliases now generates `nospam-USER' aliases (aliases for false |
---|
6195 | positive reporting) by explicitly request only. New `--nospam' command |
---|
6196 | line option is used for this. |
---|
6197 | |
---|
6198 | Version 2.7.beta.1 |
---|
6199 | ------------------ |
---|
6200 | |
---|
6201 | [20030907.1140] jonz: user identification and passthru changes |
---|
6202 | |
---|
6203 | the method of user identification and passthru has been changed: |
---|
6204 | |
---|
6205 | - DSPAM no longer recognizes -d to identify the user, but instead --user |
---|
6206 | must be used. --user will never be passed onto the local delivery agent. |
---|
6207 | |
---|
6208 | - In order to pass the -d flag through to the local delivery agent, it |
---|
6209 | must be specified either separately on the commandline, or at configure |
---|
6210 | time. |
---|
6211 | |
---|
6212 | - To allow -d flag support to be supported at configure time (and when |
---|
6213 | overriding untrusted users), the $u variable has been added to dspam. |
---|
6214 | any commandline arguments passed through DSPAM matching $u will be |
---|
6215 | replaced with the actual destination username (specified with --user |
---|
6216 | or automatically forced for untrusted users). |
---|
6217 | |
---|
6218 | These changes require some modifications to the mailer configuration. In the |
---|
6219 | following example for sendmail, you would change the following line in |
---|
6220 | the Mlocal block: |
---|
6221 | |
---|
6222 | A=/usr/local/bin/dspam -d $u |
---|
6223 | |
---|
6224 | to: |
---|
6225 | |
---|
6226 | A=/usr/local/bin/dspam --user $u -d $u |
---|
6227 | |
---|
6228 | --user is not passed through to the LDA, but -d is. Alternatively, you could |
---|
6229 | remove '-d $u' from sendmail.cf, and configure dspam with: |
---|
6230 | |
---|
6231 | --with-local-delivery-agent="/path/to/lda -d \$u" |
---|
6232 | |
---|
6233 | NOTE: be sure to escape the $ in $u ONLY when specifying it on the commandline. |
---|
6234 | This will prevent $u from being overwritten with the shell's environment |
---|
6235 | variable 'u'. |
---|
6236 | |
---|
6237 | Specifying this at configure time is especially useful if you plan on running |
---|
6238 | dspam via commandline and do not want to have to specify -d [username] in |
---|
6239 | addition to your --user [username] arguments. |
---|
6240 | |
---|
6241 | [20030907.1440] jonz: removed --deliver-cmd and --quarantine-cmd |
---|
6242 | |
---|
6243 | removed runtime --deliver-cmd and --quarantine-cmd functions; added configure |
---|
6244 | time --with-quarantine-agent="/path/to/agent" to override default quarantine |
---|
6245 | function. |
---|
6246 | |
---|
6247 | [20030906.0000] jonz: fix for boundary definition identification |
---|
6248 | |
---|
6249 | fix to detect non-lowercase multipart boundary definitions |
---|
6250 | |
---|
6251 | [20030906.0000] jonz: partial rewrite of internal sorting routines |
---|
6252 | |
---|
6253 | partial rewrite of tbt sort routines to drop recursion and potential stack |
---|
6254 | problems to follow. problems only experienced when using API with |
---|
6255 | multithreaded code. original patch submitted by Stuart Gathman |
---|
6256 | <stuart@bmsi.com> |
---|
6257 | |
---|
6258 | [20030906.0000] jonz: forced --deliver-cmd and --quarantine-cmd to require |
---|
6259 | trusted user permissions. dspam also must be compiled with |
---|
6260 | --enable-insecure-functions for them to be available. |
---|
6261 | |
---|
6262 | [20030906.0000] jonz: trusted user implementation |
---|
6263 | |
---|
6264 | implemented trusted user approach with user and passthru overrides for the |
---|
6265 | untrusted users. see README for more information |
---|
6266 | |
---|
6267 | Version 2.6.5.2 |
---|
6268 | --------------- |
---|
6269 | |
---|
6270 | [20030906.0000] jonz: insecure parameter check |
---|
6271 | |
---|
6272 | insecure parameter check; checks parameters for insecure characters: |
---|
6273 | | ; < > ` |
---|
6274 | |
---|
6275 | Version 2.6.5.1 |
---|
6276 | --------------- |
---|
6277 | |
---|
6278 | [20030905.1105] jonz: partitioned insecure functions |
---|
6279 | |
---|
6280 | partitioned potentially insecure functions to require the configure flag |
---|
6281 | --enable-insecure-functions to be set to activate. these include: |
---|
6282 | |
---|
6283 | --deliver-cmd |
---|
6284 | --quarantine-cmd |
---|
6285 | |
---|
6286 | special attention needs to be given to the execution permissions of the dspam |
---|
6287 | agent when enabling these functions to avoid users being able to |
---|
6288 | execute arbitrary commands on the server. it should be understood that these |
---|
6289 | are potentially insecure functions and could potentially lead to the execution |
---|
6290 | of arbitrary code if exploited by a malicious user or CGI. |
---|
6291 | |
---|
6292 | [20030905.0418] jonz: fixed bug: from header corruption |
---|
6293 | |
---|
6294 | if MTA is passing in From headers, they were being corrupted by DSPAM's |
---|
6295 | header parsing. fixed to specifically parse From headers differently |
---|
6296 | |
---|
6297 | [20030904.1422] jonz: fixed bug with quoted-printable debugging |
---|
6298 | |
---|
6299 | fixed a small bug that would fail to decode a quoted character immediately |
---|
6300 | following a line break |
---|
6301 | |
---|
6302 | [20030904.1127] awn: c89 compatiblity |
---|
6303 | |
---|
6304 | C89 compatiblity patch is applied. Patch author: Albert Chin-A-Young |
---|
6305 | <china@thewrittenword.com> |
---|
6306 | |
---|
6307 | * configure.ac, base64.c, decode.cn dspam.c, error.c, |
---|
6308 | error.h, libdspam.c, localdb.c, lock.c, signature.c, |
---|
6309 | tools/dspam_dump.c: Allow building with a C89 compiler |
---|
6310 | which does not have ISO varargs. |
---|
6311 | |
---|
6312 | [20030904.1046] awn: work around Solaris' make |
---|
6313 | |
---|
6314 | tools/Makefile.am doesn't uses $< authomatic variable because Solaris |
---|
6315 | make (at least some versions) doesn't supports its. |
---|
6316 | |
---|
6317 | [20030904.0700] jonz: segfaulting on _ds_message_destroy |
---|
6318 | |
---|
6319 | fixed a bug where destroying CTX->message caused a segfault. fortunately, this |
---|
6320 | bug would have never been reached by the agent or the api. |
---|
6321 | |
---|
6322 | [20030904.0700] jonz: nfs locking |
---|
6323 | |
---|
6324 | modified lock.c to work over nfs mounts, only checking pid when hostname |
---|
6325 | matches. maximum 20-minute stale lock removal. |
---|
6326 | |
---|
6327 | [20030903.1716] awn: dspam_corpus and dspam_genaliases update |
---|
6328 | |
---|
6329 | dspam_corpus and dspam_genaliases are use real path to the dspam binary |
---|
6330 | instead of assuming default /usr/local/bin/dspam. |
---|
6331 | |
---|
6332 | dspam_genaliases outputs aliases table to the stdout now by default. |
---|
6333 | Use new `-o filename' or `--output filename' option for redirect its to |
---|
6334 | the file. |
---|
6335 | |
---|
6336 | dspam_genaliases generates `nospam-USER' aliases in addition to the |
---|
6337 | `spam-USER' aliases now. |
---|
6338 | |
---|
6339 | [20030903.0145] jonz: fixed memory leak in dspam agent |
---|
6340 | |
---|
6341 | fixed internal memory leak in dspam agent where CTX->message was not destroyed. |
---|
6342 | only leaked until dspam agent exited, then memory was reclaimed |
---|
6343 | |
---|
6344 | [20030903.0145] jonz: updated example.c |
---|
6345 | |
---|
6346 | updated example.c to show correct CTX->message destruction |
---|
6347 | |
---|
6348 | [20030903.0115] jonz: fixed bug in false positive reporting |
---|
6349 | |
---|
6350 | fixed bug where innocent_hits incremented twice on false positive report |
---|
6351 | |
---|
6352 | Version 2.6.5 |
---|
6353 | ------------- |
---|
6354 | |
---|
6355 | [20030902.0000] jonz: added --version commandline parameter |
---|
6356 | |
---|
6357 | added --version commandline parameter to display version; -v is not used as |
---|
6358 | it could be a passthru parameter to an LDA. |
---|
6359 | |
---|
6360 | [20030902.0000] awn: dspam_purge changes |
---|
6361 | |
---|
6362 | minor fixes to dspam_purge tool |
---|
6363 | |
---|
6364 | [20030901.0000] awn: configure changes |
---|
6365 | |
---|
6366 | - implemented checks (and use of results) for <sys/time.h> <time.h> |
---|
6367 | - checking for math.h and fabs() were added, use -lm where need |
---|
6368 | - aesthetic changes |
---|
6369 | |
---|
6370 | [20030901.0000] awn: removed compiler warnings |
---|
6371 | |
---|
6372 | removed "no previous prototype" warnings with some compilers |
---|
6373 | |
---|
6374 | [20030901.0000] awn: compiler warnings |
---|
6375 | |
---|
6376 | miscellaneous changes to remove some compilation warnings |
---|
6377 | |
---|
6378 | Version 2.6.5-rc1.1 |
---|
6379 | ------------------- |
---|
6380 | |
---|
6381 | [20030831.0000] jonz: debug output |
---|
6382 | |
---|
6383 | removed left over debug output |
---|
6384 | |
---|
6385 | Version 2.6.5-rc1 |
---|
6386 | ----------------- |
---|
6387 | |
---|
6388 | [20030829.0000] jonz: fixed broken rfc attachments |
---|
6389 | |
---|
6390 | made compensation for broken rfcs with embedded attachments, where original |
---|
6391 | message should've been message/rfc822 but was instead attached as plain/text. |
---|
6392 | this caused attachments to be processed/consume large quantities of time. |
---|
6393 | decode.c modified to accept a new boundary definition from any header. |
---|
6394 | |
---|
6395 | [20030829.0000] jonz: --corpus flag foregoes message delivery/quarantine |
---|
6396 | |
---|
6397 | use of the --corpus flag will now prevent the messages fed in as corpus from |
---|
6398 | being delivered/quarantined |
---|
6399 | |
---|
6400 | [20030829.0000] jonz: added commandline delivery override |
---|
6401 | |
---|
6402 | commandline flags --deliver-cmd and --quarantine-cmd added to override the |
---|
6403 | default behavior for delivery (MLOCAL) and quarantine (either MLOCAL or |
---|
6404 | quarantine depending on configuration). syntax: |
---|
6405 | |
---|
6406 | dspam --deliver-cmd "/path/to/cmd -flags" |
---|
6407 | dspam --quarantine-cmd "/path/to/cmd -flags" |
---|
6408 | |
---|
6409 | (be sure not to use = sign). |
---|
6410 | |
---|
6411 | when overridden values used, the user id is by default NOT passed through to |
---|
6412 | the called program. use --with-passthru to pass ARG_USER %USER through to |
---|
6413 | the called program. example: |
---|
6414 | |
---|
6415 | dspam --deliver-cmd "/bin/cat" --with-passthru |
---|
6416 | |
---|
6417 | actually calls: /bin/cat -d [username] |
---|
6418 | |
---|
6419 | dspam --deliver-cmd "/bin/cat" |
---|
6420 | |
---|
6421 | actually calls: /bin/cat |
---|
6422 | |
---|
6423 | [20030829.0000] jonz: signature insertion moved inside body tag |
---|
6424 | |
---|
6425 | dspam signature now inserted (wherever possible) inside HTML body tags to |
---|
6426 | avoid droppage under certain conditions. |
---|
6427 | |
---|
6428 | [20030829.0000] jonz: changed dspam signature |
---|
6429 | |
---|
6430 | dspam signature changed to a visble signature to work with clients that |
---|
6431 | reformat only visible data (Eudora). new signature: |
---|
6432 | |
---|
6433 | !DSPAM:[SERIAL]! |
---|
6434 | |
---|
6435 | Version 2.6.5-beta-2 |
---|
6436 | -------------------- |
---|
6437 | |
---|
6438 | [20030826.1800] jonz: added --enable-delivery-to-stdout option |
---|
6439 | |
---|
6440 | added --enable-delivery-to-stdout option which causes all delivered messages |
---|
6441 | to be printed to stdout rather than piped to an LDA. if you wish to have spams |
---|
6442 | printed to stdout as well, use the --enable-spam-delivery option in |
---|
6443 | conjunction. |
---|
6444 | |
---|
6445 | [20030825.0031] jonz: signature attachment mode |
---|
6446 | |
---|
6447 | coded signature-attachments mode, rewriting messages to include a dspam |
---|
6448 | signature attachment with full data, instead of writing the server-side |
---|
6449 | attachment. use --enable-signature-attachments to enable. |
---|
6450 | |
---|
6451 | [20030824.2345] jonz: application/dspam-signature media type |
---|
6452 | |
---|
6453 | added application/dspam-signature media type recognition |
---|
6454 | |
---|
6455 | Version 2.6.5-beta-1.1 |
---|
6456 | ---------------------- |
---|
6457 | |
---|
6458 | [20030823.2010] jonz: fixed bug for empty headers |
---|
6459 | |
---|
6460 | fixed a bug where segments with empty headers would be dropped in reassembly |
---|
6461 | (currently these only seem to appear in mailer-daemon messages) |
---|
6462 | |
---|
6463 | Version 2.6.5-beta-1 |
---|
6464 | -------------------- |
---|
6465 | |
---|
6466 | [20030823.1804] jonz: groups now share same signature file |
---|
6467 | |
---|
6468 | groups now share same signature file enabling them to use a single group alias |
---|
6469 | for forwarding spams. |
---|
6470 | |
---|
6471 | [20030823.1339] jonz: added new configure flags |
---|
6472 | |
---|
6473 | --enable-homedir-dotfiles |
---|
6474 | When enabled, instead of checking for $USERDIR/$USER[.nodspam|.dspam], |
---|
6475 | DSPAM will check for a .nodspam|.dspam file in the user's home directory. |
---|
6476 | |
---|
6477 | --enable-opt-in |
---|
6478 | Causes DSPAM to filter mail only for users with a .dspam dotfile. The default |
---|
6479 | is opt-out, which requires a .nodspam file to exist to bypass filtering. |
---|
6480 | |
---|
6481 | when using --enable-homedir-dotfiles, dspam installs as setuid root. |
---|
6482 | |
---|
6483 | [20030823.1100] jonz: fixed segfaulting on signature reversal |
---|
6484 | |
---|
6485 | [only affected alpha-4-internal] |
---|
6486 | fixed a bug where dspam segfaulted while reversing a signature making it |
---|
6487 | impossible to train dspam using signatures with alpha-4-internal. |
---|
6488 | |
---|
6489 | [20030823.1100] jonz: added support for message/rfc822 |
---|
6490 | |
---|
6491 | [only affected alpha-4-internal] |
---|
6492 | added support for parsing message/rfc822 components; signature was not being |
---|
6493 | found in forwarded messages using this media type. |
---|
6494 | |
---|
6495 | [20030822.0929] jonz: added fp alerts to cgi |
---|
6496 | |
---|
6497 | added customizable false positive alerts to cgi. alerts list will be |
---|
6498 | compared to message headers and hilight all messages that match in yellow. |
---|
6499 | alerts are stored as $USERDIR/$USER.alerts. |
---|
6500 | |
---|
6501 | [20030822.0929] jonz: fixed decoding header bug |
---|
6502 | |
---|
6503 | fixed a bug in the header decoding where the original encoding type was |
---|
6504 | reassembled into the message, instead of the decoded type. fix only |
---|
6505 | affected alpha-4 (internal). |
---|
6506 | |
---|
6507 | [20030822.0929] jonz: moved signature append to process |
---|
6508 | |
---|
6509 | moved appending of signature out of delivery_message and into the process |
---|
6510 | function, using the new message structures instead of parsing. this also |
---|
6511 | fixes a problem in that on memory failure, the delivery_message function |
---|
6512 | will no longer need to allocate memory. |
---|
6513 | |
---|
6514 | [20030822.0016] jonz: adjusted lock timeout |
---|
6515 | |
---|
6516 | adjusted lock timeout from 10 to 20 seconds. depending on the load of your |
---|
6517 | machine, this could be set higher or lower. the higher the setting, the less |
---|
6518 | chance of any failover deliveries being made, and the more chance of multiple |
---|
6519 | processes lined up waiting for a lock on a user's mailbox. |
---|
6520 | |
---|
6521 | [20030822.0014] jonz: documentation tweaks |
---|
6522 | |
---|
6523 | a few miscellaneous tweaks |
---|
6524 | |
---|
6525 | [20030821.2145] jonz: added --enable-spam-delivery |
---|
6526 | |
---|
6527 | added configure flag --enable-spam-delivery causing all spams to be delivered |
---|
6528 | instead of quarantined (for use with X-DSPAM header filtering |
---|
6529 | |
---|
6530 | [20030821.1935] jonz: rewrite of message post-processing |
---|
6531 | |
---|
6532 | Message post-processing rewritten; including appending of signature, |
---|
6533 | message re-write, etcetera. |
---|
6534 | |
---|
6535 | [20030821.1908] jonz: added header information |
---|
6536 | |
---|
6537 | X-DSPAM-Result: Spam || Innocent |
---|
6538 | X-DSPAM-Probability: (Actual Probability) |
---|
6539 | |
---|
6540 | [20030821.1820] jonz: removed CTX->copyback |
---|
6541 | |
---|
6542 | CTX->copyback is now obsolete. All base64 decoding is performed on |
---|
6543 | CTX->message, which is available from the context, or via calling |
---|
6544 | _ds_assemble_message() function using the message structure as a parameter. |
---|
6545 | |
---|
6546 | [20030821.1730] jonz: changes to DSPAM_CTX |
---|
6547 | |
---|
6548 | + struct _ds_message *message; /* Message Components */ |
---|
6549 | |
---|
6550 | for compatibility with existing API, dspam_process still accepts a const char *, |
---|
6551 | however tools that already perform message actualization (such as the DSPAM |
---|
6552 | agent) can set CTX->message to the existing struct _ds_message * to avoid |
---|
6553 | reprocessing the message, and to carry over any encoding changes. |
---|
6554 | |
---|
6555 | [20030821.1730] jonz: implemented new decode/actualization functions in sig |
---|
6556 | |
---|
6557 | implemented use of new actualization and decoding functions [decode.c] in |
---|
6558 | dspam.c's signature scan code. |
---|
6559 | |
---|
6560 | [20030821.1729] jonz: finished block decoding functions |
---|
6561 | |
---|
6562 | /* Public decode function */ |
---|
6563 | char * _ds_decode_block(struct _ds_message_block *block); |
---|
6564 | |
---|
6565 | /* Private decoding functions */ |
---|
6566 | char * _ds_decode_base64(const char *body); |
---|
6567 | char * _ds_decode_quoted(const char *body); |
---|
6568 | |
---|
6569 | [20030820.0015] jonz: finished preliminary message actualization |
---|
6570 | |
---|
6571 | decode.c: finished preliminary actualization code (code responsible for |
---|
6572 | actualizing a message into its individual components). experiments with |
---|
6573 | plain messages and non-embedded multipart messages succeeded. next phase of |
---|
6574 | testing to include embedded multipart messages, including spams that are |
---|
6575 | designed to frequently break RFC. once testing/patching is complete, |
---|
6576 | decoding routines to follow. |
---|
6577 | |
---|
6578 | [20030819.0000] jonz: signature embeddedding changes |
---|
6579 | |
---|
6580 | signatures are now embedded in every text segment of a message to |
---|
6581 | insure they are forwarded properly |
---|
6582 | |
---|
6583 | [20030818.1350] awn: fix for empty messages |
---|
6584 | |
---|
6585 | (Submitted by Andrew W. Nosenk <awn@bcs.zp.ua>) |
---|
6586 | |
---|
6587 | * added check for empty data to prevent segfault |
---|
6588 | |
---|
6589 | [20030817.1336] awn: configure script changes |
---|
6590 | |
---|
6591 | (Submitted by Andrew W. Nosenko <awn@bcs.zp.ua>) |
---|
6592 | |
---|
6593 | * configure.ac: Work around versioning issues of some versions of |
---|
6594 | db-4. E.g. db_create() may be not a real function but simple |
---|
6595 | forwarding macro to the db_create_4001(). |
---|
6596 | |
---|
6597 | * configure.ac: New configure option `--with-db4-libraries' (as |
---|
6598 | pair for `--with-db4-includes') |
---|
6599 | |
---|
6600 | [20030817.1230] jonz: added --disable-bias configure flag |
---|
6601 | |
---|
6602 | when configure is run with --disable-bias, dspam no longer biases the |
---|
6603 | statistics in favor of innocent mail. This may increase the filter's |
---|
6604 | effectiveness in catching spam, but could also potentially result in less |
---|
6605 | false positive protection. some argue that eliminating bias is more |
---|
6606 | accurate, not less. |
---|
6607 | |
---|
6608 | [20030815.0300] jonz: added dspam_genaliases script |
---|
6609 | |
---|
6610 | a small script to create an aliases table from /etc/passwd |
---|
6611 | |
---|
6612 | [20030814.1928] jonz: added large-scale directory support to tools |
---|
6613 | |
---|
6614 | ported tools to support large-scape directory support (see below). |
---|
6615 | |
---|
6616 | [20030814.0005] jonz: added large-scale directory support |
---|
6617 | |
---|
6618 | when configure is run with --enable-large-scale, dspam stores all its user |
---|
6619 | files in large-scale mode. for example, user root's files would be stored in |
---|
6620 | /etc/mail/dspam/r/ro/root. directories are created automatically as needed. |
---|
6621 | |
---|
6622 | Version 2.6.4.1 |
---|
6623 | --------------- |
---|
6624 | |
---|
6625 | [20030816.2352] jonz: parse fix for boundaries with spaces |
---|
6626 | |
---|
6627 | added fix for multipart emails with spaces in the boundary definition |
---|
6628 | (e.g. boundary= "blah"). Discovered in some of the newer 'Urgent Response' |
---|
6629 | type spams. |
---|
6630 | |
---|
6631 | Version 2.6.4 |
---|
6632 | ------------- |
---|
6633 | |
---|
6634 | [20030809.1115] jonz: corpus spams marked as misses |
---|
6635 | |
---|
6636 | spams learned through dspam_corpus are now marked as misses instead of |
---|
6637 | caught spam. |
---|
6638 | |
---|
6639 | [20030808.1945] jonz: changes to header processing |
---|
6640 | |
---|
6641 | Message-ID is now considered for useful information. Received header is now |
---|
6642 | considered, but parsed in a different manner preserving IP addresses and |
---|
6643 | other useful information. |
---|
6644 | |
---|
6645 | [20030808.1945] jonz: blank signatures will no longer get written |
---|
6646 | |
---|
6647 | blank signatures are a result of a failover passthrough for a particular |
---|
6648 | user. dpsam has been changed to not write a signature if the signature |
---|
6649 | itself is blank, preventing <!DSPAM:> from appearing in an email. |
---|
6650 | |
---|
6651 | [20030808.1945] jonz: added .nodspam file functionality |
---|
6652 | |
---|
6653 | in an attempt to conserve disk space, a username.nodspam file may be |
---|
6654 | touched in the /etc/mail/dspam directory, which will cause all messages |
---|
6655 | for that user to be passed through dspam and not processed. this will |
---|
6656 | prevent a dictionary or signature file from being built and save disk |
---|
6657 | space. users wishing not to use dspam can still simply not use it, |
---|
6658 | but dropping a .nodspam file will prevent any files from being created. |
---|
6659 | |
---|
6660 | [20030805.1630] jonz: fixed multiple header destroy calls |
---|
6661 | |
---|
6662 | fixed bug where the header nodetree was destroyed a second time in some errors |
---|
6663 | that cleaned up and returned, causing a segmentation fault. |
---|
6664 | |
---|
6665 | [20030805.1400] jonz: added quoted-printable decoding |
---|
6666 | |
---|
6667 | added quoted-printable decoding; decodes hex codes into actual characters. |
---|
6668 | |
---|
6669 | [20030805.1230] jonz: documentation correction for dspam_corpus |
---|
6670 | |
---|
6671 | dspam_corpus uses --addspam flag, not -a anymore |
---|
6672 | |
---|
6673 | [20030805.1200] jonz: added verbose debugging option |
---|
6674 | |
---|
6675 | added --enable-verbose-debug for verbose debugging information to be written |
---|
6676 | to /tmp/dspam.debug |
---|
6677 | |
---|
6678 | [20030805.1200] jonz: new line unbreaking code |
---|
6679 | |
---|
6680 | new line unbreaking code to unbreak only quoted-printable lines |
---|
6681 | |
---|
6682 | Version 2.6.3 |
---|
6683 | ------------- |
---|
6684 | |
---|
6685 | [20030801.0930] jonz: debug after context destruction |
---|
6686 | |
---|
6687 | fixed a bug in dspam.c that reported debug information for a context |
---|
6688 | after it had been destroyed. |
---|
6689 | |
---|
6690 | 20030801.0930] jonz: dspam_clean to create new databases |
---|
6691 | |
---|
6692 | dspam_clean tool rewritten to create new databases when called in the same |
---|
6693 | fashion as dspam_purge. this helps keep the databases in good health and |
---|
6694 | smaller filesize. |
---|
6695 | |
---|
6696 | [20030801.0900] jonz: fix for PGP signatures |
---|
6697 | |
---|
6698 | fixed formatting bug causing PGP signatures to be corrupted. fix required |
---|
6699 | removing line unbreaking from message which could potentially cause dspam to |
---|
6700 | lose one or two signatures when messages are being forwarded from Microsoft |
---|
6701 | Outlook. does not appear to be a significant issue. |
---|
6702 | |
---|
6703 | [20030801.0900] jonz: fix for unchecked malloc calls |
---|
6704 | |
---|
6705 | fixed two unchecked malloc calls |
---|
6706 | => struct nt *nt_create(int nodetype) |
---|
6707 | => struct nt_node *nt_add(struct nt *nt, void *data) |
---|
6708 | |
---|
6709 | submitted by Thomas Lussing <lussnig@smcc.net> |
---|
6710 | |
---|
6711 | [20030731.0852] jonz: added syslog logging |
---|
6712 | |
---|
6713 | added syslog logging using mail facility |
---|
6714 | |
---|
6715 | [20030730.2323] jonz: documentation addition for username case |
---|
6716 | |
---|
6717 | added this to the README: |
---|
6718 | |
---|
6719 | NOTE: Some authentication mechanisms are case insensitive and will |
---|
6720 | authenticate the user regardless of the case they type it in. DSPAM, |
---|
6721 | on the other hand, is case sensitive and the case of the username used |
---|
6722 | will need to match the case on the system. If you suffer from this |
---|
6723 | authentication problem, and are certain all of your users' usernames are |
---|
6724 | in lowercase, you can add the following line of code to the CGI right |
---|
6725 | after the call to &ReadParse... |
---|
6726 | |
---|
6727 | $ENV{'REMOTE_USER'} = lc($ENV{'REMOTE_USER'}); |
---|
6728 | |
---|
6729 | [20030730.2311] jonz: fixed bug in dspam_stats |
---|
6730 | |
---|
6731 | fixed formatting bug in dspam_stats causing problem with usernames > 16 |
---|
6732 | characters. submitted by Stuart Gathman <stuart@bmsi.com> |
---|
6733 | |
---|
6734 | Version 2.6.2.03 |
---|
6735 | ---------------- |
---|
6736 | |
---|
6737 | [20030729.2205] jonz: fixed more line parsing bugs |
---|
6738 | |
---|
6739 | fixed some additional bugs in line parsing which may have caused some emails |
---|
6740 | to appear blank in Microsoft Outlook |
---|
6741 | |
---|
6742 | Version 2.6.2.02 |
---|
6743 | ---------------- |
---|
6744 | |
---|
6745 | [20030729.0225] jonz: internal cleanup |
---|
6746 | |
---|
6747 | removed unused variables and added prototypes for some functions lacking them |
---|
6748 | |
---|
6749 | [20030729.0225] jonz: implemented strsep to fix processing snag |
---|
6750 | |
---|
6751 | large messages resulted in significant processor consumption due to previous |
---|
6752 | method of splitting up messages line-by-line. strsep now implemented to remove |
---|
6753 | this bottleneck. |
---|
6754 | |
---|
6755 | Version 2.6.2.01 |
---|
6756 | ---------------- |
---|
6757 | |
---|
6758 | [20030710.1000] jonz: fixed bug in dspam_stats |
---|
6759 | |
---|
6760 | dspam_stats now reports TS (total spams) as total spams minus spam misses. |
---|
6761 | |
---|
6762 | [20030710.1000] jonz: fixed bug in false positives |
---|
6763 | |
---|
6764 | fixed a bug where false positives reported without a signature would fail to |
---|
6765 | decrease the total number of spams. this event should never occur using |
---|
6766 | dspam, and only addresses this as an issue for any third party software using |
---|
6767 | the dspam library. |
---|
6768 | |
---|
6769 | [20030710.1000] jonz: added support for reusable contexts |
---|
6770 | |
---|
6771 | added support for reusable contexts, enabling a context to be processed |
---|
6772 | multiple times. |
---|
6773 | |
---|
6774 | [20030704.1827] jonz: fixed condition in chomp |
---|
6775 | |
---|
6776 | fixed a condition in chomp where it could potentially cause a segment fault if |
---|
6777 | called with a NULL pointer, or a string with zero length. this should never |
---|
6778 | occur anyway considering the calling code. |
---|
6779 | |
---|
6780 | Version 2.6.2 |
---|
6781 | ------------- |
---|
6782 | |
---|
6783 | [20030701.0000] jonz: added DSF_CLASSIFY flag |
---|
6784 | |
---|
6785 | added DSF_CLASSIFY flag to libdspam. use of this flag causes libdspam _not_ to |
---|
6786 | record statistics for a specific operation, but only to evaluate and return |
---|
6787 | the operation's result. |
---|
6788 | |
---|
6789 | [20030701.0000] jonz: fixed bit assignment bug |
---|
6790 | |
---|
6791 | fixed a bit assignment bug resulting in clearing of all flags when headers |
---|
6792 | ignored |
---|
6793 | submitted by Stuard D. Gathman [stuart@bsmred.dmsi.com] |
---|
6794 | |
---|
6795 | [20030701.0000] jonz: fixed bugs related to corpus mail |
---|
6796 | |
---|
6797 | fixed a bug causing corpus mail's headers to be ignored |
---|
6798 | submitted by Stuard D. Gathman [stuart@bsmred.dmsi.com] |
---|
6799 | |
---|
6800 | Version 2.6.1.01 |
---|
6801 | ---------------- |
---|
6802 | |
---|
6803 | [20030627.1924] jonz: fixed memory free of copyback buffer |
---|
6804 | |
---|
6805 | copyback buffer is now freed in dspam.c when context is destroyed |
---|
6806 | |
---|
6807 | Version 2.6.1.00 |
---|
6808 | ---------------- |
---|
6809 | |
---|
6810 | [20030622.0000] jonz: added ` as delimiter |
---|
6811 | |
---|
6812 | [20030620.0000] jonz: added support for group dictionaries |
---|
6813 | |
---|
6814 | Group dictionaries enable a group of users with similar email behavior to |
---|
6815 | share the same dictionary while still maintaining a private quarantine box. |
---|
6816 | Please see README for more information. |
---|
6817 | |
---|
6818 | [20030620.0000] jonz: added dspam_stats tool |
---|
6819 | |
---|
6820 | The dspam_stats tool can be used to display the statistics for one or all |
---|
6821 | users on the system. Please see README for more information. |
---|
6822 | |
---|
6823 | Version 2.6.0.69 |
---|
6824 | ---------------- |
---|
6825 | |
---|
6826 | [20030618.0000] jonz: line unbreaking correction |
---|
6827 | |
---|
6828 | correction made to line unbreaking to sanity check for consecutive |
---|
6829 | equal signs |
---|
6830 | |
---|
6831 | Version 2.6.0.68 |
---|
6832 | ---------------- |
---|
6833 | |
---|
6834 | [20030612.0000] jonz: change to configure tool |
---|
6835 | |
---|
6836 | changed configure tool to look for db_strerror instead of |
---|
6837 | db_env_create in the event that libdb was built without |
---|
6838 | environmental functions |
---|
6839 | |
---|
6840 | Version 2.6.0.67 |
---|
6841 | ---------------- |
---|
6842 | |
---|
6843 | [20030609.0021] jonz: bugfix in line unbreaking |
---|
6844 | |
---|
6845 | fixed a bug in line unbreaking (where clients use an equal sign |
---|
6846 | followed by a carriage return to break up long lines) causing |
---|
6847 | some attachments to be unreadable by some mail clients. lines |
---|
6848 | are now only unbroken in text segments. |
---|
6849 | |
---|
6850 | [20030607.1020] jonz: bugfix in attachment boundaries |
---|
6851 | |
---|
6852 | fixed a small bug that wrote the boundary twice at the end of |
---|
6853 | an attachment |
---|
6854 | |
---|
6855 | Version 2.6.0.66 |
---|
6856 | ---------------- |
---|
6857 | |
---|
6858 | [20030603.1900] jonz: bugfix in line unbreaking |
---|
6859 | |
---|
6860 | fixed a bug in line unbreaking (where clients use an equal sign |
---|
6861 | followed by a carriage return to break up long lines) causing |
---|
6862 | unquoted signatures ending with an equal sign to be malparsed, |
---|
6863 | causing the email to become slightly jumbled. |
---|
6864 | |
---|
6865 | [20030603.1800] jonz: DSF_CORPUS flag |
---|
6866 | |
---|
6867 | added DSF_CORPUS flag for processing messages that are from corpus; |
---|
6868 | prevents innocent totals/hits from being subtracted when spam corpuses |
---|
6869 | are fed in. |
---|
6870 | |
---|
6871 | Version 2.6.0.65 |
---|
6872 | ---------------- |
---|
6873 | |
---|
6874 | [20030601.0000] jonz: bugfix for locking |
---|
6875 | |
---|
6876 | a bug in the locking mechanism for tools fixed; occasionally could cause |
---|
6877 | a corrupt dictionary |
---|
6878 | |
---|
6879 | Version 2.6.0.64 |
---|
6880 | ---------------- |
---|
6881 | |
---|
6882 | [20030525.2300] jonz: bugfix for boundaries |
---|
6883 | |
---|
6884 | fixed a bug causing boundaries ending in == to be parsed incorrectly |
---|
6885 | fixed a bug in parsing boundaries that used = without quotes |
---|
6886 | |
---|
6887 | [20030523.2300] jonz: bugfix for attachments |
---|
6888 | |
---|
6889 | fixed bug causing attachments to be dropped |
---|
6890 | |
---|
6891 | [20030523.2300] jonz: optimizations for large databases |
---|
6892 | |
---|
6893 | increased database cache to 4MB and implemented alternative btree |
---|
6894 | sorting routine to greatly speed up database functions |
---|
6895 | |
---|
6896 | [20030523.2000] jonz: addition of libtool/shared libs |
---|
6897 | |
---|
6898 | libtool is now implemented to build a shared libdspam library. |
---|
6899 | |
---|
6900 | [20030523.1830] jonz: bugfixes |
---|
6901 | |
---|
6902 | bugfix for multipart messages that caused message to be truncated |
---|
6903 | bugfixes to signature management causing some segfaults |
---|
6904 | bugfixes to crc64 calls, some calls returned a different crc every time |
---|
6905 | |
---|
6906 | [20030523.0100] jonz: partial rewrite |
---|
6907 | |
---|
6908 | Rewrote dspam engine into libdspam, enabling developers to link in libdspam |
---|
6909 | to provide "drop-in" spam filtering for their projects. |
---|
6910 | |
---|
6911 | Migrated to 64-bit tokens; previous 2.6-Beta databases using 32-bit tokens |
---|
6912 | will not work with this new version. |
---|
6913 | |
---|
6914 | Server-side-signature presently the only signature storage method; looking |
---|
6915 | into a different method of incorporating signature in emails. |
---|
6916 | |
---|
6917 | Implemented tracking of spam misses and false positives. Reported in CGI |
---|
6918 | |
---|
6919 | [20030521.2315] jonz: url tokens ignored outside of urls |
---|
6920 | |
---|
6921 | tokens found inside urls are ignored as individual tokens, and only |
---|
6922 | represented as Url*token. |
---|
6923 | |
---|
6924 | [20030520.0200] jonz: bugfix for base64 decoding |
---|
6925 | |
---|
6926 | fixed a bug that failed to decode non-multipart base64 messages |
---|
6927 | |
---|
6928 | [20030519.0000] jonz: ignore all html tags without spaces |
---|
6929 | |
---|
6930 | ignore all html tags without spaces; frequently used to separate tokens |
---|
6931 | |
---|
6932 | [20030519.0000] jonz: ignored collapsible html tags |
---|
6933 | |
---|
6934 | collapsed (rather than overwrote) html tags to join together tokens that |
---|
6935 | some spammers use such tags to separate. |
---|
6936 | |
---|
6937 | [20030518.1500] jonz: addition of dspam_crc tool |
---|
6938 | |
---|
6939 | dspam_crc tool converts a string into the numeric crc used for storage in |
---|
6940 | the dspam dictionary; makes it easier to use dspam_dump and grep for a |
---|
6941 | particular token |
---|
6942 | |
---|
6943 | [20030517.1930] jonz: bugfix for as_spam signature |
---|
6944 | |
---|
6945 | fixed a bug causing the signature not to be displayed |
---|
6946 | on messages marked as spams |
---|
6947 | |
---|
6948 | [20030517.1300] jonz: bugfixes |
---|
6949 | |
---|
6950 | fixed bugs in signature storage (delete .sig files to fix) |
---|
6951 | fixed bugs in dspam_purge |
---|
6952 | fixed bugs causing segfault under some circumstances |
---|
6953 | |
---|
6954 | [20030516.0052] jonz: exim documentation corrections by Jerome Alet |
---|
6955 | |
---|
6956 | Exim configuration to directors, not routers |
---|
6957 | |
---|
6958 | [20030516.0020] jonz: massive rewrite and optimizations |
---|
6959 | |
---|
6960 | addition of tbt and lht dynamic data structures |
---|
6961 | rewrite of debugging functions |
---|
6962 | rewrite of database functions |
---|
6963 | conversion to crc32 long integers for token management |
---|
6964 | addition of dspam_convert to convert old databases |
---|
6965 | renamed dbdump to dspam_dump, removed dbset/dbdelete |
---|
6966 | |
---|
6967 | these rewrites/optimizations convert all tokens to numeric (long) |
---|
6968 | values, making processing and sorting much faster. tbt implements |
---|
6969 | a binary tree sorting mechanism eliminating qsort. storing tokens |
---|
6970 | in numeric format also removes the necessity for the zlib compression |
---|
6971 | librayr. |
---|
6972 | |
---|
6973 | [20030514.1500] jonz: bugfix in content identification |
---|
6974 | |
---|
6975 | small bugfix in content identification that led some emails to miss a |
---|
6976 | dspam signature |
---|
6977 | |
---|
6978 | [20030514.1500] jonz: error message output added to debug |
---|
6979 | |
---|
6980 | error messages previously only made it to stderr. when --enable-debug |
---|
6981 | option is used, errors are also printed to debug |
---|
6982 | |
---|
6983 | Version 2.5.4 - May 14 2003 |
---|
6984 | --------------------------- |
---|
6985 | |
---|
6986 | [20030514.0240] jonz: added autoconf support contributed by Andrew W. Nosenko |
---|
6987 | |
---|
6988 | thanks to Andrew W. Nosenko for contributing the files/patches to provide |
---|
6989 | autoconf support to dspam. please read the README file for instructions. |
---|
6990 | |
---|
6991 | [20030514.0200] jonz: changed hash to support ints |
---|
6992 | |
---|
6993 | hash.c modified to support ints or character pointers. makes tracking |
---|
6994 | token frequency much faster. |
---|
6995 | |
---|
6996 | [20030513.2345] jonz: bug in dspam_clean corrected |
---|
6997 | |
---|
6998 | corrected a bug in dspam_clean causing it to fail |
---|
6999 | |
---|
7000 | [20030513.2300] jonz: experimental tokenized rules |
---|
7001 | |
---|
7002 | playing with a few experimental tokenized rules |
---|
7003 | |
---|
7004 | [20030513.2300] jonz: freebsd makefile setuid root |
---|
7005 | |
---|
7006 | modified the freebsd makefile to install as setuid root. this is due to |
---|
7007 | freebsd's mail.local requiring the ability to change its uid. dspam will |
---|
7008 | not work correctly on the commandline (for example when reporting false |
---|
7009 | positives) |
---|
7010 | |
---|
7011 | [20030513.0325] jonz: changed probabilities for single-corpus tokens |
---|
7012 | |
---|
7013 | probabilities of 0.0100 and 0.0101 were previously assigned to tokens |
---|
7014 | appearing only in the innocent corpus. this has been changed to |
---|
7015 | 0.0099 and 0.0100 to balance out the 0.9900 and 0.9901 used for tokens |
---|
7016 | that appear only in the spam corpus. this very small change corrected |
---|
7017 | 3 false positives that appeared. |
---|
7018 | |
---|
7019 | [20030513.0250] jonz: added documentation for exim |
---|
7020 | |
---|
7021 | documentation thanks to David Shirley |
---|
7022 | |
---|
7023 | [20030512.1930] jonz: applied changes submitted by Andrew W. Nosenko |
---|
7024 | |
---|
7025 | (DELIMITERS): Plain `^M' character is replaced by appropriate |
---|
7026 | escape sequence `\r' for avoiding gcc-3.2.2 warning "multi-line |
---|
7027 | string literals are deprecated" |
---|
7028 | |
---|
7029 | (MAX_FILENAME_LENGTH, MAX_USERNAME_LENGTH): Use system-defined |
---|
7030 | limits when available (for example max. filename length under |
---|
7031 | Linux is not 128 as harcoded, but 4096). |
---|
7032 | |
---|
7033 | (USERDIR): Define USERDIR only if not defined somewhere else |
---|
7034 | (e.g. from command line). Very convenient for building binary |
---|
7035 | package. |
---|
7036 | |
---|
7037 | Version 2.5.3 - May 12, 2003 |
---|
7038 | ---------------------------- |
---|
7039 | |
---|
7040 | [20030512.1430] jonz: bugfix for ignored headers |
---|
7041 | |
---|
7042 | a bug was fixed that caused all headers to be ignored if a message was stored |
---|
7043 | as a raw message in the signature database. |
---|
7044 | |
---|
7045 | [20030512.1400] jonz: embedded boundary recognition |
---|
7046 | |
---|
7047 | added embedded boundary recognition to recognize emails with embedded bounaries, |
---|
7048 | such as those sent by Eudora when special formatting is enabled. |
---|
7049 | |
---|
7050 | [20030512.1200] jonz: documentation |
---|
7051 | |
---|
7052 | added better documentation for the correct permissions of the dspam |
---|
7053 | directories and the correct group memberships for the MTA user. |
---|
7054 | |
---|
7055 | [20030512.1200] jonz: locking bugfix |
---|
7056 | |
---|
7057 | fixed bug in locking that caused a loop if a lockfile could not be created |
---|
7058 | (due to file permissions). also increased lock debugging verbosity. |
---|
7059 | |
---|
7060 | [20030511.2025] jonz: false positives adjustment |
---|
7061 | |
---|
7062 | false positives reported now hit a token 3 times innocent instead of 2, |
---|
7063 | for faster re-learning. |
---|
7064 | |
---|
7065 | [20030511.2010] jonz: header parsing bug |
---|
7066 | |
---|
7067 | fixed a header parsing bug that did not carry the original header name |
---|
7068 | across multiple lines, for example the Received header. |
---|
7069 | |
---|
7070 | [20030511.1945] jonz: dspam_purge complete |
---|
7071 | |
---|
7072 | dspam_purge completed and expanded to delete old non-qualifying tokens |
---|
7073 | and defragment/shrink user dictionaries |
---|
7074 | |
---|
7075 | [20030511.1945] jonz: rewrite of dspam tools |
---|
7076 | |
---|
7077 | dspam tools rewritten to support new spam_record structure. |
---|
7078 | |
---|
7079 | [20030511.1945] jonz: implementation of struct spam_record |
---|
7080 | |
---|
7081 | new spam_record structure implemented for database storage; include last |
---|
7082 | hit date for new purge tool. subroutines backward compatible to work |
---|
7083 | with old databases. |
---|
7084 | |
---|
7085 | [20030511.1827] jonz: bugfix for lock sleep |
---|
7086 | |
---|
7087 | fixed a bug that caused all dspam processes to sleep for 1 second, even |
---|
7088 | if a lock was successfully acquired on the first try. |
---|
7089 | |
---|
7090 | [20030511.1719] jonz: addition of probability information to spams |
---|
7091 | |
---|
7092 | messages marked as spams now to include the tokens and probabilities used in |
---|
7093 | the message |
---|
7094 | |
---|
7095 | [20030511.1600] jonz: body tag filtering |
---|
7096 | |
---|
7097 | now ignoring body tags. the only frequently used tags that are being |
---|
7098 | considered are font, img, and meta |
---|
7099 | |
---|
7100 | Version 2.5.2 - May 11, 2003 |
---|
7101 | ---------------------------- |
---|
7102 | |
---|
7103 | [20030510.1615] jonz: token word joins with punctuation |
---|
7104 | |
---|
7105 | token word joins modified to include dollar signs and exlamation points. for |
---|
7106 | example: |
---|
7107 | |
---|
7108 | $S A V E$ |
---|
7109 | |
---|
7110 | previously would result in 3 tokens: $S, AV, E$ but now results in one: $SAVE$ |
---|
7111 | |
---|
7112 | [20030510.1500] jonz: bugfix for multipart boundary |
---|
7113 | |
---|
7114 | a bug fixing a problem with multipart boundaries not being detected when defined |
---|
7115 | without using quotes has been corrected. this resulted in the dspam signature |
---|
7116 | (or identifier) never making it into the message. for example: |
---|
7117 | |
---|
7118 | Content-Type: multipart/alternative; |
---|
7119 | boundary='~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' |
---|
7120 | |
---|
7121 | is now detected correctly |
---|
7122 | |
---|
7123 | [20030510.0035] jonz: additional filtering |
---|
7124 | |
---|
7125 | added additional filtering to ignore words with control characters, |
---|
7126 | numbers that are not prefixed with $ or end with %, and any tokens that |
---|
7127 | do not begin with an alphanumeric character, with the exception of $ and #. |
---|
7128 | |
---|
7129 | [20030510.0020] jonz: bug fix for lock failures |
---|
7130 | |
---|
7131 | a bug has been fixed that caused dspam to loop, sending multiple emails |
---|
7132 | in the event of a lock failure |
---|
7133 | |
---|
7134 | [20030509.2100] jonz: Makefile for FreeBSD |
---|
7135 | |
---|
7136 | added makefile for freebsd |
---|
7137 | |
---|
7138 | [20030509.2015] jonz: procmail fix |
---|
7139 | |
---|
7140 | added small fix to accomodate some procmail implementations |
---|
7141 | that require an empty argument after -a |
---|
7142 | |
---|
7143 | [20030509.0130] jonz: addition of dspam_purge |
---|
7144 | |
---|
7145 | please see README for more details |
---|
7146 | |
---|
7147 | [20030509.0130] jonz: tools to output to stderr |
---|
7148 | |
---|
7149 | dspam tools to output to stderr |
---|
7150 | |
---|
7151 | [20030509.0130] jonz: removed probability from db storage |
---|
7152 | |
---|
7153 | removed the 13-character probability from the hash databases; was |
---|
7154 | taking up considerable space and wasn't necessary for the calculation. |
---|
7155 | is backwards compatible, so there is no need to delete any db's. |
---|
7156 | |
---|
7157 | [20030509.0040] jonz: ! is now treated as a delimeter |
---|
7158 | |
---|
7159 | the ! character has been added to the delimiter list |
---|
7160 | |
---|
7161 | [20030508.2330] jonz: added .lock locking mechanism |
---|
7162 | |
---|
7163 | added a .lock locking mechanism to prevent database corruption and/or |
---|
7164 | quarantine mailbox corruption. |
---|
7165 | |
---|
7166 | [20030508.1915] jonz: filtering of boundaries |
---|
7167 | |
---|
7168 | multipart boundaries are now filteres |
---|
7169 | |
---|
7170 | [20030508.1800] jonz: token word joins |
---|
7171 | |
---|
7172 | if a token is only one character long, and is adjacent to other similar |
---|
7173 | tokens, each token will be joined to create a single token. for example |
---|
7174 | |
---|
7175 | V I A G R A |
---|
7176 | |
---|
7177 | will be tokenized as "VIAGRA" |
---|
7178 | |
---|
7179 | [20030508.1800] jonz: header array abolished |
---|
7180 | |
---|
7181 | the array holding each header line has been replaced with a nodetree |
---|
7182 | (dynamic data storage) |
---|
7183 | |
---|
7184 | [20030508.0800] jonz: bugfix for dspam_clean |
---|
7185 | |
---|
7186 | dspam_clean segfaults after processing the first user signature file. this |
---|
7187 | was due to an invalid database handle being closed. the correct handle is |
---|
7188 | now used |
---|
7189 | |
---|
7190 | Version 2.5.1; May 8 2003: |
---|
7191 | -------------------------- |
---|
7192 | |
---|
7193 | [20030508.0045] jonz: bugfix for inline comments |
---|
7194 | |
---|
7195 | inline comments normally used to break up guilty spam words such as |
---|
7196 | S<!1234>E<!1234>X<!1234> |
---|
7197 | |
---|
7198 | were only partially filtered, leaving gaps between the letters and causing |
---|
7199 | DSPAM to miss the whole word. this has been corrected to eliminate the space |
---|
7200 | the comments previously used, bringing the words together for calculation. |
---|
7201 | |
---|
7202 | [20030508.0025] jonz: strdup() overusage |
---|
7203 | |
---|
7204 | if only one destination user is specified, strdup() is not used to duplicate |
---|
7205 | the original header/body pairs to pass to process_user() |
---|
7206 | |
---|
7207 | [20030507.1130] jonz: bugfix for multiple users |
---|
7208 | |
---|
7209 | when multiple users are specified in the local mailer parameters, the first |
---|
7210 | user process, due to a bug in setting ADD_AS_SPAM, determined whether the |
---|
7211 | message was spam for all other users. ADD_AS_SPAM is now reset to its original |
---|
7212 | value prior to each user's calculation. |
---|
7213 | |
---|
7214 | [20030507.2200] jonz: increased html filtering |
---|
7215 | |
---|
7216 | <div and <p html tags are now ignored |
---|
7217 | |
---|
7218 | Version 2.5; May 7 2003: |
---|
7219 | ------------------------ |
---|
7220 | |
---|
7221 | [20030507.0500] jonz: increased html filtering |
---|
7222 | |
---|
7223 | td, tr, and table tags are now ignored |
---|
7224 | |
---|
7225 | [20030507.0500] jonz: increased bare corpus safeguards |
---|
7226 | |
---|
7227 | the following safeguards have been implemented to prevent false positives |
---|
7228 | in immature corpuses: |
---|
7229 | |
---|
7230 | - the minimum number of hits for a token to register at anything above .40 |
---|
7231 | has been raised from 5 to 20 if the user has fewer than 500 innocent |
---|
7232 | messages |
---|
7233 | - if the user has fewer than 1000 messages, the minumum number of hits |
---|
7234 | is equal to 5 + (the spam ratio / 2) |
---|
7235 | |
---|
7236 | [20030507.0500] jonz: commandline multiple user support |
---|
7237 | |
---|
7238 | multiple users on the same commandline (e.g. -d user1 user2 user3) are now |
---|
7239 | processed individually. prior to this, only the first user was processed |
---|
7240 | (even though the message was delivered to all users). this results in each |
---|
7241 | user having their own unique record of the message in their dictionary and |
---|
7242 | signature. |
---|
7243 | |
---|
7244 | [20030507.0500] jonz: libdb1 -> libdb4 migration |
---|
7245 | |
---|
7246 | libdb 4 has been implemented after running into some problems with db1 |
---|
7247 | segmentation faults on large record insertions. as a result, to upgrade to |
---|
7248 | this and all newer versions, it will be necessary to delete all existing user |
---|
7249 | databases on the system. libdb4 can be found at www.sleepycat.com. it should |
---|
7250 | be relatively easy to re-code the db functions for db2 or db3, if the |
---|
7251 | administrator doesn't want to use db4. |
---|
7252 | |
---|
7253 | [20030506.0400] jonz: buffer.c memcpy implementation |
---|
7254 | |
---|
7255 | modified buffer.c to use memcpy() instead of strcat() resulting in a |
---|
7256 | _significant_ speed increase. the delay caused by strcat() in messages |
---|
7257 | with large attachments resulted in message parse times to be +20 seconds. |
---|
7258 | using memcpy(), parse time is down to less than a fraction of a second. |
---|
7259 | this fix addresses issues with dspam on low-end machines. |
---|
7260 | |
---|
7261 | [20030506.0400] jonz: server-side storage options |
---|
7262 | |
---|
7263 | if a token string is longer than the original message, the original message |
---|
7264 | is stored on the server instead and re-parsed. |
---|
7265 | |
---|
7266 | [20030506.0400] jonz: zlib compression library |
---|
7267 | |
---|
7268 | zlib (-lz) is now used to compress server-side signatures. zlib can be found |
---|
7269 | at http://www.gzip.org/zlib/. if you will not be using server-side |
---|
7270 | signatures, remove the -lz library flag from the makefile. |
---|
7271 | |
---|
7272 | [20030504.0400] jonz: server-side signatures |
---|
7273 | |
---|
7274 | server-side token signatures (SSTS) have been implemented with an optional |
---|
7275 | compile flag (set by default). using SSTS will eliminate long, annoying |
---|
7276 | DSPAM signatures at the expense of server disk space. the signature appended |
---|
7277 | to each email is replaced with a single comment to include a reference token. |
---|
7278 | this also enables the complete set of tokens from a message to be recorded |
---|
7279 | (although only the top 15 are used in actual calculation). |
---|
7280 | |
---|
7281 | compiling without SSTS mode enabled will only record 15 or 60 tokens from a |
---|
7282 | message, depending on whether more than 5 tokens are recognized. SSTS mode |
---|
7283 | will record all tokens. in either mode, only the most interesting 15 tokens |
---|
7284 | are used in the calculation. |
---|
7285 | |
---|
7286 | [20030504.0400] jonz: chained tokens |
---|
7287 | |
---|
7288 | chained tokens have been implemented providing several new analysis features. |
---|
7289 | for example the text 'FREE FOR ALL' will parse into five tokens: |
---|
7290 | |
---|
7291 | FREE |
---|
7292 | FOR |
---|
7293 | ALL |
---|
7294 | FREE FOR |
---|
7295 | FOR ALL |
---|
7296 | |
---|
7297 | this parsing is not specific to just words, but any type of valid token. |
---|
7298 | |
---|
7299 | ...for more information. |
---|
7300 | |
---|
7301 | [20030504.0400] jonz: token precedence |
---|
7302 | |
---|
7303 | words not appearing in the opposite corpus were previously assigned a |
---|
7304 | probability of .99 or .01. now, priority is given to a token that appears |
---|
7305 | more than ten times in a single corpus. |
---|
7306 | |
---|
7307 | [20030504.0400] jonz: token case |
---|
7308 | |
---|
7309 | previously, tokens were case insensitive unless they were in all caps. now, |
---|
7310 | all tokens are case sensitive. |
---|
7311 | |
---|
7312 | [20030504.0400] jonz: short html tags |
---|
7313 | |
---|
7314 | short HTML tags (less than 15 characters) are filtered out. this helps |
---|
7315 | prevent false positives that could be caused by a lack of HTML-based email |
---|
7316 | in an innocent corpus. it is normally not desirable behavior to assign a |
---|
7317 | higher probability of spam to a message simply because it's in HTML, but we |
---|
7318 | don't want to filter out all HTML so longer tags will still be tokenized. |
---|
7319 | |
---|
7320 | [2003.0503.0400] jonz: special tokens for urls |
---|
7321 | |
---|
7322 | URLs are broken down into URL-specific tokens. for example, |
---|
7323 | http://www.nuclearelephant.com/projects/dspam/ will be broken down into: |
---|
7324 | |
---|
7325 | Url*www |
---|
7326 | Url*nuclearelephant |
---|
7327 | Url*com |
---|
7328 | Url*projects |
---|
7329 | Url*dspam |
---|
7330 | |
---|
7331 | this should help separate emails with suspicious URLs from emails with the |
---|
7332 | same tokens outside of a URL. |
---|
7333 | |
---|
7334 | [20030503.0400] jonz: misreported number of messages in quarantine |
---|
7335 | |
---|
7336 | due to a small bug, the number of messages in a quarantine box can be |
---|
7337 | misreported. this has been fixed. |
---|
7338 | |
---|
7339 | [20030503.0400] jonz: dspam signature change |
---|
7340 | |
---|
7341 | the DSPAM signature of previous versions is unfortunately rewritten |
---|
7342 | incorrectly by some email clients such as Microsoft Outlook. The signature |
---|
7343 | has been modified, and the signature retrieval tool has been coded with more |
---|
7344 | of a wildcard approach, to help avoid missing reversal information. |
---|
7345 | this only applies to administrators running DSPAM outside of its default |
---|
7346 | SSTS mode. |
---|
7347 | |
---|
7348 | [20030503.0400] jonz: closing html tags |
---|
7349 | |
---|
7350 | some spams fail to close their /html tag in an attempt to evade some spam |
---|
7351 | tools. DSPAM now closes the tag to avoid the dpsm signature being ignored. |
---|
7352 | |
---|
7353 | [20030503.0400] jonz: ignoring of useless header information |
---|
7354 | |
---|
7355 | the 'Message-ID', 'Received' and 'Date' headers are now ignored; they |
---|
7356 | seemed to be filling up more than half the tokens with useless information |
---|
7357 | |
---|
7358 | [20030503.0400] jonz: high asccii characters |
---|
7359 | |
---|
7360 | tokens with high ASCII characters are now ignored |
---|
7361 | |
---|
7362 | [20030503.0400] jonz: forwarded message headers |
---|
7363 | |
---|
7364 | dspam now ignores message headers for messages forwarded by user as spam with |
---|
7365 | no identifiable signature. this prevents irrelevent information from being |
---|
7366 | recorded, which could lead to any message in reply to be marked as a false |
---|
7367 | positive. |
---|
7368 | |
---|
7369 | [20030503.0400] jonz: minor code cleanup for linux build |
---|
7370 | |
---|
7371 | made some minor changes to code to build without warnings on linux |
---|
7372 | |
---|
7373 | [20040503.0400] jonz: reequired use of long --addspam flag |
---|
7374 | |
---|
7375 | the shortened flag for --addspam (-a) has been removed for compatibility |
---|
7376 | with procmail (procmail uses -a). in order to use this latest build, |
---|
7377 | all spam-box aliases (e.g. spam-bob) must be changed to --addspam. |
---|
7378 | |
---|
7379 | [20030503.0400] jonz: flag for chained tokens |
---|
7380 | |
---|
7381 | added -DCHAINED_TOKENS (enabled by default) switch; those who don't have |
---|
7382 | the extra disk space for chained tokens can now turn them off by removing |
---|
7383 | this compile flag. |
---|
7384 | |
---|
7385 | [20030503.0400] jonz: debug rework |
---|
7386 | |
---|
7387 | -DDEBUG now results in debug going to /tmp/dspam.debug |
---|
7388 | |
---|
7389 | Version 2.4.1; April 29 2003 |
---|
7390 | ---------------------------- |
---|
7391 | |
---|
7392 | [20030429.0000] jonz: dspam_signature tool addition |
---|
7393 | |
---|
7394 | Added dspam_signature tool for decoding dspam signatures via commandline |
---|
7395 | |
---|
7396 | Version 2.4; April 27 2003 |
---|
7397 | -------------------------- |
---|
7398 | |
---|
7399 | [20030427.0000] jonz: signature change |
---|
7400 | |
---|
7401 | changed the signature to a base64-encoded, BEGIN/END delimited signature. |
---|
7402 | people seem to feel more comfortable with it, as it resembles the signatures |
---|
7403 | used with PGP, Server Certs, and other encrypted signatures...it's also |
---|
7404 | less messy. |
---|
7405 | |
---|
7406 | [20030427.0000] jonz: false positive recall mechanism |
---|
7407 | |
---|
7408 | in the unlikely event of a false positive, a mechanism is now available to |
---|
7409 | reverse the information from the false positive and email the message to the |
---|
7410 | user. this is made possible via a button while viewing a message in the |
---|
7411 | user's quarantine box. |
---|
7412 | |
---|
7413 | [20030427.0000] jonz: base64 decoding |
---|
7414 | |
---|
7415 | new code to Base64 Decode any encoded text segments. some SPAMs being sent |
---|
7416 | out today are encoded in an attempt to bypass any filtering. they are |
---|
7417 | now decoded prior to analysis and delivery. this only applies to text |
---|
7418 | segments (text/plain, text/html, etc.) and should not affect attachments. |
---|
7419 | |
---|
7420 | Version 2.35; April 24 2003 |
---|
7421 | --------------------------- |
---|
7422 | |
---|
7423 | [20030424.0000] jonz: makefile corretion |
---|
7424 | |
---|
7425 | Makefile.linux: -ldb -> -ldb1 |
---|
7426 | |
---|
7427 | [20030424.0000] jonz: prefixed from line |
---|
7428 | |
---|
7429 | prefixed messages headed to quarantine with a 'From' header to make mailbox |
---|
7430 | format compliant. |
---|
7431 | |
---|
7432 | [20030424.0000] jonz: quarantine box showing no spams |
---|
7433 | |
---|
7434 | fixed a bug that resulted in caught spams to not show up in quarantine box |
---|
7435 | |
---|
7436 | Version 2.3; April 20 2003 |
---|
7437 | -------------------------- |
---|
7438 | |
---|
7439 | [20030420.0000] jonz: token insertion bug |
---|
7440 | |
---|
7441 | fixed a bug that occurs when inserting token information on some |
---|
7442 | multipart emails, which inserts it into the text/plain segment instead of |
---|
7443 | the text/html segment |
---|
7444 | |
---|
7445 | Version 2.2; April 17 2003 |
---|
7446 | -------------------------- |
---|
7447 | |
---|
7448 | [20030417.0000] jonz: reversal information |
---|
7449 | |
---|
7450 | reversal information is now used in spams to reverse the original 15 tokens |
---|
7451 | (unlearn and relearn as spam). |
---|
7452 | |
---|
7453 | Version 2.1; April 14 2003 |
---|
7454 | -------------------------- |
---|
7455 | |
---|
7456 | [20030414.0000] jonz: production changes |
---|
7457 | |
---|
7458 | applied 0.40 value to words with less than 5 hits |
---|
7459 | changed spam threshhold from .8 to .9 |
---|
7460 | |
---|
7461 | [2003.0414.0000] jonz: attachments |
---|
7462 | |
---|
7463 | repaired minor bug in filtering out attachments and html comments |
---|
7464 | |
---|
7465 | Version 2.0; April 11 2003 |
---|
7466 | -------------------------- |
---|
7467 | |
---|
7468 | Version 2 Initial release |
---|
7469 | |
---|