1
0
mirror of https://github.com/anope/anope.git synced 2026-06-12 18:54:47 +02:00

Compare commits

...

71 Commits

Author SHA1 Message Date
Adam 4d3363f83f Anope 2.0.0-rc2 Release 2014-01-21 21:55:59 -05:00
Adam 75e27b6a47 Update version.log 2014-01-21 21:55:59 -05:00
Adam fbaca3f7a1 Update language files 2014-01-21 21:55:56 -05:00
Adam 81b01bb55b Fix missing colon in stats and top, fix smileys and actions count. Patch by bush. 2014-01-21 21:10:06 -05:00
Adam 1027ec667a Made the chanstats confs try and look similar to every other configuration file 2014-01-21 17:33:57 -05:00
Adam 4d9273efa4 Unbreak account stuff from commit ccae59430a. 2014-01-21 17:20:15 -05:00
Robby- 67c13b41ee Update and fix some more typos in the dutch language file. 2014-01-21 00:29:59 +01:00
Robby- 10386a39f0 Make the server connected (uplink) message more sane. 2014-01-21 00:28:40 +01:00
Adam dc19ea3993 Alias charybdis/uid -> ratbox/uid because grawity is weird 2014-01-20 02:19:06 -05:00
Adam 2261fa3fe7 Fix example config for bs_autoassign 2014-01-20 00:05:53 -05:00
Adam fab9f0fecc Change config readers bool logic to accept unrecognized values as yes 2014-01-19 19:03:19 -05:00
DukePyrolator df8d85d80a m_chanstats: fixed the config options NSDefChanstats and CSDefChanstats 2014-01-19 08:11:19 +01:00
DukePyrolator 4b192addd2 m_chanstats: do not count negative words if you have more smileys in a line than words 2014-01-17 06:49:49 +01:00
Adam d27594f8a6 Fix webcpanels chanserv/modes page 2014-01-15 16:59:32 -05:00
Adam 43aaaeab7e Mark m_sql_log, m_rewrite, and m_dnsbl as extra so they show up in modlist with no parameters, as they are "unusual" 2014-01-14 03:50:08 -05:00
Adam ccae59430a Call User::Login after sending the login event, in case a module wants to act on the fact that the ircd sees the user as logged in 2014-01-14 03:49:22 -05:00
Harakiri 974adb7ce1 Update French language file 2014-01-12 17:44:14 -05:00
Adam f3531e7564 Fix not initializing module in the main log constructor 2014-01-10 01:41:03 -05:00
Adam 15a27c69ba Move oper count and vhost stuff to set/remove mode internal 2014-01-09 17:01:18 -05:00
Adam 0b0db75ba5 Fix repeat kicker message to show the correct number of times a user can say the same thing before being kicked 2014-01-09 16:45:07 -05:00
Adam b90a9a339a Fix empty ttb in bs kick repeat on 2014-01-09 16:09:38 -05:00
Adam 64f9aed761 Hook to OnUserLogin instead of OnNickIdentify in ns_ajoin 2014-01-09 15:46:04 -05:00
Adam 56f2cbeb62 Remove help access levels from help output because it no longer exists 2014-01-09 15:44:58 -05:00
Adam 9a9ca41750 Rename db_old hash plain -> none which is what 1.8 calls it 2014-01-09 15:42:31 -05:00
Adam e19661e1de Make DNSBL log message use the module type and give it a category too 2014-01-09 15:41:49 -05:00
Adam 09879c5c15 Fix compile with -std=c++11 2014-01-06 13:59:14 -05:00
Adam 12f55e4711 Hide +s channels from /cs list output to non opers 2014-01-06 12:54:29 -05:00
Adam 43c56541d5 Add a small note about the extras script in docs/INSTALL 2014-01-06 00:19:19 -05:00
Adam d3078850d2 Merge pull request #39 from DanielOaks/cs-status-channelname
Add the channel name to reply of cs-status, useful for applications
2014-01-05 15:39:09 -08:00
Daniel Oaks d4f7db122d Add the channel name to reply of cs-status, useful for applications 2014-01-06 09:37:08 +10:00
Adam 201ad9c191 Always run uid/sid generation loop at least once to not reuse older ids immediately 2014-01-04 17:54:04 -05:00
Adam 45c0bf8f32 Fix recovering enforcers not properly quitting them 2014-01-04 17:45:58 -05:00
Adam d64855b35b Allow m_sql_authentication to disable email changing similar to m_ldap_authentication 2014-01-04 13:44:47 -05:00
Adam 4617fdbf3d Make /cs status use the chanserv/auspex privilege instead of chanserv/access/modify, as it only views channel access 2014-01-04 13:41:08 -05:00
Adam ac204745c8 Also make m_sql_authentication block nick grouping if it is disabling registration 2014-01-04 12:24:04 -05:00
Adam e1ce6174ce Move modules/stats under extras because it depends on m_mysql, update its config a bit to look similar to all of the other config files 2014-01-03 19:54:14 -05:00
Adam 2781b6946d Add an explicit privilege for os_config's modify 2014-01-02 11:44:18 -05:00
Adam 1e502c8450 Update os_config 2014-01-02 11:41:49 -05:00
Adam 004c4cbe5f Move modules out of extras that dont have external dependencies 2014-01-02 11:03:33 -05:00
Adam 072202c181 Have db_old load news.db too 2014-01-02 10:56:57 -05:00
Adam 595dad4ec1 Update copyright to 2014. This was done with:
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
2014-01-01 20:48:38 -05:00
Adam a374e245fd Make inspircds module class names not conflict because it confuses OSX 2014-01-01 16:21:38 -05:00
Adam 6e6543d3ed I don't think this OnBotKick to hold channels is necessary anymore as Sync should cover everything now, and this causes weird things when the last user in a channel kicks themselves out using the bot. Also handle users rejoining a channel while its held better. 2013-12-31 16:12:21 -05:00
Adam 6124af68cc Show the command name and not service name in the access denied log messages 2013-12-31 15:31:56 -05:00
Adam f21b40bfb4 Set last_realname in m_ldap_authentication when new nicks are registered 2013-12-30 10:50:15 -05:00
Adam 567700b5a6 Also have m_ldap_authentication disable nick grouping if registration is disabled 2013-12-30 10:42:07 -05:00
Adam 3b80da9cbd Fix loading kicker ttb data 2013-12-30 10:34:57 -05:00
Robby- c519119197 Don't expire ignores when NoExpire is enabled. 2013-12-29 05:27:36 +01:00
Robby- 780bc7ca14 Do not translate command parameters that do not have translatable strings in them, or are not meant to be translated in the first place. 2013-12-28 23:28:30 +01:00
Adam 3d12752655 Fix naming collision between modes +g and +G on inspircd, rename the common badwords censor mode to censor 2013-12-28 09:39:16 -05:00
Adam 9c0ceed36a Readd channel description to ns alist output 2013-12-27 17:24:52 -05:00
Adam 187973c16a Allow inverting opertype privs and commands, to make them behave like the log settings 2013-12-27 17:20:47 -05:00
Adam 072631aa38 Fix forbid add message to show the correct type 2013-12-27 17:15:07 -05:00
Adam b638b653d2 Fix crash when channels are registered that do not exist by non users 2013-12-27 17:12:01 -05:00
Adam 0fb2b60cff Fix xmlrpc dochannel example 2013-12-26 21:06:26 -05:00
Adam 16f3f0cbc0 Don't leak ldap results 2013-12-26 21:06:07 -05:00
Adam b28db7bc55 Fix crash with badwords of type 'end' and possibly when messages contain only control codes. Also fix matching single words at the beginning of lines. 2013-12-26 17:33:06 -05:00
Adam 9bf9cfcf5e If using db_flatfile:fork, don't allow multiple saves to happen at one time on shutdown/restart wait for any pending saves to finish 2013-12-26 16:08:56 -05:00
Adam 0c9750a22b Default the founder privilege to level 10000 as I had originally intended. Document set fonder usage in cs_levels help. 2013-12-26 15:19:48 -05:00
DukePyrolator 69c5aeca57 updated the extras script to find the cmake binary installed by ./Config 2013-12-26 19:44:41 +01:00
DukePyrolator 59c3c1326b m_chanstats: 1) fixed the SASET message 2) decreased the size of some VARCHAR fields, this hopefully fixes the 'key too long' error on some systems. 2013-12-26 18:46:20 +01:00
Adam 5829d7da39 Add a config option for whether or not to reset the TS of persistent channels to their registration date 2013-12-26 12:06:39 -05:00
Adam 2f29c1388c Fix not setting the persist flag on newly registered channels when the permanent channel mode is set prior to registering or during registration 2013-12-26 11:39:35 -05:00
Adam fc0e8264c0 Fix dropping channels in the webpanel 2013-12-26 08:02:19 -05:00
Adam 19eccf0cae Fix setting english language in db_old, document how not setting defaultlanguage really works 2013-12-25 15:16:04 -05:00
Adam dbf5106c09 Fix sqline on hybrid 2013-12-25 14:29:41 -05:00
Adam 3029a2db1a Don't epxire forbids when noexpire mode is on 2013-12-24 20:58:06 -05:00
Adam 53df61b4c2 Make webcpanel's nickserv alist behave more like /ns alist 2013-12-24 20:48:09 -05:00
Adam 7d27689d05 Set a description for the resend command 2013-12-24 20:20:47 -05:00
Adam 421e194c5a If last usermask and last realhost are the same, don't show both because duh 2013-12-24 18:19:44 -05:00
Adam c442bc18af Do not allow /cs clone access to add duplicate masks to the access list or allow growing the list pass accessmax. Fix reading botservs case sensitive config option. Give a better error message when trying to clone badwords if there is no botserv. 2013-12-22 08:37:49 -05:00
354 changed files with 5874 additions and 6240 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
#
# Configuration script for Services.
#
# Anope (c) 2003-2011 Anope team
# Anope (c) 2003-2014 Anope Team
# Contact us at team@anope.org
#
# This program is free but copyrighted software; see the file COPYING for
+3 -2
View File
@@ -147,9 +147,10 @@ command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module { name = "bs_autoassign" }
bs_autoassign
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
+7 -1
View File
@@ -403,7 +403,7 @@ privilege
{
name = "FOUNDER"
rank = 360
level = "founder"
level = 10000
flag = "F"
xop = "QOP"
}
@@ -1133,6 +1133,12 @@ module
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
+2 -3
View File
@@ -26,10 +26,9 @@ module
/*
* Enable Chanstats for newly registered nicks / channels.
* Set it to 0 to disable it.
*/
NSDefChanstats = 1
CSDefChanstats = 1
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
+3 -2
View File
@@ -541,7 +541,7 @@ options
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Leave empty to default to English.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
@@ -767,6 +767,7 @@ log
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
@@ -1064,7 +1065,7 @@ mail
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and none.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
+49 -57
View File
@@ -3,63 +3,6 @@
*
*/
module
{
name = "irc2sql"
/*
* The name of this engine.
* This must match with the name in the mysql{ } block
*/
engine ="mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automagically add a users geoip to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started anope to download
* and import the actual geoip database
*
*/
/*
* Enable GeoIP Lookup
*/
GeoIPLookup = yes
/*
* Chose between the smaller 'country' or the bigger 'city' database.
*
*/
GeoIPDatabase = "country"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
service
{
/*
@@ -104,3 +47,52 @@ service
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
+12 -6
View File
@@ -159,7 +159,7 @@ module { name = "help" }
}
/*
* m_httpd [EXTRA]
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
@@ -342,7 +342,7 @@ module { name = "help" }
}
/*
* m_proxyscan [EXTRA]
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
@@ -466,10 +466,16 @@ module { name = "help" }
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
@@ -633,7 +639,7 @@ module { name = "help" }
}
/*
* m_xmlrpc [EXTRA]
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
@@ -647,7 +653,7 @@ module { name = "help" }
}
/*
* m_xmlrpc_main [EXTRA]
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
@@ -655,7 +661,7 @@ module { name = "help" }
#module { name = "m_xmlrpc_main" }
/*
* webcpanel [EXTRA]
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
+72 -1
View File
@@ -1,4 +1,75 @@
Revision d9a1c1f - Fri, 20 Dec 2013 22:56:38 -0500 - Update version.log
Revision 1cc85f4 - Tue, 21 Jan 2014 21:18:21 -0500 - Update version.log
Revision 68b87b4 - Tue, 21 Jan 2014 21:18:19 -0500 - Update language files
Revision 81b01bb - Tue, 21 Jan 2014 21:10:06 -0500 - Fix missing colon in stats and top, fix smileys and actions count. Patch by bush.
Revision 1027ec6 - Tue, 21 Jan 2014 17:33:57 -0500 - Made the chanstats confs try and look similar to every other configuration file
Revision 4d9273e - Tue, 21 Jan 2014 17:20:15 -0500 - Unbreak account stuff from commit ccae59430ab50393f43ccc38a6a6c0c24191b601.
Revision 67c13b4 - Tue, 21 Jan 2014 00:29:59 +0100 - Update and fix some more typos in the dutch language file.
Revision 10386a3 - Tue, 21 Jan 2014 00:28:40 +0100 - Make the server connected (uplink) message more sane.
Revision dc19ea3 - Mon, 20 Jan 2014 02:19:06 -0500 - Alias charybdis/uid -> ratbox/uid because grawity is weird
Revision 2261fa3 - Mon, 20 Jan 2014 00:05:53 -0500 - Fix example config for bs_autoassign
Revision fab9f0f - Sun, 19 Jan 2014 19:03:19 -0500 - Change config readers bool logic to accept unrecognized values as yes
Revision df8d85d - Sun, 19 Jan 2014 08:11:19 +0100 - m_chanstats: fixed the config options NSDefChanstats and CSDefChanstats
Revision 4b192ad - Fri, 17 Jan 2014 06:49:49 +0100 - m_chanstats: do not count negative words if you have more smileys in a line than words
Revision d27594f - Wed, 15 Jan 2014 16:59:32 -0500 - Fix webcpanels chanserv/modes page
Revision 43aaaea - Tue, 14 Jan 2014 03:50:08 -0500 - Mark m_sql_log, m_rewrite, and m_dnsbl as extra so they show up in modlist with no parameters, as they are "unusual"
Revision ccae594 - Tue, 14 Jan 2014 03:49:22 -0500 - Call User::Login after sending the login event, in case a module wants to act on the fact that the ircd sees the user as logged in
Revision 974adb7 - Sun, 12 Jan 2014 17:44:14 -0500 - Update French language file
Revision f3531e7 - Fri, 10 Jan 2014 01:41:03 -0500 - Fix not initializing module in the main log constructor
Revision 15a27c6 - Thu, 9 Jan 2014 17:01:18 -0500 - Move oper count and vhost stuff to set/remove mode internal
Revision 0b0db75 - Thu, 9 Jan 2014 16:45:07 -0500 - Fix repeat kicker message to show the correct number of times a user can say the same thing before being kicked
Revision b90a9a3 - Thu, 9 Jan 2014 16:09:38 -0500 - Fix empty ttb in bs kick repeat on
Revision 64f9aed - Thu, 9 Jan 2014 15:46:04 -0500 - Hook to OnUserLogin instead of OnNickIdentify in ns_ajoin
Revision 56f2cbe - Thu, 9 Jan 2014 15:44:58 -0500 - Remove help access levels from help output because it no longer exists
Revision 9a9ca41 - Thu, 9 Jan 2014 15:42:31 -0500 - Rename db_old hash plain -> none which is what 1.8 calls it
Revision e19661e - Thu, 9 Jan 2014 15:41:49 -0500 - Make DNSBL log message use the module type and give it a category too
Revision 09879c5 - Mon, 6 Jan 2014 13:59:14 -0500 - Fix compile with -std=c++11
Revision 12f55e4 - Mon, 6 Jan 2014 12:54:29 -0500 - Hide +s channels from /cs list output to non opers
Revision 43c5654 - Mon, 6 Jan 2014 00:19:19 -0500 - Add a small note about the extras script in docs/INSTALL
Revision d307885 - Sun, 5 Jan 2014 15:39:09 -0800 - Merge pull request #39 from DanielOaks/cs-status-channelname
Revision d4f7db1 - Mon, 6 Jan 2014 09:37:08 +1000 - Add the channel name to reply of cs-status, useful for applications
Revision 201ad9c - Sat, 4 Jan 2014 17:54:04 -0500 - Always run uid/sid generation loop at least once to not reuse older ids immediately
Revision 45c0bf8 - Sat, 4 Jan 2014 17:45:58 -0500 - Fix recovering enforcers not properly quitting them
Revision d64855b - Sat, 4 Jan 2014 13:44:47 -0500 - Allow m_sql_authentication to disable email changing similar to m_ldap_authentication
Revision 4617fdb - Sat, 4 Jan 2014 13:41:08 -0500 - Make /cs status use the chanserv/auspex privilege instead of chanserv/access/modify, as it only views channel access
Revision ac20474 - Sat, 4 Jan 2014 12:24:04 -0500 - Also make m_sql_authentication block nick grouping if it is disabling registration
Revision e1ce617 - Fri, 3 Jan 2014 19:54:14 -0500 - Move modules/stats under extras because it depends on m_mysql, update its config a bit to look similar to all of the other config files
Revision 2781b69 - Thu, 2 Jan 2014 11:44:18 -0500 - Add an explicit privilege for os_config's modify
Revision 1e502c8 - Thu, 2 Jan 2014 11:41:49 -0500 - Update os_config
Revision 004c4cb - Thu, 2 Jan 2014 11:03:33 -0500 - Move modules out of extras that dont have external dependencies
Revision 072202c - Thu, 2 Jan 2014 10:56:57 -0500 - Have db_old load news.db too
Revision 595dad4 - Wed, 1 Jan 2014 20:48:38 -0500 - Update copyright to 2014. This was done with: find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
Revision a374e24 - Wed, 1 Jan 2014 16:21:38 -0500 - Make inspircds module class names not conflict because it confuses OSX
Revision 6e6543d - Tue, 31 Dec 2013 16:12:21 -0500 - I don't think this OnBotKick to hold channels is necessary anymore as Sync should cover everything now, and this causes weird things when the last user in a channel kicks themselves out using the bot. Also handle users rejoining a channel while its held better.
Revision 6124af6 - Tue, 31 Dec 2013 15:31:56 -0500 - Show the command name and not service name in the access denied log messages
Revision f21b40b - Mon, 30 Dec 2013 10:50:15 -0500 - Set last_realname in m_ldap_authentication when new nicks are registered
Revision 567700b - Mon, 30 Dec 2013 10:42:07 -0500 - Also have m_ldap_authentication disable nick grouping if registration is disabled
Revision 3b80da9 - Mon, 30 Dec 2013 10:34:57 -0500 - Fix loading kicker ttb data
Revision c519119 - Sun, 29 Dec 2013 05:27:36 +0100 - Don't expire ignores when NoExpire is enabled.
Revision 780bc7c - Sat, 28 Dec 2013 23:28:30 +0100 - Do not translate command parameters that do not have translatable strings in them, or are not meant to be translated in the first place.
Revision 3d12752 - Sat, 28 Dec 2013 09:39:16 -0500 - Fix naming collision between modes +g and +G on inspircd, rename the common badwords censor mode to censor
Revision 9c0ceed - Fri, 27 Dec 2013 17:24:52 -0500 - Readd channel description to ns alist output
Revision 187973c - Fri, 27 Dec 2013 17:20:47 -0500 - Allow inverting opertype privs and commands, to make them behave like the log settings
Revision 072631a - Fri, 27 Dec 2013 17:15:07 -0500 - Fix forbid add message to show the correct type
Revision b638b65 - Fri, 27 Dec 2013 17:12:01 -0500 - Fix crash when channels are registered that do not exist by non users
Revision 0fb2b60 - Thu, 26 Dec 2013 21:06:26 -0500 - Fix xmlrpc dochannel example
Revision 16f3f0c - Thu, 26 Dec 2013 21:06:07 -0500 - Don't leak ldap results
Revision b28db7b - Thu, 26 Dec 2013 17:33:06 -0500 - Fix crash with badwords of type 'end' and possibly when messages contain only control codes. Also fix matching single words at the beginning of lines.
Revision 9bf9cfc - Thu, 26 Dec 2013 16:08:56 -0500 - If using db_flatfile:fork, don't allow multiple saves to happen at one time on shutdown/restart wait for any pending saves to finish
Revision 0c9750a - Thu, 26 Dec 2013 15:19:48 -0500 - Default the founder privilege to level 10000 as I had originally intended. Document set fonder usage in cs_levels help.
Revision 69c5aec - Thu, 26 Dec 2013 19:44:41 +0100 - updated the extras script to find the cmake binary installed by ./Config
Revision 59c3c13 - Thu, 26 Dec 2013 18:46:20 +0100 - m_chanstats: 1) fixed the SASET message 2) decreased the size of some VARCHAR fields, this hopefully fixes the 'key too long' error on some systems.
Revision 5829d7d - Thu, 26 Dec 2013 12:06:39 -0500 - Add a config option for whether or not to reset the TS of persistent channels to their registration date
Revision 2f29c13 - Thu, 26 Dec 2013 11:39:35 -0500 - Fix not setting the persist flag on newly registered channels when the permanent channel mode is set prior to registering or during registration
Revision fc0e826 - Thu, 26 Dec 2013 08:02:19 -0500 - Fix dropping channels in the webpanel
Revision 19eccf0 - Wed, 25 Dec 2013 15:16:04 -0500 - Fix setting english language in db_old, document how not setting defaultlanguage really works
Revision dbf5106 - Wed, 25 Dec 2013 14:29:41 -0500 - Fix sqline on hybrid
Revision 3029a2d - Tue, 24 Dec 2013 20:58:06 -0500 - Don't epxire forbids when noexpire mode is on
Revision 53df61b - Tue, 24 Dec 2013 20:48:09 -0500 - Make webcpanel's nickserv alist behave more like /ns alist
Revision 7d27689 - Tue, 24 Dec 2013 20:20:47 -0500 - Set a description for the resend command
Revision 421e194 - Tue, 24 Dec 2013 18:19:44 -0500 - If last usermask and last realhost are the same, don't show both because duh
Revision c442bc1 - Sun, 22 Dec 2013 08:37:49 -0500 - Do not allow /cs clone access to add duplicate masks to the access list or allow growing the list pass accessmax. Fix reading botservs case sensitive config option. Give a better error message when trying to clone badwords if there is no botserv.
Revision 1c02961 - Fri, 20 Dec 2013 22:57:58 -0500 - Anope 2.0.0-rc1 Release
Revision 268d529 - Fri, 20 Dec 2013 22:57:56 -0500 - Update version.log
Revision 4bc4b98 - Fri, 20 Dec 2013 22:56:38 -0500 - Regenerate language files
Revision e8b4260 - Fri, 20 Dec 2013 22:56:34 -0500 - Update Changes and Changes.conf
Revision e792865 - Fri, 20 Dec 2013 20:24:40 -0500 - Fix reading unconfirmed expire config value when register type is set to mail
+4
View File
@@ -44,6 +44,10 @@ Note: You should also read the README and FAQ files!
Next, unpack the package in your home directory, and go into the created
directory.
If there are any extra modules you want to enable, such as m_mysql, run
the 'extras' script to enable them. If you do not know you can come back
later and enable them.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
+1 -1
View File
@@ -1,7 +1,7 @@
Anope -- a set of IRC services for IRC networks
-----------------------------------------------
Anope is 2003-2013 Anope Team <team@anope.org>.
Anope is 2003-2014 Anope Team <team@anope.org>.
Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
+2 -2
View File
@@ -1,7 +1,7 @@
<?php
/* XMLRPC Functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
*/
@@ -74,7 +74,7 @@ class AnopeXMLRPC
*/
function DoChannel($Channel)
{
return $this->RunXMLRPC("channel", NULL);
return $this->RunXMLRPC("channel", array($Channel));
}
/* Like DoChannel(), but different.
+6 -1
View File
@@ -148,7 +148,12 @@ while (1)
if ($input eq "q") {
if (-e "build") {
system("cmake", "build/.");
if (-e "cmake-bin") {
my $cmake_path = `find cmake-bin -name cmake -print0`;
system($cmake_path, "build/.");
} else {
system("cmake", "build/.");
}
print "\nNow cd build, then run make to build Anope.\n\n";
} else {
print "\nBuild directory not found. You should run ./Config now.\n\n"
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/*
*
* Copyright (C) 2008-2011 Adam <Adam@anope.org>
* Copyright (C) 2008-2013 Anope Team <team@anope.org>
* Copyright (C) 2008-2014 Anope Team <team@anope.org>
*
* Please read COPYING and README for further details.
*
+1 -1
View File
@@ -1,7 +1,7 @@
/*
*
* Copyright (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
* Copyright (C) 2008-2013 Anope Team <team@anope.org>
* Copyright (C) 2008-2014 Anope Team <team@anope.org>
*
* Please read COPYING and README for further details.
*
+1 -1
View File
@@ -1,6 +1,6 @@
/* Channel support
*
* (C) 2008-2013 Anope Team
* (C) 2008-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* Declarations for command data.
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/*
*
* Copyright (C) 2002-2011 InspIRCd Development Team
* Copyright (C) 2009-2013 Anope Team <team@anope.org>
* Copyright (C) 2009-2014 Anope Team <team@anope.org>
*
* Please read COPYING and README for further details.
*
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2008-2013 Anope Team
* (C) 2008-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+2 -2
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -92,7 +92,7 @@ class CoreExport Log
Log(BotInfo *b, const Anope::string &category = "");
Log(Module *m, const Anope::string &category = "");
Log(Module *m, const Anope::string &category = "", BotInfo *bi = NULL);
~Log();
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/* Mode support
*
* Copyright (C) 2008-2011 Adam <Adam@anope.org>
* Copyright (C) 2008-2013 Anope Team <team@anope.org>
* Copyright (C) 2008-2014 Anope Team <team@anope.org>
*
* Please read COPYING and README for further details.
*/
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* Modular support
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* NickServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* NickServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* OperServ ignore interface
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+2 -33
View File
@@ -23,14 +23,14 @@ struct NewsItem : Serializable
time_t time;
NewsItem() : Serializable("NewsItem") { }
void Serialize(Serialize::Data &data) const anope_override;
static Serializable* Unserialize(Serializable *obj, Serialize::Data &data);
};
class NewsService : public Service
{
public:
NewsService(Module *m) : Service(m, "NewsService", "news") { }
virtual NewsItem *CreateNewsItem() = 0;
virtual void AddNewsItem(NewsItem *n) = 0;
@@ -41,36 +41,5 @@ class NewsService : public Service
static ServiceReference<NewsService> news_service("NewsService", "news");
void NewsItem::Serialize(Serialize::Data &data) const
{
data["type"] << this->type;
data["text"] << this->text;
data["who"] << this->who;
data["time"] << this->time;
}
Serializable* NewsItem::Unserialize(Serializable *obj, Serialize::Data &data)
{
if (!news_service)
return NULL;
NewsItem *ni;
if (obj)
ni = anope_dynamic_static_cast<NewsItem *>(obj);
else
ni = new NewsItem();
unsigned int t;
data["type"] >> t;
ni->type = static_cast<NewsType>(t);
data["text"] >> ni->text;
data["who"] >> ni->who;
data["time"] >> ni->time;
if (!obj)
news_service->AddNewsItem(ni);
return ni;
}
#endif // OS_NEWS
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
* Copyright (C) 2008-2013 Anope Team <team@anope.org>
* Copyright (C) 2008-2014 Anope Team <team@anope.org>
*
* Please read COPYING and README for further details.
*
+2 -2
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -204,7 +204,7 @@ class CoreExport IRCDProto : public Service
virtual void SendNumeric(int numeric, const Anope::string &dest, const char *fmt, ...);
virtual void SendLogin(User *u) = 0;
virtual void SendLogin(User *u, NickAlias *na) = 0;
virtual void SendLogout(User *u) = 0;
/** Send a channel creation message to the uplink.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2008-2013 Anope Team
* (C) 2008-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* Timer include stuff.
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/*
*
* (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* Build bumper
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2008-2013 Anope Team
* (C) 2008-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+198 -203
View File
File diff suppressed because it is too large Load Diff
+200 -202
View File
File diff suppressed because it is too large Load Diff
+204 -202
View File
File diff suppressed because it is too large Load Diff
+204 -202
View File
File diff suppressed because it is too large Load Diff
+2607 -3262
View File
File diff suppressed because it is too large Load Diff
+198 -203
View File
File diff suppressed because it is too large Load Diff
+198 -203
View File
File diff suppressed because it is too large Load Diff
+244 -245
View File
File diff suppressed because it is too large Load Diff
+198 -203
View File
File diff suppressed because it is too large Load Diff
+198 -203
View File
File diff suppressed because it is too large Load Diff
+198 -203
View File
File diff suppressed because it is too large Load Diff
+198 -203
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
/*
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+2 -2
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -286,7 +286,7 @@ class CommandBSBadwords : public Command
return;
}
bool casesensitive = Config->GetModule("botserv")->Get<bool>("casesensitive");
bool casesensitive = Config->GetModule(this->module)->Get<bool>("casesensitive");
for (unsigned i = 0, end = badwords->GetBadWordCount(); i < end; ++i)
{
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+61 -53
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -104,7 +104,7 @@ struct KickerDataImpl : KickerData
for (int i = 0; sep.GetToken(tok) && i < TTB_SIZE; ++i)
try
{
ttb[i] = convertTo<int16_t>(tok);
kd->ttb[i] = convertTo<int16_t>(tok);
}
catch (const ConvertException &) { }
@@ -635,7 +635,7 @@ class CommandBSKickRepeat : public CommandBSKickBase
if (params[1].equals_ci("ON"))
{
const Anope::string &ttb = params[2],
const Anope::string &ttb = params.size() > 2 ? params[2] : "",
&times = params.size() > 3 ? params[3] : "";
if (!ttb.empty())
@@ -672,10 +672,10 @@ class CommandBSKickRepeat : public CommandBSKickBase
if (kd->ttb[TTB_REPEAT])
source.Reply(_("Bot will now kick for \002repeats\002 (users that say the\n"
"same thing %d times), and will place a ban after %d\n"
"kicks for the same user."), kd->repeattimes, kd->ttb[TTB_REPEAT]);
"kicks for the same user."), kd->repeattimes + 1, kd->ttb[TTB_REPEAT]);
else
source.Reply(_("Bot will now kick for \002repeats\002 (users that say the\n"
"same thing %d times)."), kd->repeattimes);
"same thing %d times)."), kd->repeattimes + 1);
}
else if (params[1].equals_ci("OFF"))
{
@@ -1324,73 +1324,81 @@ class BSKick : public Module
Anope::string nbuf = Anope::NormalizeBuffer(realbuf);
bool casesensitive = Config->GetModule("botserv")->Get<bool>("casesensitive");
for (unsigned i = 0; badwords && i < badwords->GetBadWordCount(); ++i)
{
const BadWord *bw = badwords->GetBadWord(i);
if (bw->type == BW_ANY && ((casesensitive && nbuf.find(bw->word) != Anope::string::npos) || (!casesensitive && nbuf.find_ci(bw->word) != Anope::string::npos)))
mustkick = true;
else if (bw->type == BW_SINGLE)
/* Normalize can return an empty string if this only conains control codes etc */
if (badwords && !nbuf.empty())
for (unsigned i = 0; i < badwords->GetBadWordCount(); ++i)
{
size_t len = bw->word.length();
const BadWord *bw = badwords->GetBadWord(i);
if ((casesensitive && bw->word.equals_cs(nbuf)) || (!casesensitive && bw->word.equals_ci(nbuf)))
if (bw->word.empty())
continue; // Shouldn't happen
if (bw->word.length() > nbuf.length())
continue; // This can't ever match
if (bw->type == BW_ANY && ((casesensitive && nbuf.find(bw->word) != Anope::string::npos) || (!casesensitive && nbuf.find_ci(bw->word) != Anope::string::npos)))
mustkick = true;
else if (nbuf.find(' ') == len && ((casesensitive && bw->word.equals_cs(nbuf)) || (!casesensitive && bw->word.equals_ci(nbuf))))
mustkick = true;
else
else if (bw->type == BW_SINGLE)
{
if (nbuf.rfind(' ') == nbuf.length() - len - 1 && ((casesensitive && nbuf.find(bw->word) == nbuf.length() - len) || (!casesensitive && nbuf.find_ci(bw->word) == nbuf.length() - len)))
size_t len = bw->word.length();
if ((casesensitive && bw->word.equals_cs(nbuf)) || (!casesensitive && bw->word.equals_ci(nbuf)))
mustkick = true;
else if (nbuf.find(' ') == len && ((casesensitive && bw->word.equals_cs(nbuf.substr(0, len))) || (!casesensitive && bw->word.equals_ci(nbuf.substr(0, len)))))
mustkick = true;
else
{
Anope::string wordbuf = " " + bw->word + " ";
if (len < nbuf.length() && nbuf.rfind(' ') == nbuf.length() - len - 1 && ((casesensitive && nbuf.find(bw->word) == nbuf.length() - len) || (!casesensitive && nbuf.find_ci(bw->word) == nbuf.length() - len)))
mustkick = true;
else
{
Anope::string wordbuf = " " + bw->word + " ";
if ((casesensitive && nbuf.find(wordbuf) != Anope::string::npos) || (!casesensitive && nbuf.find_ci(wordbuf) != Anope::string::npos))
mustkick = true;
}
}
}
else if (bw->type == BW_START)
{
size_t len = bw->word.length();
if ((casesensitive && nbuf.substr(0, len).equals_cs(bw->word)) || (!casesensitive && nbuf.substr(0, len).equals_ci(bw->word)))
mustkick = true;
else
{
Anope::string wordbuf = " " + bw->word;
if ((casesensitive && nbuf.find(wordbuf) != Anope::string::npos) || (!casesensitive && nbuf.find_ci(wordbuf) != Anope::string::npos))
mustkick = true;
}
}
}
else if (bw->type == BW_START)
{
size_t len = bw->word.length();
if ((casesensitive && nbuf.substr(0, len).equals_cs(bw->word)) || (!casesensitive && nbuf.substr(0, len).equals_ci(bw->word)))
mustkick = true;
else
else if (bw->type == BW_END)
{
Anope::string wordbuf = " " + bw->word;
size_t len = bw->word.length();
if ((casesensitive && nbuf.find(wordbuf) != Anope::string::npos) || (!casesensitive && nbuf.find_ci(wordbuf) != Anope::string::npos))
if ((casesensitive && nbuf.substr(nbuf.length() - len).equals_cs(bw->word)) || (!casesensitive && nbuf.substr(nbuf.length() - len).equals_ci(bw->word)))
mustkick = true;
}
}
else if (bw->type == BW_END)
{
size_t len = bw->word.length();
else
{
Anope::string wordbuf = bw->word + " ";
if ((casesensitive && nbuf.substr(nbuf.length() - len).equals_cs(bw->word)) || (!casesensitive && nbuf.substr(nbuf.length() - len).equals_ci(bw->word)))
mustkick = true;
else
if ((casesensitive && nbuf.find(wordbuf) != Anope::string::npos) || (!casesensitive && nbuf.find_ci(wordbuf) != Anope::string::npos))
mustkick = true;
}
}
if (mustkick)
{
Anope::string wordbuf = bw->word + " ";
check_ban(ci, u, kd, TTB_BADWORDS);
if (Config->GetModule(me)->Get<bool>("gentlebadwordreason"))
bot_kick(ci, u, _("Watch your language!"));
else
bot_kick(ci, u, _("Don't use the word \"%s\" on this channel!"), bw->word.c_str());
if ((casesensitive && nbuf.find(wordbuf) != Anope::string::npos) || (!casesensitive && nbuf.find_ci(wordbuf) != Anope::string::npos))
mustkick = true;
return;
}
}
if (mustkick)
{
check_ban(ci, u, kd, TTB_BADWORDS);
if (Config->GetModule(me)->Get<bool>("gentlebadwordreason"))
bot_kick(ci, u, _("Watch your language!"));
else
bot_kick(ci, u, _("Don't use the word \"%s\" on this channel!"), bw->word.c_str());
return;
}
} /* for */
} /* for */
} /* if badwords */
UserData *ud = GetUserData(u, c);
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+4 -4
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -814,12 +814,12 @@ class CommandCSLevels : public Command
"functions to be changed. \002LEVELS DISABLE\002 (or \002DIS\002 for short)\n"
"disables an automatic feature or disallows access to a\n"
"function by anyone, INCLUDING the founder (although, the founder\n"
"can always reenable it).\n"
"can always reenable it). Use \002LEVELS SET founder\002 to make a level\n"
"founder only.\n"
" \n"
"\002LEVELS LIST\002 shows the current levels for each function or\n"
"group of functions. \002LEVELS RESET\002 resets the levels to the\n"
"default levels of a newly-created channel (see\n"
"\002HELP ACCESS LEVELS\002).\n"
"default levels of a newly-created channel.\n"
" \n"
"For a list of the features and functions whose levels can be\n"
"set, see \002HELP LEVELS DESC\002."), source.service->nick.c_str());
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+31 -14
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -99,11 +99,25 @@ public:
}
else if (what.equals_ci("ACCESS"))
{
std::set<Anope::string> masks;
unsigned access_max = Config->GetModule("chanserv")->Get<unsigned>("accessmax", "1024");
unsigned count = 0;
for (unsigned i = 0; i < target_ci->GetAccessCount(); ++i)
masks.insert(target_ci->GetAccess(i)->mask);
for (unsigned i = 0; i < ci->GetAccessCount(); ++i)
{
const ChanAccess *taccess = ci->GetAccess(i);
AccessProvider *provider = taccess->provider;
if (access_max && target_ci->GetDeepAccessCount() >= access_max)
break;
if (masks.count(taccess->mask))
continue;
masks.insert(taccess->mask);
ChanAccess *newaccess = provider->Create();
newaccess->ci = target_ci;
newaccess->mask = taccess->mask;
@@ -113,9 +127,11 @@ public:
newaccess->AccessUnserialize(taccess->AccessSerialize());
target_ci->AddAccess(newaccess);
++count;
}
source.Reply(_("All access entries from \002%s\002 have been cloned to \002%s\002."), channel.c_str(), target.c_str());
source.Reply(_("%d access entries from \002%s\002 have been cloned to \002%s\002."), count, channel.c_str(), target.c_str());
}
else if (what.equals_ci("AKICK"))
{
@@ -136,21 +152,22 @@ public:
BadWords *target_badwords = target_ci->Require<BadWords>("badwords"),
*badwords = ci->Require<BadWords>("badwords");
if (target_badwords && badwords)
if (!target_badwords || !badwords)
{
target_badwords->ClearBadWords();
for (unsigned i = 0; i < badwords->GetBadWordCount(); ++i)
{
const BadWord *bw = badwords->GetBadWord(i);
target_badwords->AddBadWord(bw->word, bw->type);
}
source.Reply(ACCESS_DENIED); // BotServ doesn't exist/badwords isn't loaded
return;
}
if (badwords)
badwords->Check();
if (target_badwords)
target_badwords->Check();
target_badwords->ClearBadWords();
for (unsigned i = 0; i < badwords->GetBadWordCount(); ++i)
{
const BadWord *bw = badwords->GetBadWord(i);
target_badwords->AddBadWord(bw->word, bw->type);
}
badwords->Check();
target_badwords->Check();
source.Reply(_("All badword entries from \002%s\002 have been cloned to \002%s\002."), channel.c_str(), target.c_str());
}
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Original Coder: GeniusDex <geniusdex@anope.org>
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+12 -5
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -81,11 +81,18 @@ class CommandCSList : public Command
{
const ChannelInfo *ci = it->second;
if (!is_servadmin && (ci->HasExt("CS_PRIVATE") || ci->HasExt("CS_SUSPENDED")))
if (!is_servadmin)
{
if (ci->HasExt("CS_PRIVATE") || ci->HasExt("CS_SUSPENDED"))
continue;
if (ci->c && ci->c->HasMode("SECRET"))
continue;
}
if (suspended && !ci->HasExt("CS_SUSPENDED"))
continue;
else if (suspended && !ci->HasExt("CS_SUSPENDED"))
continue;
else if (channoexpire && !ci->HasExt("CS_NO_EXPIRE"))
if (channoexpire && !ci->HasExt("CS_NO_EXPIRE"))
continue;
if (pattern.equals_ci(ci->name) || ci->name.equals_ci(spattern) || Anope::Match(ci->name, pattern, false, true) || Anope::Match(ci->name, spattern, false, true))
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* cs_seen: provides a seen command by tracking all users
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
+9 -2
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -1198,6 +1198,8 @@ class CSSet : public Module
CommandCSSetSuccessor commandcssetsuccessor;
CommandCSSetNoexpire commandcssetnoexpire;
bool persist_lower_ts;
public:
CSSet(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR),
noautoop(this, "NOAUTOOP"), peace(this, "PEACE"),
@@ -1214,6 +1216,11 @@ class CSSet : public Module
{
}
void OnReload(Configuration::Conf *conf) anope_override
{
persist_lower_ts = conf->GetModule(this)->Get<bool>("persist_lower_ts");
}
void OnCreateChan(ChannelInfo *ci) anope_override
{
ci->bantype = Config->GetModule(this)->Get<int>("defbantype", "2");
@@ -1296,7 +1303,7 @@ class CSSet : public Module
void OnJoinChannel(User *u, Channel *c) anope_override
{
if (c->ci && persist.HasExt(c->ci) && c->creation_time > c->ci->time_registered)
if (persist_lower_ts && c->ci && persist.HasExt(c->ci) && c->creation_time > c->ci->time_registered)
{
Log(LOG_DEBUG) << "Changing TS of " << c->name << " from " << c->creation_time << " to " << c->ci->time_registered;
c->creation_time = c->ci->time_registered;
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* (C) 2003-2013 Anope Team
* (C) 2003-2014 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.

Some files were not shown because too many files have changed in this diff Show More