[c5c522c] | 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 | |
---|