]> git.netwichtig.de Git - user/henk/code/inspircd.git/log
user/henk/code/inspircd.git
5 years agoUpdate vendored utfcpp library to commit ad27c7d5e0.
Peter Powell [Wed, 24 Apr 2019 23:50:19 +0000 (00:50 +0100)]
Update vendored utfcpp library to commit ad27c7d5e0.

5 years agoUpdate vendored http_parser library to v2.9.2.
Peter Powell [Wed, 24 Apr 2019 23:42:34 +0000 (00:42 +0100)]
Update vendored http_parser library to v2.9.2.

5 years agoLink flags must be after compiled objects.
iwalkalone [Mon, 22 Apr 2019 00:35:55 +0000 (02:35 +0200)]
Link flags must be after compiled objects.

5 years agoFix grammar in unknown mode/snomask character messages.
Robby [Sun, 21 Apr 2019 21:10:18 +0000 (23:10 +0200)]
Fix grammar in unknown mode/snomask character messages.

5 years agoHasModePermission: fix inverted condition.
Peter Powell [Sun, 21 Apr 2019 09:46:38 +0000 (10:46 +0100)]
HasModePermission: fix inverted condition.

5 years agoFall back to the most recent version supported on "CAP LS".
Peter Powell [Fri, 19 Apr 2019 13:31:43 +0000 (14:31 +0100)]
Fall back to the most recent version supported on "CAP LS".

This ensures compliance with the behaviour specified in ircv3/ircv3-specifications#371.

5 years agoBump the API revision for the previous commits.
Peter Powell [Fri, 19 Apr 2019 12:47:36 +0000 (13:47 +0100)]
Bump the API revision for the previous commits.

5 years agoImprove the descriptions of various core modules.
Peter Powell [Fri, 19 Apr 2019 12:03:15 +0000 (13:03 +0100)]
Improve the descriptions of various core modules.

5 years agoDemote core_ison and core_userhost to commands in core_user.
Peter Powell [Fri, 19 Apr 2019 11:39:37 +0000 (12:39 +0100)]
Demote core_ison and core_userhost to commands in core_user.

These are not important enough for their own module.

5 years agoPromote cmd_mode to its own core module.
Peter Powell [Fri, 19 Apr 2019 11:29:30 +0000 (12:29 +0100)]
Promote cmd_mode to its own core module.

core_user was an inappropriate location for this as it contains
mode changing code which is used by channels as well as users.

5 years agoFix namedmodes exposing non-key secret parameters to outsiders.
Peter Powell [Fri, 19 Apr 2019 11:23:53 +0000 (12:23 +0100)]
Fix namedmodes exposing non-key secret parameters to outsiders.

5 years agoRemove the OnNamesListItem event out of the core.
Peter Powell [Fri, 19 Apr 2019 10:51:42 +0000 (11:51 +0100)]
Remove the OnNamesListItem event out of the core.

5 years agoHasModePermission: use IsModeChar.
Peter Powell [Fri, 19 Apr 2019 09:42:17 +0000 (10:42 +0100)]
HasModePermission: use IsModeChar.

5 years agoRename HasPermission to HasCommandPermission.
Peter Powell [Fri, 19 Apr 2019 08:30:45 +0000 (09:30 +0100)]
Rename HasPermission to HasCommandPermission.

5 years agoRemove the 'noisy' mode for HasPrivPermission.
Peter Powell [Thu, 18 Apr 2019 23:39:57 +0000 (00:39 +0100)]
Remove the 'noisy' mode for HasPrivPermission.

This was only used in one place.

5 years agoRemove CXX11_OVERRIDE from some non-overrides.
Peter Powell [Thu, 18 Apr 2019 22:16:10 +0000 (23:16 +0100)]
Remove CXX11_OVERRIDE from some non-overrides.

5 years agoAdd the new implementation of the silence module.
Peter Powell [Thu, 18 Apr 2019 16:57:20 +0000 (17:57 +0100)]
Add the new implementation of the silence module.

This module has significant improvements on the previous one:
 * Flags which actually make sense.
 * Better compatibility with other SILENCE implementations.
 * Support for blocking CTCPs.
 * Support for blocking TAGMSGs.

