view ChangeLog @ 168:6bac960af6b4

add generic reverse dns filtering regex
author carl
date Thu, 30 Aug 2007 11:08:46 -0700
parents 9b129ed78d7d
children 44021d570958
line wrap: on
line source


6.07 2007-08-30
    Add generic reverse dns filtering with regular expression.

6.06 2007-08-27
    Fix bug that effectively disabled spamassassin filtering. Improve
    spamassassin filtering documentation. Generate warning if the
    config file specifies spam assassin filtering, but spamc is not
    found by autoconf.

6.05 2007-08-26
    Fix unitialized variable in my spamassassin code.

6.04 2007-08-26
    Add spamassassin integration via spamc, code from spamass-milter.

6.03 2007-07-14
    Don't add auto whitelist entries for our own domains.

6.02 2007-07-10
    Allow manual updates to the auto whitelisting files, mainly for
    scp or rsync synchronization between primary and backup mx

6.01 2007-07-07
    GPL3. Block mail to recipients that cannot reply. Start auto

5.30 2007-06-09
    Selinux fix - redirect stdout for useradd to make selinux happy.

5.29 2007-03-27
    Limit dns resolver to two retries five seconds apart.

5.28 2007-02-19
    Change the conflict resolution algorithm to "second one wins" if we
    have two contexts that both define env_to user@.  Update ICANN tld

5.27 2007-01-30
    Allow 'inherit' as an env_from target. Documentation cleanup
    from G.W. Haywood.

5.26 2006-12-04
    Fix bug in content filtering introduced in 5.23 that prevented
    seeing any host names in the body.

5.25 2006-10-15
    DNSBL lists are inherited, so dump the effective list with the
    -c switch.

5.24 2006-10-15
    Allow child and parent context to specify the same fully qualified
    env_to address. Only dump the rate limit for the default context
    with -c switch.

5.23 2006-10-10
    Require two periods in ip addresses.

5.22 2006-09-27
    Change syntax for default rate limit. Improve hourly reset of
    limits. Warning for rate limits in non default contexts to allow
    nesting of client configurations.

5.21 2006-09-26
    Add SMTP AUTH recipient rate limits, to help throttle infected
    client machines and accounts with weak cracked passwords.

5.20 2006-08-02
    Fully qualify all dns lookups.  Fix my_read() bug.  Try to convert
    names that might be ip addresses via inet_aton before doing dns

5.19 2006-08-01
    Bug fix - add trailing dot to uribl dns lookups to make them fully
    qualified.  Check host names with only two components, since
    spammers are now using bare http://domain.tld references.
    Spec file now creates an rpm that properly creates the dnsbl user.

5.18 2006-04-27
    Bug fix - newer sendmail versions don't guarantee envelope addresses
    enclosed in <> wrapper.

    Document backscatter prevention configuration for systems that are
    used to mainly spam filter and then forward to mail to the internal

    Never ask uribl blacklists about rfc1918 address space.

5.17 2006-03-25
    Never ask dns blacklists about rfc1918 address space.

5.16 2006-03-16
    Bug fix - the smtp error message for uribl filtering needs to
    reference the host name, not the ip address.

5.15 2006-03-15
    Bug fix - we failed to properly set the return code to indicate the
    reason when rejecting mail for content filtering.

5.14 2006-03-13
    Fix a typo in the default config file and documentation for using

5.13 2006-03-12
    patch from Jeff Evans <>
        add SURBL/URIBL lookups, remove trailing dots from hostnames,
        allow ip address literals as hostnames.
    add configuration for surbl/uribl list and reject message

5.12 2006-01-08
    Use larger resolver buffer to accomodate spammers with many name
    servers.  A current example is which needs to retry in
    tcp mode to fetch the 1444 byte response.

    'make chkconfig' now creates the dnsbl user if it does not exist.

5.11 2005-12-20
    switch to autoconf/automake/docbook

5.10 2005-10-16
    Fix a compile error on Fedora Core 3.
    Discovered by Nigel Horne <>

5.9 2005-09-26
    Fix a bug with empty return paths passed to the verification code.
    That resulted in 'MAIL FROM:<<>>' being sent to the verification
    mail server.

5.8 2005-09-25
    Allow empty env_to at global context level to remove restrictions
    on env_to values in child contexts.

5.7 2005-09-23
    Failed to return a value from parse_verify() which caused failures
    to load the configuration.

5.6 2005-09-22
    Tokenizer errors now go thru the syslog code, so they are visible
    when generated during config file reloads during normal operation.

