Peter Powell [Tue, 4 Sep 2018 13:10:19 +0000 (14:10 +0100)]
Improvements and bugfixes to the cgiirc module.
- 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.
Peter Powell [Wed, 12 Sep 2018 13:37:38 +0000 (14:37 +0100)]
Improvements to the hostchange module.
- 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.
Peter Powell [Thu, 6 Sep 2018 10:29:45 +0000 (11:29 +0100)]
Remove the ripemd160 module.
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.
Peter Powell [Fri, 24 Aug 2018 12:40:15 +0000 (13:40 +0100)]
Improve the snotices sent out by the filter module.
- 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.
Peter Powell [Wed, 15 Aug 2018 10:06:26 +0000 (11:06 +0100)]
Rewrite m_httpd_config.
- 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.
Peter Powell [Sun, 12 Aug 2018 13:56:27 +0000 (14:56 +0100)]
Convert AWAY to use cross-module events and clean up slightly.
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.
Peter Powell [Thu, 9 Aug 2018 19:44:43 +0000 (20:44 +0100)]
Remove the original line parameter of On{Pre,Post}Command.
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.
Peter Powell [Fri, 10 Aug 2018 09:25:40 +0000 (10:25 +0100)]
Fix sending malformed ERR_UNKNOWNCOMMAND messages in some cases.
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.
Peter Powell [Mon, 30 Jul 2018 23:49:27 +0000 (00:49 +0100)]
Remove support for static modules.
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.
Peter Powell [Thu, 12 Jul 2018 13:30:59 +0000 (14:30 +0100)]
Implement support for the WHOX extension.
This is a massive rewrite of core_who which was initially developed
by Adam in 2014. I have rebased and cleaned it up and tightened up
compliance with the specifications.
Chris Novakovic [Mon, 4 Jun 2018 11:40:32 +0000 (12:40 +0100)]
Add --nopid command line option (#1497).
Add a --nopid command line option, which causes a PID file not to be
written to the file system regardless of the presence of the <pid> tag
in the configuration file or the value of its "file" variable if it is
present.
Peter Powell [Thu, 29 Mar 2018 18:04:11 +0000 (19:04 +0100)]
Improve support for MOTD escape codes.
- Implement escapes for italic, monospace, and strikethrough.
- Use the escape codes in the example MOTDs to demonstrate their
formatting effects.
- Remove support for octal escape codes. In modern computing octal
is rarely used and is confusing for users who might confuse it
for decimal.