[svn-inject] Installing original source of spamass-milter
[deb_pkgs/spamass-milter.git] / ChangeLog
1 2005-02-05 01:34  Dan Nelson <dnelson@allantgroup.com>
2
3         * Makefile.am:
4
5         - new code to upload distfile and sigs to savannah's goofy ftp staging
6           area
7
8         - add mdoc2man.awk to the distfile
9
10 2005-02-05 01:03  Dan Nelson <dnelson@allantgroup.com>
11
12         * spamass-milter.cpp:
13
14         Fix some unused-variable warnings when not on FreeBSD.  The hack will
15         go away in the next release, since the bug has been fixed.
16
17 2005-02-04 13:25  Dan Nelson <dnelson@allantgroup.com>
18
19         * Makefile.am:
20
21         More automake cleanup cleanup.
22
23 2005-02-04 12:55  Dan Nelson <dnelson@allantgroup.com>
24
25         * NEWS, configure.in:
26
27         Version 0.3.0
28
29 2004-11-05 10:26  Dan Nelson <dnelson@allantgroup.com>
30
31         * autogen.sh:
32
33         update comment
34
35 2004-10-29 10:56  Dan Nelson <dnelson@allantgroup.com>
36
37         * autogen.sh:
38
39         check for automake 1.9
40
41 2004-09-23 23:42  Dan Nelson <dnelson@allantgroup.com>
42
43         * spamass-milter.cpp:
44
45         When reading headers from spamc's output, strip a trailing CR from the
46         line. if it exists.
47
48 2004-09-23 15:28  Dan Nelson <dnelson@allantgroup.com>
49
50         * configure.in:
51
52         Unlikely that this is doing any good
53
54 2004-09-23 15:27  Dan Nelson <dnelson@allantgroup.com>
55
56         * TODO:
57
58         ranges
59
60 2004-09-22 11:24  Dan Nelson <dnelson@allantgroup.com>
61
62         * TODO:
63
64         more stuff to do
65
66 2004-09-21 16:06  Dan Nelson <dnelson@allantgroup.com>
67
68         * NEWS:
69
70         fix crash on fork failure
71
72 2004-09-21 16:04  Dan Nelson <dnelson@allantgroup.com>
73
74         * spamass-milter.cpp:
75
76         Make sure variables are set in the constructor in the same order they
77         appear in the header.
78
79 2004-09-21 15:51  Dan Nelson <dnelson@allantgroup.com>
80
81         * spamass-milter.h:
82
83         Make a note that some variables should be collapsed into one
84
85 2004-09-21 15:49  Dan Nelson <dnelson@allantgroup.com>
86
87         * spamass-milter.cpp:
88
89         If a fork fails at the right time, "running" may be set when pid=-1.
90         This can be very bad when the cleanup routine runs kill(pid, SIGKILL).
91
92 2004-09-06 20:19  Dan Nelson <dnelson@allantgroup.com>
93
94         * ac_cxx_exceptions.m4, ac_cxx_namespaces.m4,
95         ac_cxx_verbose_terminate_handler.m4:
96
97         Update ac-archive scripts and add upstream version ids
98
99 2004-09-06 20:12  Dan Nelson <dnelson@allantgroup.com>
100
101         * NEWS:
102
103         note that we support SA 3.0
104
105 2004-09-06 20:02  Dan Nelson <dnelson@allantgroup.com>
106
107         * ac_acx_pthread.m4:
108
109         Update to v1.10
110
111 2004-08-26 13:01  Dan Nelson <dnelson@allantgroup.com>
112
113         * spamass-milter.cpp:
114
115         When extracting the score, check for "score=###" as well as "hits=###"
116
117 2004-07-28 21:15  Dan Nelson <dnelson@allantgroup.com>
118
119         * spamass-milter.cpp:
120
121         I have no idea how gcc allowed this to compile.
122
123 2004-07-16 16:46  Dan Nelson <dnelson@allantgroup.com>
124
125         * spamass-milter.cpp:
126
127         In local_user, stop at the first "+" or "@", so we can handle
128         user+detail addresses correctly.  Something similar should be done for
129         full_user but that's a bit more complicated.
130
131 2004-07-06 12:42  Dan Nelson <dnelson@allantgroup.com>
132
133         * contrib/spamass-milter-suse.rc:
134
135         Another Linux startup script, this time for SUSE.
136
137 2004-07-01 18:02  Dan Nelson <dnelson@allantgroup.com>
138
139         * configure.in:
140
141         more inline prevention
142
143 2004-06-03 21:50  Dan Nelson <dnelson@allantgroup.com>
144
145         * spamass-milter.cpp:
146
147         Don't segfault if we can't fetch the _ and j macros.
148
149 2004-05-19 10:00  Dan Nelson <dnelson@allantgroup.com>
150
151         * spamass-milter.cpp:
152
153         Misc C++ cleanups courtesy Jeremy Lin, plus a fix for Linux's ps
154         showing blanks in the arguments to -i and -d.
155
156 2004-05-13 16:50  Dan Nelson <dnelson@allantgroup.com>
157
158         * ac_pike_compiler_flag.m4, autogen.sh:
159
160         Support automake 1.8
161
162 2004-05-13 16:43  Dan Nelson <dnelson@allantgroup.com>
163
164         * spamass-milter.cpp:
165
166         Adjust output of generated Received: header to more closely match
167         sendmail's output.  Spamassassin is very picky about parsing it.  Fixes
168         savannah bug 6970 and patch 3051.
169
170         Also convert all "RCPT TO" commands to X-Envelope-To: headers, not just
171         the first one.  This may have prevented whitelist checks from applying
172         to all recipients.
173
174 2004-05-10 13:59  Dan Nelson <dnelson@allantgroup.com>
175
176         * spamass-milter.cpp:
177
178         Don't use asprintf to expand aliases, since we also use 'buf' to read
179         the results of the popen.  Just set a 1024-char buffer, and anyone with
180         an email address longer than that loses.
181
182 2004-04-20 10:28  Dan Nelson <dnelson@allantgroup.com>
183
184         * autogen.sh:
185
186         Check for a couple more autoconf versions
187
188         Also set $AUTOM4TE and blow away autom4te* subdirs
189
190 2004-03-27 14:05  Dan Nelson <dnelson@allantgroup.com>
191
192         * TODO:
193
194         tcp wrappers support
195
196 2004-03-18 13:04  Dan Nelson <dnelson@allantgroup.com>
197
198         * TODO:
199
200         ipv6
201
202 2004-03-18 12:37  Dan Nelson <dnelson@allantgroup.com>
203
204         * configure.in, spamass-milter.1.in, spamass-milter.cpp,
205         spamass-milter.h:
206
207         Document -p and -x
208
209         Add the ability to send spam to a spambucket even if -r is set
210
211 2004-03-17 18:05  Dan Nelson <dnelson@allantgroup.com>
212
213         * NEWS:
214
215         typo.
216
217 2004-02-24 17:02  Dan Nelson <dnelson@allantgroup.com>
218
219         * autogen.sh:
220
221         Finally figured out why sometimes it would run the wrong auto* tool.
222         You need to set all 4 of these variables before calling any, or they'll
223         use their defaults which may be wrong.
224
225 2004-02-21 22:18  Dan Nelson <dnelson@allantgroup.com>
226
227         * NEWS, spamass-milter.cpp:
228
229         arg. why does cvs default to commit on a blank log.
230
231         Put email alias expansion under a flag (-x, defaulted to off).
232
233 2004-02-21 22:16  Dan Nelson <dnelson@allantgroup.com>
234
235         * spamass-milter.cpp:
236
237         [no log message]
238
239 2004-02-09 17:03  Dan Nelson <dnelson@allantgroup.com>
240
241         * contrib/spamass-milter.sh:
242
243         Convert the FreeBSD startup script to rc.subr format.
244
245 2004-01-27 13:39  Dan Nelson <dnelson@allantgroup.com>
246
247         * spamass-milter.1.in, spamass-milter.cpp:
248
249         -e now requires the default domain as a parameter.  Also fix up
250         whitespace and punctuation in the manpage.
251
252 2003-10-26 22:00  Dan Nelson <dnelson@allantgroup.com>
253
254         * autogen.sh:
255
256         Force automake to use the version of autoconf that we want.
257
258 2003-10-24 12:36  Dan Nelson <dnelson@allantgroup.com>
259
260         * contrib/spamass-milter.sh:
261
262         update FreeBSD rc script to use the pidfile
263
264 2003-10-24 01:55  Dan Nelson <dnelson@allantgroup.com>
265
266         * ac_cxx_exceptions.m4, ac_cxx_namespaces.m4,
267         ac_cxx_verbose_terminate_handler.m4, configure.in,
268         spamass-milter.cpp:
269
270         Use gcc's verbose exception handler is possible.  If this function is
271         unavailable, C++ will simply abort on any exception.  Ugh.
272
273 2003-10-24 01:53  Dan Nelson <dnelson@allantgroup.com>
274
275         * ac_pike_compiler_flag.m4:
276
277         Use CPPFLAGS instead of CFLAGS/CXXFLAGS
278
279 2003-10-21 16:41  Dan Nelson <dnelson@allantgroup.com>
280
281         * NEWS:
282
283         update
284
285 2003-10-21 16:40  Dan Nelson <dnelson@allantgroup.com>
286
287         * configure.in, daemon.c, spamass-milter.cpp:
288
289         make -f fully daemonize, and add -P to create a pidfile.
290
291 2003-09-12 00:45  Dan Nelson <dnelson@allantgroup.com>
292
293         * spamass-milter.cpp:
294
295         remove $Revision:$
296
297 2003-09-12 00:42  Dan Nelson <dnelson@allantgroup.com>
298
299         * spamass-milter.cpp:
300
301         FreeBSD's libc_r userland threads has a race condition in popen, but I
302         don't know where.  Wrap it in a mutex just to be safe.
303
304 2003-09-05 21:38  Dan Nelson <dnelson@allantgroup.com>
305
306         * configure.in:
307
308         no more spamass-milter.man.in
309
310 2003-09-05 21:15  Dan Nelson <dnelson@allantgroup.com>
311
312         * Makefile.am:
313
314         no more spamass-milter.man.in
315
316 2003-09-05 21:06  Dan Nelson <dnelson@allantgroup.com>
317
318         * configure.in:
319
320         no more spamass-milter.man
321
322 2003-09-05 11:42  Dan Nelson <dnelson@allantgroup.com>
323
324         * Makefile.am:
325
326         Distribute mdoc2man.awk, and let systems without mdoc functionality
327         convert the manpage themselves.
328
329 2003-09-05 11:33  Dan Nelson <dnelson@allantgroup.com>
330
331         * mdoc2man.awk:
332
333
334         Yay!  Peter Stuge decided on a license, so bring this back into CVS.
335
336 2003-09-02 23:53  Dan Nelson <dnelson@allantgroup.com>
337
338         * spamass-milter.cpp:
339
340         Oops.  Forgot to strip the domain part in local_user when there are no brackets.
341
342 2003-08-29 11:01  Dan Nelson <dnelson@allantgroup.com>
343
344         * ac_pike_compiler_flag.m4, configure.in:
345
346         Pull in another autoconf test from Pike, which lets us test for
347         compiler flags.  Add -fno-default-inline if possible, which disables
348         inlining of functions in classes.  gdb does not process them correctly,
349         making debugging a pain.
350
351 2003-08-29 11:00  Dan Nelson <dnelson@allantgroup.com>
352
353         * spamass-milter.cpp:
354
355         Redirect stderr to stdout when running sendmail -bv; otherwise we lose
356         anything sent to stderr
357
358 2003-08-28 09:59  Dan Nelson <dnelson@allantgroup.com>
359
360         * TODO, spamass-milter.1.in, spamass-milter.cpp, spamass-milter.h:
361
362         Add -e flag to pass full email address to spamc
363
364         Run all recipients through sendmail -bv (this may end up behind a
365         commandline switch, but it's low-overhead so probably not).
366
367 2003-08-12 22:47  Dan Nelson <dnelson@allantgroup.com>
368
369         * configure.in, spamass-milter.cpp, spamass-milter.h:
370
371         - add printf style checking to debug() on systems that support it
372         - search for sendmail instead of relying on paths.h which may not exist
373
374 2003-08-12 22:33  Dan Nelson <dnelson@allantgroup.com>
375
376         * ac_acx_pthread.m4:
377
378         Bump original version to 1.8, since the originating webpage apparently
379         did.  There are absolutely no changes other than the version number.
380
381 2003-08-11 17:12  Dan Nelson <dnelson@allantgroup.com>
382
383         * spamass-milter.cpp:
384
385         move newrecipients out of the inner loop
386
387 2003-08-11 16:36  Dan Nelson <dnelson@allantgroup.com>
388
389         * configure.in, spamass-milter.1.in, spamass-milter.cpp,
390         spamass-milter.h:
391
392         Preliminary work to support alias/virtusertable expansion.
393         sendmail -bv is called and its output is parsed, but all we do is log it
394         so far.
395
396 2003-08-05 23:45  Dan Nelson <dnelson@allantgroup.com>
397
398         * spamass-milter.cpp:
399
400         Fix two cases where we caught an error but didn't clean up the assassin
401         object.
402
403 2003-08-05 23:29  Dan Nelson <dnelson@allantgroup.com>
404
405         * spamass-milter.cpp:
406
407         - Correctly exit if we can't exec spamc
408         - Check our polled fds for errors - prevents us from spinning if
409           something happens to spamc
410
411 2003-08-04 23:13  Dan Nelson <dnelson@allantgroup.com>
412
413         * NEWS:
414
415         document crash on empty body fix
416
417 2003-08-04 18:03  Dan Nelson <dnelson@allantgroup.com>
418
419         * Makefile.am:
420
421         Distribute subst_poll.h
422
423 2003-07-31 17:35  Dan Nelson <dnelson@allantgroup.com>
424
425         * spamass-milter.cpp:
426
427         We still need to call update_or_insert for headers if -M is set, so we
428         can cache the header value.  Just don't call the milter update
429         functions.
430
431 2003-07-31 14:13  Dan Nelson <dnelson@allantgroup.com>
432
433         * NEWS, spamass-milter.1.in, spamass-milter.cpp:
434
435         New -M flag that disables all body/header changes.  With this flag, the
436         milter is transparent to the message stream.
437
438 2003-07-21 20:10  Dan Nelson <dnelson@allantgroup.com>
439
440         * spamass-milter.cpp:
441
442         POSIX says strcasecmp requires strings.h
443
444 2003-07-16 21:28  Dan Nelson <dnelson@allantgroup.com>
445
446         * spamass-milter.cpp:
447
448         If there is no body, set bob to point to the end of the string returned
449         by spamassassin instead of string::npos.
450
451 2003-07-09 12:58  Dan Nelson <dnelson@allantgroup.com>
452
453         * TODO:
454
455         [no log message]
456
457 2003-07-07 14:46  Dan Nelson <dnelson@allantgroup.com>
458
459         * spamass-milter.cpp:
460
461         Added func logging for two returns in ::output and ::input
462
463 2003-07-07 14:44  Dan Nelson <dnelson@allantgroup.com>
464
465         * spamass-milter.cpp:
466
467         Add func debug logging for mlfi_envrcpt
468
469 2003-07-07 14:39  Dan Nelson <dnelson@allantgroup.com>
470
471         * spamass-milter.cpp:
472
473         shortcut ip_in_networklist if the list is empty.
474
475 2003-07-07 13:45  Dan Nelson <dnelson@allantgroup.com>
476
477         * TODO:
478
479         [no log message]
480
481 2003-07-02 17:28  Dan Nelson <dnelson@allantgroup.com>
482
483         * TODO:
484
485         things to do
486
487 2003-06-30 15:24  Dan Nelson <dnelson@allantgroup.com>
488
489         * configure.in:
490
491         Small workaround for people trying to configure from CVS.  Create a
492         blank spamass-milter.man.in if it doesn't already exist.
493
494 2003-06-30 15:23  Dan Nelson <dnelson@allantgroup.com>
495
496         * autogen.sh:
497
498         spell automake with a lowercase a
499
500 2003-06-26 22:24  Dan Nelson <dnelson@allantgroup.com>
501
502         * contrib/spamass-milter.spec.in:
503
504         We don't have these two files.
505
506 2003-06-26 17:13  Dan Nelson <dnelson@allantgroup.com>
507
508         * NEWS, configure.in:
509
510         Now at 0.2.0+cvs
511
512 2003-06-26 16:57  Dan Nelson <dnelson@allantgroup.com>
513
514         * NEWS, configure.in:
515
516         Version 0.2.0
517
518 2003-06-26 10:10  Dan Nelson <dnelson@allantgroup.com>
519
520         * spamass-milter.cpp:
521
522         typo
523
524 2003-06-26 09:45  Dan Nelson <dnelson@allantgroup.com>
525
526         * spamass-milter.cpp:
527
528         NULL hostaddr is actually a common occurance; running sendmail on the
529         local host does this.  Map NULL to 127.0.0.1 so it's treated just like
530         a connection to localhost port 25.
531
532 2003-06-25 11:17  Dan Nelson <dnelson@allantgroup.com>
533
534         * NEWS, spamass-milter.1.in, spamass-milter.cpp:
535
536         Document -B, and sort -h output
537
538 2003-06-25 10:17  Dan Nelson <dnelson@allantgroup.com>
539
540         * Makefile.am, configure.in, mdoc2man.awk:
541
542         I haven't gotten a license from the author of mdoc2man.awk, so remove
543         it and, distribute a preproccesed .man.in for systems without mdoc
544         macros instead.
545
546 2003-06-25 10:15  Dan Nelson <dnelson@allantgroup.com>
547
548         * spamass-milter.cpp:
549
550         Check for a NULL hostaddr in mlfi_connect.  It should never happen, so
551         emit a warning in the log when it does.
552
553 2003-06-18 18:13  Dan Nelson <dnelson@allantgroup.com>
554
555         * ac_dmalloc.m4, configure.in, spamass-milter.cpp:
556
557         - Use my own dmalloc check, since AM_WITH_DMALLOC only works for
558           nonthreaded C programs.
559
560         - Some systems provide strsep() but no prototype.  Check for that.
561
562 2003-06-18 13:57  Dan Nelson <dnelson@allantgroup.com>
563
564         * ac_pike_paths.m4, configure.in:
565
566         - Add a --with-dmalloc option
567
568         - Search some common directories for includes and libraries, to find
569           dmalloc or user-compiled sendmail libs.
570
571 2003-06-16 14:59  Dan Nelson <dnelson@allantgroup.com>
572
573         * TODO:
574
575         [no log message]
576
577 2003-06-14 14:17  Dan Nelson <dnelson@allantgroup.com>
578
579         * spamass-milter.h:
580
581         Move the launch of spamc from mlfi_envrcpt back to mlfi_header where it
582         was before rev 1.38.  This should fix reports of "spamd: bad protocol"
583         errors being logged when we kill spamc without sending any data.
584
585 2003-06-14 14:01  Dan Nelson <dnelson@allantgroup.com>
586
587         * spamass-milter.cpp:
588
589         Move the launch of spamc from mlfi_envrcpt back to mlfi_header where it
590         was before rev 1.38.  This should fix reports of "spamd: bad protocol"
591         errors being logged when we kill spamc without sending any data.
592
593 2003-06-12 21:39  Dan Nelson <dnelson@allantgroup.com>
594
595         * Makefile.am:
596
597         Add an "upload" makefile target that pushes tarballs to savannah
598
599 2003-06-12 17:41  Dan Nelson <dnelson@allantgroup.com>
600
601         * Makefile.am, spamass-milter.cpp, spamass-milter.h:
602
603         Lowercase the username when using -u; email addresses are
604         case-insensitive, but userids are usually all-lowercase and
605         case-sensitive.
606
607 2003-06-11 15:18  Dan Nelson <dnelson@allantgroup.com>
608
609         * NEWS:
610
611         update
612
613 2003-06-11 15:17  Dan Nelson <dnelson@allantgroup.com>
614
615         * spamass-milter.cpp, spamass-milter.h:
616
617         * Even better sendmail-style Received: header generation.  Pass SA the
618           value of the HELO command.  This lets rules like FORGED_HOTMAIL work.
619
620         * Beginnings of a better debug logline.  Remember the sendmail queue ID.
621           Not sure of the best way to pass it to the debug() function though.
622
623 2003-06-10 13:42  Dan Nelson <dnelson@allantgroup.com>
624
625         * README:
626
627         Remove some of the disclaimers; it's pretty stable now.
628
629 2003-06-10 00:52  Dan Nelson <dnelson@allantgroup.com>
630
631         * Makefile.am:
632
633         Tell automake we would like a bzip2 tarball also
634
635 2003-06-10 00:02  Dan Nelson <dnelson@allantgroup.com>
636
637         * strsep.c:
638
639         really add Id
640
641 2003-06-10 00:02  Dan Nelson <dnelson@allantgroup.com>
642
643         * strsep.c:
644
645         add Id
646
647 2003-06-09 23:57  Dan Nelson <dnelson@allantgroup.com>
648
649         * configure.in, spamass-milter.cpp, strsep.c:
650
651         provide a strsep() for systems without one
652
653 2003-06-09 23:47  Dan Nelson <dnelson@allantgroup.com>
654
655         * spamass-milter.cpp:
656
657         printf->fprintf
658
659 2003-06-09 22:03  Dan Nelson <dnelson@allantgroup.com>
660
661         * TODO, spamass-milter.cpp:
662
663         New flag -B.  Just like -b, but the original recipient gets the spam too.
664
665 2003-06-09 16:24  Dan Nelson <dnelson@allantgroup.com>
666
667         * TODO:
668
669         Just realized you can redirect to /dev/null to silently drop spam
670
671 2003-06-09 15:27  Dan Nelson <dnelson@allantgroup.com>
672
673         * TODO:
674
675         alias expansion?
676
677 2003-06-09 12:19  Dan Nelson <dnelson@allantgroup.com>
678
679         * NEWS, spamass-milter.1.in, spamass-milter.cpp, spamass-milter.h:
680
681         Add spambucket support.  "-b otheraddress" will redirect all tagged
682         spam to that address.  Original recipients get put into X-Spam-Orig-To:
683         headers.
684
685 2003-06-09 12:16  Dan Nelson <dnelson@allantgroup.com>
686
687         * spamass-milter.1.in:
688
689         mdoc cleanup
690
691 2003-06-09 10:57  Dan Nelson <dnelson@allantgroup.com>
692
693         * poll.c:
694
695         Oops.  forgot to include config.h
696
697 2003-06-07 14:50  Dan Nelson <dnelson@allantgroup.com>
698
699         * TODO:
700
701         scratchpad so I don't forget things
702
703 2003-06-07 14:43  Dan Nelson <dnelson@allantgroup.com>
704
705         * ac_vl_prog_cc_warnings.m4, configure.in:
706
707         Use VL_PROG_CC_WARNINGS to add compiler-appropriate warnings flags
708
709 2003-06-07 14:16  Dan Nelson <dnelson@allantgroup.com>
710
711         * spamass-milter.cpp, spamass-milter.h:
712
713         Instead of playing musical chairs with our private context pointer,
714         create a single structure that holds both the remote IP address and the
715         pointer to our assassin object.
716
717 2003-06-06 21:56  Dan Nelson <dnelson@allantgroup.com>
718
719         * ac_acx_pthread.m4, ac_cf_gnu_source.m4, acinclude.m4, autogen.sh:
720
721         Split 3rd-party autoconf macros out into their own files
722
723 2003-06-06 16:04  Dan Nelson <dnelson@allantgroup.com>
724
725         * NEWS:
726
727         Summarize the last few days worth of commits
728
729 2003-06-06 15:48  Dan Nelson <dnelson@allantgroup.com>
730
731         * README, spamass-milter.cpp:
732
733         Generate a better dummy Received: header.  If the admin has added the
734         "b" macro (rfc822 date) to the milter's list of visible macros, pass
735         that to spamc.  This allows SA to do Date: header validation if there
736         are no other Received: headers in the message.
737
738         Also update README to include the sendmail.mc line required to enable "b".
739
740 2003-06-06 11:37  Dan Nelson <dnelson@allantgroup.com>
741
742         * spamass-milter.cpp, spamass-milter.h:
743
744
745         Remember the envelope sender and recipient, remember the connecting IP,
746         and insert appropriate headers at the top of the message we send to
747         spamc, so that Spamassassin can use them.
748
749         The envelope info gets put into X-Envelope-From: and X-Envelope-To: ,
750         which SA will use when checking the whitelist_to and _from rules.
751
752         The connecting IP gets put into a dummy "Received: [111.222.333.444]"
753         header.  Without it, none of the DNSBL or whitelist checks will see
754         this IP.  The dummy header does not seem to trigger any "forged
755         Received:" rules, so that's good.
756
757         Note that remembering the connecting IP address means we need to carry
758         information between the lifetimes of SpamAssassin objects, so we have
759         to use the milter private data pointer.  This means that within a
760         message, the pointer points to a SpamAssassin object.  Outside of a
761         message but during a client connection, the pointer points to a struct
762         connect_info.  This means some extra work in the message error path to
763         recover the connect_info pointer.  It also means that for symmetry, we
764         have to create the SpamAssassin object at the beginning on a "message"
765         session - i.e. within mlfi_envrcpt instead of mlfi_header.
766
767         Also for ease of coding add some more output methods with string and
768         unsized void* arguments.
769
770 2003-06-06 11:22  Dan Nelson <dnelson@allantgroup.com>
771
772         * spamass-milter.cpp:
773
774         Commit Waider's updated retrieve_field function that I forgot about.
775         This fixes a bug where the milter fails to retrieve the SA score from a
776         message with absolutely no headers.   The old code could not retrieve the
777         first header in a message, and if there are no headers in the original
778         message, the X-Spam-Status header ends up being the first.
779
780 2003-06-06 11:16  Dan Nelson <dnelson@allantgroup.com>
781
782         * spamass-milter.cpp:
783
784         RFC822 says the blank line between header and body is \r\n.
785         Spamassassin doesn't seem to care but it's wrong anyway :)
786
787 2003-06-06 11:10  Dan Nelson <dnelson@allantgroup.com>
788
789         * spamass-milter.cpp:
790
791         Clean up some debugging messages
792
793 2003-06-06 11:05  Dan Nelson <dnelson@allantgroup.com>
794
795         * spamass-milter.1.in, spamass-milter.cpp, spamass-milter.h:
796
797         Convert the debug levels into flags, so it's easier to enable debugging
798         for a single subsystem.  The old numbers are still supported.
799
800 2003-06-06 10:43  Dan Nelson <dnelson@allantgroup.com>
801
802         * spamass-milter.cpp:
803
804         Cleanup commit.  You don't need a semicolon after a function body, and
805         Intel's compiler warns about them.
806
807 2003-06-06 10:34  Dan Nelson <dnelson@allantgroup.com>
808
809         * Makefile.am:
810
811         explicitly make spamass-milter.cpp depend on spamass-milter.h
812
813 2003-06-05 16:18  Dan Nelson <dnelson@allantgroup.com>
814
815         * spamass-milter.cpp:
816
817         reword -i description so it says skip checks instead of skip the
818         mail itself
819
820 2003-06-04 14:41  Dan Nelson <dnelson@allantgroup.com>
821
822         * spamass-milter.cpp:
823
824         I thought I cut'n'pasted this right, but I didn't.  Allocate the
825         right number of bytes for the internalnets array when resizing.
826
827 2003-06-03 02:20  Dan Nelson <dnelson@allantgroup.com>
828
829         * NEWS, spamass-milter.1.in:
830
831         update NEWS, adjust description of -i
832
833 2003-06-03 01:36  Dan Nelson <dnelson@allantgroup.com>
834
835         * spamass-milter.cpp, spamass-milter.h:
836
837         gcc 2.95 apparently can't handle the case where a struct and an element
838         have the same name.
839
840 2003-06-03 01:24  Dan Nelson <dnelson@allantgroup.com>
841
842         * AUTHORS, spamass-milter.1.in, spamass-milter.cpp,
843         spamass-milter.h:
844
845         Add -i to list netblocks to ignore (argument is a comma-delimited list
846         of ip addresses, ip/netmask, or ip/bits).
847
848         Remember arguments after --, and pass them to spamc.  This makes the -D
849         flag redundant, and lets you change the port number, enable SSL mode,
850         etc.
851
852 2003-06-02 21:09  Dan Nelson <dnelson@allantgroup.com>
853
854         * mdoc2man.awk:
855
856         If the server cannot process mdoc macros, use mdoc2man to generate a
857         manpage with man macros instead.
858
859 2003-06-02 21:08  Dan Nelson <dnelson@allantgroup.com>
860
861         * Makefile.am, configure.in, spamass-milter.cpp:
862
863
864         If the server cannot process mdoc macros, use mdoc2man to generate a
865         manpage with man macros instead.
866
867 2003-03-10 21:40  Dan Nelson <dnelson@allantgroup.com>
868
869         * configure.in, poll.c:
870
871         add some more headers to pooll.c, and allow the user to force poll
872         emulation, for testing.
873
874 2003-03-10 17:42  Dan Nelson <dnelson@allantgroup.com>
875
876         * autogen.sh:
877
878         expand check to search for automake as well, check for more versions
879
880 2003-03-06 23:11  Dan Nelson <dnelson@allantgroup.com>
881
882         * configure.in:
883
884         Oops.  Forgot to enable the poll.h test.
885
886 2003-03-06 22:33  Dan Nelson <dnelson@allantgroup.com>
887
888         * spamass-milter.1.in, spamass-milter.cpp:
889
890         Use 'defaultuser' instead of 'user' as an example when talking about
891         the argument to the -u flag.
892
893 2003-03-06 22:26  Dan Nelson <dnelson@allantgroup.com>
894
895         * spamass-milter.1.in:
896
897         Document the -D host flag.
898
899 2003-03-06 15:50  Dan Nelson <dnelson@allantgroup.com>
900
901         * configure.in:
902
903         I keep forgetting to bump the version number before and after a
904         release.  We are now at 0.1.3a+cvs
905
906 2003-03-06 15:40  Dan Nelson <dnelson@allantgroup.com>
907
908         * poll.c, subst_poll.h:
909
910
911         Add Ids, also record that fact that this function was lifted from
912         the "wy60" terminal emulator software by Markus Gutschke.
913
914 2003-03-06 15:37  Dan Nelson <dnelson@allantgroup.com>
915
916         * Makefile.am, configure.in, poll.c, spamass-milter.cpp,
917         subst_poll.h:
918
919
920         Provide a substitute poll() function for systems that are missing it.
921
922 2003-03-06 15:33  Dan Nelson <dnelson@allantgroup.com>
923
924         * spamass-milter.cpp, AUTHORS, contrib/spamass-milter-redhat.rc:
925
926
927         . Add the ability to connect to a spamd on another server (-D host)
928
929         . Change the redhat rc script's path to match where an RPM would put
930           spamass-milter
931
932 2003-01-21 14:44  Dan Nelson <dnelson@allantgroup.com>
933
934         * spamass-milter.cpp:
935
936         (forced commit due to empty log message)
937
938         Fix "-u" to actually pass its argument to spamc instead of hardcoding
939         "_multi_".
940
941 2003-01-21 14:42  Dan Nelson <dnelson@allantgroup.com>
942
943         * spamass-milter.cpp:
944
945         [no log message]
946
947 2003-01-17 14:53  Dan Nelson <dnelson@allantgroup.com>
948
949         * contrib/spamass-milter-redhat.rc:
950
951         Config files are sourced and do not require the execute bit set, so
952         just test to see if the file exists.
953
954 2002-12-31 14:17  Dan Nelson <dnelson@allantgroup.com>
955
956         * NEWS, configure.in:
957
958         Version 0.1.3a
959
960 2002-12-31 14:03  Dan Nelson <dnelson@allantgroup.com>
961
962         * spamass-milter.cpp:
963
964         Add a call to fork spamc after header processing, as a fallback case
965         for when no headers are sent at all.
966
967 2002-12-31 13:34  Dan Nelson <dnelson@allantgroup.com>
968
969         * spamass-milter.cpp:
970
971         add a big more debugging to the poll loop
972
973 2002-12-27 16:32  Dan Nelson <dnelson@allantgroup.com>
974
975         * configure.in:
976
977         Version is now 0.1.3+cvs
978
979 2002-12-27 15:53  Dan Nelson <dnelson@allantgroup.com>
980
981         * configure.in:
982
983         Change version to 0.1.3
984
985 2002-12-27 15:52  Dan Nelson <dnelson@allantgroup.com>
986
987         * NEWS:
988
989         Add Id
990
991 2002-12-27 15:50  Dan Nelson <dnelson@allantgroup.com>
992
993         * NEWS:
994
995         News for 0.1.3
996
997 2002-12-27 15:38  Dan Nelson <dnelson@allantgroup.com>
998
999         * Makefile.am:
1000
1001         Add FreeBSD rc script
1002
1003 2002-12-27 15:36  Dan Nelson <dnelson@allantgroup.com>
1004
1005         * contrib/spamass-milter.sh:
1006
1007         add Id
1008
1009 2002-12-27 15:35  Dan Nelson <dnelson@allantgroup.com>
1010
1011         * contrib/spamass-milter.sh:
1012
1013         Add a FreeBSD startup script
1014
1015 2002-12-23 11:08  Dan Nelson <dnelson@allantgroup.com>
1016
1017         * spamass-milter.1.in, spamass-milter.cpp, spamass-milter.h:
1018
1019         Add -u option to pass the username to spamc.  Without -u behaviour
1020         should be unchanged.
1021
1022 2002-12-21 12:20  Dan Nelson <dnelson@allantgroup.com>
1023
1024         * spamass-milter.cpp:
1025
1026         Check for an empty header
1027
1028 2002-12-21 12:18  Dan Nelson <dnelson@allantgroup.com>
1029
1030         * spamass-milter.1.in:
1031
1032         document debug level 3
1033
1034 2002-11-17 17:01  Dan Nelson <dnelson@allantgroup.com>
1035
1036         * AUTHORS:
1037
1038         Update list of patch submitters
1039
1040 2002-11-17 16:57  Dan Nelson <dnelson@allantgroup.com>
1041
1042         * spamass-milter.1.in, spamass-milter.cpp, spamass-milter.h:
1043
1044         Add -r flag, which allows you to have sendmail reject the message if SA
1045         tags it as spam, or if it exceeds a given score.
1046
1047         Closes patches 440 and 441, submitted by Patrick Monnerat <pm@datasphere.ch>
1048
1049 2002-11-15 17:22  Dan Nelson <dnelson@allantgroup.com>
1050
1051         * spamass-milter.1.in, spamass-milter.cpp:
1052
1053         Add -m option, which disables body, Subject:, and Content-Type: header
1054         modification.  Closes patch 385.
1055
1056 2002-11-15 15:54  Dan Nelson <dnelson@allantgroup.com>
1057
1058         * configure.in:
1059
1060         Revert the spamc check back to the way it was (find absolute path of
1061         spamc).  We'll do "spamc with arguments" testing later, when the milter
1062         can actaully handle it.
1063
1064 2002-11-15 01:18  Dan Nelson <dnelson@allantgroup.com>
1065
1066         * Makefile.am:
1067
1068         Switch from --fsf to --no-wrap, which is really what I wanted in the
1069         first place.
1070
1071 2002-11-15 01:17  Dan Nelson <dnelson@allantgroup.com>
1072
1073         * autogen.sh:
1074
1075
1076         Try really hard to run a new-ish version of autoconf.  This should make
1077         rhautogen.sh obsolete.
1078
1079 2002-11-15 01:04  Dan Nelson <dnelson@allantgroup.com>
1080
1081         * spamass-milter.cpp, spamass-milter.h:
1082
1083
1084         - Factor out all the header-changing code into a single
1085           update_or_insert function.  This greatly simplifies the whole
1086           program, finally making it insert/change/leave correctly for all the
1087           headers it touches.
1088
1089         - Fix mlfi_header to actually suppress incoming SA headers like it's
1090           supposed to.  This fixes a bug where an incoming SA header with the
1091           wrong case would end up overriding the header our SA tries to add.
1092
1093         - Declare a temporary string variable to hold the body text before we
1094           call smfi_replacebody.  Trying to do stringvar.substr(x,x).c_str()
1095           simply will not work.  substr() creates a temporary string object,
1096           c_str() dutifully returns a pointer to it, and when the destructor
1097           for the temp string frees the memory, the data the pointer points to
1098           gets blown away.  This fixes a longstanding bug where tagged emails
1099           would have their message body completely overwritten with x00 or xD0
1100           on OSes that ensure that free'd memory is blanked.
1101
1102         - C++ should be strangled, then shot, then burned, and the ashes set
1103           into a cement block and dumped into the ocean.  This should be
1104           obvious.
1105
1106 2002-11-14 21:23  Dan Nelson <dnelson@allantgroup.com>
1107
1108         * acinclude.m4:
1109
1110         Update acx_pthread; Tru64 and HP-UX compatibility, and make sure the tests are run under C
1111
1112 2002-11-14 21:22  Dan Nelson <dnelson@allantgroup.com>
1113
1114         * configure.in:
1115
1116         Only add /usr/lib/libmilter as a library path if the directory exists
1117
1118 2002-09-23 00:39  Dan Nelson <dnelson@allantgroup.com>
1119
1120         * configure.in:
1121
1122         Previous commit should read
1123
1124         AC_CHECK_PROG doesn't work; AC_CHECK_PROGS does.
1125
1126 2002-09-23 00:39  Dan Nelson <dnelson@allantgroup.com>
1127
1128         * configure.in:
1129
1130         AC_CHECK_PROG doesn't work; AC_CHECK_PROG does.
1131
1132 2002-09-20 16:15  Dan Nelson <dnelson@allantgroup.com>
1133
1134         * configure.in:
1135
1136
1137         Allow the user to specify spamc arguments during configure
1138
1139 2002-09-18 12:17  Dan Nelson <dnelson@allantgroup.com>
1140
1141         * Makefile.am, configure.in:
1142
1143
1144         Change version number to reflace that there are post-release changes.
1145
1146         Change how the ChangeLog is created for the distribution file, so we
1147         don't get a 0-byte ChangeLog.bak in the .tar.gz.
1148
1149 2002-08-28 11:54  Dan Nelson <dnelson@allantgroup.com>
1150
1151         * spamass-milter.cpp:
1152
1153         Add Id variable to store CVS version in the binary
1154
1155 2002-08-23 11:59  Dan Nelson <dnelson@allantgroup.com>
1156
1157         * spamass-milter.cpp:
1158
1159         Fix bug that caused doubling of Content-Type: on spam emails.
1160
1161 2002-08-19 15:39  Dan Nelson <dnelson@allantgroup.com>
1162
1163         * contrib/: spamass-milter-redhat.rc, spamass-milter.spec.in:
1164
1165         * Patches from Fritz Elfert <fritz.elfert@to.com>
1166           - Use RPM macros everywhere (this fixes install of manpage)
1167           - Changed Group to an official group of RedHat
1168           - Added preun and post scriptlets
1169           - Made clean scriptlet foolproof
1170           - Added condrestart to redhat rc script
1171
1172 2002-08-18 16:38  Dan Nelson <dnelson@allantgroup.com>
1173
1174         * NEWS:
1175
1176         Fix typo
1177
1178 2002-08-18 16:13  Dan Nelson <dnelson@allantgroup.com>
1179
1180         * NEWS:
1181
1182         News for 0.1.2
1183
1184 2002-08-18 16:13  Dan Nelson <dnelson@allantgroup.com>
1185
1186         * AUTHORS:
1187
1188         Update with my name, and add Waider
1189
1190 2002-08-18 15:53  Dan Nelson <dnelson@allantgroup.com>
1191
1192         * ChangeLog, Makefile.am:
1193
1194         More cleanup for the distribution.
1195
1196         - Zero out ChangeLog, as it is now autogenerated by "make dist".  You
1197           can manually generate one with "make changelog", but your tree must
1198           have been checked out with CVS for it to work (i.e. the dist tarball
1199           won't work, but then again it will ship with a matching ChangeLog, so
1200           who cares)
1201
1202         - Add some more files to maintainer-clean-local: and distclean-local:
1203           targets, as the autoconf/make people can't seem to keep track of what
1204           files their own tools generate.
1205
1206 2002-08-18 15:44  Dan Nelson <dnelson@allantgroup.com>
1207
1208         * contrib/users:
1209
1210         List of committer IDs and names, for use by cvs2cl
1211
1212 2002-08-17 22:09  Dan Nelson <dnelson@allantgroup.com>
1213
1214         * spamass-milter.1.in:
1215
1216         Remove some extra comments
1217
1218 2002-08-14 11:15  Dan Nelson <dnelson@allantgroup.com>
1219
1220         * spamass-milter.cpp:
1221
1222
1223         Fix swapped variables names preventing subject and content-type from
1224         being updated (from Lance A. Brown)
1225
1226 2002-07-25 23:32  Dan Nelson <dnelson@allantgroup.com>
1227
1228         * Makefile.am, configure.in, spamass-milter.1.in:
1229
1230         Minimal manpage.
1231
1232 2002-07-24 11:19  Dan Nelson <dnelson@allantgroup.com>
1233
1234         * Makefile.am, autogen.sh, configure.in, rhautogen.sh,
1235         contrib/spamass-milter, contrib/spamass-milter-redhat.rc,
1236         contrib/spamass-milter.spec.in:
1237
1238
1239         - Add RedHat .spec and .rc files
1240
1241         - Add contrib/ files to the distfile
1242
1243 2002-07-22 22:48  Dan Nelson <dnelson@allantgroup.com>
1244
1245         * spamass-milter.cpp:
1246
1247         Forgot to mention; the previous commit was patch 354
1248
1249 2002-07-22 22:47  Dan Nelson <dnelson@allantgroup.com>
1250
1251         * spamass-milter.cpp:
1252
1253
1254         Only replace Subject: and Content-Type: headers if they change
1255
1256 2002-07-22 22:46  Dan Nelson <dnelson@allantgroup.com>
1257
1258         * configure.in:
1259
1260         Make failure to find milter library fatal
1261
1262 2002-07-22 22:34  Dan Nelson <dnelson@allantgroup.com>
1263
1264         * spamass-milter.cpp:
1265
1266
1267         Patch 341
1268
1269         - Fix typo affecting the case of incoming spam with no subject
1270
1271 2002-07-22 21:05  Dan Nelson <dnelson@allantgroup.com>
1272
1273         * acinclude.m4:
1274
1275         Fix an accidentally spammed embedded Id
1276
1277 2002-07-22 21:02  Dan Nelson <dnelson@allantgroup.com>
1278
1279         * Makefile.am, acconfig.h, acinclude.m4, autogen.sh, configure.in,
1280         spamass-milter.cpp, spamass-milter.h:
1281
1282
1283         - Update to autoconf 2.53
1284         - Use ACX_PTHREAD for more portable threads detection
1285         - Only -lmilter is required; search for -lsm or -lsmutil when -lmilter fails,
1286           for compatibility with older sendmails
1287         - Only mfapi.h is required
1288         - add net library checks for Solaris
1289         - Reorder entries in autogen.sh
1290         - Move struct declarations into headers, and variable definitions into
1291           source.
1292         - add -d debug flag
1293         - fix incorrect use of LOG_ macros
1294         - use poll when feeding data to spamc to avoid the 250k deadlock
1295         - compiles with gcc 3.1
1296
1297 2002-04-27 12:14  Georg C. F. Greve  <greve@gnu.org>
1298
1299         * contrib/spamass-milter:
1300
1301         adopted for commandline-parameter change
1302
1303 2002-04-27 12:05  Georg C. F. Greve  <greve@gnu.org>
1304
1305         * ChangeLog, spamass-milter.cpp, spamass-milter.h:
1306
1307         Added support for 'X-Spam-Level' Flag introduced with version 2.20 of SpamAssassin
1308
1309 2002-03-27 09:56  Michael Brown <michael@supermathie.net>
1310
1311         * spamass-milter.cpp:
1312
1313         Added a -f option that makes spamass-milter fork into the background
1314         spamass-milt now removes the socket if it already exists.
1315
1316 2002-03-06 07:07  Georg C. F. Greve  <greve@gnu.org>
1317
1318         * AUTHORS, ChangeLog, NEWS, configure.in, spamass-milter.cpp,
1319         spamass-milter.h, contrib/spamass-milter:
1320
1321         Applied some patches. Rights assigned to FSF Europe. Appointed Michael as maintainer.
1322
1323 2002-02-26 06:55  Georg C. F. Greve  <greve@gnu.org>
1324
1325         * contrib/spamass-milter:
1326
1327         seems I forgot to commit it last time. *sigh*
1328
1329 2002-01-31 09:56  Georg C. F. Greve  <greve@gnu.org>
1330
1331         * NEWS:
1332
1333         News for 0.1.1
1334
1335 2002-01-31 09:34  Georg C. F. Greve  <greve@gnu.org>
1336
1337         * spamass-milter.cpp:
1338
1339         fixed some typing bugs... :-)
1340
1341 2002-01-31 09:28  Georg C. F. Greve  <greve@gnu.org>
1342
1343         * spamass-milter.cpp, spamass-milter.h, ChangeLog, configure.in:
1344
1345         * Update for Version 2.0+ of SpamAssassin
1346         * Only modify mail *not* rated Spam before, leave marked Spam untouched
1347
1348 2002-01-16 16:24  Georg C. F. Greve  <greve@gnu.org>
1349
1350         * spamass-milter.cpp:
1351
1352         output package name & version with usage
1353
1354 2002-01-16 16:19  Georg C. F. Greve  <greve@gnu.org>
1355
1356         * spamass-milter.cpp:
1357
1358         now using SPAMC variable determined in configure
1359
1360 2002-01-16 16:16  Georg C. F. Greve  <greve@gnu.org>
1361
1362         * contrib/README.gnus:
1363
1364         This might be useful to other gnus users.
1365
1366 2002-01-16 16:10  Georg C. F. Greve  <greve@gnu.org>
1367
1368         * README:
1369
1370         A small README to have minimal documentation
1371
1372 2002-01-16 15:41  Georg C. F. Greve  <greve@gnu.org>
1373
1374         * Makefile.am, acconfig.h, configure.in:
1375
1376         Autoconf should work now
1377
1378 2002-01-16 14:30  Georg C. F. Greve  <greve@gnu.org>
1379
1380         * acconfig.h, config.h.in, AUTHORS, NEWS, README:
1381
1382         autoconf setup still needs polishing
1383
1384 2002-01-16 14:26  Georg C. F. Greve  <greve@gnu.org>
1385
1386         * ChangeLog, Makefile.am, autogen.sh, configure.in, config.h.in:
1387
1388         autoconf setup still needs polishing
1389
1390 2002-01-16 03:41  Georg C. F. Greve  <greve@gnu.org>
1391
1392         * spamass-milter.cpp, spamass-milter.h:
1393
1394         Source Base
1395