5 years agoRemove m_silence pending a complete rewrite.
Peter Powell [Tue, 16 Apr 2019 21:58:15 +0000 (22:58 +0100)]
Remove m_silence pending a complete rewrite.

5 years agoFix some bugs in LIST constraint parsing.
Peter Powell [Thu, 18 Apr 2019 19:34:16 +0000 (20:34 +0100)]
Fix some bugs in LIST constraint parsing.

1. Allow flags to be specified in lower case. This behaviour is
   required by the draft-hardy-irc-isupport-00 specification.
2. Allow more than one constraint to be specified.

5 years agoUpdate trivially-modifiable modules to handle tag messages.
Peter Powell [Tue, 16 Apr 2019 15:19:55 +0000 (16:19 +0100)]
Update trivially-modifiable modules to handle tag messages.

5 years agoOmit debug symbols when doing CI builds.
Peter Powell [Tue, 16 Apr 2019 10:22:25 +0000 (11:22 +0100)]
Omit debug symbols when doing CI builds.

This provides a significant build time improvement.

5 years agoFix building m_geo_maxmind with older versions of libmaxminddb.
Peter Powell [Tue, 16 Apr 2019 09:59:09 +0000 (10:59 +0100)]
Fix building m_geo_maxmind with older versions of libmaxminddb.

5 years agoUpgrade Travis CI system to Xenial.
Peter Powell [Tue, 16 Apr 2019 09:01:37 +0000 (10:01 +0100)]
Upgrade Travis CI system to Xenial.

5 years agoReplace the geoip module with geo_maxmind, geoban, and geoclass.
Peter Powell [Mon, 11 Mar 2019 00:21:16 +0000 (00:21 +0000)]
Replace the geoip module with geo_maxmind, geoban, and geoclass.

MaxMind have EOL'd the library that the geoip module uses and have
replaced it with libmaxminddb.

The geoip module has been split into geo_maxmind which provides
geolocation data, geoban which provides location-based channel
bans, and geoclass which is used to filter a user into a connect
class based on location.

5 years agoBump the API revision for the previous commit.
Peter Powell [Mon, 15 Apr 2019 11:23:43 +0000 (12:23 +0100)]
Bump the API revision for the previous commit.

5 years agoFix linking servers with UNIX sockets.
Peter Powell [Thu, 7 Feb 2019 15:34:41 +0000 (15:34 +0000)]
Fix linking servers with UNIX sockets.

- Remove the address/port overloads of BeginConnect.
- Change DoConnect to take a sockaddrs instead of an address/port.

5 years agocommonchans: HandleMessage should not be marked as override.
Peter Powell [Sat, 13 Apr 2019 00:29:47 +0000 (01:29 +0100)]
commonchans: HandleMessage should not be marked as override.

5 years agoGeneral code cleanup for the commonchans module.
Peter Powell [Thu, 4 Apr 2019 16:22:28 +0000 (17:22 +0100)]
General code cleanup for the commonchans module.

- Restructure the code to be more readable.
- Add support for tag messages.

5 years agoUse a consistent naming scheme for operator privileges.
Peter Powell [Thu, 4 Apr 2019 14:09:23 +0000 (15:09 +0100)]
Use a consistent naming scheme for operator privileges.

- users/callerid-override is now users/ignore-callerid.
- users/privdeaf-override is now users/ignore-privdeaf.

5 years agoFix various typos.
Peter Powell [Thu, 4 Apr 2019 13:36:45 +0000 (14:36 +0100)]
Fix various typos.

5 years agoBump the API revision for the previous commit.
Peter Powell [Thu, 4 Apr 2019 11:21:52 +0000 (12:21 +0100)]
Bump the API revision for the previous commit.

5 years agoDocument OnUserInit properly and add OnUserPostInit.
Peter Powell [Wed, 3 Apr 2019 14:25:00 +0000 (15:25 +0100)]
Document OnUserInit properly and add OnUserPostInit.

5 years agoUse SQUERY instead of PRIVMSG in alias/passforward config.
Peter Powell [Tue, 2 Apr 2019 13:43:28 +0000 (14:43 +0100)]
Use SQUERY instead of PRIVMSG in alias/passforward config.

5 years agoMerge extras/m_privdeaf into m_deaf and update documentation.
Matt Schatz [Tue, 2 Apr 2019 06:11:27 +0000 (00:11 -0600)]
Merge extras/m_privdeaf into m_deaf and update documentation.

