summaryrefslogtreecommitdiff
path: root/src/modules
AgeCommit message (Collapse)Author
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-03Improve the method that blockcaps uses to block messages.Peter Powell
Previously it had a list of upper case letters and assumed that all other characters were lower case. This method is flawed as it can be evaded by using non-alphanumeric characters. The new method takes a list of lower case letters as well as upper case letters and ignores any letters which are not listed in one of the two lists. The majority of the code for this was borrowed from the m_anticaps module in inspircd-extras.
2018-01-03Fix m_chanhistory sending the history notice directly to the user.Peter Powell
Closes #1452.
2017-12-31Increase the config default for <chanhistory:maxlines> to 50.Peter Powell
2017-12-29Don't hardcode mode characters which are sent in 005 tokens.Peter Powell
2017-12-27Fix various issues with the cgiirc module.Peter Powell
- Respect the value of <cgiirc:opernotice> when sending snotices to operators. - Write to the log file if opernotice is disabled. - Log to the correct snomask in all cases. This was caused by an oversight when merging insp20 into master. - Replace the full user mask in log messages with a uuid/ip. The WEBIRC command is sent as the first command so there will not be a nickname or username at this point.
2017-12-23Use a bitset in blockcaps instead of a char array.Peter Powell
2017-12-23Use a bitset in chghost/sethost instead of a char array.Peter Powell
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-21Add SHUN as a /filter actionB00mX0r
This resolves #483
2017-12-21Merge pull request #1370 from clinew/insp30+openssl-crlPeter Powell
Add OpenSSL CRLs.
2017-12-20Merge pull request #1444 from B00mX0r/master+missingsnoPeter Powell
Add snomask alert on m_filter quit/part G-Line
2017-12-19Clarify error message when attempting to /NICK while bannedB00mX0r
2017-12-19Add snomask alert on m_filter quit/part G-LineB00mX0r
Resolves an oversight of #1264
2017-12-19Show server versions in /MAP for opersB00mX0r
This resolves #1203
2017-12-16Only show a duration in m_chanhistory's notice if one is set.Peter Powell
Closes #1235.
2017-12-16Remove usage of deprecated API members in m_ssl_openssl.Peter Powell
Closes #1440.
2017-12-14Add OpenSSL CRLs.Wade Cline
The 'crlfile' argument can point to a file that contains valid CRLs. The 'crlpath' argument can point to a directory which contains CRLs, albeit in OpenSSL's special hashed/symlink format. The 'crlmode' option 'chain' checks all certificates in the chain while the option 'leaf' checks only the leaf certificate in a chain.
2017-12-11Merge branch 'insp20' into master.Peter Powell
2017-12-11Add optional oper override umode +O.B00mX0r
2017-12-10Require that the services server be configured in <sasl:target>.Peter Powell
Closes #1430.
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-09Add names for a bunch more numerics.Peter Powell
2017-12-03Clean up m_password_hash slightly.Peter Powell
- Get rid of MakeHash and inline the logic into the actual handler. - Return CMD_FAILURE when password hashing fails for some reason. - Change the module name and description to be more accurate.
2017-12-03Send a snotice when m_filter kills or G-Lines a client.ThatOneRoadie
Closes #1264.
2017-12-03Add SSL cert info to connect class debug log.Christopher 'm4z' Holm
Closes #634.
2017-12-03Removed config option for +L redirect.Shawn Smith
Closes #466.
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-12-03Merge pull request #1417 from B00mX0r/master+fix_1416Peter Powell
Fix m_cloaking umode desync
2017-11-30Bump the minimum versions of GnuTLS to 2.0.0 and OpenSSL to 1.0.0.Peter Powell
Old TLS libraries should not be used anymore due to security risks.
2017-11-30Improve TLS security configuration in m_ssl_openssl.Peter Powell
- Always disable SSLv3. Unreal has already done this so clients will have to upgrade anyway. - Disable TLSv1.0 by default. Various security standards (e.g. PCI DSS) are already planning on sunsetting this so we should too.
2017-11-28Add length checking to GetExtBanStatus and m_banexception.Peter Powell
As far as I can tell this is not a problem as all ban masks are canonicalised but its better to be safe than sorry.
2017-11-26Fix m_cloaking umode syncingB00mX0r
Servers will now correctly show whether a remote user has +x or not.
2017-11-25Convert GenRandom to std::function.Peter Powell
2017-11-25Convert IsChannel 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-13Only subclass Simple{Channel,User}ModeHandler when necessary.Peter Powell
2017-11-13Add the m_ircv3_sts module which implements the IRCv3 STS spec.Peter Powell
2017-11-12Merge tag 'v2.0.25' into master.Peter Powell
2017-11-09Work around removing shuns on nicks when the nick is online.Peter Powell
2017-11-09Revert the code changes to m_sasl made in commit 9d4b4344b4.Peter Powell
This is causing problems such as duplicate 904 messages.
2017-11-06Improve (synchronize) the notices in m_timedbansgenius3000
* Send to remote servers upon setting * Send to halfop if available upon expiry