From 46813ccb8c6ab572b8a9ff0a39afb1d92dc4482b Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 9 Sep 2010 23:43:11 -0400 Subject: Added an asynchronous DNS system and m_dnsbl, which checks clients against DNS blacklists. Rewrote internal handling of IPs, we now properly support users using IPv6. Fixed a few problems with the UnrealIRCd protocol module. --- data/example.conf | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 75 insertions(+), 4 deletions(-) (limited to 'data') diff --git a/data/example.conf b/data/example.conf index d7c7c9372..b98595ef7 100644 --- a/data/example.conf +++ b/data/example.conf @@ -819,6 +819,29 @@ mail #dontquoteaddresses = yes } +/* + * [OPTIONAL] DNS Config + * + * This section is used to configure DNS. + * At this time DNS is only used by a few modules (m_dnsbl) + * and is not required by the core to function. + */ +dns +{ + /* + * The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file. + * The below should work fine on all nix like systems. Windows users will have to find their nameservers + * from ipconfig /all and put the IP here + */ + nameserver = "/etc/resolv.conf" + #nameserver = "127.0.0.1" + + /* + * How long to wait before a DNS query has timed out + */ + timeout = 5 +} + /* * [REQUIRED] NickServ Config * @@ -1585,7 +1608,13 @@ module { name = "os_ignore" } module { name = "cs_appendtopic" } module { name = "cs_enforce" } module { name = "ns_maxemail" } -module { name = "hs_request" } + +/* + * [OPTIONAL] Module-Specific Options + * + * The following blocks are used for options pertaining to modules and are not part of the core. + * Unless otherwise stated, most of the options are optional. + */ /* * m_ssl @@ -1595,10 +1624,9 @@ module { name = "hs_request" } module { name = "m_ssl" } /* - * [OPTIONAL] Module-Specific Options + * db_plain * - * The following blocks are used for options pertaining to modules and are not part of the core. - * Unless otherwise stated, most of the options are optional. + * This is the default flatfile database format */ db_plain { @@ -1608,11 +1636,20 @@ db_plain database = "anope.db" } +/* + * cs_set_misc + * + * Allows you to create misc /chanserv set commands, and have the data + * show up in /chanserv info + */ module { name = "cs_set_misc" } cs_set_misc { + /* The name of the command */ name = "OINFO" + /* A short description of the command */ desc = "Associate oper only information to this channel" + /* Set to yes if only opers can set it and see it */ operonly = yes } cs_set_misc @@ -1654,6 +1691,7 @@ m_helpchan helpchannel = "#help" } +module { name = "hs_request" } hs_request { /* @@ -1683,3 +1721,36 @@ ns_maxemail #maxemails = 1 } +module { name = "m_dnsbl" } +m_dnsbl +{ + /* + * If set, Services will check clients against the DNSBLs when services connect to its uplink. + * This is not recommended, and on large networks will open a very large amount of DNS queries. + * While services are not drastically affected by this, your nameserver/DNSBL might care. + */ + check_on_connect = no; + + /* + * If set, Services will check clients when coming back from a netsplit. This can cause a large number + * of DNS queries open at once. While services are not drastically affected by this, your nameserver/DNSBL + * might care. + */ + check_on_netburst = no; +} +blacklist +{ + /* Name of the blacklist */ + name = "rbl.efnetrbl.org"; + /* How long to set the akill for */ + time = 4h; + /* Reason for akill, %h is replaced with the hostname of the user, and %i with the IP */ + reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info" +} +blacklist +{ + name = "dnsbl.dronebl.org"; + time = 4h; + reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup.do?ip=%i" +} + -- cgit