]> git.donarmstrong.com Git - deb_pkgs/spamass-milter.git/commitdiff
Load spamass-milter-0.3.0 into spamass-milter/trunk.
authordon <don@8f7917da-ec0b-0410-a553-b9b0e350d17e>
Sat, 4 Feb 2006 00:26:01 +0000 (00:26 +0000)
committerdon <don@8f7917da-ec0b-0410-a553-b9b0e350d17e>
Sat, 4 Feb 2006 00:26:01 +0000 (00:26 +0000)
25 files changed:
Makefile [new file with mode: 0644]
config.guess
config.sub
debian/NEWS.Debian [new file with mode: 0644]
debian/README.Debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/patches/01_automake_config.guess.diff [new file with mode: 0644]
debian/patches/02_automake_config.sub.diff [new file with mode: 0644]
debian/patches/10_dont_handle_authenticated_users.diff [new file with mode: 0644]
debian/patches/disabled_10_segfault_on_empty_body.patch [new file with mode: 0644]
debian/patches/disabled_15_write_to_pid_file.patch [new file with mode: 0644]
debian/patches/disabled_20_pidfile_documentation.patch [new file with mode: 0644]
debian/patches/disabled_25_use_score_as_well_as_hit_spamass_3.0.patch [new file with mode: 0644]
debian/patches/disabled_30_deal_correctly_with_plus.patch [new file with mode: 0644]
debian/reportbug [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/spamass-milter.default [new file with mode: 0644]
debian/spamass-milter.init [new file with mode: 0644]
spamass-milter.1 [new file with mode: 0644]
spamass-milter.1.in
spamass-milter.cpp
stamp-h1 [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..c4053d9
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,696 @@
+# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+SOURCES = $(spamass_milter_SOURCES)
+
+srcdir = .
+top_srcdir = .
+
+pkgdatadir = $(datadir)/spamass-milter
+pkglibdir = $(libdir)/spamass-milter
+pkgincludedir = $(includedir)/spamass-milter
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+sbin_PROGRAMS = spamass-milter$(EXEEXT)
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+       $(srcdir)/spamass-milter.1.in $(top_srcdir)/configure \
+       $(top_srcdir)/contrib/spamass-milter.spec.in AUTHORS ChangeLog \
+       NEWS TODO config.guess config.sub daemon.c install-sh missing \
+       poll.c strsep.c
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/ac_acx_pthread.m4 \
+       $(top_srcdir)/ac_cf_gnu_source.m4 \
+       $(top_srcdir)/ac_cxx_exceptions.m4 \
+       $(top_srcdir)/ac_cxx_namespaces.m4 \
+       $(top_srcdir)/ac_cxx_verbose_terminate_handler.m4 \
+       $(top_srcdir)/ac_dmalloc.m4 \
+       $(top_srcdir)/ac_pike_compiler_flag.m4 \
+       $(top_srcdir)/ac_vl_prog_cc_warnings.m4 \
+       $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = contrib/spamass-milter.spec spamass-milter.1
+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)"
+sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(sbin_PROGRAMS)
+am_spamass_milter_OBJECTS = spamass-milter.$(OBJEXT)
+spamass_milter_OBJECTS = $(am_spamass_milter_OBJECTS)
+spamass_milter_DEPENDENCIES = 
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
+depcomp =
+am__depfiles_maybe =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+       -o $@
+SOURCES = $(spamass_milter_SOURCES)
+DIST_SOURCES = $(spamass_milter_SOURCES)
+man1dir = $(mandir)/man1
+MANS = $(man1_MANS) $(man_MANS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = ${SHELL} /home/don/deb_pkgs/spamass-milter/spamass-milter-0.3.0/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/don/deb_pkgs/spamass-milter/spamass-milter-0.3.0/missing --run tar
+AUTOCONF = ${SHELL} /home/don/deb_pkgs/spamass-milter/spamass-milter-0.3.0/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/don/deb_pkgs/spamass-milter/spamass-milter-0.3.0/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/don/deb_pkgs/spamass-milter/spamass-milter-0.3.0/missing --run automake-1.9
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=none
+CFLAGS = -g -O2 -Wall -pthread
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=none
+CXXFLAGS = -g -O2 -Wall -fno-default-inline -fno-inline -pthread
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+HAVE_MDOC_FALSE = #
+HAVE_MDOC_TRUE = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS =  -L/usr/lib/libmilter
+LIBOBJS = 
+LIBS = -lmilter  
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /home/don/deb_pkgs/spamass-milter/spamass-milter-0.3.0/missing --run makeinfo
+NROFF = nroff
+OBJEXT = o
+PACKAGE = spamass-milter
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = spamass-milter
+PACKAGE_STRING = spamass-milter 0.3.0
+PACKAGE_TARNAME = spamass-milter
+PACKAGE_VERSION = 0.3.0
+PATH_SEPARATOR = :
+PTHREAD_CC = gcc
+PTHREAD_CFLAGS = -pthread
+PTHREAD_LIBS = 
+SENDMAIL = /usr/sbin/sendmail
+SET_MAKE = 
+SHELL = /bin/sh
+SPAMC = /usr/bin/spamc
+STRIP = 
+VERSION = 0.3.0
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_STRIP = 
+acx_pthread_config = 
+am__fastdepCC_FALSE = 
+am__fastdepCC_TRUE = #
+am__fastdepCXX_FALSE = 
+am__fastdepCXX_TRUE = #
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias = 
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias = 
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/don/deb_pkgs/spamass-milter/spamass-milter-0.3.0/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = /home/don/deb_pkgs/don_packages/spamass-milter/spamass-milter-0.3.0/debian/spamass-milter/usr/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /home/don/deb_pkgs/don_packages/spamass-milter/spamass-milter-0.3.0/debian/spamass-milter/usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias = 
+AUTOMAKE_OPTIONS = no-dependencies foreign dist-bzip2
+
+# The number of files autoconf leaves lying around after a clean is amazing.
+CLEANFILES = *~ .deps/* .libs/* .deps .libs spamass-milter.man
+MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in \
+       config.log config.status configure configure.lineno stamp-h.in \
+       COPYING INSTALL config.guess config.sub install-sh missing mkinstalldirs \
+       ${DIST_ARCHIVES} ${DIST_ARCHIVE_SIGS}
+
+DIST_ARCHIVE_SIGS = ${DIST_ARCHIVES:S/$/.sig/}
+man_MANS = spamass-milter.1
+#man1_MANS = spamass-milter.man
+DEB_CONTRIB = contrib/spamass-milter
+RH_CONTRIB = contrib/spamass-milter-redhat.rc \
+               contrib/spamass-milter.spec \
+               contrib/spamass-milter.spec.in
+
+FBSD_CONTRIB = contrib/spamass-milter.sh
+MISC_CONTRIB = contrib/README.gnus
+spamass_milter_SOURCES = spamass-milter.cpp spamass-milter.h 
+spamass_milter_LDADD = 
+EXTRA_DIST = $(DEB_CONTRIB) \
+               $(RH_CONTRIB) \
+               $(FBSD_CONTRIB) \
+               $(MISC_CONTRIB) \
+               mdoc2man.awk \
+               spamass-milter.1.in \
+               subst_poll.h
+
+all: config.h
+       $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .1 .c .cpp .man .o .obj
+am--refresh:
+       @:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+             cd $(srcdir) && $(AUTOMAKE) --foreign  \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           echo ' $(SHELL) ./config.status'; \
+           $(SHELL) ./config.status;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+       @if test ! -f $@; then \
+         rm -f stamp-h1; \
+         $(MAKE) stamp-h1; \
+       else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+       @rm -f stamp-h1
+       cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in:  $(am__configure_deps) 
+       cd $(top_srcdir) && $(AUTOHEADER)
+       rm -f stamp-h1
+       touch $@
+
+distclean-hdr:
+       -rm -f config.h stamp-h1
+contrib/spamass-milter.spec: $(top_builddir)/config.status $(top_srcdir)/contrib/spamass-milter.spec.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+spamass-milter.1: $(top_builddir)/config.status $(srcdir)/spamass-milter.1.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+install-sbinPROGRAMS: $(sbin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)"
+       @list='$(sbin_PROGRAMS)'; for p in $$list; do \
+         p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         if test -f $$p \
+         ; then \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \
+          $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \
+         else :; fi; \
+       done
+
+uninstall-sbinPROGRAMS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(sbin_PROGRAMS)'; for p in $$list; do \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         echo " rm -f '$(DESTDIR)$(sbindir)/$$f'"; \
+         rm -f "$(DESTDIR)$(sbindir)/$$f"; \
+       done
+
+clean-sbinPROGRAMS:
+       -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
+spamass-milter$(EXEEXT): $(spamass_milter_OBJECTS) $(spamass_milter_DEPENDENCIES) 
+       @rm -f spamass-milter$(EXEEXT)
+       $(CXXLINK) $(spamass_milter_LDFLAGS) $(spamass_milter_OBJECTS) $(spamass_milter_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+.c.o:
+       $(COMPILE) -c $<
+
+.c.obj:
+       $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.cpp.o:
+       $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+       $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+       @$(NORMAL_INSTALL)
+       test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+       @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+       l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+       for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+         else file=$$i; fi; \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           1*) ;; \
+           *) ext='1' ;; \
+         esac; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed -e 's/^.*\///'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+         $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+       done
+uninstall-man1:
+       @$(NORMAL_UNINSTALL)
+       @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+       l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+       for i in $$l2; do \
+         case "$$i" in \
+           *.1*) list="$$list $$i" ;; \
+         esac; \
+       done; \
+       for i in $$list; do \
+         ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           1*) ;; \
+           *) ext='1' ;; \
+         esac; \
+         inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+         inst=`echo $$inst | sed -e 's/^.*\///'`; \
+         inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+         echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+         rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+       done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+           $$tags $$unique; \
+       fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       $(am__remove_distdir)
+       mkdir $(distdir)
+       $(mkdir_p) $(distdir)/. $(distdir)/contrib
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="$(top_distdir)" distdir="$(distdir)" \
+         dist-hook
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+dist-gzip: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+dist-bzip2: distdir
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+dist-tarZ: distdir
+       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+       $(am__remove_distdir)
+
+dist-shar: distdir
+       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       $(am__remove_distdir)
+
+dist-zip: distdir
+       -rm -f $(distdir).zip
+       zip -rq $(distdir).zip $(distdir)
+       $(am__remove_distdir)
+
+dist dist-all: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       case '$(DIST_ARCHIVES)' in \
+       *.tar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+       *.zip*) \
+         unzip $(distdir).zip ;;\
+       esac
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       mkdir $(distdir)/_build
+       mkdir $(distdir)/_inst
+       chmod a-w $(distdir)
+       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+         && cd $(distdir)/_build \
+         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) check \
+         && $(MAKE) $(AM_MAKEFLAGS) install \
+         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+               distuninstallcheck \
+         && chmod -R a-w "$$dc_install_base" \
+         && ({ \
+              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+             } || { rm -rf "$$dc_destdir"; exit 1; }) \
+         && rm -rf "$$dc_destdir" \
+         && $(MAKE) $(AM_MAKEFLAGS) dist \
+         && rm -rf $(DIST_ARCHIVES) \
+         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+       $(am__remove_distdir)
+       @(echo "$(distdir) archives ready for distribution: "; \
+         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+         sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+       @cd $(distuninstallcheck_dir) \
+       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+          || { echo "ERROR: files left after uninstall:" ; \
+               if test -n "$(DESTDIR)"; then \
+                 echo "  (check DESTDIR support)"; \
+               fi ; \
+               $(distuninstallcheck_listfiles) ; \
+               exit 1; } >&2
+distcleancheck: distclean
+       @if test '$(srcdir)' = . ; then \
+         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+         exit 1 ; \
+       fi
+       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+         || { echo "ERROR: files left in build directory after distclean:" ; \
+              $(distcleancheck_listfiles) ; \
+              exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) config.h
+installdirs:
+       for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)"; do \
+         test -z "$$dir" || $(mkdir_p) "$$dir"; \
+       done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-hdr distclean-local distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am: install-sbinPROGRAMS
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf $(top_srcdir)/autom4te.cache
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+       maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-man uninstall-sbinPROGRAMS
+
+uninstall-man: uninstall-man1
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+       clean-generic clean-sbinPROGRAMS ctags dist dist-all \
+       dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ dist-zip \
+       distcheck distclean distclean-compile distclean-generic \
+       distclean-hdr distclean-local distclean-tags distcleancheck \
+       distdir distuninstallcheck dvi dvi-am html html-am info \
+       info-am install install-am install-data install-data-am \
+       install-exec install-exec-am install-info install-info-am \
+       install-man install-man1 install-sbinPROGRAMS install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic maintainer-clean-local mostlyclean \
+       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+       tags uninstall uninstall-am uninstall-info-am uninstall-man \
+       uninstall-man1 uninstall-sbinPROGRAMS
+
+
+maintainer-clean-local:
+       -chmod -R +w autom4te* $(distdir)
+       rm -rf autom4te* $(distdir)
+distclean-local:
+       rm -f configure.lineno
+
+# rebuild ChangeLog during dist, but only if it's a zero-byte file
+# (i.e. clean CVS co)
+dist-hook: 
+       if test ! -s $(distdir)/ChangeLog ; then \
+               cvs2cl --no-wrap -S -U contrib/users --stdout > $(distdir)/ChangeLog ; \
+       fi
+
+.PHONY: sign upload changelog dist-hook
+
+# Bah. Automake does not have a dist-local hook which would let me
+# create the PGP sigs when the distfiles themselves are built.  So
+# build them just before upload.
+sign: dist-all
+       rm -f ${DIST_ARCHIVE_SIGS}
+       for file in ${DIST_ARCHIVES} ; \
+       do \
+               gpg -b -a -u 6B56A1DD -o $$file.sig $$file ; \
+       done
+
+upload: dist-all sign
+       ncftpput savannah.gnu.org incoming/savannah/spamass-milt \
+               ${DIST_ARCHIVES} ${DIST_ARCHIVE_SIGS}
+
+# The good old way
+#upload: dist-all
+#      rsync -a --progress $(distdir).tar.bz2 $(distdir).tar.gz subversions.gnu.org:/upload/spamass-milt/
+
+changelog:
+       cvs2cl --no-wrap -S -U contrib/users 
+
+.1.man: mdoc2man.awk
+       $(AWK) -f mdoc2man.awk $< > $@
+
+spamass-milter.cpp: spamass-milter.h
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 0e30d56e94e09336675d596da079d04cc520d257..82294713260e37ecfdb3ae9ffeaa5ffad9c5b460 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-timestamp='2003-07-02'
+timestamp='2004-11-12'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -53,7 +53,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -197,15 +197,21 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit 0 ;;
+    amd64:OpenBSD:*:*)
+       echo x86_64-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
     amiga:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    arc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
+    cats:OpenBSD:*:*)
+       echo arm-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
     hp300:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
+    luna88k:OpenBSD:*:*)
+       echo m88k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
     mac68k:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
@@ -221,25 +227,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     mvmeppc:OpenBSD:*:*)
        echo powerpc-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    pmax:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
     sgi:OpenBSD:*:*)
-       echo mipseb-unknown-openbsd${UNAME_RELEASE}
+       echo mips64-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
     sun3:OpenBSD:*:*)
        echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
     *:OpenBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
+    *:ekkoBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       exit 0 ;;
+    macppc:MirBSD:*:*)
+       echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+       exit 0 ;;
+    *:MirBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       exit 0 ;;
     alpha:OSF1:*:*)
-       if test $UNAME_RELEASE = "V4.0"; then
+       case $UNAME_RELEASE in
+       *4.0)
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-       fi
+               ;;
+       *5.*)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
        # According to Compaq, /usr/sbin/psrinfo has been available on
        # OSF/1 and Tru64 systems produced since 1995.  I hope that
        # covers most systems running today.  This code pipes the CPU
@@ -277,14 +291,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
            "EV7.9 (21364A)")
                UNAME_MACHINE="alphaev79" ;;
        esac
+       # A Pn.n version is a patched version.
        # A Vn.n version is a released version.
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit 0 ;;
-    Alpha*:OpenVMS:*:*)
-       echo alpha-hp-vms
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
        exit 0 ;;
     Alpha\ *:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
@@ -307,6 +319,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:OS/390:*:*)
        echo i370-ibm-openedition
        exit 0 ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit 0 ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit 0 ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit 0;;
@@ -327,7 +345,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     DRS?6000:unix:4.0:6*)
        echo sparc-icl-nx6
        exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
        case `/usr/bin/uname -p` in
            sparc) echo sparc-icl-nx7 && exit 0 ;;
        esac ;;
@@ -399,6 +417,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
         exit 0 ;;
+    m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit 0 ;;
     powerpc:machten:*:*)
        echo powerpc-apple-machten${UNAME_RELEASE}
        exit 0 ;;
@@ -734,7 +755,7 @@ EOF
        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     *:UNICOS/mp:*:*)
-       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -742,6 +763,11 @@ EOF
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
         exit 0 ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit 0 ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
        exit 0 ;;
@@ -751,22 +777,8 @@ EOF
     *:BSD/OS:*:*)
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit 0 ;;
-    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
-       # Determine whether the default compiler uses glibc.
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #if __GLIBC__ >= 2
-       LIBC=gnu
-       #else
-       LIBC=
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       # GNU/FreeBSD systems have a "k" prefix to indicate we are using
-       # FreeBSD's kernel, but not the complete OS.
-       case ${LIBC} in gnu) kernel_only='k' ;; esac
-       echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+    *:FreeBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit 0 ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
@@ -799,8 +811,13 @@ EOF
        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit 0 ;;
     *:GNU:*:*)
+       # the GNU system
        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit 0 ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit 0 ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit 0 ;;
@@ -810,9 +827,18 @@ EOF
     cris:Linux:*:*)
        echo cris-axis-linux-gnu
        exit 0 ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit 0 ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit 0 ;;
     ia64:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit 0 ;;
+    m32r*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
     m68*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit 0 ;;
@@ -948,6 +974,9 @@ EOF
        LIBC=gnuaout
        #endif
        #endif
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
        test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
@@ -978,6 +1007,9 @@ EOF
     i*86:atheos:*:*)
        echo ${UNAME_MACHINE}-unknown-atheos
        exit 0 ;;
+       i*86:syllable:*:*)
+       echo ${UNAME_MACHINE}-pc-syllable
+       exit 0 ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
        echo i386-unknown-lynxos${UNAME_RELEASE}
        exit 0 ;;
@@ -1047,9 +1079,9 @@ EOF
     M680?0:D-NIX:5.3:*)
        echo m68k-diab-dnix
        exit 0 ;;
-    M68*:*:R3V[567]*:*)
+    M68*:*:R3V[5678]*:*)
        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
        OS_REL=''
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1147,9 +1179,10 @@ EOF
        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
        exit 0 ;;
     *:Darwin:*:*)
-       case `uname -p` in
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
            *86) UNAME_PROCESSOR=i686 ;;
-           powerpc) UNAME_PROCESSOR=powerpc ;;
+           unknown) UNAME_PROCESSOR=powerpc ;;
        esac
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit 0 ;;
@@ -1164,7 +1197,7 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit 0 ;;
-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+    NSR-?:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit 0 ;;
     *:NonStop-UX:*:*)
@@ -1208,6 +1241,19 @@ EOF
     SEI:*:*:SEIUX)
         echo mips-sei-seiux${UNAME_RELEASE}
        exit 0 ;;
+    *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit 0 ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms && exit 0 ;;
+           I*) echo ia64-dec-vms && exit 0 ;;
+           V*) echo vax-dec-vms && exit 0 ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit 0 ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
index 9d7f733905495b077ced7f0e166dd6046d38ce8f..0f84ac2c51e26d3ad235d42a426233e2a4a46537 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-timestamp='2003-07-04'
+timestamp='2004-11-30'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -70,7 +70,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -118,7 +118,8 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -144,7 +145,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis)
+       -apple | -axis | -knuth | -cray)
                os=
                basic_machine=$1
                ;;
@@ -228,14 +229,15 @@ case $basic_machine in
        | a29k \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
        | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
-       | ip2k \
-       | m32r | m68000 | m68k | m88k | mcore \
+       | ip2k | iq2000 \
+       | m32r | m32rle | m68000 | m68k | m88k | mcore \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -247,6 +249,7 @@ case $basic_machine in
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
        | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipstx39 | mipstx39el \
@@ -259,12 +262,12 @@ case $basic_machine in
        | pyramid \
        | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
-       | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+       | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
        | strongarm \
        | tahoe | thumb | tic4x | tic80 | tron \
        | v850 | v850e \
        | we32k \
-       | x86 | xscale | xstormy16 | xtensa \
+       | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
        | z8k)
                basic_machine=$basic_machine-unknown
                ;;
@@ -292,20 +295,20 @@ case $basic_machine in
        | a29k-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* \
        | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-       | clipper-* | cydra-* \
+       | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* \
-       | m32r-* \
+       | ip2k-* | iq2000-* \
+       | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
        | m88110-* | m88k-* | mcore-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@@ -319,11 +322,13 @@ case $basic_machine in
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
        | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipstx39-* | mipstx39el-* \
+       | mmix-* \
        | msp430-* \
-       | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
@@ -332,14 +337,14 @@ case $basic_machine in
        | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
-       | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
        | tahoe-* | thumb-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tron-* \
        | v850-* | v850e-* | vax-* \
        | we32k-* \
-       | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
-       | xtensa-* \
+       | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa-* \
        | ymp-* \
        | z8k-*)
                ;;
@@ -359,6 +364,9 @@ case $basic_machine in
                basic_machine=a29k-amd
                os=-udi
                ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
        adobe68k)
                basic_machine=m68010-adobe
                os=-scout
@@ -376,6 +384,9 @@ case $basic_machine in
        amd64)
                basic_machine=x86_64-pc
                ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
        amdahl)
                basic_machine=580-amdahl
                os=-sysv
@@ -435,12 +446,27 @@ case $basic_machine in
                basic_machine=j90-cray
                os=-unicos
                ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16c)
+               basic_machine=cr16c-unknown
+               os=-elf
+               ;;
        crds | unos)
                basic_machine=m68k-crds
                ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
        cris | cris-* | etrax*)
                basic_machine=cris-axis
                ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
        da30 | da30-*)
                basic_machine=m68k-da30
                ;;
@@ -463,6 +489,10 @@ case $basic_machine in
                basic_machine=m88k-motorola
                os=-sysv3
                ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
        dpx20 | dpx20-*)
                basic_machine=rs6000-bull
                os=-bosx
@@ -641,10 +671,6 @@ case $basic_machine in
        mips3*)
                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
                ;;
-       mmix*)
-               basic_machine=mmix-knuth
-               os=-mmixware
-               ;;
        monitor)
                basic_machine=m68k-rom68k
                os=-coff
@@ -725,10 +751,6 @@ case $basic_machine in
        np1)
                basic_machine=np1-gould
                ;;
-       nv1)
-               basic_machine=nv1-cray
-               os=-unicosmp
-               ;;
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
@@ -740,6 +762,10 @@ case $basic_machine in
                basic_machine=or32-unknown
                os=-coff
                ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
        OSE68000 | ose68000)
                basic_machine=m68000-ericsson
                os=-ose
@@ -960,6 +986,10 @@ case $basic_machine in
        tower | tower-32)
                basic_machine=m68k-ncr
                ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
        udi29k)
                basic_machine=a29k-amd
                os=-udi
@@ -1003,6 +1033,10 @@ case $basic_machine in
                basic_machine=hppa1.1-winbond
                os=-proelf
                ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
@@ -1033,6 +1067,9 @@ case $basic_machine in
        romp)
                basic_machine=romp-ibm
                ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
        rs6000)
                basic_machine=rs6000-ibm
                ;;
@@ -1055,7 +1092,7 @@ case $basic_machine in
        sh64)
                basic_machine=sh64-unknown
                ;;
-       sparc | sparcv9 | sparcv9b)
+       sparc | sparcv8 | sparcv9 | sparcv9b)
                basic_machine=sparc-sun
                ;;
        cydra)
@@ -1128,19 +1165,20 @@ case $os in
              | -aos* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
-             | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1164,6 +1202,9 @@ case $os in
        -mac*)
                os=`echo $os | sed -e 's|mac|macos|'`
                ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
        -linux*)
                os=`echo $os | sed -e 's|linux|linux-gnu|'`
                ;;
@@ -1176,6 +1217,9 @@ case $os in
        -opened*)
                os=-openedition
                ;;
+        -os400*)
+               os=-os400
+               ;;
        -wince*)
                os=-wince
                ;;
@@ -1197,6 +1241,9 @@ case $os in
        -atheos*)
                os=-atheos
                ;;
+       -syllable*)
+               os=-syllable
+               ;;
        -386bsd)
                os=-bsd
                ;;
@@ -1219,6 +1266,9 @@ case $os in
        -sinix*)
                os=-sysv4
                ;;
+        -tpf*)
+               os=-tpf
+               ;;
        -triton*)
                os=-sysv3
                ;;
@@ -1255,6 +1305,9 @@ case $os in
        -kaos*)
                os=-kaos
                ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
        -none)
                ;;
        *)
@@ -1335,6 +1388,9 @@ case $basic_machine in
        *-ibm)
                os=-aix
                ;;
+       *-knuth)
+               os=-mmixware
+               ;;
        *-wec)
                os=-proelf
                ;;
@@ -1467,9 +1523,15 @@ case $basic_machine in
                        -mvs* | -opened*)
                                vendor=ibm
                                ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
                        -ptx*)
                                vendor=sequent
                                ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
                        -vxsim* | -vxworks* | -windiss*)
                                vendor=wrs
                                ;;
diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian
new file mode 100644 (file)
index 0000000..89af372
--- /dev/null
@@ -0,0 +1,9 @@
+spamass-milter (0.3.0-2) unstable; urgency=low
+
+  * spamass-milter now has a (currently not available upstream) -I option
+    which will allow authenticated senders to skip SA checks in outbound
+    mail. As this option is not yet integrated in upstream, the actually
+    command line option may change in the future. You Have Been Warned.
+
+ -- Don Armstrong <don@debian.org>  Fri, 23 Dec 2005 03:28:31 -0800
+
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..60e5d86
--- /dev/null
@@ -0,0 +1,74 @@
+--------------------------------------------------------------
+  Integrating spamass-milter into your sendmail installation
+--------------------------------------------------------------
+
+You will need to edit /etc/mail/sendmail.mc and add an
+INPUT_MAIL_FILTER line that connects to the spamass-milter socket.
+
+By default the spamass-milter socket is
+/var/run/sendmail/spamass.sock; so your INPUT_MAIL_FILTER should look
+something like:
+
+ # spamassassin settings
+ INPUT_MAIL_FILTER(`spamassassin',
+         `S=local:/var/run/sendmail/spamass.sock, F=,
+         T=S:4m;R:4m;E:10m')dnl
+
+Briefly, the F=, tells sendmail to just pass the connection through if
+the milter fails. This is most likely the setting you want. If you
+want to temporarily fail a connection, you can set F=T. You almost
+definitely don't want to reject connections, but if necessary, you can
+do that by setting F=R.
+
+You may also need to adjust these timeout settings, as spamd can be
+sluggish on a slow machine. S is the timeout for sending information
+from the MTA to a filter. R is the timeout for reading a reply from
+the filter. E is the overall timeout between sending end-of-message to
+filter and waiting for the final acknowledgment.
+
+The settings above seem to work well on a Celeron 466 that receives
+around 1000 emails an hour. You may wish to adjust them according to
+your needs.
+
+See http://www.sendmail.com/partner/resources/development/milter_api/installation.html
+and http://www.sendmail.org/m4/adding_mailfilters.html#INPUT_MAIL_FILTER
+for more information on milters.
+
+-------------------------------------------------------------
+  Adjusting how spamass-milter is started
+-------------------------------------------------------------
+
+You can adjust how spamass-milter starts, and the options it calls
+spamc with by adjusting /etc/default/spamass-milter. OPTIONS is passed
+directly to spamass-milter by /etc/init.d/spamass-milter.
+
+-------------------------------------------------------------
+Debugging spamass-milter
+-------------------------------------------------------------
+
+As spamass-milter is still undergoing development, you may see bugs
+from time to time.
+
+If spamass-milter is segfaulting (SEGV or SIG 11) please build a
+debugging version of the spamass-milter package and install it:
+
+mkdir temp;
+cd temp;
+apt-get source spamass-milter;
+apt-get build-dep spamass-milter;
+cd spamass-milter-*;
+DEB_BUILD_OPTIONS='nostrip' CXXFLAGS='-O0 -g' fakeroot debian/rules clean binary;
+dpkg -i spamass-milter*.deb;
+
+Then turn on coredumps (ulimit -c unlimited), and start spamass-milter
+as usual (/etc/init.d/spamass-milter start).
+
+When spamass-milter cores, run gdb on the core, ala:
+gdb /usr/sbin/spamass-milter /foo/corefile.pid
+thread apply all where
+bt
+q
+
+and send the results along with your bug report using reportbug.
+
+ -- Don Armstrong <don@donarmstrong.com>, Wed Feb  9 14:58:46 2005
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..f4f4fb3
--- /dev/null
@@ -0,0 +1,85 @@
+spamass-milter (0.3.0-2) unstable; urgency=low
+
+  * Add -I option to stop delaying mail from authenticated users. Thanks to
+    Paul Traina for the patch. (closes: #301755)
+  * Delete config.h, config.log, and config.status in the clean target
+  * Update standards version (no changes)
+
+ -- Don Armstrong <don@debian.org>  Fri, 23 Dec 2005 05:12:38 -0800
+
+spamass-milter (0.3.0-1) unstable; urgency=low
+
+  * New upstream release (closes: #295586)
+  * Include sendmail.mc in the reportbug script
+  * Stop using cdbs
+  * Specify path to spamc and sendmail directly to eliminate (useless)
+    build dependencies on spamc and sendmail
+
+ -- Don Armstrong <don@debian.org>  Tue,  1 Mar 2005 18:20:21 -0800
+
+spamass-milter (0.2.0-7) unstable; urgency=low
+
+  * Updates to deal with changes in spamassassin 3.0
+    - hits is now score in the X-Spam-Status: header (closes: #273798)
+  * Parse user+detail@foo.com addresses correctly (load preferences of the
+    user user instead of the user+detail user.)
+  * Uploaded by Stephen Gran <sgran@debian.org>
+
+ -- Don Armstrong <don@donarmstrong.com>  Thu, 30 Sep 2004 13:56:17 -0700
+
+spamass-milter (0.2.0-6) unstable; urgency=low
+
+  * Add patch from cvs to create pidfile and use it in init script to
+    avoid start-stop-daemon needing /proc (closes: #216455)
+  * Use cdbs
+    - Add lintian override as the config.* patches aren't applied until buildtime
+  * Migrate patches to debian/patches
+  * Init scripts now send the right signal to stop spamass-milter
+  * Uploaded by Stephen Gran <sgran@debian.org>
+  
+ -- Don Armstrong <don@donarmstrong.com>  Tue, 24 Feb 2004 10:09:09 -0800
+
+spamass-milter (0.2.0-5) unstable; urgency=low
+
+  * Changed recommends: spamd to spamassassin (closes: #204139)
+  * Fix typo in init script (oknod should be oknodo) (closes: #204301)
+  * Add debugging howto section to README.Debian
+  * Uploaded by Stephen Gran <sgran@debian.org>
+  
+ -- Don Armstrong <don@donarmstrong.com>  Fri, 29 Aug 2003 18:00:05 -0700
+
+spamass-milter (0.2.0-4) unstable; urgency=low
+
+  * Add missing build-depends on groff
+    - Fixes FTBFS on autobuilders.
+  
+  * Update Standards Version to 3.6.0
+
+ -- Don Armstrong <don@donarmstrong.com>  Wed, 30 Jul 2003 01:32:00 -0700
+
+spamass-milter (0.2.0-3) unstable; urgency=low
+
+  * Patch by Valentin Chopov <valentin@valcho.net> to fix segfaults on
+    empty message bodies. [The "bob" patch]
+
+ -- Don Armstrong <don@donarmstrong.com>  Mon, 21 Jul 2003 12:48:02 -0700
+
+spamass-milter (0.2.0-2) unstable; urgency=low
+
+  * Removed bashism from /etc/init.d/spamass-milter [s/source/./] as
+    suggested and noticed by Joost van Baal <j.e.vanbaal@uvt.nl>.
+
+ -- Don Armstrong <don@donarmstrong.com>  Sun, 20 Jul 2003 01:13:18 -0700
+
+spamass-milter (0.2.0-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Don Armstrong <don@donarmstrong.com>  Thu, 26 Jun 2003 20:38:15 -0400
+
+spamass-milter (0.1.3a-1) unstable; urgency=low
+  
+  * Initial debian packaging
+
+ -- Don Armstrong <don@donarmstrong.com>  Thu, 30 Jan 2003 01:24:44 -0500
+
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..b8626c4
--- /dev/null
@@ -0,0 +1 @@
+4
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..e0f8407
--- /dev/null
@@ -0,0 +1,23 @@
+Source: spamass-milter
+Section: mail
+Priority: extra
+Standards-Version: 3.6.2
+Build-Depends: libmilter-dev, debhelper (>= 4), groff-base
+Maintainer: Don Armstrong <don@debian.org>
+
+Package: spamass-milter
+Section: mail
+Priority: extra
+Architecture: any
+Depends: ${shlibs:Depends}, spamc, sendmail
+Recommends: spamassassin
+Description: sendmail milter for filtering mail through spamassassin
+ A sendmail milter used to filter mail through spamassassin (spamc)
+ early in the delivery process. Enables site wide filtering through
+ spamassassin without speed penalties incured by setting up and
+ tearing down procmail processes for each e-mail.
+ .
+  - Administrator (or user) specified rejection threshold
+  - User specific spamassassin settings
+  - Header-only modification
+ Homepage: http://savannah.nongnu.org/projects/spamass-milt/
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..6af49a8
--- /dev/null
@@ -0,0 +1,12 @@
+Authors: Georg C. F. Greve <greve@gnu.org>
+         Michael Brown <michaelb@opentext.com>
+         Dan Nelson <dnelson@allantgroup.com>
+Webpage: http://savannah.nongnu.org/projects/spamass-milt/
+Download: http://savannah.nongnu.org/download/spamass-milt/
+Debianized: Don Armstrong <don@donarmstrong.com> Thu, 30 Jan 2003 01:26:45 -0500
+
+Copyright: Copyright (c) 2002 Georg C. F. Greve <greve@gnu.org>,
+            all rights maintained by FSF Europe e.V., 
+            Villa Vogelsang, Antonienallee 1, 45279 Essen, Germany
+
+License: GPL, available at /usr/share/common-licenses/GPL
diff --git a/debian/patches/01_automake_config.guess.diff b/debian/patches/01_automake_config.guess.diff
new file mode 100644 (file)
index 0000000..51b2488
--- /dev/null
@@ -0,0 +1,292 @@
+--- config.guess       2004-12-30 08:00:40.000000000 -0800
++++ /usr/share/automake-1.7/config.guess       2004-12-23 18:40:32.000000000 -0800
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+-timestamp='2003-07-02'
++timestamp='2004-11-12'
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -53,7 +53,7 @@
+ GNU config.guess ($timestamp)
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
+ This is free software; see the source for copying conditions.  There is NO
+@@ -197,15 +197,21 @@
+       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+       echo "${machine}-${os}${release}"
+       exit 0 ;;
++    amd64:OpenBSD:*:*)
++      echo x86_64-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
+     amiga:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+-    arc:OpenBSD:*:*)
+-      echo mipsel-unknown-openbsd${UNAME_RELEASE}
++    cats:OpenBSD:*:*)
++      echo arm-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+     hp300:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
++    luna88k:OpenBSD:*:*)
++      echo m88k-unknown-openbsd${UNAME_RELEASE}
++      exit 0 ;;
+     mac68k:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+@@ -221,25 +227,33 @@
+     mvmeppc:OpenBSD:*:*)
+       echo powerpc-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+-    pmax:OpenBSD:*:*)
+-      echo mipsel-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+     sgi:OpenBSD:*:*)
+-      echo mipseb-unknown-openbsd${UNAME_RELEASE}
++      echo mips64-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+     sun3:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+-    wgrisc:OpenBSD:*:*)
+-      echo mipsel-unknown-openbsd${UNAME_RELEASE}
+-      exit 0 ;;
+     *:OpenBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
++    *:ekkoBSD:*:*)
++      echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++      exit 0 ;;
++    macppc:MirBSD:*:*)
++      echo powerppc-unknown-mirbsd${UNAME_RELEASE}
++      exit 0 ;;
++    *:MirBSD:*:*)
++      echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++      exit 0 ;;
+     alpha:OSF1:*:*)
+-      if test $UNAME_RELEASE = "V4.0"; then
++      case $UNAME_RELEASE in
++      *4.0)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+-      fi
++              ;;
++      *5.*)
++              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++              ;;
++      esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+       # OSF/1 and Tru64 systems produced since 1995.  I hope that
+       # covers most systems running today.  This code pipes the CPU
+@@ -277,14 +291,12 @@
+           "EV7.9 (21364A)")
+               UNAME_MACHINE="alphaev79" ;;
+       esac
++      # A Pn.n version is a patched version.
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+-      echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-      exit 0 ;;
+-    Alpha*:OpenVMS:*:*)
+-      echo alpha-hp-vms
++      echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit 0 ;;
+     Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+@@ -307,6 +319,12 @@
+     *:OS/390:*:*)
+       echo i370-ibm-openedition
+       exit 0 ;;
++    *:z/VM:*:*)
++      echo s390-ibm-zvmoe
++      exit 0 ;;
++    *:OS400:*:*)
++        echo powerpc-ibm-os400
++      exit 0 ;;
+     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit 0;;
+@@ -327,7 +345,7 @@
+     DRS?6000:unix:4.0:6*)
+       echo sparc-icl-nx6
+       exit 0 ;;
+-    DRS?6000:UNIX_SV:4.2*:7*)
++    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+       case `/usr/bin/uname -p` in
+           sparc) echo sparc-icl-nx7 && exit 0 ;;
+       esac ;;
+@@ -399,6 +417,9 @@
+     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+         echo m68k-unknown-mint${UNAME_RELEASE}
+         exit 0 ;;
++    m68k:machten:*:*)
++      echo m68k-apple-machten${UNAME_RELEASE}
++      exit 0 ;;
+     powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+       exit 0 ;;
+@@ -734,7 +755,7 @@
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+     *:UNICOS/mp:*:*)
+-      echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
++      echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+@@ -742,6 +763,11 @@
+         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+         exit 0 ;;
++    5000:UNIX_System_V:4.*:*)
++        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++      exit 0 ;;
+     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+@@ -751,22 +777,8 @@
+     *:BSD/OS:*:*)
+       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+-    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
+-      # Determine whether the default compiler uses glibc.
+-      eval $set_cc_for_build
+-      sed 's/^        //' << EOF >$dummy.c
+-      #include <features.h>
+-      #if __GLIBC__ >= 2
+-      LIBC=gnu
+-      #else
+-      LIBC=
+-      #endif
+-EOF
+-      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+-      # GNU/FreeBSD systems have a "k" prefix to indicate we are using
+-      # FreeBSD's kernel, but not the complete OS.
+-      case ${LIBC} in gnu) kernel_only='k' ;; esac
+-      echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
++    *:FreeBSD:*:*)
++      echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit 0 ;;
+     i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+@@ -799,8 +811,13 @@
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+     *:GNU:*:*)
++      # the GNU system
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit 0 ;;
++    *:GNU/*:*:*)
++      # other systems with GNU libc and userland
++      echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
++      exit 0 ;;
+     i*86:Minix:*:*)
+       echo ${UNAME_MACHINE}-pc-minix
+       exit 0 ;;
+@@ -810,9 +827,18 @@
+     cris:Linux:*:*)
+       echo cris-axis-linux-gnu
+       exit 0 ;;
++    crisv32:Linux:*:*)
++      echo crisv32-axis-linux-gnu
++      exit 0 ;;
++    frv:Linux:*:*)
++      echo frv-unknown-linux-gnu
++      exit 0 ;;
+     ia64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
++    m32r*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit 0 ;;
+     m68*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+@@ -948,6 +974,9 @@
+       LIBC=gnuaout
+       #endif
+       #endif
++      #ifdef __dietlibc__
++      LIBC=dietlibc
++      #endif
+ EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+       test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+@@ -978,6 +1007,9 @@
+     i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit 0 ;;
++      i*86:syllable:*:*)
++      echo ${UNAME_MACHINE}-pc-syllable
++      exit 0 ;;
+     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+@@ -1047,9 +1079,9 @@
+     M680?0:D-NIX:5.3:*)
+       echo m68k-diab-dnix
+       exit 0 ;;
+-    M68*:*:R3V[567]*:*)
++    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
++    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+@@ -1147,9 +1179,10 @@
+       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       exit 0 ;;
+     *:Darwin:*:*)
+-      case `uname -p` in
++      UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
++      case $UNAME_PROCESSOR in
+           *86) UNAME_PROCESSOR=i686 ;;
+-          powerpc) UNAME_PROCESSOR=powerpc ;;
++          unknown) UNAME_PROCESSOR=powerpc ;;
+       esac
+       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       exit 0 ;;
+@@ -1164,7 +1197,7 @@
+     *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit 0 ;;
+-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
++    NSR-?:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk${UNAME_RELEASE}
+       exit 0 ;;
+     *:NonStop-UX:*:*)
+@@ -1208,6 +1241,19 @@
+     SEI:*:*:SEIUX)
+         echo mips-sei-seiux${UNAME_RELEASE}
+       exit 0 ;;
++    *:DragonFly:*:*)
++      echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++      exit 0 ;;
++    *:*VMS:*:*)
++      UNAME_MACHINE=`(uname -p) 2>/dev/null`
++      case "${UNAME_MACHINE}" in
++          A*) echo alpha-dec-vms && exit 0 ;;
++          I*) echo ia64-dec-vms && exit 0 ;;
++          V*) echo vax-dec-vms && exit 0 ;;
++      esac ;;
++    *:XENIX:*:SysV)
++      echo i386-pc-xenix
++      exit 0 ;;
+ esac
+ #echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/debian/patches/02_automake_config.sub.diff b/debian/patches/02_automake_config.sub.diff
new file mode 100644 (file)
index 0000000..e82076a
--- /dev/null
@@ -0,0 +1,375 @@
+--- config.sub 2004-12-30 08:00:40.000000000 -0800
++++ /usr/share/automake-1.7/config.sub 2004-12-23 18:40:32.000000000 -0800
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+-timestamp='2003-07-04'
++timestamp='2004-11-30'
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -70,7 +70,7 @@
+ version="\
+ GNU config.sub ($timestamp)
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Free Software Foundation, Inc.
+ This is free software; see the source for copying conditions.  There is NO
+@@ -118,7 +118,8 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+-  nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
++  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
++  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+     os=-$maybe_os
+     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+     ;;
+@@ -144,7 +145,7 @@
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+-      -apple | -axis)
++      -apple | -axis | -knuth | -cray)
+               os=
+               basic_machine=$1
+               ;;
+@@ -228,14 +229,15 @@
+       | a29k \
+       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++      | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+       | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | i370 | i860 | i960 | ia64 \
+-      | ip2k \
+-      | m32r | m68000 | m68k | m88k | mcore \
++      | ip2k | iq2000 \
++      | m32r | m32rle | m68000 | m68k | m88k | mcore \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+@@ -247,6 +249,7 @@
+       | mipsisa32 | mipsisa32el \
+       | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa64 | mipsisa64el \
++      | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64sb1 | mipsisa64sb1el \
+       | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipstx39 | mipstx39el \
+@@ -259,12 +262,12 @@
+       | pyramid \
+       | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+-      | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
++      | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+       | strongarm \
+       | tahoe | thumb | tic4x | tic80 | tron \
+       | v850 | v850e \
+       | we32k \
+-      | x86 | xscale | xstormy16 | xtensa \
++      | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | z8k)
+               basic_machine=$basic_machine-unknown
+               ;;
+@@ -292,20 +295,20 @@
+       | a29k-* \
+       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+-      | alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* \
++      | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* \
+       | bs2000-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+-      | clipper-* | cydra-* \
++      | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+-      | ip2k-* \
+-      | m32r-* \
++      | ip2k-* | iq2000-* \
++      | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m88110-* | m88k-* | mcore-* \
+       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+@@ -319,11 +322,13 @@
+       | mipsisa32-* | mipsisa32el-* \
+       | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa64-* | mipsisa64el-* \
++      | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64sb1-* | mipsisa64sb1el-* \
+       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipstx39-* | mipstx39el-* \
++      | mmix-* \
+       | msp430-* \
+-      | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
++      | none-* | np1-* | ns16k-* | ns32k-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+@@ -332,14 +337,14 @@
+       | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+-      | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
++      | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+       | tahoe-* | thumb-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tron-* \
+       | v850-* | v850e-* | vax-* \
+       | we32k-* \
+-      | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+-      | xtensa-* \
++      | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
++      | xstormy16-* | xtensa-* \
+       | ymp-* \
+       | z8k-*)
+               ;;
+@@ -359,6 +364,9 @@
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
++      abacus)
++              basic_machine=abacus-unknown
++              ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+@@ -376,6 +384,9 @@
+       amd64)
+               basic_machine=x86_64-pc
+               ;;
++      amd64-*)
++              basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+@@ -435,12 +446,27 @@
+               basic_machine=j90-cray
+               os=-unicos
+               ;;
++      craynv)
++              basic_machine=craynv-cray
++              os=-unicosmp
++              ;;
++      cr16c)
++              basic_machine=cr16c-unknown
++              os=-elf
++              ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
++      crisv32 | crisv32-* | etraxfs*)
++              basic_machine=crisv32-axis
++              ;;
+       cris | cris-* | etrax*)
+               basic_machine=cris-axis
+               ;;
++      crx)
++              basic_machine=crx-unknown
++              os=-elf
++              ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+@@ -463,6 +489,10 @@
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
++      djgpp)
++              basic_machine=i586-pc
++              os=-msdosdjgpp
++              ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+@@ -641,10 +671,6 @@
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+-      mmix*)
+-              basic_machine=mmix-knuth
+-              os=-mmixware
+-              ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+@@ -725,10 +751,6 @@
+       np1)
+               basic_machine=np1-gould
+               ;;
+-      nv1)
+-              basic_machine=nv1-cray
+-              os=-unicosmp
+-              ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+@@ -740,6 +762,10 @@
+               basic_machine=or32-unknown
+               os=-coff
+               ;;
++      os400)
++              basic_machine=powerpc-ibm
++              os=-os400
++              ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+@@ -960,6 +986,10 @@
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
++      tpf)
++              basic_machine=s390x-ibm
++              os=-tpf
++              ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+@@ -1003,6 +1033,10 @@
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
++      xbox)
++              basic_machine=i686-pc
++              os=-mingw32
++              ;;
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+@@ -1033,6 +1067,9 @@
+       romp)
+               basic_machine=romp-ibm
+               ;;
++      mmix)
++              basic_machine=mmix-knuth
++              ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+@@ -1055,7 +1092,7 @@
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+-      sparc | sparcv9 | sparcv9b)
++      sparc | sparcv8 | sparcv9 | sparcv9b)
+               basic_machine=sparc-sun
+               ;;
+       cydra)
+@@ -1128,19 +1165,20 @@
+             | -aos* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+-            | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
+-            | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++            | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
++            | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++            | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+-            | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++            | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+-            | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
++            | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+@@ -1164,6 +1202,9 @@
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
++      -linux-dietlibc)
++              os=-linux-dietlibc
++              ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+@@ -1176,6 +1217,9 @@
+       -opened*)
+               os=-openedition
+               ;;
++        -os400*)
++              os=-os400
++              ;;
+       -wince*)
+               os=-wince
+               ;;
+@@ -1197,6 +1241,9 @@
+       -atheos*)
+               os=-atheos
+               ;;
++      -syllable*)
++              os=-syllable
++              ;;
+       -386bsd)
+               os=-bsd
+               ;;
+@@ -1219,6 +1266,9 @@
+       -sinix*)
+               os=-sysv4
+               ;;
++        -tpf*)
++              os=-tpf
++              ;;
+       -triton*)
+               os=-sysv3
+               ;;
+@@ -1255,6 +1305,9 @@
+       -kaos*)
+               os=-kaos
+               ;;
++      -zvmoe)
++              os=-zvmoe
++              ;;
+       -none)
+               ;;
+       *)
+@@ -1335,6 +1388,9 @@
+       *-ibm)
+               os=-aix
+               ;;
++      *-knuth)
++              os=-mmixware
++              ;;
+       *-wec)
+               os=-proelf
+               ;;
+@@ -1467,9 +1523,15 @@
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
++                      -os400*)
++                              vendor=ibm
++                              ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
++                      -tpf*)
++                              vendor=ibm
++                              ;;
+                       -vxsim* | -vxworks* | -windiss*)
+                               vendor=wrs
+                               ;;
diff --git a/debian/patches/10_dont_handle_authenticated_users.diff b/debian/patches/10_dont_handle_authenticated_users.diff
new file mode 100644 (file)
index 0000000..23cbb0d
--- /dev/null
@@ -0,0 +1,91 @@
+
+--- spamass-milter.cpp 2005-02-04 23:03:22.000000000 -0800
++++ spamass-milter.cpp 2005-03-27 17:13:50.595882304 -0800
+@@ -169,6 +169,7 @@
+ char *spambucket;
+ bool flag_full_email = false;         /* pass full email address to spamc */
+ bool flag_expand = false;     /* alias/virtusertable expansion */
++bool ignore_authenticated_senders = false;
+ #if defined(__FreeBSD__) /* popen bug - see PR bin/50770 */
+ static pthread_mutex_t popen_mutex = PTHREAD_MUTEX_INITIALIZER;
+@@ -180,7 +181,7 @@
+ main(int argc, char* argv[])
+ {
+    int c, err = 0;
+-   const char *args = "fd:mMp:P:r:u:D:i:b:B:e:x";
++   const char *args = "fd:mMp:P:r:u:D:i:Ib:B:e:x";
+    char *sock = NULL;
+    bool dofork = false;
+    char *pidfilename = NULL;
+@@ -212,6 +213,10 @@
+                               debug(D_MISC, "Parsing ignore list");
+                               parse_networklist(optarg, &ignorenets);
+                               break;
++                      case 'I':
++                              debug(D_MISC, "Ignore authenticated senders");
++                              ignore_authenticated_senders = true;
++                              break;
+                       case 'm':
+                               dontmodifyspam = true;
+                               smfilter.xxfi_flags &= ~SMFIF_CHGBODY;
+@@ -279,7 +284,7 @@
+       cout << PACKAGE_NAME << " - Version " << PACKAGE_VERSION << endl;
+       cout << "SpamAssassin Sendmail Milter Plugin" << endl;
+       cout << "Usage: spamass-milter -p socket [-b|-B bucket] [-d xx[,yy...]] [-D host]" << endl;
+-      cout << "                      [-e defaultdomain] [-f] [-i networks] [-m] [-M]" << endl;
++      cout << "                      [-e defaultdomain] [-f] [-i networks] [-I] [-m] [-M]" << endl;
+       cout << "                      [-P pidfile] [-r nn] [-u defaultuser] [-x]" << endl;
+       cout << "                      [-- spamc args ]" << endl;
+       cout << "   -p socket: path to create socket" << endl;
+@@ -293,6 +298,7 @@
+       cout << "   -f: fork into background" << endl;
+       cout << "   -i: skip (ignore) checks from these IPs or netblocks" << endl;
+       cout << "          example: -i 192.168.12.5,10.0.0.0/8,172.16/255.255.0.0" << endl;
++      cout << "   -I: skip (ignore) checks if sender is authenticated" << endl;
+       cout << "   -m: don't modify body, Content-type: or Subject:" << endl;
+       cout << "   -M: don't modify the message at all" << endl;
+       cout << "   -P pidfile: Put processid in pidfile" << endl;
+@@ -761,6 +767,22 @@
+   struct context *sctx = (struct context *)smfi_getpriv(ctx);
+   char *queueid;
++  if (ignore_authenticated_senders)
++  {
++    char *auth_authen;
++
++    auth_authen = smfi_getsymval(ctx, "{auth_authen}");
++    debug(D_MISC, "auth_authen=%s", auth_authen ?: "<unauthenticated>");
++
++    if (auth_authen)
++    {
++      debug(D_MISC, "sender authenticated (%s) - accepting message",
++          auth_authen);
++      debug(D_FUNC, "mlfi_envfrom: exit ignore");
++      return SMFIS_ACCEPT;
++    }
++  }
++
+   debug(D_FUNC, "mlfi_envfrom: enter");
+   try {
+     // launch new SpamAssassin
+
+--- spamass-milter.1.in        2004-03-18 10:37:08.000000000 -0800
++++ spamass-milter.1.in        2005-03-27 20:23:09.552408021 -0800
+@@ -14,6 +14,7 @@
+ .Op Fl e Ar defaultdomain
+ .Op Fl f
+ .Op Fl i Ar networks
++.Op Fl I
+ .Op Fl m
+ .Op Fl M
+ .Op Fl P Ar pidfile
+@@ -119,6 +120,8 @@
+ flags will append to the list.
+ For example, if you list all your internal networks, no outgoing emails
+ will be filtered.
++.It Fl I
++Ignores messages if the sender has authenticated via SMTP AUTH.
+ .It Fl m
+ Disables modification of the 
+ .Ql Subject: 
diff --git a/debian/patches/disabled_10_segfault_on_empty_body.patch b/debian/patches/disabled_10_segfault_on_empty_body.patch
new file mode 100644 (file)
index 0000000..f80dfba
--- /dev/null
@@ -0,0 +1,15 @@
+--- spamass-milter-0.2.0.orig/spamass-milter.cpp
++++ spamass-milter-0.2.0/spamass-milter.cpp
+@@ -351,6 +378,12 @@
+   string::size_type eoh = ( eoh1 < eoh2 ? eoh1 : eoh2 );
+   string::size_type bob = assassin->d().find_first_not_of("\r\n", eoh);
++  // Patch by Valentin Chopov <valentin@valcho.net> to fix segfault on
++  // empty body
++  if (bob == string::npos) {
++    bob = assassin->d().size();
++  }
++
+   update_or_insert(assassin, ctx, assassin->spam_flag(), &SpamAssassin::set_spam_flag, "X-Spam-Flag");
+   update_or_insert(assassin, ctx, assassin->spam_status(), &SpamAssassin::set_spam_status, "X-Spam-Status");
diff --git a/debian/patches/disabled_15_write_to_pid_file.patch b/debian/patches/disabled_15_write_to_pid_file.patch
new file mode 100644 (file)
index 0000000..a047533
--- /dev/null
@@ -0,0 +1,99 @@
+--- spamass-milt/spamass-milter.cpp:1.69       Fri Sep 12 05:45:05 2003
++++ spamass-milt/spamass-milter.cpp    Tue Oct 21 21:40:32 2003
+@@ -174,7 +174,7 @@
+ main(int argc, char* argv[])
+ {
+    int c, err = 0;
+-   const char *args = "p:fd:mr:u:D:i:b:B:";
++   const char *args = "fd:mp:P:r:u:D:i:b:B:";
+    char *sock = NULL;
+    bool dofork = false;
+
+@@ -177,15 +177,14 @@
+    const char *args = "p:fd:mr:u:D:i:b:B:";
+    char *sock = NULL;
+    bool dofork = false;
++   char *pidfilename = NULL;
++   FILE *pidfile = NULL;
+    openlog("spamass-milter", LOG_PID, LOG_MAIL);
+       /* Process command line options */
+       while ((c = getopt(argc, argv, args)) != -1) {
+               switch (c) {
+-                      case 'p':
+-                              sock = strdup(optarg);
+-                              break;
+                       case 'f':
+                               dofork = true;
+                               break;
+@@ -215,6 +209,12 @@
+                               dontmodifyspam = true;
+                               smfilter.xxfi_flags &= ~(SMFIF_CHGBODY|SMFIF_CHGHDRS);
+                               break;
++                      case 'p':
++                              sock = strdup(optarg);
++                              break;
++                      case 'P':
++                              pidfilename = strdup(optarg);
++                              break;
+                       case 'r':
+                               flag_reject = true;
+                               reject_score = atoi(optarg);
+@@ -287,18 +287,37 @@
+       exit(EX_USAGE);
+    }
+-      if (dofork == true) {
+-              switch(fork()) {
+-         case -1: /* Uh-oh, we have a problem forking. */
+-            fprintf(stderr, "Uh-oh, couldn't fork!\n");
+-                              exit(errno);
+-                              break;
+-                      case 0: /* Child */
+-                              break;
+-                      default: /* Parent */
+-                              exit(0);
++      if (pidfilename)
++      {
++              unlink(pidfilename);
++              pidfile = fopen(pidfilename,"w");
++              if (!pidfile)
++              {
++                      fprintf(stderr, "Could not open pidfile: %s\n", strerror(errno));
++                      exit(1);
++              }
++              /* leave the file open through the fork, since we don't know our pid
++                 yet
++              */
++      }
++
++
++      if (dofork == true) 
++      {
++              if (daemon(0, 0) == -1)
++              {
++            fprintf(stderr, "daemon() failed: %s\n", strerror(errno));
++            exit(1);
+               }
+       }
++      
++      if (pidfile)
++      {
++              fprintf(pidfile, "%ld\n", (long)getpid());
++              fclose(pidfile);
++              pidfile = NULL;
++      }       
++      
+    {
+       struct stat junk;
+       if (stat(sock,&junk) == 0) unlink(sock);
+@@ -314,7 +333,9 @@
+       debug(D_ALWAYS, "spamass-milter %s starting", PACKAGE_VERSION);
+       err = smfi_main();
+       debug(D_ALWAYS, "spamass-milter %s exiting", PACKAGE_VERSION);
++      if (pidfilename)
++              unlink(pidfilename);
+       return err;
+ }
diff --git a/debian/patches/disabled_20_pidfile_documentation.patch b/debian/patches/disabled_20_pidfile_documentation.patch
new file mode 100644 (file)
index 0000000..4ffe0b7
--- /dev/null
@@ -0,0 +1,23 @@
+--- spamass-milter.1.in.orig   2003-06-25 09:17:34.000000000 -0700
++++ spamass-milter.1.in        2004-02-18 20:55:37.000000000 -0800
+@@ -12,6 +12,7 @@
+ .Op Fl d Ar debugflags
+ .Op Fl D Ar host
+ .Op Fl f
++.Op Fl P Ar pidfile
+ .Op Fl i Ar networks
+ .Op Fl m
+ .Op Fl r Ar nn
+@@ -88,6 +89,12 @@
+ Causes
+ .Nm
+ to fork into the background.
++.It Fl P Ar pidfile
++Causes
++.Nm
++to write out it's pid to pidfile.
++.Ar pidfile
++is the name of the pidfile to write out.
+ .It Fl i Ar networks
+ Ignores messages if the originating IP is in the network(s) listed. 
+ The message will be passed through without calling SpamAssassin at all.
diff --git a/debian/patches/disabled_25_use_score_as_well_as_hit_spamass_3.0.patch b/debian/patches/disabled_25_use_score_as_well_as_hit_spamass_3.0.patch
new file mode 100644 (file)
index 0000000..a49ecbf
--- /dev/null
@@ -0,0 +1,12 @@
+--- spamass-milter-0.2.0/spamass-milter.cpp.orig       2004-08-13 14:08:55.000000000 -0700
++++ spamass-milter-0.2.0/spamass-milter.cpp    2004-08-13 14:12:16.000000000 -0700
+@@ -366,6 +366,9 @@
+               int score, rv;
+               const char *spam_status = assassin->spam_status().c_str();
+               rv = sscanf(spam_status,"%*s hits=%d", &score);
++              /* Spamassassin >= 3 uses score= instead of hit= */
++              if (rv != 1)
++                      rv = sscanf(spam_status,"%*s score=%d", &score);
+               if (rv != 1)
+                       debug(D_ALWAYS, "Could not extract score from <%s>", spam_status);
+               else 
diff --git a/debian/patches/disabled_30_deal_correctly_with_plus.patch b/debian/patches/disabled_30_deal_correctly_with_plus.patch
new file mode 100644 (file)
index 0000000..3ed4da7
--- /dev/null
@@ -0,0 +1,16 @@
+--- spamass-milter.cpp.orig    2004-09-30 13:47:49.000000000 -0700
++++ spamass-milter.cpp 2004-09-30 13:50:15.000000000 -0700
+@@ -1375,8 +1375,11 @@
+ SpamAssassin::local_user()
+ {
+   // assuming we have a recipient in the form: <username@somehost.somedomain>
+-  // we return 'username'
+-  return _rcpt.substr(1,_rcpt.find('@')-1);
++  // (angle brackets optional) we return 'username'
++  if (_rcpt[0] == '<')
++    return _rcpt.substr(1,_rcpt.find_first_of("@+")-1);
++  else
++    return _rcpt.substr(0,_rcpt.find_first_of("@+"));
+ }
+ int
diff --git a/debian/reportbug b/debian/reportbug
new file mode 100644 (file)
index 0000000..a0b030f
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh -e
+
+# Stolen from apt's reportbug scripts
+
+# reportbug #169495
+if [ -z "$YESNO" ]; then
+  YESNO=$"yYnN"
+fi
+
+cat <<EOF
+I can automatically include various information about your
+spamass-milter configuration in your bug report.  This information may
+help to diagnose your problem.
+
+If you have a segfault or similar to report, please see the debugging
+information in /usr/share/doc/spamass-milter/README.Debian and
+consider building a debugging version of spamass-milter so that your
+problem can be diagnosed and fixed.
+
+EOF
+
+yesno "May I include your spamass-milter configuration (/etc/default/spamass-milter, /etc/init.d/spamass-milter and /etc/mail/sendmail.mc)? [Y/n] " yep
+
+if [ "$REPLY" = "yep" ]; then
+  echo -e "\n-- /etc/default/spamass-milter --\n" >&3
+  cat /etc/default/spamass-milter >&3 || true
+  echo -e "\n-- /etc/init.d/spamass-milter --\n"
+  cat /etc/init.d/spamass-milter >&3 || true
+  echo -e "\n-- /etc/mail/sendmail.mc --\n"
+  cat /etc/mail/sendmail.mc >&3 || true
+fi
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..6404cea
--- /dev/null
@@ -0,0 +1,94 @@
+#!/usr/bin/make -f
+
+#DH_VERBOSE = 1
+
+
+PREFIX=$(shell pwd)/debian/spamass-milter/usr
+
+patch: patch-stamp
+patch-stamp:
+       dh_testdir
+
+       if [ -e debian/patches ]; then \
+               for a in `ls debian/patches/*.diff`; do \
+                       patch -f -p0 < $$a; \
+               done; \
+       fi;
+
+       rm -f unpatch-stamp;
+       touch $@
+
+unpatch: unpatch-stamp
+unpatch-stamp:
+       dh_testdir
+
+       if [ -e debian/patches ]; then \
+               for a in `ls debian/patches/*.diff`; do \
+                       patch -f -p0 -R < $$a; \
+               done; \
+       fi;
+
+       rm -f patch-stamp
+       touch $@
+
+
+configure: configure-stamp
+configure-stamp:
+
+# SPAMC and SENDMAIL are the location of the spamc and sendmail binary, respectively. PREFIX is the location to install to.
+# We must specify --mandir because for some ungodly reason, it's being installed into /usr/man by default
+       SPAMC="/usr/bin/spamc" SENDMAIL="/usr/sbin/sendmail" ./configure --prefix=$(PREFIX) --mandir=$(PREFIX)/share/man
+       touch $@
+
+build: configure build-stamp
+build-stamp:
+       dh_testdir
+
+       $(MAKE)
+
+       touch $@
+
+clean:
+       dh_testdir
+       dh_testroot
+
+       rm -f build-stamp
+       rm -f patch-stamp
+       rm -f unpatch-stamp
+       rm -f configure-stamp
+
+       if [ -e Makefile -a -e config.status ]; then \
+               $(MAKE) clean; \
+       fi
+# the clean target doesn't nuke these, so we kill them here.
+       rm -f config.log config.h config.status
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       dh_installdirs
+
+       $(MAKE) install
+
+
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs ChangeLog
+       dh_installdocs NEWS
+       dh_installman
+       dh_installinit
+       dh_link
+       dh_strip
+       dh_compress
+       dh_fixperms
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-arch
+.PHONY: build clean binary-arch binary install
diff --git a/debian/spamass-milter.default b/debian/spamass-milter.default
new file mode 100644 (file)
index 0000000..dad5458
--- /dev/null
@@ -0,0 +1,14 @@
+# spamass-milt startup defaults
+
+# OPTIONS are passed directly to spamass-milter.
+# man spamass-milter for details
+
+# Default, use the nobody user as the default user, ignore messages
+# from localhost
+OPTIONS="-u nobody -i 127.0.0.1"
+
+# Reject emails with spamassassin scores > 15.
+#OPTIONS="-r 15"
+
+# Do not modify Subject:, Content-Type: or body.
+#OPTIONS="-m"
diff --git a/debian/spamass-milter.init b/debian/spamass-milter.init
new file mode 100644 (file)
index 0000000..fcb8611
--- /dev/null
@@ -0,0 +1,86 @@
+#!/bin/sh
+#
+# $Id: spamass-milter,v 1.4 2002/07/24 16:19:53 dnelson Exp $
+#
+# Sample init script for Debian GNU/Linux
+#
+#  Copyright (c) 2002 Georg C. F. Greve <greve@gnu.org>,
+#   all rights maintained by FSF Europe e.V., 
+#   Villa Vogelsang, Antonienallee 1, 45279 Essen, Germany
+#
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#  
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#  
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#
+#   Contact:
+#            Michael Brown <michaelb@opentext.com>
+
+# This init script was modified on Thu, 30 Jan 2003 02:06:04 -0500 by
+# Don Armstrong <don@donarmstrong.com> from contrib/spamass-milter to
+# allow force-reload and options specified in
+# /etc/default/spamass-milter necessary for inclusion in debian.
+
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/spamass-milter
+SOCKET=/var/run/sendmail/spamass.sock
+PIDFILE=/var/run/spamass.pid
+DESC="Sendmail milter plugin for SpamAssassin"
+
+DEFAULT=/etc/default/spamass-milter
+OPTIONS=""
+
+test -x $DAEMON || exit 0
+
+if [ -r $DEFAULT ]; then
+    . $DEFAULT;
+fi;
+
+set -e
+
+case "$1" in
+  start)
+       echo -n "Starting $DESC: "
+
+       start-stop-daemon --start -p $PIDFILE --exec $DAEMON -- -P $PIDFILE -f -p $SOCKET $OPTIONS
+
+       echo "${DAEMON}"
+       ;;
+  stop)
+       echo -n "Stopping $DESC: "
+
+       start-stop-daemon --stop -p $PIDFILE --signal 3 --exec $DAEMON
+       /bin/sleep 5s
+       /bin/rm -f $SOCKET
+
+       echo "${DAEMON}"
+       ;;
+  force-reload | restart)
+       echo -n "Restarting $DESC: "
+
+       start-stop-daemon --stop -p $PIDFILE --signal 3 --exec $DAEMON
+       /bin/sleep 5s
+       /bin/rm -f $SOCKET
+        start-stop-daemon --start -p $PIDFILE --exec $DAEMON -- -P $PIDFILE -f -p $SOCKET $OPTIONS
+
+        echo "${DAEMON}"
+
+       ;;
+  *)
+       N=$0
+       echo "Usage: $N {start|stop|restart}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/spamass-milter.1 b/spamass-milter.1
new file mode 100644 (file)
index 0000000..98b8a06
--- /dev/null
@@ -0,0 +1,219 @@
+.\" $Id: spamass-milter.1.in,v 1.19 2004/03/18 18:37:08 dnelson Exp $
+.Dd July 25, 2001
+.Os
+.Dt SPAMASS_MILTER 8
+.Sh NAME
+.Nm spamass-milter
+.Nd sendmail milter for passing emails through SpamAssassin
+.Sh SYNOPSIS
+.Nm
+.Fl p Ar socket
+.Op Fl b Ns | Ns Fl B Ar spamaddress
+.Op Fl d Ar debugflags
+.Op Fl D Ar host
+.Op Fl e Ar defaultdomain
+.Op Fl f
+.Op Fl i Ar networks
+.Op Fl m
+.Op Fl M
+.Op Fl P Ar pidfile
+.Op Fl r Ar nn
+.Op Fl u Ar defaultuser
+.Op Fl x
+.Op Fl - Ar spamc flags ...
+.Sh DESCRIPTION
+The
+.Nm
+utility is a sendmail milter that checks and modifies incoming email
+messages with SpamAssassin.
+.Pp
+The following options are available:
+.Bl -tag -width "indent"
+.It Fl p Ar socket
+Specifies the pathname of a socket to create for communication with
+.Nm sendmail .
+If it is removed,
+.Nm sendmail
+will not be able to access the milter.
+This may cause messages to bounce, queue, or be passed through
+unmiltered, depending on the parameters in
+.Nm sendmail Ns 's .cf file.
+.It Fl b Ar spamaddress
+Redirects tagged spam to the specified email address.
+All envelope recipients are removed, and inserted into the message as
+.Ql X-Spam-Orig-To:
+headers.
+.It Fl B Ar spamaddress
+Same as
+.Fl b ,
+except the original recipients are retained.
+Only one of
+.Fl b
+and
+.Fl B
+may be used.
+.It Fl d Ar debugflags
+Enables logging. 
+.Ar debugflags 
+is a comma-separated list of tokens:
+.Bl -tag -width "indent"
+.It func
+Entry and exit of internal functions.
+.It misc
+Other non-verbose logging.
+.It net
+Lookups of the ignored netblocks list.
+.It poll
+Low-level I/O to the child spamc process.
+.It rcpt
+Recipient processing.
+.It spamc
+High-level I/O to the child spamc process.
+.It str
+Calls to field lookup and string comparison functions.
+.It uori
+Calls to the update_or_insert function.
+.It 1
+(historical) Same as 
+.Ar func,misc .
+.It 2
+(historical) Same as
+.Ar func,misc,poll .
+.It 3
+(historical) Same as
+.Ar func,misc,poll,str,uori .
+.El
+.It Fl D Ar host
+Connects to a remote spamd server on 
+.Ar host , 
+instead of using one on localhost.
+This option is deprecated; use 
+.Fl - Fl d Ar host 
+instead.
+.It Fl e Ar defaultdomain
+Pass the full user@domain address to spamc.
+The default is to pass only the username part on the assumption that
+all users are local.
+This flag is useful if you are using an SQL (or other username) backend
+with spamassassin and have listed the full address there.
+If the recipient name has no domain part (if the recipient is on the
+local machine for example),
+.Ar defaultdomain 
+is added.
+Requires the
+.Fl u
+flag.
+.It Fl f
+Causes
+.Nm
+to fork into the background.
+.It Fl i Ar networks
+Ignores messages if the originating IP is in the network(s) listed.
+The message will be passed through without calling SpamAssassin at all.
+.Ar networks
+is a comma-separated list, where each element can be either an IP address 
+(nnn.nnn.nnn.nnn), a CIDR network (nnn.nnn.nnn.nnn/nn), or a network/netmask
+pair (nnn.nnn.nnn.nnn/nnn.nnn.nnn.nnn).
+Multiple
+.Fl i
+flags will append to the list.
+For example, if you list all your internal networks, no outgoing emails
+will be filtered.
+.It Fl m
+Disables modification of the 
+.Ql Subject: 
+and 
+.Ql Content-Type: 
+headers and
+message body.
+This is useful when SpamAssassin is configured with
+.Ql "defang_mime 0"
+and 
+.Ql "report_header 1" ,
+or when SA is simply used to add headers for postprocessing later.
+Updating the body through the milter interface can be slow for large
+messages.
+.It Fl M
+Like
+.Fl m ,
+but also disables creation of any SpamAssassin
+.Ql X-Spam-* 
+headers as well.
+Both tagged and untagged mail gets passed through unchanged.
+To be useful, this option should be used with the
+.Fl r ,
+.Fl b , 
+or
+.Fl B
+flags.
+If 
+.Fl b
+is used, the 
+.Ql X-Spam-Orig-To:
+headers will still be added.
+.It Fl P Ar pidfile
+Create the file
+.Ar pidfile ,
+containing the processid of the milter.
+.It Fl r Ar nn
+Reject scanned email if it greater than or equal to
+.Ar nn .
+If 
+.Ar -1 ,
+reject scanned email if SpamAssassin tags it as spam (useful if you
+are also using the
+.Fl u
+flag, and users have changed their required_hits value).
+.Pp
+For example, if you usually use procmail to redirect tagged email into
+a separate folder just in case of false positives, you can use
+.Fl r Ar 15
+and reject flagrant spam outright while still receiving low-scoring
+messages.
+.It Fl u Ar defaultuser
+Pass the username part of the first recipient to spamc with the 
+.Fl u 
+flag.
+This allows user preferences files to be used.
+If the message is addressed to multiple recipients, the username
+.Ar defaultuser
+is passed instead.
+.Pp
+Note that 
+.Nm
+does not know whether an email is incoming or outgoing, so a message
+from
+.Aq user1@localdomain.com 
+to 
+.Aq user2@yahoo.com 
+will make 
+.Nm
+pass 
+.Fl u Ar user2
+to spamc.
+.It Fl x
+Pass the recipient address through 
+.Nm sendmail Fl bv ,
+which will perform virtusertable and alias expansion.
+The resulting username is then passed to spamc.
+Requires the
+.Fl u
+flag.  
+.It Fl - Ar spamc flags ...
+Pass all remaining options to spamc. 
+This allows you to connect to a remote spamd with
+.Fl d
+or 
+.Fl p .
+.El
+.Sh FILES
+.Bl -tag -width "indent"
+.It Pa /usr/bin/spamc
+client interface to SpamAssassin
+.El
+.Sh SEE ALSO
+.Xr spamassassin 1 ,
+.Xr spamd 1
+.Sh AUTHORS
+.An "Georg C. F. Greve" Aq greve@gnu.org
+.An "Dan Nelson" Aq dnelson@allantgroup.com
index 26c49009e519b95ab2e3cf6ca9b95fc2a2e58220..f79776068156b0c5476774d269f7703471dcbfb4 100644 (file)
@@ -14,6 +14,7 @@
 .Op Fl e Ar defaultdomain
 .Op Fl f
 .Op Fl i Ar networks
+.Op Fl I
 .Op Fl m
 .Op Fl M
 .Op Fl P Ar pidfile
@@ -119,6 +120,8 @@ Multiple
 flags will append to the list.
 For example, if you list all your internal networks, no outgoing emails
 will be filtered.
+.It Fl I
+Ignores messages if the sender has authenticated via SMTP AUTH.
 .It Fl m
 Disables modification of the 
 .Ql Subject: 
index 6cf8e4cbf383c87d62498e2c77b5c7a43c0e8217..06e54f216cd37b548a9fa6e9f40014541b302fa9 100644 (file)
@@ -169,6 +169,7 @@ bool flag_bucket_only = false;
 char *spambucket;
 bool flag_full_email = false;          /* pass full email address to spamc */
 bool flag_expand = false;      /* alias/virtusertable expansion */
+bool ignore_authenticated_senders = false;
 
 #if defined(__FreeBSD__) /* popen bug - see PR bin/50770 */
 static pthread_mutex_t popen_mutex = PTHREAD_MUTEX_INITIALIZER;
@@ -180,7 +181,7 @@ int
 main(int argc, char* argv[])
 {
    int c, err = 0;
-   const char *args = "fd:mMp:P:r:u:D:i:b:B:e:x";
+   const char *args = "fd:mMp:P:r:u:D:i:Ib:B:e:x";
    char *sock = NULL;
    bool dofork = false;
    char *pidfilename = NULL;
@@ -212,6 +213,10 @@ main(int argc, char* argv[])
                                debug(D_MISC, "Parsing ignore list");
                                parse_networklist(optarg, &ignorenets);
                                break;
+                       case 'I':
+                               debug(D_MISC, "Ignore authenticated senders");
+                               ignore_authenticated_senders = true;
+                               break;
                        case 'm':
                                dontmodifyspam = true;
                                smfilter.xxfi_flags &= ~SMFIF_CHGBODY;
@@ -279,7 +284,7 @@ main(int argc, char* argv[])
       cout << PACKAGE_NAME << " - Version " << PACKAGE_VERSION << endl;
       cout << "SpamAssassin Sendmail Milter Plugin" << endl;
       cout << "Usage: spamass-milter -p socket [-b|-B bucket] [-d xx[,yy...]] [-D host]" << endl;
-      cout << "                      [-e defaultdomain] [-f] [-i networks] [-m] [-M]" << endl;
+      cout << "                      [-e defaultdomain] [-f] [-i networks] [-I] [-m] [-M]" << endl;
       cout << "                      [-P pidfile] [-r nn] [-u defaultuser] [-x]" << endl;
       cout << "                      [-- spamc args ]" << endl;
       cout << "   -p socket: path to create socket" << endl;
@@ -293,6 +298,7 @@ main(int argc, char* argv[])
       cout << "   -f: fork into background" << endl;
       cout << "   -i: skip (ignore) checks from these IPs or netblocks" << endl;
       cout << "          example: -i 192.168.12.5,10.0.0.0/8,172.16/255.255.0.0" << endl;
+      cout << "   -I: skip (ignore) checks if sender is authenticated" << endl;
       cout << "   -m: don't modify body, Content-type: or Subject:" << endl;
       cout << "   -M: don't modify the message at all" << endl;
       cout << "   -P pidfile: Put processid in pidfile" << endl;
@@ -761,6 +767,22 @@ mlfi_envfrom(SMFICTX* ctx, char** envfrom)
   struct context *sctx = (struct context *)smfi_getpriv(ctx);
   char *queueid;
 
+  if (ignore_authenticated_senders)
+  {
+    char *auth_authen;
+
+    auth_authen = smfi_getsymval(ctx, "{auth_authen}");
+    debug(D_MISC, "auth_authen=%s", auth_authen ?: "<unauthenticated>");
+
+    if (auth_authen)
+    {
+      debug(D_MISC, "sender authenticated (%s) - accepting message",
+           auth_authen);
+      debug(D_FUNC, "mlfi_envfrom: exit ignore");
+      return SMFIS_ACCEPT;
+    }
+  }
+
   debug(D_FUNC, "mlfi_envfrom: enter");
   try {
     // launch new SpamAssassin
diff --git a/stamp-h1 b/stamp-h1
new file mode 100644 (file)
index 0000000..4547fe1
--- /dev/null
+++ b/stamp-h1
@@ -0,0 +1 @@
+timestamp for config.h