aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Release v3.0.0 alpha 7. v3.0.0a7Gravatar Peter Powell2018-04-221-1/+1
|
* 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-228-6/+51
|\
| * Release v2.0.26 v2.0.26Gravatar Peter Powell2018-04-201-1/+1
| |
| * 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-093-4/+35
| | | | | | | | Closes #1240.
| * Fix ELine::Matches returning false on existing matchGravatar genius30002018-04-061-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When checking for an E-Line match, we want to actually check for a current match even if we previously matched and are set exempt. This fixes situations where you have an E-Lined CGI:IRC address, a G-Lined IP range for some area/host/etc and a smaller E-Lined IP range for known good clients. Currently when CGI:IRC changes the IP, E-Lines are rechecked but because the user is already exempt (from the CGI:IRC E-Line), they are set no longer exempt and match a G-Line, when they should match an E-Line. This exact change has been done before in commit 'c8b344e' and shortly reverted in 'c490a90' to fix issue #989 (CGI:IRC users remaining exempt when the CGI:IRC address is E-Lined but they are not). The actual cause to this issue was likely that the user's hostname was not changed from the CGI:IRC hostname/IP prior to rechecking E-Lines. This is being fixed in a separate commit.
| * 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.
* | Tell the rehasher if an exception is thrown by a module on rehash.Gravatar Peter Powell2018-04-171-0/+2
| |
* | 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-163-0/+17
| | | | | | | | | | | | 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 range checking to ConfigTag::getFloat.Gravatar Peter Powell2018-04-162-3/+6
| |
* | Add ConfigTag::getUInt for reading unsigned config values.Gravatar Peter Powell2018-04-1633-83/+97
| |
* | Convert ConfigTag::getDuration to return an unsigned long.Gravatar Peter Powell2018-04-167-13/+15
| |
* | Extract ConfigTag::getInt magnitude logic to a function template.Gravatar Peter Powell2018-04-161-12/+39
| |
* | Convert ConfigTag::CheckRange to a function template.Gravatar Peter Powell2018-04-161-12/+26
| |
* | Remove the default value in ConfigTag::get{Duration,Float,Int}.Gravatar Peter Powell2018-04-168-19/+16
| |
* | 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-162-61/+42
| |
* | 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-116-11/+11
| | | | | | | | | | | | 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
| |
* | Optimize some behaviour in the core (#1476).Gravatar Dylan Frank2018-04-093-9/+12
| |
* | Fix an invalid mode parameters numeric upon attempting to view a list modeGravatar B00mX0r2018-04-081-0/+4
| |
* | Include modules/whois.h directly from files that use it.Gravatar Peter Powell2018-04-0813-0/+13
| |
* | Move OnStats from the core to a cross-module event.Gravatar Peter Powell2018-04-0814-22/+60
| | | | | | | | | | 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-062-59/+142
| | | | | | 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
* | Prioritize checking for +ikl last to match previous behavior (#1474).Gravatar Dylan Frank2018-03-311-0/+1
| |
* | Move <security:announceinvites> to core_channel.Gravatar Peter Powell2018-03-314-15/+35
| |
* | Move checking for +ikl from the core to to core_channel.Gravatar Peter Powell2018-03-312-38/+49
| |