options = {
    pidfile = "{= env.TMPDIR =}/rspamd.pid"
    url_tld = "{= env.TESTDIR =}/../lua/unit/test_tld.dat"
}
logging = {
    type = "file",
    level = "debug"
    filename = "{= env.TMPDIR =}/rspamd.log"
}

worker {
    type = normal
    bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_NORMAL =}"
    count = 1
    task_timeout = 60s;
}
worker {
    type = controller
    bind_socket = "{= env.LOCAL_ADDR =}:{= env.PORT_CONTROLLER =}"
    count = 1
    secure_ip = ["127.0.0.1", "::1"];
    stats_path = "{= env.TMPDIR =}/stats.ucl"
}
lua = "{= env.TESTDIR =}/lua/test_coverage.lua";
lua = {= env.LUA_SCRIPT =};

composites {
    EXPRESSIONS {
        expression = "(EXPRESSIONS_A | ~EXPRESSIONS_B) & !EXPRESSIONS_C";
        score = 5.0;
    }

    POLICY_REMOVE_WEIGHT {
        expression = "POLICY_REMOVE_WEIGHT_A and ~POLICY_REMOVE_WEIGHT_B";
        score = 5.0;
    }
    POLICY_FORCE_REMOVE {
        expression = "POLICY_FORCE_REMOVE_A & ^POLICY_FORCE_REMOVE_B";
        score = 5.0;
    }
    POLICY_FORCE_REMOVE_LEAVE {
        expression = "-POLICY_FORCE_REMOVE_A and -POLICY_FORCE_REMOVE_B";
        score = 5.0;
    }
    POLICY_LEAVE {
        expression = "POLICY_LEAVE_A & -POLICY_LEAVE_B";
        score = 5.0;
    }

    DEFAULT_POLICY_REMOVE_WEIGHT {
        expression = "DEFAULT_POLICY_REMOVE_WEIGHT_A and DEFAULT_POLICY_REMOVE_WEIGHT_B";
        score = 5.0;
        policy = "remove_weight";
    }
    DEFAULT_POLICY_REMOVE_SYMBOL {
        expression = "DEFAULT_POLICY_REMOVE_SYMBOL_A & DEFAULT_POLICY_REMOVE_SYMBOL_B";
        score = 5.0;
        policy = "remove_symbol";
    }
    DEFAULT_POLICY_LEAVE {
        expression = "DEFAULT_POLICY_LEAVE_A & DEFAULT_POLICY_LEAVE_B";
        score = 5.0;
        policy = "leave";
    }

    SYMBOL_GROUPS {
        expression = "!g+:positive & g-:negative & -g:any";
        score = 5.0;
    }

    SYMOPTS1 {
      expression = "OPTS[sym1]";
      score = 5.0;
    }

    SYMOPTS2 {
      expression = 'OPTS[/foo[0-9]/,sym2]';
      score = 6.0;
    }
    SYMOPTS3 {
      expression = 'OPTS[sym2,/FoO\//i]';
      score = 6.0;
    }
    SYMOPTS4 {
      expression = 'POSITIVE_A & OPTS[/>app.link$/i] & EXPRESSIONS';
      score = 6.0;
    }
}