- Merge the 2.0 extras module m_privdeaf (usermode +D for deaf to
user messages and notices) as they have a similar purpose.
- Improve the channel deaf logic where a known case of bypassing
still looped the channel userlist building an empty exemption list.
- Improve the comments within the code.
- Update the documentation with the previously undocumented
configuration to deaf and the new privdeaf configuration.

5 years agom_commonchans: Replace IsOper() with HasPrivPermission() instead.
Robby [Tue, 2 Apr 2019 03:11:26 +0000 (05:11 +0200)]
m_commonchans: Replace IsOper() with HasPrivPermission() instead.

5 years agoRename OnClientProtocolPopulateTags to OnPopulateTags.
Peter Powell [Sat, 30 Mar 2019 11:53:51 +0000 (11:53 +0000)]
Rename OnClientProtocolPopulateTags to OnPopulateTags.

5 years agoMark messages with inspircd.org/bot if the user has +B set.
Peter Powell [Sat, 30 Mar 2019 11:52:36 +0000 (11:52 +0000)]
Mark messages with inspircd.org/bot if the user has +B set.

5 years agom_permchannels: validate channel names properly.
Peter Powell [Mon, 25 Mar 2019 13:23:50 +0000 (13:23 +0000)]
m_permchannels: validate channel names properly.

5 years agoAdd the User and Group options to the systemd service unit template file.
Robby [Sat, 23 Mar 2019 22:14:45 +0000 (23:14 +0100)]
Add the User and Group options to the systemd service unit template file.

5 years agoStrip message tags correctly in the 1202 spanningtree compat layer.
Peter Powell [Wed, 20 Mar 2019 18:25:17 +0000 (18:25 +0000)]
Strip message tags correctly in the 1202 spanningtree compat layer.

5 years agoFix the link to the http_parser vendor page.
Peter Powell [Thu, 14 Mar 2019 11:36:24 +0000 (11:36 +0000)]
Fix the link to the http_parser vendor page.

5 years agoUpdate most URLs to use HTTPS and fix some dead links.
Robby [Tue, 12 Mar 2019 14:37:18 +0000 (15:37 +0100)]
Update most URLs to use HTTPS and fix some dead links.

5 years agoGenerate the ssl_cert metadata before bursting a connecting user.
Peter Powell [Thu, 14 Mar 2019 10:49:19 +0000 (10:49 +0000)]
Generate the ssl_cert metadata before bursting a connecting user.

5 years agoCheck perms for removal of oper-only channel modes.
Matt Schatz [Thu, 14 Mar 2019 08:07:20 +0000 (02:07 -0600)]
Check perms for removal of oper-only channel modes.

Oper-only channel modes are currently unsettable by any channel
op, oper or not. Correct this by checking both directions of an
oper-only channel mode and continue only checking the setting of
an oper-only user mode. As anyone should be able to unset their
own user modes and UnOper() removes all oper-only user modes
automatically.

5 years agoAdd oper privs to allow overriding noctcp.
Matt Schatz [Wed, 13 Mar 2019 09:04:13 +0000 (03:04 -0600)]
Add oper privs to allow overriding noctcp.

5 years agoFix incorrect ModResult for noctcp user target.
Matt Schatz [Thu, 14 Mar 2019 00:33:23 +0000 (18:33 -0600)]
Fix incorrect ModResult for noctcp user target.

5 years agoAdd SSL flag to WHO response
linuxdaemon [Tue, 12 Mar 2019 17:43:34 +0000 (12:43 -0500)]
Add SSL flag to WHO response

5 years agoRename GetFlagIndex -> GetFieldIndex
linuxdaemon [Tue, 12 Mar 2019 17:04:01 +0000 (12:04 -0500)]
Rename GetFlagIndex -> GetFieldIndex

5 years agoMove field lookup logic out of WhoData constructor
linuxdaemon [Tue, 12 Mar 2019 15:30:47 +0000 (10:30 -0500)]
Move field lookup logic out of WhoData constructor

5 years agoAdd Who::Request::GetFlagIndex to get field index
linuxdaemon [Tue, 12 Mar 2019 14:48:28 +0000 (09:48 -0500)]
Add Who::Request::GetFlagIndex to get field index

