summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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.
2017-10-27Change SetClientIP to take a C++ string instead of a char array.Peter Powell
2017-10-22Deduplicate error handling in the socket engines.Peter Powell
2017-10-22Convert GetMaxFds() to size_t and deduplicate setting code.Peter Powell
2017-10-21Remove CMD_EPERM as it is not used anywhere.Peter Powell
2017-10-21Tweak the module flags in MODULES slightly.Peter Powell
Using unique letters for each flag makes it easier to read when using fonts which have similar glyphs for upper and lower case characters.
2017-10-21Add a helper function for calling the OnCheckExemption event.Peter Powell
2017-10-18Add a constructor to OperInfo and use it to set the type name.Peter Powell
2017-10-18Clean up OnCleanup.Peter Powell
- Switch to using ExtensionItem::ExtensibleType for the type instead of TargetTypeFlags. - Pass the extensible to OnCleanup as an Extensible pointer instead of a void pointer. - Call OnCleanup for memberships as well as channels and users. - Rewrite event documentation to remove outdated references.
2017-10-17Clean up the command disabling logic.Peter Powell
- Read the disabled command list in ApplyDisabledCommands() instead of storing it in a global which is only accessed on rehash. - Write debug messages to the log when disabling commands. - Use irc::spacesepstream instead of std::stringstream.
2017-10-16Fix the command table not being case insensitive.Peter Powell
This is not an issue normally but in some circumstances (e.g. when disabling commands) it can result in command lookups failing even when they exist.
2017-10-12Merge the latest changes from insp20 into master.Peter Powell
2017-10-04Fix RPL_SERVERVERSION treating the modes as a single parameter.Peter Powell
2017-09-18Convert Disabled[CU]Modes to use a bitset instead of a char array.Peter Powell
2017-09-18Add ModeParser::IsModeChar to standardise mode validation.Peter Powell
2017-09-14Raise the default listmode limit to 100 from 64.Peter Powell
64 is a rather restrictive limit especially considering how fast channels can accumulate bans. In fact, #InspIRCd hit the ban limit in just over a year. Having a low limit might have made sense when memory was expensive but the average IRC server should be able to handle this fine now.
2017-09-12Change FailedPortList to store a sockaddrs/int instead of string.Peter Powell
2017-09-12Store the server endpoint as a sockaddrs in ListenSocket.Peter Powell
2017-09-12Get rid of irc::sockets::satoap().Peter Powell
This function is being misused in all but one scenario. It isn't really worth keeping IMO.
2017-09-11Move operquit out of the core and into core_user.Peter Powell
2017-09-08Implement support for configurable casemapping & default to ASCII.Peter Powell
2017-09-06Move RPL_SYNTAX to 650 to prevent a collision with RPL_TEXT.Peter Powell
Also move the command name to a parameter so that it is more easily parseable by software.
2017-09-06Convert uncontroversial anonymous numerics to use constants.Peter Powell
2017-09-06Change the numerics used by /COMMANDS to avoid a collision.Peter Powell
2017-09-03Add support for length arguments in getString.Peter Powell
2017-09-03Move <dns:timeout> out of the core.Peter Powell
2017-09-03Add a ConfigTag* parameter to the ServerPaths constructor.Peter Powell
This is used to directly read the settings from the config tag like how ServerLimits works.
2017-08-27Update a bunch of references to the old command modules.Peter Powell
2017-08-26Use DLLManager::RetrieveLastError() on all platforms.Peter Powell
This prevents a bug where we send malformed messages to the client when dlerror() returns an error message containing more than one line. This has been observed on macOS but probably will happen on other UNIX systems too. This also fixes a potential problem where dlerror() returns NULL and converting it to std::string causes a crash. I can't see any way that this might happen but it is better to be safe than sorry.
2017-08-26Remove some outdated documentation from the SocketEngine class.Peter Powell