aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Release v3.0.0 alpha 8. v3.0.0a8Gravatar Peter Powell2018-07-151-1/+1
|
* Merge branch 'insp20' into master.Gravatar Peter Powell2018-07-152-2/+1
|\
| * Clean up the WHO helpop documentation.Gravatar Peter Powell2018-07-121-1/+1
| |
| * Fix replying with the source user in oper-restricted WHO lookups.Gravatar Peter Powell2018-07-111-3/+1
| |
| * Fix invalid conversion from 'const char*' to 'char*' on FreeBSD.Gravatar Peter Powell2018-06-081-1/+1
| |
* | 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).
* | Implement support for the WHOX extension.Gravatar Peter Powell2018-07-121-282/+469
| | | | | | | | | | | | | | | | This is a massive rewrite of core_who which was initially developed by Adam in 2014. I have rebased and cleaned it up and tightened up compliance with the specifications. Co-authored-by: Adam <Adam@anope.org>
* | Switch core_dns validation to use InspIRCd::IsHost.Gravatar Peter Powell2018-07-101-6/+1
| |
* | Switch <server:name> validation to use InspIRCd::IsHost.Gravatar Peter Powell2018-07-101-22/+1
| |
* | Add InspIRCd::IsHost for checking the validity of hostnames.Gravatar Peter Powell2018-07-101-0/+59
| |
* | Add a ConfigTag::getString overload that calls a validation method.Gravatar Peter Powell2018-07-101-0/+15
| |
* | Allow exempting of registered users from securelist.Gravatar Peter Powell2018-07-101-1/+9
| |
* | Add a silent option to <options:restrictbannedusers>.Gravatar Peter Powell2018-07-103-6/+17
| | | | | | | | | | This is useful when dealing with spambots that switch method when they receive ERR_CANNOTSENDTOCHAN.
* | Use !empty() instead of 'size() > 0' when checking parameter count.Gravatar B00mX0r2018-07-034-5/+5
| |
* | Allow relative paths to be passed in --config on boot.Gravatar Peter Powell2018-06-251-1/+10
| | | | | | | | Closes #1115.
* | Add --nopid command line option (#1497).Gravatar Chris Novakovic2018-06-041-2/+10
| | | | | | | | | | | | Add a --nopid command line option, which causes a PID file not to be written to the file system regardless of the presence of the <pid> tag in the configuration file or the value of its "file" variable if it is present.
* | Improve support for MOTD escape codes.Gravatar Peter Powell2018-04-221-13/+14
| | | | | | | | | | | | | | | | | | - Implement escapes for italic, monospace, and strikethrough. - Use the escape codes in the example MOTDs to demonstrate their formatting effects. - Remove support for octal escape codes. In modern computing octal is rarely used and is confusing for users who might confuse it for decimal.
* | Always process MOTD formatting escape codes.Gravatar Peter Powell2018-04-223-8/+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.
* | 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
| |