mirror of
https://github.com/anope/anope.git
synced 2026-06-12 18:54:47 +02:00
Compare commits
71 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d3363f83f | |||
| 75e27b6a47 | |||
| fbaca3f7a1 | |||
| 81b01bb55b | |||
| 1027ec667a | |||
| 4d9273efa4 | |||
| 67c13b41ee | |||
| 10386a39f0 | |||
| dc19ea3993 | |||
| 2261fa3fe7 | |||
| fab9f0fecc | |||
| df8d85d80a | |||
| 4b192addd2 | |||
| d27594f8a6 | |||
| 43aaaeab7e | |||
| ccae59430a | |||
| 974adb7ce1 | |||
| f3531e7564 | |||
| 15a27c69ba | |||
| 0b0db75ba5 | |||
| b90a9a339a | |||
| 64f9aed761 | |||
| 56f2cbeb62 | |||
| 9a9ca41750 | |||
| e19661e1de | |||
| 09879c5c15 | |||
| 12f55e4711 | |||
| 43c56541d5 | |||
| d3078850d2 | |||
| d4f7db122d | |||
| 201ad9c191 | |||
| 45c0bf8f32 | |||
| d64855b35b | |||
| 4617fdbf3d | |||
| ac204745c8 | |||
| e1ce6174ce | |||
| 2781b6946d | |||
| 1e502c8450 | |||
| 004c4cbe5f | |||
| 072202c181 | |||
| 595dad4ec1 | |||
| a374e245fd | |||
| 6e6543d3ed | |||
| 6124af68cc | |||
| f21b40bfb4 | |||
| 567700b5a6 | |||
| 3b80da9cbd | |||
| c519119197 | |||
| 780bc7ca14 | |||
| 3d12752655 | |||
| 9c0ceed36a | |||
| 187973c16a | |||
| 072631aa38 | |||
| b638b653d2 | |||
| 0fb2b60cff | |||
| 16f3f0cbc0 | |||
| b28db7bc55 | |||
| 9bf9cfcf5e | |||
| 0c9750a22b | |||
| 69c5aeca57 | |||
| 59c3c1326b | |||
| 5829d7da39 | |||
| 2f29c1388c | |||
| fc0e8264c0 | |||
| 19eccf0cae | |||
| dbf5106c09 | |||
| 3029a2db1a | |||
| 53df61b4c2 | |||
| 7d27689d05 | |||
| 421e194c5a | |||
| c442bc18af |
@@ -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
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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"; }
|
||||
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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>.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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,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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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,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,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,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,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,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,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,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,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,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.
|
||||
|
||||
@@ -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,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,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
@@ -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
@@ -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,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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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,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
@@ -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,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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
+200
-202
File diff suppressed because it is too large
Load Diff
+204
-202
File diff suppressed because it is too large
Load Diff
+204
-202
File diff suppressed because it is too large
Load Diff
+2607
-3262
File diff suppressed because it is too large
Load Diff
+198
-203
File diff suppressed because it is too large
Load Diff
+198
-203
File diff suppressed because it is too large
Load Diff
+244
-245
File diff suppressed because it is too large
Load Diff
+198
-203
File diff suppressed because it is too large
Load Diff
+198
-203
File diff suppressed because it is too large
Load Diff
+198
-203
File diff suppressed because it is too large
Load Diff
+198
-203
File diff suppressed because it is too large
Load Diff
@@ -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,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,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,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,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,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,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,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] : "",
|
||||
× = 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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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.
|
||||
|
||||
@@ -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,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
Reference in New Issue
Block a user