summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-15Rewrite m_httpd_config.Peter Powell
- Send the configuration as plain text instead of HTML. - Show the location where each tag was located in a comment. - Indent configuration keys consistently so they are easy to read.
2018-08-15Fix aliases that resolve to messages echoing with echo-message.Peter Powell
Fixes #1459.
2018-08-15Fix m_alias not reconstituting the RFC message properly.Peter Powell
2018-08-14Fix a bunch more conflicting/unnamed numerics.Peter Powell
2018-08-14Convert CLONES to use its own numeric and batch the replies.Peter Powell
2018-08-14Fix some bugs in cidr_mask::str().Peter Powell
- Fix a missing break statement causing unintentional fallthrough. - Cast the length to an int to avoid interpreting as a character.
2018-08-14Convert m_bcrypt to use a vendored library instead of bundling.Peter Powell
2018-08-14Add support for vendoring dependencies.Peter Powell
2018-08-14Rename OnChangeLocalUserHost to OnPreChangeHost for consistency.Peter Powell
2018-08-14Remove the OnInfo event.Peter Powell
This is not used by anything and On{Post,Pre}Command hooks can be used if people really want to add stuff to INFO.
2018-08-13Replace all references to IRCv3.2 with IRCv3.Peter Powell
IRCv3 no longer does versioned releases.
2018-08-13Add support for the IRCv3 batch specification.Peter Powell
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13Add support for the IRCv3 server-time specification.Peter Powell
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13Add support for the IRCv3 account-tag specification.Peter Powell
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13Implement IRCv3 message tag support.Peter Powell
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13Add an accessor for the last mode change list to ModeParser.Peter Powell
GetLastParse will be going away soon.
2018-08-12Convert AWAY to use cross-module events and clean up slightly.Peter Powell
OnSetAway has been replaced with four events. OnUserPreAway and OnUserPreBack can be used to deny an away state change and/or change the away message of a local user. OnUserAway and OnUserBack allow modules to be notified that a user's away state has changed.
2018-08-12Pass the Extensible container to ExtensionItem::free().Peter Powell
2018-08-10Move message parsing to ProcessBuffer and fix edge cases in it.Peter Powell
2018-08-10Split irc::tokenparser::GetToken into GetMiddle and GetTrailing.Peter Powell
This simplifies the logic of irc::tokenparser considerably and removes all of the magic index guessing that was used previously.
2018-08-10Remove the integer overloads of irc::tokenparser::GetToken().Peter Powell
The int overload was never used and the long overload was used in one place.
2018-08-10Parse CAPAB CAPABILITIES and FJOIN messages with spacesepstream.Peter Powell
Special tokenisation rules are not necessary here.
2018-08-10Remove the original line parameter of On{Pre,Post}Command.Peter Powell
In the brave new world of message tags and alternate wire formats this is no longer something that is appropriate to expose. In reality it was only ever used by m_alias which now reconstitutes the command name and parameters into a RFC 1459-style message for whatever it needs to do.
2018-08-10Fix sending malformed ERR_UNKNOWNCOMMAND messages in some cases.Peter Powell
This is not something the average user will encounter. It can only happen if the user sends a message with preceding whitespace or a prefix but no command name. This is not something that should ever be seen in practise so we just penalise the user and pretend nothing ever happened. The previous code also contained undefined behaviour but it acted sensibly on all compilers we support so it was not crashable.
2018-08-10Switch m_xline_db to use the xline snomask character.Peter Powell
2018-08-07m_httpd: close the HTTP connection after serving a request.Peter Powell
We always send "Connection: Close" so this is the right behaviour according to section 8.1 of RFC 2616. Closes #1507.
2018-08-07Switch m_dnsbl to use its own snomask character.Peter Powell
2018-08-07Remove the 'debug' snotice character.Peter Powell
2018-08-05Make the FJOIN timestamp message easier for users to understand.Peter Powell
2018-07-31Remove support for static modules.Peter Powell
This has been frequently broken in the past and as far as I know is used by literally nobody. Also, even if all modules are compiled into the core any libraries linked against are and have always been linked dynamically making this unusable on platforms without dynamic libraries.
2018-07-30Rename User::fullname to realname and make it private.Peter Powell
2018-07-30Replace most usages of "name" with "real" or "real name".Peter Powell
2018-07-30Replace most usages of "GECOS" with "real" or "real name".Peter Powell
2018-07-26Replace irc::stringjoiner with a generic stdalgo::string::join.Peter Powell
This can also be used with different types of collection containing values which are not a string.
2018-07-26Use CommandBase::Params instead of std::vector<std::string>.Peter Powell
This is presently a typedef but will soon be replaced with a class that encapsulates both tags and parameters.
2018-07-26Add a module which implements the HAProxy PROXY v2 protocol.Peter Powell
2018-07-24Make more config stuff case insensitive.Peter Powell
2018-07-24Fix building on Windows.Peter Powell
2018-07-24Rename IntModuleList to Module::List.Peter Powell
2018-07-24Get rid of the unused string_list typedef.Peter Powell
2018-07-23Fix the Windows build system to use the new license file location.Peter Powell
2018-07-20Remove Log() calls made unnecessary by the previous commit.Peter Powell
2018-07-20Log snotices with their description rather than just as "snomask".Peter Powell
2018-07-20Define HAS_ARC4RANDOM_BUF in config.h if available.Peter Powell
2018-07-20Use arc4random_buf() instead of random() when available.Peter Powell
2018-07-18Initial support for listening on UNIX socket endpoints.Peter Powell
2018-07-18Add the family() member to the sockaddrs union.Peter Powell
2018-07-15Release v3.0.0 alpha 8.Peter Powell
2018-07-15Merge branch 'insp20' into master.Peter Powell
2018-07-15Use mysql_real_escape_string instead of mysql_escape string.Peter Powell
This is not exploitable as far as I know but it is probably best that we use the newer function just in case. Closes #649 (although the attack mentioned in that issue was not feasible).