Replaces the dirty logic in m_hideoper and m_namesx

5 years agoFix BanCache entries existing after X-line expiry.
Matt Schatz [Sun, 10 Mar 2019 08:22:00 +0000 (01:22 -0700)]
Fix BanCache entries existing after X-line expiry.

When DefaultApply() adds a hit to the BanCache it uses the X-line
duration to set a duration on the entry. This can result in an
entry lasting longer than the X-line itself. Fix this by setting
the entry duration to the time left on the X-line.

5 years agom_httpd: GCC is __GNUC__ not _GNUC.
Peter Powell [Sat, 9 Mar 2019 09:54:48 +0000 (09:54 +0000)]
m_httpd: GCC is __GNUC__ not _GNUC.

5 years agom_httpd: use http_response_str() instead of Response().
Peter Powell [Fri, 8 Mar 2019 10:50:53 +0000 (10:50 +0000)]
m_httpd: use http_response_str() instead of Response().

Lets not reinvent the wheel pointlessly.

5 years agoFix an "unknown pragma" warning on Windows.
Peter Powell [Fri, 8 Mar 2019 10:50:08 +0000 (10:50 +0000)]
Fix an "unknown pragma" warning on Windows.

5 years agoAdd missing '>' to an example connect tag.
Robby [Thu, 7 Mar 2019 05:20:19 +0000 (06:20 +0100)]
Add missing '>' to an example connect tag.

5 years agoReject client-to-client tags with no name.
Peter Powell [Sat, 2 Mar 2019 10:40:48 +0000 (10:40 +0000)]
Reject client-to-client tags with no name.

