]>
git.netwichtig.de Git - user/henk/code/inspircd.git/log
Peter Powell [Tue, 11 Sep 2018 08:03:47 +0000 (09:03 +0100)]
Amend OnPostCommand to specify whether the command is loopcalled.
This restores previous behaviour which was lost when the original
line parameter was removed.
Peter Powell [Sun, 9 Sep 2018 15:52:32 +0000 (16:52 +0100)]
Add a module for hiding mode changes from unprivileged users.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
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 [Sun, 26 Aug 2018 09:37:23 +0000 (10:37 +0100)]
Don't update the idle timer when a user replies to a CTCP.
Closes #1305.
Peter Powell [Fri, 27 Apr 2018 13:30:06 +0000 (14:30 +0100)]
Implement proper CTCP parsing in MessageDetails.
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.
Closes #490.
Closes #841.
Peter Powell [Fri, 24 Aug 2018 11:24:07 +0000 (12:24 +0100)]
Allow unlocking jumpserver and lockserv with a module rehash.
Closes #282.
Peter Powell [Fri, 24 Aug 2018 11:08:56 +0000 (12:08 +0100)]
Document the --nopid option in the manual pages.
Peter Powell [Wed, 22 Aug 2018 12:43:46 +0000 (13:43 +0100)]
Send the 001-004 numerics and MOTD/LUSERS from core_info.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
Peter Powell [Tue, 21 Aug 2018 14:24:14 +0000 (15:24 +0100)]
Fix warnings about using std::auto_ptr on C++11 or newer.
Peter Powell [Tue, 21 Aug 2018 13:50:09 +0000 (14:50 +0100)]
Fix a few things that should be marked as override but aren't.
Peter Powell [Wed, 15 Aug 2018 15:01:24 +0000 (16:01 +0100)]
Release v3.0.0 alpha 9.
Peter Powell [Wed, 15 Aug 2018 15:00:25 +0000 (16:00 +0100)]
Merge branch 'insp20' into master.
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 [Tue, 14 Aug 2018 22:22:14 +0000 (23:22 +0100)]
Fix aliases that resolve to messages echoing with echo-message.
Fixes #1459.
Peter Powell [Wed, 15 Aug 2018 07:56:30 +0000 (08:56 +0100)]
Fix m_alias not reconstituting the RFC message properly.
Peter Powell [Tue, 14 Aug 2018 18:18:15 +0000 (19:18 +0100)]
Fix a bunch more conflicting/unnamed numerics.
Peter Powell [Tue, 14 Aug 2018 18:03:15 +0000 (19:03 +0100)]
Convert CLONES to use its own numeric and batch the replies.
Peter Powell [Tue, 14 Aug 2018 17:59:07 +0000 (18:59 +0100)]
Fix some bugs in cidr_mask::str().
- Fix a missing break statement causing unintentional fallthrough.
- Cast the length to an int to avoid interpreting as a character.
Peter Powell [Tue, 14 Aug 2018 14:48:43 +0000 (15:48 +0100)]
Convert m_bcrypt to use a vendored library instead of bundling.
Peter Powell [Fri, 25 May 2018 16:08:42 +0000 (17:08 +0100)]
Add support for vendoring dependencies.
Peter Powell [Mon, 13 Aug 2018 23:22:59 +0000 (00:22 +0100)]
Rename OnChangeLocalUserHost to OnPreChangeHost for consistency.
Peter Powell [Mon, 13 Aug 2018 23:17:03 +0000 (00:17 +0100)]
Remove the OnInfo event.
This is not used by anything and On{Post,Pre}Command hooks can
be used if people really want to add stuff to INFO.
Peter Powell [Mon, 13 Aug 2018 21:06:39 +0000 (22:06 +0100)]
Replace all references to IRCv3.2 with IRCv3.
IRCv3 no longer does versioned releases.
Peter Powell [Mon, 13 Aug 2018 20:48:06 +0000 (21:48 +0100)]
Add support for the IRCv3 batch specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
Peter Powell [Mon, 13 Aug 2018 20:44:11 +0000 (21:44 +0100)]
Add support for the IRCv3 server-time specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
Peter Powell [Mon, 13 Aug 2018 20:35:28 +0000 (21:35 +0100)]
Add support for the IRCv3 account-tag specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
Peter Powell [Mon, 13 Aug 2018 19:17:46 +0000 (20:17 +0100)]
Implement IRCv3 message tag support.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
Peter Powell [Mon, 13 Aug 2018 15:52:37 +0000 (16:52 +0100)]
Add an accessor for the last mode change list to ModeParser.
GetLastParse will be going away soon.
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 [Sun, 12 Aug 2018 12:29:09 +0000 (13:29 +0100)]
Pass the Extensible container to ExtensionItem::free().
Peter Powell [Fri, 10 Aug 2018 08:04:30 +0000 (09:04 +0100)]
Move message parsing to ProcessBuffer and fix edge cases in it.
Peter Powell [Fri, 10 Aug 2018 06:46:42 +0000 (07:46 +0100)]
Split irc::tokenparser::GetToken into GetMiddle and GetTrailing.
This simplifies the logic of irc::tokenparser considerably and
removes all of the magic index guessing that was used previously.
Peter Powell [Thu, 9 Aug 2018 15:33:27 +0000 (16:33 +0100)]
Remove the integer overloads of irc::tokenparser::GetToken().
The int overload was never used and the long overload was used in
one place.
Peter Powell [Fri, 10 Aug 2018 06:00:02 +0000 (07:00 +0100)]
Parse CAPAB CAPABILITIES and FJOIN messages with spacesepstream.
Special tokenisation rules are not necessary here.
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 05:39:22 +0000 (06:39 +0100)]
Switch m_xline_db to use the xline snomask character.
Peter Powell [Tue, 7 Aug 2018 17:31:47 +0000 (18:31 +0100)]
m_httpd: close the HTTP connection after serving a request.
We always send "Connection: Close" so this is the right behaviour
according to section 8.1 of RFC 2616.
Closes #1507.
Peter Powell [Tue, 7 Aug 2018 15:50:01 +0000 (16:50 +0100)]
Switch m_dnsbl to use its own snomask character.
Peter Powell [Tue, 7 Aug 2018 15:45:03 +0000 (16:45 +0100)]
Remove the 'debug' snotice character.
Peter Powell [Sun, 5 Aug 2018 16:18:43 +0000 (17:18 +0100)]
Make the FJOIN timestamp message easier for users to understand.
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 [Mon, 30 Jul 2018 17:50:34 +0000 (18:50 +0100)]
Rename User::fullname to realname and make it private.
Peter Powell [Mon, 30 Jul 2018 17:34:57 +0000 (18:34 +0100)]
Replace most usages of "name" with "real" or "real name".
Peter Powell [Mon, 30 Jul 2018 17:30:11 +0000 (18:30 +0100)]
Replace most usages of "GECOS" with "real" or "real name".
Peter Powell [Thu, 26 Jul 2018 20:23:45 +0000 (21:23 +0100)]
Replace irc::stringjoiner with a generic stdalgo::string::join.
This can also be used with different types of collection containing
values which are not a string.
Peter Powell [Thu, 26 Jul 2018 18:43:54 +0000 (19:43 +0100)]
Use CommandBase::Params instead of std::vector<std::string>.
This is presently a typedef but will soon be replaced with a class
that encapsulates both tags and parameters.
Peter Powell [Thu, 26 Jul 2018 11:13:13 +0000 (12:13 +0100)]
Add a module which implements the HAProxy PROXY v2 protocol.
Peter Powell [Tue, 24 Jul 2018 17:29:43 +0000 (18:29 +0100)]
Make more config stuff case insensitive.
Peter Powell [Tue, 24 Jul 2018 10:01:50 +0000 (11:01 +0100)]
Fix building on Windows.
Peter Powell [Tue, 24 Jul 2018 09:02:27 +0000 (10:02 +0100)]
Rename IntModuleList to Module::List.
Peter Powell [Tue, 24 Jul 2018 09:02:07 +0000 (10:02 +0100)]
Get rid of the unused string_list typedef.
Peter Powell [Mon, 23 Jul 2018 14:12:08 +0000 (15:12 +0100)]
Fix the Windows build system to use the new license file location.
Peter Powell [Mon, 25 Jun 2018 14:21:37 +0000 (15:21 +0100)]
Remove Log() calls made unnecessary by the previous commit.
Peter Powell [Mon, 25 Jun 2018 13:21:49 +0000 (14:21 +0100)]
Log snotices with their description rather than just as "snomask".
Peter Powell [Fri, 20 Jul 2018 11:29:36 +0000 (12:29 +0100)]
Define HAS_ARC4RANDOM_BUF in config.h if available.
Peter Powell [Fri, 20 Jul 2018 10:43:41 +0000 (11:43 +0100)]
Use arc4random_buf() instead of random() when available.
Peter Powell [Fri, 13 Jul 2018 09:28:28 +0000 (10:28 +0100)]
Initial support for listening on UNIX socket endpoints.
Peter Powell [Thu, 12 Jul 2018 23:47:53 +0000 (00:47 +0100)]
Add the family() member to the sockaddrs union.
Peter Powell [Sun, 15 Jul 2018 15:29:52 +0000 (16:29 +0100)]
Release v3.0.0 alpha 8.
Peter Powell [Sun, 15 Jul 2018 15:27:48 +0000 (16:27 +0100)]
Merge branch 'insp20' into master.
Peter Powell [Sun, 15 Jul 2018 13:11:04 +0000 (14:11 +0100)]
Use mysql_real_escape_string instead of mysql_escape string.
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).
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.
Co-authored-by: Adam <Adam@anope.org>
Peter Powell [Thu, 12 Jul 2018 00:23:06 +0000 (01:23 +0100)]
Clean up the WHO helpop documentation.
Peter Powell [Wed, 11 Jul 2018 11:08:19 +0000 (12:08 +0100)]
Fix replying with the source user in oper-restricted WHO lookups.
Peter Powell [Fri, 29 Jun 2018 10:29:08 +0000 (11:29 +0100)]
Switch core_dns validation to use InspIRCd::IsHost.
Peter Powell [Fri, 29 Jun 2018 10:28:53 +0000 (11:28 +0100)]
Switch <server:name> validation to use InspIRCd::IsHost.
Peter Powell [Fri, 29 Jun 2018 10:28:19 +0000 (11:28 +0100)]
Add InspIRCd::IsHost for checking the validity of hostnames.
Peter Powell [Fri, 29 Jun 2018 10:26:51 +0000 (11:26 +0100)]
Add a ConfigTag::getString overload that calls a validation method.
Peter Powell [Tue, 26 Jun 2018 15:27:57 +0000 (16:27 +0100)]
Allow exempting of registered users from securelist.
Peter Powell [Tue, 10 Jul 2018 19:32:08 +0000 (20:32 +0100)]
Add a silent option to <options:restrictbannedusers>.
This is useful when dealing with spambots that switch method when
they receive ERR_CANNOTSENDTOCHAN.
Peter Powell [Tue, 10 Jul 2018 17:11:57 +0000 (18:11 +0100)]
Update the readme so that it is actually useful.
Peter Powell [Tue, 10 Jul 2018 15:24:54 +0000 (16:24 +0100)]
Rename the license file so that people can find it easier.
Peter Powell [Tue, 3 Jul 2018 14:52:40 +0000 (15:52 +0100)]
Fix the configure checks for eventfd(), <stdint.h>, and strlcpy().
Closes #1503.
B00mX0r [Tue, 3 Jul 2018 15:07:39 +0000 (16:07 +0100)]
Use !empty() instead of 'size() > 0' when checking parameter count.
Peter Powell [Tue, 26 Jun 2018 15:38:34 +0000 (16:38 +0100)]
Always show Make commands for the user to execute in quotes.
Fixes #1189.
Peter Powell [Mon, 25 Jun 2018 11:56:14 +0000 (12:56 +0100)]
Allow relative paths to be passed in --config on boot.
Closes #1115.
Peter Powell [Fri, 25 May 2018 10:09:51 +0000 (11:09 +0100)]
Show the package name in the message when doing pkg-config lookups.
Peter Powell [Mon, 18 Jun 2018 02:28:58 +0000 (03:28 +0100)]
Clarify the documentation for m_httpd and m_httpd_{config,stats}.
Thanks to @SleepyEntropy for pointing out that multiple internet-
accessible servers do not have these modules correctly configured.
Peter Powell [Fri, 8 Jun 2018 07:44:39 +0000 (08:44 +0100)]
Fix invalid conversion from 'const char*' to 'char*' on FreeBSD.
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 [Tue, 1 May 2018 17:47:08 +0000 (19:47 +0200)]
Use the `pwd` tool that is in the path rather than `/bin/pwd`.
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.
Peter Powell [Thu, 29 Mar 2018 16:45:56 +0000 (17:45 +0100)]
Always process MOTD formatting escape codes.
The options for disabling these were added to keep compatibility
with previous 2.0 releases and are not needed any more.
Peter Powell [Sun, 22 Apr 2018 20:58:15 +0000 (21:58 +0100)]
Fix some oversights relating to numerics.
- ERR_CANNOTSENDTOCHAN only takes the channel name and a message.
- ERR_INVALIDCAPCMD is 410 not 232.
Peter Powell [Sun, 22 Apr 2018 14:18:28 +0000 (15:18 +0100)]
Release v3.0.0 alpha 7.
Peter Powell [Sun, 22 Apr 2018 13:31:28 +0000 (14:31 +0100)]
Move a bunch of optional module numerics to the module source file.
Peter Powell [Sun, 22 Apr 2018 12:31:00 +0000 (13:31 +0100)]
Replace ERR_{NOCTCPALLOWED,WORDFILTERED} with ERR_CANNOTSENDTOCHAN.
There is no reason for these responses to have their own numerics
when other modules do not. The only thing this does is make life
harder for client developers.
Peter Powell [Sat, 21 Apr 2018 11:04:43 +0000 (12:04 +0100)]
Merge tag 'v2.0.26' into master.
Peter Powell [Fri, 20 Apr 2018 18:53:01 +0000 (19:53 +0100)]
Release v2.0.26
Robby [Fri, 20 Apr 2018 14:28:28 +0000 (16:28 +0200)]
Optionally do not notify users if their messages are blocked by certain modules (#1134).
Closes #711.
Peter Powell [Mon, 16 Apr 2018 18:07:53 +0000 (19:07 +0100)]
Tell the rehasher if an exception is thrown by a module on rehash.
Peter Powell [Thu, 15 Feb 2018 11:30:57 +0000 (11:30 +0000)]
Rewrite m_denychans.
- The configuration is now validated on ReadConfig and parsed into
objects.
- Allow redirecting to channels that don't yet exist. There is no
technical reason to not allow this and I believe that it would
be a lot less confusing to users if we allowed this.
- Flatten a bunch of nested if statements.
Peter Powell [Mon, 16 Apr 2018 21:20:29 +0000 (22:20 +0100)]
Convert some usages of ato[il] to use ConvToNum.
Peter Powell [Mon, 16 Apr 2018 17:32:55 +0000 (18:32 +0100)]
Fix m_ircv3_sts not having the VF_VENDOR flag set.
Peter Powell [Mon, 16 Apr 2018 16:02:42 +0000 (17:02 +0100)]
Call OnUserMessageBlocked when a PRIVMSG or a NOTICE is blocked.
This is necessary to allow m_ircv3_echomessage to pretend that a
message was echoed successfully. This is useful as it doesn't let
spammers know that their message was blocked.
Peter Powell [Sat, 14 Apr 2018 15:11:57 +0000 (16:11 +0100)]
Add range checking to ConfigTag::getFloat.
Peter Powell [Sat, 14 Apr 2018 14:43:03 +0000 (15:43 +0100)]
Add ConfigTag::getUInt for reading unsigned config values.
Peter Powell [Sat, 14 Apr 2018 13:59:35 +0000 (14:59 +0100)]
Convert ConfigTag::getDuration to return an unsigned long.
Peter Powell [Sat, 14 Apr 2018 13:04:12 +0000 (14:04 +0100)]
Extract ConfigTag::getInt magnitude logic to a function template.