# Please don't modify this file as your changes might be overwritten with
# the next update.
#
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local.override' to redefine
# parameters defined on the top level
#
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local' to add
# parameters defined on the top level
#
# For specific modules or configuration you can also modify
# '$LOCAL_CONFDIR/local.d/file.conf' - to add your options or rewrite defaults
# '$LOCAL_CONFDIR/override.d/file.conf' - to override the defaults
#
# See https://rspamd.com/doc/tutorials/writing_rules.html for details

rbl {
    default_from = true;
    default_received = false;
    default_exclude_users = true;
    default_unknown = true;

    rbls {

        spamhaus {
            symbol = "RBL_SPAMHAUS";
            rbl = "zen.spamhaus.org";
            ipv6 = true;
            returncodes {
                RBL_SPAMHAUS_SBL = "127.0.0.2";
                RBL_SPAMHAUS_CSS = "127.0.0.3";
                RBL_SPAMHAUS_XBL = ["127.0.0.4", "127.0.0.5",
                    "127.0.0.6", "127.0.0.7"];
                RBL_SPAMHAUS_PBL = ["127.0.0.10", "127.0.0.11"];
                RBL_SPAMHAUS_DROP = "127.0.0.9";
            }
        }

        spamhaus_xbl {
            symbol = "RECEIVED_SPAMHAUS";
            rbl = "zen.spamhaus.org";
            ipv6 = true;
            received = true;
            from = false;
            ignore_whitelists = true;
            returncodes {
                RECEIVED_SPAMHAUS_XBL = ["127.0.0.4", "127.0.0.5",
                    "127.0.0.6", "127.0.0.7"];
            }
        }

        mailspike {
            symbol = "MAILSPIKE";
            rbl = "rep.mailspike.net";
            is_whitelist = true;
            whitelist_exception = "MAILSPIKE";
            whitelist_exception = "RWL_MAILSPIKE_GOOD";
            whitelist_exception = "RWL_MAILSPIKE_NEUTRAL";
            whitelist_exception = "RWL_MAILSPIKE_POSSIBLE";
            whitelist_exception = "RBL_MAILSPIKE_WORST";
            whitelist_exception = "RBL_MAILSPIKE_VERYBAD";
            whitelist_exception = "RBL_MAILSPIKE_BAD";
            returncodes {
                RBL_MAILSPIKE_WORST = "127.0.0.10";
                RBL_MAILSPIKE_VERYBAD = "127.0.0.11";
                RBL_MAILSPIKE_BAD = "127.0.0.12";
                RWL_MAILSPIKE_NEUTRAL = ["127.0.0.16", "127.0.0.15", "127.0.0.14", "127.0.0.13"];
                RWL_MAILSPIKE_POSSIBLE = "127.0.0.17";
                RWL_MAILSPIKE_GOOD = "127.0.0.18";
                RWL_MAILSPIKE_VERYGOOD = "127.0.0.19";
                RWL_MAILSPIKE_EXCELLENT = "127.0.0.20";
            }
        }

        senderscore {
            symbol = "RBL_SENDERSCORE";
            rbl = "bl.score.senderscore.com";
        }

        abusech {
            symbol = "RBL_ABUSECH";
            rbl = "spam.abuse.ch";
        }

        sem {
            symbol = "RBL_SEM";
            rbl = "bl.spameatingmonkey.net";
            ipv6 = false;
        }

        semIPv6 {
            symbol = "RBL_SEM_IPV6";
            rbl = "bl.ipv6.spameatingmonkey.net";
            ipv4 = false;
            ipv6 = true;
        }

        dnswl {
            symbol = "RCVD_IN_DNSWL";
            rbl = "list.dnswl.org";
            ipv6 = true;
            is_whitelist = true;
            whitelist_exception = "RCVD_IN_DNSWL";
            whitelist_exception = "RCVD_IN_DNSWL_NONE";
            whitelist_exception = "RCVD_IN_DNSWL_LOW";
            whitelist_exception = "DNSWL_BLOCKED";
            returncodes {
                RCVD_IN_DNSWL_NONE = "127.0.%d+.0";
                RCVD_IN_DNSWL_LOW = "127.0.%d+.1";
                RCVD_IN_DNSWL_MED = "127.0.%d+.2";
                RCVD_IN_DNSWL_HI = "127.0.%d+.3";
                DNSWL_BLOCKED = "127.0.0.255";
            }
        }
    }

    .include(try=true,priority=5) "${DBDIR}/dynamic/rbl.conf"
    .include(try=true,priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/rbl.conf"
    .include(try=true,priority=10) "$LOCAL_CONFDIR/override.d/rbl.conf"
}
