summaryrefslogtreecommitdiff
path: root/src/modules
AgeCommit message (Collapse)Author
2018-08-10Remove the original line parameter of On{Pre,Post}Command.Peter Powell
In the brave new world of message tags and alternate wire formats this is no longer something that is appropriate to expose. In reality it was only ever used by m_alias which now reconstitutes the command name and parameters into a RFC 1459-style message for whatever it needs to do.
2018-08-10Switch m_xline_db to use the xline snomask character.Peter Powell
2018-08-07Switch m_dnsbl to use its own snomask character.Peter Powell
2018-08-07Remove the 'debug' snotice character.Peter Powell
2018-08-05Make the FJOIN timestamp message easier for users to understand.Peter Powell
2018-07-30Rename User::fullname to realname and make it private.Peter Powell
2018-07-30Replace most usages of "name" with "real" or "real name".Peter Powell
2018-07-30Replace most usages of "GECOS" with "real" or "real name".Peter Powell
2018-07-26Replace irc::stringjoiner with a generic stdalgo::string::join.Peter Powell
This can also be used with different types of collection containing values which are not a string.
2018-07-26Use CommandBase::Params instead of std::vector<std::string>.Peter Powell
This is presently a typedef but will soon be replaced with a class that encapsulates both tags and parameters.
2018-07-26Add a module which implements the HAProxy PROXY v2 protocol.Peter Powell
2018-07-24Make more config stuff case insensitive.Peter Powell
2018-07-24Fix building on Windows.Peter Powell
2018-07-18Initial support for listening on UNIX socket endpoints.Peter Powell
2018-07-18Add the family() member to the sockaddrs union.Peter Powell
2018-07-15Use mysql_real_escape_string instead of mysql_escape string.Peter Powell
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).
2018-07-10Allow exempting of registered users from securelist.Peter Powell
2018-07-03Use !empty() instead of 'size() > 0' when checking parameter count.B00mX0r
2018-04-22Always process MOTD formatting escape codes.Peter Powell
The options for disabling these were added to keep compatibility with previous 2.0 releases and are not needed any more.
2018-04-22Fix some oversights relating to numerics.Peter Powell
- ERR_CANNOTSENDTOCHAN only takes the channel name and a message. - ERR_INVALIDCAPCMD is 410 not 232.
2018-04-22Move a bunch of optional module numerics to the module source file.Peter Powell
2018-04-22Replace ERR_{NOCTCPALLOWED,WORDFILTERED} with ERR_CANNOTSENDTOCHAN.Peter Powell
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.
2018-04-22Merge tag 'v2.0.26' into master.Peter Powell
2018-04-20Optionally do not notify users if their messages are blocked by certain ↵Robby
modules (#1134). Closes #711.
2018-04-17Rewrite m_denychans.Peter Powell
- 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.
2018-04-17Convert some usages of ato[il] to use ConvToNum.Peter Powell
2018-04-16Fix m_ircv3_sts not having the VF_VENDOR flag set.Peter Powell
2018-04-16Call OnUserMessageBlocked when a PRIVMSG or a NOTICE is blocked.Peter Powell
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.
2018-04-16Add ConfigTag::getUInt for reading unsigned config values.Peter Powell
2018-04-16Convert ConfigTag::getDuration to return an unsigned long.Peter Powell
2018-04-16Remove the default value in ConfigTag::get{Duration,Float,Int}.Peter Powell
2018-04-16Use an oper priv instead of a config flag for overriding nonicks.Peter Powell
2018-04-16Use an oper priv instead of a config flag for overriding callerid.Peter Powell
2018-04-16Replace the remaining use of irc::string with irc::find.Peter Powell
2018-04-14Fix customprefix modes not being deleted when the module unloads.Peter Powell
2018-04-11Fix blank instead of empty PART message when a user is shunnedB00mX0r
2018-04-11Change some usage of "gecos" to "real name"genius3000
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).
2018-04-11Change ServerInfo::gecos to descriptiongenius3000
2018-04-09Remove swhois messages set in the oper block on deoper.Peter Powell
Closes #1240.
2018-04-08Include modules/whois.h directly from files that use it.Peter Powell
2018-04-08Move OnStats from the core to a cross-module event.Peter Powell
Some core code still exists in the XLine system but this will be replaced when the XLine system is replaced later.
2018-04-07Fix some more oversights in m_geoip.Peter Powell
- Add the G: extban to the EXTBAN 005 token. - Use CXX11_OVERRIDE with ReadConfig and OnCheckBan. Thanks to @genius3000 for pointing these out.
2018-04-07Fix disabling the GeoIP extban in m_geoip.Peter Powell
2018-04-07m_sqlauth: Allow specifying what hash algos to provide hashes from.Daniel Vassdal
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
2018-04-07SQL: Add HasColumn() to check if a result contains a named column.Daniel Vassdal
2018-04-06Set User::host before calling ChangeIP()Peter Powell
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.
2018-04-06Refactor m_sqloper to be a full opers.conf replacement (#983).Dylan Frank
m_sqloper now supports dynamic fields, works with m_sslinfo, and works with /stats o.
2018-04-06Implement support for banning users from channels by country code.Peter Powell
2018-04-06Validate settings in order in ValidateSettings() (#1475).genius3000
* 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
2018-03-30Update the GeoIP ExtItem when CGI:IRC sets the real IP (#1471)genius3000
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.