aboutsummaryrefslogtreecommitdiff
path: root/include
Commit message (Expand)AuthorAgeFilesLines
* Rework message handling.•••- 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. Gravatar Peter Powell2018-01-063-59/+153
* Fix m_chanhistory sending the history notice directly to the user.•••Closes #1452. Gravatar Peter Powell2018-01-031-0/+5
* Make InspIRCd::Format return std::string instead of const char*.•••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. Gravatar Peter Powell2018-01-033-9/+8
* Get rid of InspIRCd::QuickExit.•••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. Gravatar Peter Powell2017-12-231-5/+0
* Improve and modernize the SQL system API.•••- 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. Gravatar Peter Powell2017-12-221-80/+155
* Fixed misc. instances of ERR_NOSUCHNICK instead of channel numerics•••Per #1122 Gravatar B00mX0r2017-12-222-3/+15
* Rename <security:hidewhois> to <security:hideserver>.•••The previous name was horrible and didn't describe what the setting actually does. Gravatar Peter Powell2017-12-221-3/+2
* Add SHUN as a /filter action•••This resolves #483 Gravatar B00mX0r2017-12-211-0/+70
* Extract RFC modes from the core to core_channel and core_user.Gravatar Peter Powell2017-12-102-122/+0
* Clean up numeric usage in WHOIS and WHOWAS.•••- 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. Gravatar Peter Powell2017-12-091-4/+0
* Move OnSync{Channel,Network,User} to ServerEventListener.Gravatar Peter Powell2017-12-032-33/+24
* Rename the spanningtree module header to server.•••In the future we will have server linking modules that are not the spanningtree module. Gravatar Peter Powell2017-12-031-3/+3
* Convert the remaining things away from the caller/handler API.Gravatar Peter Powell2017-11-254-376/+10
* Convert GenRandom to std::function.Gravatar Peter Powell2017-11-251-6/+8
* Convert IsChannel to std::function.Gravatar Peter Powell2017-11-251-7/+9
* Convert IsIdent to std::function.Gravatar Peter Powell2017-11-251-7/+9
* Convert IsNick to std::function.Gravatar Peter Powell2017-11-252-7/+10
* Add the override keyword in places that it is missing.•••GCCs warnings for this are much better than Clangs. Gravatar Peter Powell2017-11-2117-79/+79
* Fix a ton of -Wsign-conversion warnings.Gravatar Peter Powell2017-11-1710-21/+26
* Add events which are fired when a service is added or deleted.Gravatar Attila Molnar2017-11-161-0/+11
* Add a class which encapsulates the concept of token lists.Gravatar Peter Powell2017-11-132-3/+68
* Unite SSL service providers and SSL profile classesGravatar Attila Molnar2017-11-131-2/+2
* Merge tag 'v2.0.25' into master.Gravatar Peter Powell2017-11-121-1/+1
|\
| * Fix the command table not being case insensitive.•••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. Gravatar Peter Powell2017-10-161-1/+5
* | Implement support for draft-brocklesby-irc-isupport-03 escapes.Gravatar Peter Powell2017-11-091-0/+6
* | Enable using m_customprefix to alter core prefix modes.•••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"> Gravatar Peter Powell2017-11-061-0/+9
* | Move depriv from m_customprefix into PrefixMode.Gravatar Peter Powell2017-11-062-0/+20
* | Add support for setting the unset rank in ModeHandler.Gravatar Peter Powell2017-11-062-8/+15
* | Add support to IOHook for retrieving the hostname sent via SNI.Gravatar Peter Powell2017-10-291-0/+7
* | Hide User#host and User#dhost and use accessors to modify them.•••This removes the need to invalidate the cache after changing a user's hostname. Gravatar Peter Powell2017-10-282-18/+27
* | Change SetClientIP to take a C++ string instead of a char array.Gravatar Peter Powell2017-10-271-2/+2
* | Deduplicate error handling in the socket engines.Gravatar Peter Powell2017-10-221-0/+3
* | Convert GetMaxFds() to size_t and deduplicate setting code.Gravatar Peter Powell2017-10-221-8/+11
* | Remove CMD_EPERM as it is not used anywhere.Gravatar Peter Powell2017-10-211-6/+9
* | Tweak the module flags in MODULES slightly.•••Using unique letters for each flag makes it easier to read when using fonts which have similar glyphs for upper and lower case characters. Gravatar Peter Powell2017-10-211-8/+17
* | Add a helper function for calling the OnCheckExemption event.Gravatar Peter Powell2017-10-211-0/+17
* | Add a constructor to OperInfo and use it to set the type name.Gravatar Peter Powell2017-10-181-0/+5
* | Clean up OnCleanup.•••- 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. Gravatar Peter Powell2017-10-181-9/+8
* | Clean up the command disabling logic.•••- 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. Gravatar Peter Powell2017-10-171-7/+2
* | Merge the latest changes from insp20 into master.Gravatar Peter Powell2017-10-121-2/+0
|\|
| * Use DLLManager::RetrieveLastError() on all platforms.•••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. Gravatar Peter Powell2017-08-261-2/+0
* | Fix RPL_SERVERVERSION treating the modes as a single parameter.Gravatar Peter Powell2017-10-041-4/+4
* | Convert Disabled[CU]Modes to use a bitset instead of a char array.Gravatar Peter Powell2017-09-181-2/+2
* | Add ModeParser::IsModeChar to standardise mode validation.Gravatar Peter Powell2017-09-181-0/+2
* | Raise the default listmode limit to 100 from 64.•••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. Gravatar Peter Powell2017-09-141-1/+1
* | Change FailedPortList to store a sockaddrs/int instead of string.Gravatar Peter Powell2017-09-122-3/+3
* | Store the server endpoint as a sockaddrs in ListenSocket.Gravatar Peter Powell2017-09-121-4/+1
* | Get rid of irc::sockets::satoap().•••This function is being misused in all but one scenario. It isn't really worth keeping IMO. Gravatar Peter Powell2017-09-121-8/+0
* | Move operquit out of the core and into core_user.Gravatar Peter Powell2017-09-111-4/+0
* | Implement support for configurable casemapping & default to ASCII.Gravatar Peter Powell2017-09-081-0/+4