aboutsummaryrefslogtreecommitdiff
path: root/src/modules
Commit message (Collapse)AuthorAgeFilesLines
* Use mysql_real_escape_string instead of mysql_escape string.Gravatar Peter Powell2018-07-151-3/+2
| | | | | | | | This is not exploitable as far as I know but it is probably best that we use the newer function just in case. Closes #649 (although the attack mentioned in that issue was not feasible).
* Allow exempting of registered users from securelist.Gravatar Peter Powell2018-07-101-1/+9
|
* Use !empty() instead of 'size() > 0' when checking parameter count.Gravatar B00mX0r2018-07-033-4/+4
|
* Always process MOTD formatting escape codes.Gravatar Peter Powell2018-04-222-5/+2
| | | | | The options for disabling these were added to keep compatibility with previous 2.0 releases and are not needed any more.
* Fix some oversights relating to numerics.Gravatar Peter Powell2018-04-223-3/+3
| | | | | - ERR_CANNOTSENDTOCHAN only takes the channel name and a message. - ERR_INVALIDCAPCMD is 410 not 232.
* Move a bunch of optional module numerics to the module source file.Gravatar Peter Powell2018-04-226-3/+35
|
* Replace ERR_{NOCTCPALLOWED,WORDFILTERED} with ERR_CANNOTSENDTOCHAN.Gravatar Peter Powell2018-04-222-2/+2
| | | | | | There is no reason for these responses to have their own numerics when other modules do not. The only thing this does is make life harder for client developers.
* Merge tag 'v2.0.26' into master.Gravatar Peter Powell2018-04-225-2/+49
|\
| * Fix blank instead of empty PART message when a user is shunnedGravatar B00mX0r2018-04-111-1/+1
| |
| * Remove swhois messages set in the oper block on deoper.Gravatar Peter Powell2018-04-091-4/+33
| | | | | | | | Closes #1240.
| * Set User::host before calling ChangeIP()Gravatar Peter Powell2018-04-061-3/+3
| | | | | | | | | | | | ChangeIP() calls SetClientIP() which revalidates whether the user matches an ELine. However, because the hostname has not changed yet the user may incorrectly be marked as non-exempt.
| * Update the GeoIP ExtItem when CGI:IRC sets the real IP (#1471)Gravatar genius30002018-03-301-1/+8
| | | | | | | | | | | | | | | | | | Since CGI:IRC calls it's 'ChangeIP()' either from 'OnCheckReady()' or 'OnUserRegister()', both of which are called after the user has sent NICK/USER, we can safely skip re-setting the ExtItem prior to this point. This skips the first 'OnSetUserIP()' from 'User::AddUser()' as the 'OnSetConnectClass()' catch handles the initial setting.
| * m_ssl_openssl: Remove deprecated API members.Gravatar Wade Cline2018-03-021-3/+12
| | | | | | | | Backported from 2afc1af4639ae2bbef397f4f6acc834950017d91.
| * Revert std::set changes and add duplicate checking in m_banredirect instead, ↵Gravatar linuxdaemon2018-01-251-11/+18
| | | | | | | | as requested by @Adam-
| * Fix comparator logic for ordering by channelGravatar linuxdaemon2018-01-251-3/+3
| |
| * Make sure banredirect metadata can not be duplicatedGravatar linuxdaemon2018-01-251-3/+11
| |
| * m_chanhistory: optionally exempt bots from receiving history.Gravatar Michael Hazell2017-12-311-0/+5
| | | | | | | | | | | | | | | | Sending history to some bots can cause problems as without the IRCv3 chathistory batch they have no way of knowing what messages are history and what they should respond to. Closes #1450.
| * Always store something in the cgiirc hostname extension.Gravatar Peter Powell2017-12-201-7/+3
| | | | | | | | | | | | | | This is used by modules like m_sasl to send the cgiirc hostname to services so it should contain something valid. Closes #1438.
| * Fix m_spanningtree sending the wrong setter in S2S ADDLINE.Gravatar Peter Powell2017-12-151-1/+1
| |
| * Fix m_xline_db storing the wrong setter in the XLine database.Gravatar Peter Powell2017-12-151-1/+1
| |
* | Optionally do not notify users if their messages are blocked by certain ↵Gravatar Robby2018-04-203-8/+36
| | | | | | | | | | modules (#1134). Closes #711.
* | Rewrite m_denychans.Gravatar Peter Powell2018-04-171-66/+120
| | | | | | | | | | | | | | | | | | | | | | - The configuration is now validated on ReadConfig and parsed into objects. - Allow redirecting to channels that don't yet exist. There is no technical reason to not allow this and I believe that it would be a lot less confusing to users if we allowed this. - Flatten a bunch of nested if statements.
* | Convert some usages of ato[il] to use ConvToNum.Gravatar Peter Powell2018-04-173-8/+10
| |
* | Fix m_ircv3_sts not having the VF_VENDOR flag set.Gravatar Peter Powell2018-04-161-1/+1
| |
* | Call OnUserMessageBlocked when a PRIVMSG or a NOTICE is blocked.Gravatar Peter Powell2018-04-161-0/+7
| | | | | | | | | | | | This is necessary to allow m_ircv3_echomessage to pretend that a message was echoed successfully. This is useful as it doesn't let spammers know that their message was blocked.
* | Add ConfigTag::getUInt for reading unsigned config values.Gravatar Peter Powell2018-04-1627-51/+48
| |
* | Convert ConfigTag::getDuration to return an unsigned long.Gravatar Peter Powell2018-04-166-11/+13
| |
* | Remove the default value in ConfigTag::get{Duration,Float,Int}.Gravatar Peter Powell2018-04-166-17/+14
| |
* | Use an oper priv instead of a config flag for overriding nonicks.Gravatar Peter Powell2018-04-161-7/+1
| |
* | Use an oper priv instead of a config flag for overriding callerid.Gravatar Peter Powell2018-04-161-3/+1
| |
* | Replace the remaining use of irc::string with irc::find.Gravatar Peter Powell2018-04-161-9/+10
| |
* | Fix customprefix modes not being deleted when the module unloads.Gravatar Peter Powell2018-04-141-0/+1
| |
* | Change some usage of "gecos" to "real name"Gravatar genius30002018-04-115-10/+10
| | | | | | | | | | | | Within the example configs, helpops, some server sent messages, and simple code comments: change the primary usage of "gecos" to "real name" (or "realname" where fitting).
* | Change ServerInfo::gecos to descriptionGravatar genius30002018-04-113-5/+5
| |
* | Include modules/whois.h directly from files that use it.Gravatar Peter Powell2018-04-0812-0/+12
| |
* | Move OnStats from the core to a cross-module event.Gravatar Peter Powell2018-04-0810-17/+42
| | | | | | | | | | Some core code still exists in the XLine system but this will be replaced when the XLine system is replaced later.
* | Fix some more oversights in m_geoip.Gravatar Peter Powell2018-04-071-2/+8
| | | | | | | | | | | | | | - Add the G: extban to the EXTBAN 005 token. - Use CXX11_OVERRIDE with ReadConfig and OnCheckBan. Thanks to @genius3000 for pointing these out.
* | Fix disabling the GeoIP extban in m_geoip.Gravatar Peter Powell2018-04-071-1/+1
| |
* | m_sqlauth: Allow specifying what hash algos to provide hashes from.Gravatar Daniel Vassdal2018-04-071-10/+62
| | | | | | | | | | | | | | | | | | | | Defaults to md5,sha256 to be compatible with old configs. Adds new parameter `kdf`. If this is set (to e.g. bcrypt), the hash will be compared locally. This requires the password column to be specified in <sqlauth:column>. Closes #741
* | SQL: Add HasColumn() to check if a result contains a named column.Gravatar Daniel Vassdal2018-04-073-3/+53
| |
* | Refactor m_sqloper to be a full opers.conf replacement (#983).Gravatar Dylan Frank2018-04-061-56/+139
| | | | | | m_sqloper now supports dynamic fields, works with m_sslinfo, and works with /stats o.
* | Implement support for banning users from channels by country code.Gravatar Peter Powell2018-04-061-8/+49
| |
* | Validate settings in order in ValidateSettings() (#1475).Gravatar genius30002018-04-061-24/+25
| | | | | | | | | | * Validate the settings in the same order as the parameter syntax * Always validate Lines and Secs regardless of having a Diff * Check Backlog for greater than Max as well as being disabled
* | Move m_sslrehashsignal to the extra directory.Gravatar Peter Powell2018-02-171-0/+0
| | | | | | | | | | This module uses platform-specific behaviour that does not work on Windows.
* | Fix building on Windows (mostly).Gravatar Peter Powell2018-02-171-2/+2
| |
* | Import the anticaps module from inspircd-extras.Gravatar Peter Powell2018-02-071-0/+309
| |
* | Send the ACCEPT and KEYLEN ISUPPORT tokens.Gravatar Peter Powell2018-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | - The ACCEPT=[count] token specifies the maximum amount of nicks which can be added to a m_callerid accept list. This token was added by ircd-ratbox in 3.0.9. - The KEYLEN=[length] token specifies the maximum length of a channel key. This token was added by ircd-ratbox in 3.1 beta. For more info see http://defs.ircdocs.horse/defs/isupport.html
* | Allow the maximum length of a chanfilter message to be configured.Gravatar Peter Powell2018-02-021-4/+14
| |
* | Add names for a bunch of numerics.Gravatar Peter Powell2018-02-0210-36/+102
| |
* | Add ERR_INVALIDMODEPARAM for responding to invalid mode params.Gravatar Peter Powell2018-01-298-21/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently on invalid modes we do a combination of different things: 1. Send a custom mode-specific numeric (which often collides with other modes). 2. Send a server notice. 3. Do absolutely nothing. This new numeric is a generic way of handling invalid parameters when setting a mode that avoids all of the mistakes of the previous behaviour.