summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-09-17Improvements and bugfixes to the cgiirc module.Peter Powell
- Allow the ident for ident type hosts to be set in the config. - Consistently check clone counts, connect classes, and xlines for all users regardless of their cgiirc host type. - Remove some obsolete code from when gateway clients had their IP changed in OnCheckReady. - Don't allow a gateway client to match both a WebIRC and an ident host.
2018-09-16Improvements to the hostchange module.Peter Powell
- Get rid of <host> and merge the prefix and suffix values into the <hostchange> value. - Remove the 'suffix' action. This has been replaced by the 'set' action. - Add the 'addaccount' action. This adds the users account to their hostname. - Use the <hostname:charmap> characters when removing invalid chars in addnick mode. - Allow multiple entries on each hostmask so that they can fall through if a certain value is not acceptable. Closes #816. Closes #1001.
2018-09-11Amend OnPostCommand to specify whether the command is loopcalled.Peter Powell
This restores previous behaviour which was lost when the original line parameter was removed.
2018-09-09Add a module for hiding mode changes from unprivileged users.Peter Powell
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-09-06Remove the ripemd160 module.Peter Powell
The library code used by this module is licensed under a non-free license which is incompatible with the GPLv2. Combined with the fact that it has been superceded by better algorithms like bcrypt I have decided to remove it. An alternate implementation of this algorithm is provided by the m_hash_gnutls module if people *really* need to use it.
2018-08-26Don't update the idle timer when a user replies to a CTCP.Peter Powell
Closes #1305.
2018-08-26Implement proper CTCP parsing in MessageDetails.Peter Powell
2018-08-24Improve the snotices sent out by the filter module.Peter Powell
- Switch to a module-specific snotice character (f). - Redo the format of the message to be easier to read and include the filter that the user matched. Closes #490. Closes #841.
2018-08-24Allow unlocking jumpserver and lockserv with a module rehash.Peter Powell
Closes #282.
2018-08-22Send the 001-004 numerics and MOTD/LUSERS from core_info.Peter Powell
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-21Fix warnings about using std::auto_ptr on C++11 or newer.Peter Powell
2018-08-21Fix a few things that should be marked as override but aren't.Peter Powell
2018-08-15Release v3.0.0 alpha 9.Peter Powell
2018-08-15Merge branch 'insp20' into master.Peter Powell
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-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