summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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 range checking to ConfigTag::getFloat.Peter Powell
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-16Convert ConfigTag::CheckRange to a function template.Peter Powell
2018-04-16Remove the default value in ConfigTag::get{Duration,Float,Int}.Peter Powell
2018-04-16Replace the remaining use of irc::string with irc::find.Peter Powell
2018-04-11Change ServerInfo::gecos to descriptiongenius3000
2018-04-08Fix an invalid mode parameters numeric upon attempting to view a list modeB00mX0r
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-07SQL: Add HasColumn() to check if a result contains a named column.Daniel Vassdal
2018-03-31Move <security:announceinvites> to core_channel.Peter Powell
2018-03-29Ignore expired or invalid client certificates (#1468).Dylan Frank
Fixes #1345.
2018-03-25Separate secret and private channels on whois for non-opers (#1447)Dylan Frank
Separate secret and private channels on WHOIS for all users. - Move the config parsing from the core to core_whois. - Replace <security:operspywhois> with an oper privilege. - Introduce <options:splitwhois> to split WHOIS channel lists. Closes #969.
2018-02-17Fix building on Windows (mostly).Peter Powell
2018-02-02Add names for a bunch of numerics.Peter Powell
2018-01-29Add ERR_INVALIDMODEPARAM for responding to invalid mode params.Peter Powell
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.
2018-01-20Pass an irc::socket::sockaddrs to SocketEngine::SendTo().Peter Powell
2018-01-20Pass an irc::socket::sockaddrs to SocketEngine::Connect().Peter Powell
2018-01-14Fix some minor Doxygen errors.Peter Powell
2018-01-06Rework message handling.Peter Powell
- Move all message-related types to their own header to make moving them to a cross-module events easier. - Rename OnUserMessage to OnUserPostMessage. - Rename OnText to OnUserMessage. - Replace the dest, target_type, and status parameters with the MessageTarget class. - Replace the text, exempt_list, and msgtype parameters with the MessageDetails struct. - Add echooriginal and originaltext to the MessageDetails struct to allow spam filtering to not be broken by cap echo-message.
2018-01-03Fix m_chanhistory sending the history notice directly to the user.Peter Powell
Closes #1452.
2018-01-03Make InspIRCd::Format return std::string instead of const char*.Peter Powell
Using the latter is problematic as if you don't copy the return value before calling Format again your formatted message will be overwritten by something else. This bug was observed in m_callerid where InspIRCd::Format was being used for formatting two arguments the latter of which was being overwritten with the former. We could have preserved the return type and just copied the string but then callers would have had to deallocate the string once they have finished with it which is an undesirabable burden to put on callers.
2017-12-23Get rid of InspIRCd::QuickExit.Peter Powell
This is just a thin wrapper around exit(). I don't think we really need it. While we are changing this code the setgroup/setuser code should be using EXIT_STATUS_CONFIG too.
2017-12-22Improve and modernize the SQL system API.Peter Powell
- Move everything into the SQL namespace and drop the SQL prefix. - Move SQLProvider::PopulateUserInfo to SQL::PopulateUserInfo. - Rename SQLEntry to SQL::Field and clean up. - Rename SQLEntries to SQL::Row. - Rename SQLerror to SQL::Error and clean up. - Rename SQLerrorNum to SQL::ErrorCode and drop the SQL_ prefix. - Rename ParamL to SQL::ParamList. - Rename ParamM to SQL::ParamMap; - Make implementing SQLQuery::OnError mandatory. - Redo most of the documentation in the sql header.
2017-12-22Fixed misc. instances of ERR_NOSUCHNICK instead of channel numericsB00mX0r
Per #1122
2017-12-22Rename <security:hidewhois> to <security:hideserver>.Peter Powell
The previous name was horrible and didn't describe what the setting actually does.
2017-12-21Add SHUN as a /filter actionB00mX0r
This resolves #483
2017-12-10Extract RFC modes from the core to core_channel and core_user.Peter Powell
2017-12-09Clean up numeric usage in WHOIS and WHOWAS.Peter Powell
- Add constants for all of the used numerics. - Switch RPL_CHANNELSMSG from 336 to 651 to avoid a conflict with RPL_INVITELIST from ircd-hybrid. - Switch RPL_WHOWASIP from 379 to 652 to avoid a conflict with RPL_WHOISMODES from UnrealIRCd.
2017-12-03Move OnSync{Channel,Network,User} to ServerEventListener.Peter Powell
2017-12-03Rename the spanningtree module header to server.Peter Powell
In the future we will have server linking modules that are not the spanningtree module.
2017-11-25Convert the remaining things away from the caller/handler API.Peter Powell
2017-11-25Convert GenRandom to std::function.Peter Powell
2017-11-25Convert IsChannel to std::function.Peter Powell
2017-11-25Convert IsIdent to std::function.Peter Powell
2017-11-25Convert IsNick to std::function.Peter Powell
2017-11-21Add the override keyword in places that it is missing.Peter Powell
GCCs warnings for this are much better than Clangs.
2017-11-17Fix a ton of -Wsign-conversion warnings.Peter Powell
2017-11-16Add events which are fired when a service is added or deleted.Attila Molnar
2017-11-13Add a class which encapsulates the concept of token lists.Peter Powell
2017-11-13Unite SSL service providers and SSL profile classesAttila Molnar
2017-11-12Merge tag 'v2.0.25' into master.Peter Powell
2017-11-09Implement support for draft-brocklesby-irc-isupport-03 escapes.Peter Powell
2017-11-06Enable using m_customprefix to alter core prefix modes.Peter Powell
This replaces the devoice module which has now been removed. If you want users to be able to devoice themselves then you can load the customprefix module add the following config tag: <customprefix name="voice" depriv="yes"> If you wish to keep identical behaviour rather than allowing users to use "MODE #YourChannel -v TheirNick" then you can load the alias module and add the following config tag: <alias text="DEVOICE" format="#*" replace="MODE $2 -v $nick">
2017-11-06Move depriv from m_customprefix into PrefixMode.Peter Powell
2017-11-06Add support for setting the unset rank in ModeHandler.Peter Powell
2017-10-29Add support to IOHook for retrieving the hostname sent via SNI.Peter Powell
2017-10-28Hide User#host and User#dhost and use accessors to modify them.Peter Powell
This removes the need to invalidate the cache after changing a user's hostname.