5 years agoImprove the handling of config X-lines and filters. (#1583)
Matt Schatz [Fri, 22 Feb 2019 13:44:57 +0000 (06:44 -0700)]
Improve the handling of config X-lines and filters. (#1583)

5 years agoSplit reading module initialisation and configuration reading.
Peter Powell [Wed, 20 Feb 2019 17:34:11 +0000 (17:34 +0000)]
Split reading module initialisation and configuration reading.

This allows modules to register services that other modules may
require to be available when reading the configuration.

5 years agoFix not showing all modes on a channel
linuxdaemon [Wed, 20 Feb 2019 07:29:15 +0000 (01:29 -0600)]
Fix not showing all modes on a channel

Whenever a mode has a parameter, no modes past that mode will be shown
in RPL_CHANNELMODEIS.

References to items in a vector break when the vector's size is changed.

5 years agoImplement support for IRCv3 client-to-client tags.
Peter Powell [Thu, 6 Sep 2018 09:09:09 +0000 (10:09 +0100)]
Implement support for IRCv3 client-to-client tags.

5 years agoFix erasing event subscribers erasing all with the same priority.
Peter Powell [Tue, 19 Feb 2019 18:32:49 +0000 (18:32 +0000)]
Fix erasing event subscribers erasing all with the same priority.

5 years agoAllow customising ElementComp in flat_{map,multimap,multiset,set}.
Peter Powell [Tue, 19 Feb 2019 18:22:00 +0000 (18:22 +0000)]
Allow customising ElementComp in flat_{map,multimap,multiset,set}.

5 years agoMinor text fixes for m_filter.
Robby [Tue, 19 Feb 2019 20:25:16 +0000 (21:25 +0100)]
Minor text fixes for m_filter.

5 years agoImprove the messages in m_filter.
Matt Schatz [Mon, 18 Feb 2019 11:53:14 +0000 (04:53 -0700)]
Improve the messages in m_filter.

* Deduplicate "FILTER" in some SNOTICES.
* Add the filter reason to removals to match
with X-line removals now.
* Use the new DurationString() function for a
standardized duration display when adding.
* Add X-line mask, duration, and expiry date to
the action messages.

5 years agoImprove support for wildcards in <link:name>.
Peter Powell [Mon, 18 Feb 2019 16:12:46 +0000 (16:12 +0000)]
Improve support for wildcards in <link:name>.

Closes #1569.

5 years agoFix MatchCIDR matching UNIX socket hostnames.
Peter Powell [Mon, 18 Feb 2019 15:43:22 +0000 (15:43 +0000)]
Fix MatchCIDR matching UNIX socket hostnames.

5 years agoStart using DurationString() in X-line additions and
Matt Schatz [Sun, 17 Feb 2019 09:23:32 +0000 (02:23 -0700)]
Start using DurationString() in X-line additions and

a few other modules where it fits better than just showing seconds.

5 years agoX-line expiries: use the new DurationString() function.
Matt Schatz [Sun, 17 Feb 2019 09:20:56 +0000 (02:20 -0700)]
X-line expiries: use the new DurationString() function.

5 years agoAdd a function for displaying human-readable durations.
Matt Schatz [Sun, 17 Feb 2019 09:10:26 +0000 (02:10 -0700)]
Add a function for displaying human-readable durations.

Add InspIRCd::DurationString() to take a time_t and return a string
with the duration in a human-readable format (ex: 1y20w2d3h5m9s).

5 years agoVarious text improvements: consistency, syntax, help and doc updates/fixes.
Robby [Sun, 17 Feb 2019 14:58:31 +0000 (15:58 +0100)]
Various text improvements: consistency, syntax, help and doc updates/fixes.

5 years agoFix an off-by-one error in User::GetModeLetters().
Peter Powell [Sun, 17 Feb 2019 10:23:19 +0000 (10:23 +0000)]
Fix an off-by-one error in User::GetModeLetters().

5 years agoircv3_chghost: also send the CHGHOST message to the modified user.
Peter Powell [Sat, 16 Feb 2019 15:24:55 +0000 (15:24 +0000)]
ircv3_chghost: also send the CHGHOST message to the modified user.

5 years agoUse the local hostname as the server name if one is not specified.
Peter Powell [Sat, 16 Feb 2019 14:25:29 +0000 (14:25 +0000)]
Use the local hostname as the server name if one is not specified.

5 years agoRemove obsolete ifdef in m_ssl_gnutls.
Peter Powell [Sat, 16 Feb 2019 12:06:44 +0000 (12:06 +0000)]
Remove obsolete ifdef in m_ssl_gnutls.

GNUTLS_DIG_SHA256 was added in version 1.7.4 and we require 2.0.0+

5 years agoMove the close and jumpserver modules to inspircd-extras.
Peter Powell [Fri, 15 Feb 2019 12:35:51 +0000 (12:35 +0000)]
Move the close and jumpserver modules to inspircd-extras.

- The close module is borderline useless.
- The jumpserver numeric is supported by barely any clients and
  has various security problems.

5 years agoReplace GetServerPort() with server_sa.port().
Peter Powell [Fri, 15 Feb 2019 10:58:43 +0000 (10:58 +0000)]
Replace GetServerPort() with server_sa.port().

5 years agoRename User::nping to nextping for consistency with lastping.
Peter Powell [Fri, 15 Feb 2019 10:56:08 +0000 (10:56 +0000)]
Rename User::nping to nextping for consistency with lastping.

5 years agoRefactor UserManager::DoBackgroundUserStuff().
Peter Powell [Thu, 14 Feb 2019 20:36:55 +0000 (20:36 +0000)]
Refactor UserManager::DoBackgroundUserStuff().

5 years agoSilence a warning from the helper script on OpenBSD.
Peter Powell [Thu, 14 Feb 2019 16:16:01 +0000 (16:16 +0000)]
Silence a warning from the helper script on OpenBSD.

5 years agoWriteNeighborsWithCap: add the ability to send to the origin user.
Peter Powell [Thu, 14 Feb 2019 14:40:12 +0000 (14:40 +0000)]
WriteNeighborsWithCap: add the ability to send to the origin user.

5 years agoRe-tabularise the helpop cuser/coper command lists.
Peter Powell [Sat, 9 Feb 2019 12:46:50 +0000 (12:46 +0000)]
Re-tabularise the helpop cuser/coper command lists.

5 years agoUnify the helpop and helpop-full config files.
Peter Powell [Sat, 9 Feb 2019 12:34:19 +0000 (12:34 +0000)]
Unify the helpop and helpop-full config files.

5 years agoImplement support for SQUERY from RFC 2812.
Peter Powell [Sat, 9 Feb 2019 10:35:03 +0000 (10:35 +0000)]
Implement support for SQUERY from RFC 2812.

This is treated internally as a PRIVMSG with a few exceptions:

1. The command MUST have exactly one target.
2. The target MUST be a user.
3. The target MUST be on a u-lined server (e.g. NickServ).

5 years agoMove CommandMessage::Handle into the class definition.
Peter Powell [Fri, 8 Feb 2019 14:25:20 +0000 (14:25 +0000)]
Move CommandMessage::Handle into the class definition.

5 years agoMove message handling code to Handle{Channel,Server,User}Target.
Peter Powell [Fri, 8 Feb 2019 13:31:38 +0000 (13:31 +0000)]
Move message handling code to Handle{Channel,Server,User}Target.

This makes the logic for this module considerably easier to read.

5 years agoDeduplicate firing module events in core_message.
Peter Powell [Fri, 8 Feb 2019 13:07:49 +0000 (13:07 +0000)]
Deduplicate firing module events in core_message.

5 years agocore_message: remove unnecessary inheritance logic.
Peter Powell [Fri, 8 Feb 2019 12:26:44 +0000 (12:26 +0000)]
core_message: remove unnecessary inheritance logic.

5 years agoRename core_privmsg to core_message.
Peter Powell [Fri, 8 Feb 2019 12:10:28 +0000 (12:10 +0000)]
Rename core_privmsg to core_message.

5 years agoFix erroneously limiting to the size of sa instead of sun_path.
Peter Powell [Thu, 7 Feb 2019 17:35:44 +0000 (17:35 +0000)]
Fix erroneously limiting to the size of sa instead of sun_path.

5 years agoAdd irc::sockets::untosa() for creating AF_UNIX sockaddrs.
Peter Powell [Thu, 7 Feb 2019 13:08:21 +0000 (13:08 +0000)]
Add irc::sockets::untosa() for creating AF_UNIX sockaddrs.

Also fix an overly long albeit harmless memcpy when creating UNIX
socket listeners. Thanks to @psychon for reporting this.

5 years agoFix an unintentionally inverted condition in core_oper.
Peter Powell [Thu, 7 Feb 2019 11:57:33 +0000 (11:57 +0000)]
Fix an unintentionally inverted condition in core_oper.

5 years agoDocument OnUserWrite.
Peter Powell [Thu, 7 Feb 2019 11:56:53 +0000 (11:56 +0000)]
Document OnUserWrite.

5 years agoTell people to run `make install` instead of just `make`.
Peter Powell [Wed, 6 Feb 2019 23:15:33 +0000 (23:15 +0000)]
Tell people to run `make install` instead of just `make`.

5 years agoDon't allow invalid characters in UNIX listener paths.
linuxdaemon [Thu, 24 Jan 2019 16:55:50 +0000 (10:55 -0600)]
Don't allow invalid characters in UNIX listener paths.

5 years agoExpand searching in m_httpd_stats, add global handling of GET parameters (#1566)
linuxdaemon [Wed, 6 Feb 2019 10:33:06 +0000 (04:33 -0600)]
Expand searching in m_httpd_stats, add global handling of GET parameters (#1566)

5 years agoRelease v3.0.0 release candidate 2.
Peter Powell [Wed, 6 Feb 2019 10:02:31 +0000 (10:02 +0000)]
Release v3.0.0 release candidate 2.

5 years agoQuit users during cleanup instead of when /DIE is executed.
Peter Powell [Tue, 5 Feb 2019 17:26:19 +0000 (17:26 +0000)]
Quit users during cleanup instead of when /DIE is executed.

5 years agoDelete the old broken test suite.
Peter Powell [Tue, 5 Feb 2019 17:11:54 +0000 (17:11 +0000)]
Delete the old broken test suite.

This doesn't work properly and is disabled in both debug & release
builds. It will be resurrected with a proper unit testing framework
in the future.

5 years agoMove <oper:class> and <oper:vhost> to core_oper.
Peter Powell [Tue, 5 Feb 2019 02:22:26 +0000 (02:22 +0000)]
Move <oper:class> and <oper:vhost> to core_oper.

5 years agoModuleManager: use std::flush instead of fflush(stdout).
Peter Powell [Tue, 5 Feb 2019 00:06:03 +0000 (00:06 +0000)]
ModuleManager: use std::flush instead of fflush(stdout).