summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-12-11Add optional oper override umode +O.B00mX0r
2017-12-11Ensure that ModeParser doesn't try to process a non-existent mode.B00mX0r
This fixes #1431 and closes #1432.
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-28Use ERR_INVALIDUSERNAME rather than ERR_NEEDMOREPARAMS in USER.Peter Powell
This numeric is a lot more friendly for clients to deal with.
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-27Assume that RUSAGE_SELF is always defined.Peter Powell
This was added for Red Hat 7 which was released in 2000(!) which nobody should be using anymore.
2017-11-26Fix m_cloaking umode syncingB00mX0r
Servers will now correctly show whether a remote user has +x or not.
2017-11-26Fix action extbans not triggeringB00mX0r
This fixes a reversion from ebe5b20
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-25Fix a minor typo in core_channel.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-20Inherit non-core connect class settings properly.Peter Powell
Based partially on a patch by Attila.
2017-11-17Improve LIST and implement more extended list features.Peter Powell
- Move the ISUPPORT token from the core into core_user and start sending the SAFELIST token to let clients know that they can safely run LIST on big servers. - Add support for the channel creation time (C), topic set time (T), and inverted glob match (N) filters as specified in the draft-hardy-irc-isupport-00 specification. - Clean up the logic for filtering channels by user count.
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-13Release v3.0.0 alpha 3.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-12Release v2.0.25Peter 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-09Allow spaces in the network name now it doesn't cause problems.Peter Powell
This will not cause any compatibility issues as we do not rely on this attribute internally.
2017-11-09Implement support for draft-brocklesby-irc-isupport-03 escapes.Peter Powell
2017-11-06Improve (synchronize) the notices in m_timedbansgenius3000
* Send to remote servers upon setting * Send to halfop if available upon expiry
2017-11-06Merge pull request #1359 from genius3000/insp20+sasl_no_serverPeter Powell
2.0: Inform the client when a SASL message cannot be sent
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-06Clean up the configuration reading in m_customprefix.Peter Powell
- Rework the code flow to be more readable. - Ensure that the name is well formed. - Allow prefix modes with a rank of zero.
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-11-05Inform the client when a SASL message cannot be sentgenius3000
When SASL is properly configured with a 'target' server, we are able to inform the client when the message fails to send. Currently if a target is configured and it is offline, no response is sent. This can cause some clients to time out while waiting for a response. If a target isn't configured, behaviour will not change with this commit. The default of '*' will still send to all servers. Updated example config with 'target' variable.
2017-11-06Fix an unhandled exception crash when rehashing modules.Peter Powell
Previously we used FOREACH_MOD to call OnRehash which handled any thrown exceptions. When we switched to ReadConfig this stopped being the case. This bug was introduced in c202dea024.