5.5 2005-09-21
    Cleanup debug logging.  Verify from/to pairs now remembers the last
    from value sent to the remote server to prevent unnecessary rset

5.4 2005-09-18
    Add verify statement to specify the smtp host to be used to verify
    envelope from / recipient pairs.

    Authenticated clients are now exempt from all white/black listing
    in addition to the dnsbl lookups.

    dcc_to should not look at substitute mail_host. That is only used
    by dcc_from.

5.3 2005-08-07
    Properly quit if the config file has syntax errors on startup.  Send
    mail to root if the config file needs to be reloaded since it was
    modified, but contains syntax errors.  In this case, we continue to
    use the old configuration.

5.2 2005-08-02
    Patch from Stephen Johnson <> fixing the
    lack of a default return value in CONTEXT::acceptable_content().

5.1 2005-07-20
    Add multiple syslog debug levels.  Detect and silently remove
    duplicate DNSBL definitions.  That allows us to accept mail to
    recipients in multiple domains that use the same blacklist and yet
    only check that blacklist once.  This may happen when your config
    file directly includes as child contexts the config files used on
    your clients mail servers.

5.0 2005-07-16
    Major changes to the syntax of the config file.  Content filtering
    is no longer a global mail server setting.

4.6 2005-04-02
    Fix enum compilation error on Fedora Core 3.
    Discovered by Nigel Horne <>

    Remove bad html tag command from the default conf file.  Spammers
    seem to have abandoned this.

    Add in hosts-ignore.conf.  These are all
    commented, but you might want to uncomment them.

4.5 2005-01-22
    Add uuencode decoding for old style attachments.

4.4 2005-01-18
    Bug fix in forked process termination that left zombies.

4.3 2005-01-16
    Only keep 20% of the resolver sockets in the ready pool.

4.2 2005-01-08
    Use the separate resolver processes even if we don't have the
    resolver interfaces and need gethostbyname.

4.1 2005-01-06
    Use a local unix domain socket for the resolver process
    communication, rather than a tcp/ip socket.

4.0 2005-01-03
    Initialize the thread mutex objects early, before they are needed
    by possible calls to my_syslog.

    Fork off a separate resolver listener process, so we can do multiple
    dns operations in parallel. For each simultaneous inbound email,
    we have a separate sendmail process, a milter thread, and a dns
    resolver process.

3.7 2004-10-28
    Added an 'ignore' command to the conf file, used to ignore some
    hosts that might end up on the SBL and otherwise trip the content
    scanning filter.  In particular, many recent Microsoft Word
    documents contain the string which is
    associated with their smart tags stuff.  That is currently hosted at, which is shared with a site that ended up on the

3.6 2004-09-08
    Contributions from Dan Harkless <>
        Better documentation for disabling the content filtering.
        Don't bother looking at the body text if we are not doing
        content filtering.

3.5 2004-07-17
    Extend the error message for content filtering when the NS record
    points to an ip address on the SBL.  Include the original host name
    that referenced that NS name.

3.4 2004-07-15
    Tokens with two consecutive periods cannot be ip addresses or host

    Updated dnsbl.spec file for building rpms from John Gunkel.

3.3 2004-07-09
    Drop root priviledges properly, including the group id.

3.2 2004-07-09

    Contributions from John Gunkel <>:
        Add .spec file for building rpms, contributed by John Gunkel

        Changes to file layout to conform to RedHat/LSB standards.

        Add some html (actually xml) tags used by Apple mac print
        subsystem that were tripping the html tag detector.

        Help with changes required to allow dnsbl to drop root
        priviledges. Move the socket to /var/run/dnsbl/dnsbl.sock

    Change parser to handle &#xnnn; obfuscated urls with charaters
    specified in hex.

    Make bad_html tags more sensitive to binary tags, to reduce false
    positives in .zip or .tar.gz file attachments.

    Add sendmail queueid to the dnsbl syslog messages.

    Fix one place where host names were not forced to lower case.
    Discovered by Nigel Horne <>

    Remove duplicate dns queries within the same smtp transaction from
    the body content filtering.  This helps if the mail server does not
    have a nearby caching dns server.

    Add host_soft_limit config keyword.  Use only one of host_limit or
    host_soft_limit, since the last one wins.  The host_limit is a hard
    upper limit on the number of host names in a message.  The
    host_soft_limit allows unlimited host names, but only checks a
    random sample of them against the dnsbl.

    The main thread has dropped root priviledges, but other threads
    are still running as root. This needs to be fixed.