summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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
2017-08-26Fix a bunch of Doxygen warnings.Peter Powell
2017-08-13Remove <alias:matchcase> and associated code.Peter Powell
This was never documented and seems pretty useless.
2017-07-27Merge pull request #1271 from SaberUK/master+exemptionPeter Powell
Move the OnCheckExemption hook out of the core.
2017-07-24Replace the deprecated MAXBANS token with MAXLIST.Peter Powell
2017-07-24Add DEFAULT_LIST_SIZE for the default list mode size.Peter Powell
2017-07-13Improve the numerics we send in response to MAP.Peter Powell
- Send the same numerics as ircu/ircd-hybrid/charybdis/ratbox/etc. These are much more widespread and predate the Unreal numeric we currently send. - Move RPL_MAPUSERS to 018. This numeric is unused and does not conflict with RPL_PRIVS like our current one does.
2017-07-12Merge pull request #1267 from SaberUK/master+configPeter Powell
Store config values in a map instead of a unique vector of pairs.
2017-07-12Add CXX11_OVERRIDE to overridden members that lack it.Peter Powell
This fixes a ton of warnings when building on compilers that default to C++11 or newer.
2017-07-12Merge pull request #1337 from SaberUK/master+mergePeter Powell
Merge v2.0.23 and v2.0.24 into master.
2017-07-11Improve and centralize socket engine event counters.Robin Burchell
The write counters were close to useless because they were only incremented on a write "event" which is only triggered when writing would block. Read handling was a little more useful in that all reads must happen through the socket engine, so these were happening at the correct time, but we can clean this up by doing it in the SE itself rather than each platform port. This means that both read and write events are now easily and usefully defined as "a syscall of either read or write was attempted". We also count empty read and write events as being an event, because they still were an attempt to poll a socket in some way. This may help to identify "bad" code which is repeatedly trying to read a socket for some reason. Lastly, we check for failed read/write calls, and log them as an error event. A lot of the time, this is how sockets are determined as being disconnected (ie. at read/write time). While we're at it, split Update() in two to make the calls more self-describing. This has no real impact since only one call is made at a time anyway.
2017-07-09Merge v2.0.23 and v2.0.24 into master.Peter Powell
2017-04-23core_dns: add support for txt recordsAdam
This might be used later by m_dnsbl to get reasons for listings
2017-03-20Move the OnCheckExemption hook out of the core.Peter Powell
2017-03-20Fix some compiler warnings.Peter Powell
warning: macro name is a reserved identifier [-Wreserved-id-macro] warning: extra ';' after member function definition [-Wextra-semi]
2017-02-28Allow <log> tags to specify how often logs should be flushed.Peter Powell
Also use the behaviour behind this to fix #1290.
2017-02-04Make the config system case insensitive.Peter Powell
2016-12-30cmd_mode Switch to a numeric for showing modes of other usersAttila Molnar
2016-12-30Clean up User::FormatModes(), rename to GetModeLetters()Attila Molnar
Prefix the returned string with '+'
2016-12-30Make ModeHandler::GetUserParameter() const, accept const UserAttila Molnar
2016-12-30Make all User::IsModeSet() methods const, accept const ModeHandlerAttila Molnar
2016-12-30Deduplicate nickname overruling codeAttila Molnar
Create LocalUser::OverruleNick(), call it from User::ChangeNick() and the UID handler in spanningtree