]> git.netwichtig.de Git - user/henk/code/inspircd.git/log
user/henk/code/inspircd.git
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).

5 years agoModule: Initialise 'ModuleDLLManager' and 'dying' correctly.
Peter Powell [Tue, 5 Feb 2019 00:00:56 +0000 (00:00 +0000)]
Module: Initialise 'ModuleDLLManager' and 'dying' correctly.

5 years agoDLLManager: add a function for retrieving a symbol.
Peter Powell [Mon, 4 Feb 2019 23:37:54 +0000 (23:37 +0000)]
DLLManager: add a function for retrieving a symbol.

5 years agom_check: improve the output when showing list modes.
Peter Powell [Mon, 4 Feb 2019 18:46:02 +0000 (18:46 +0000)]
m_check: improve the output when showing list modes.

Closes #1568.

5 years agom_check: rename the timestamp key to createdat.
Peter Powell [Mon, 4 Feb 2019 15:28:01 +0000 (15:28 +0000)]
m_check: rename the timestamp key to createdat.

5 years agom_check: improve the output of the member key.
Peter Powell [Mon, 4 Feb 2019 15:26:53 +0000 (15:26 +0000)]
m_check: improve the output of the member key.

5 years agom_check: split modeperms into chanmodeperms and usermodeperms.
Peter Powell [Mon, 4 Feb 2019 14:22:49 +0000 (14:22 +0000)]
m_check: split modeperms into chanmodeperms and usermodeperms.

5 years agom_check: remove unnecessary usage of CheckContext::List.
Peter Powell [Mon, 4 Feb 2019 14:18:32 +0000 (14:18 +0000)]
m_check: remove unnecessary usage of CheckContext::List.

5 years agoImprove the name of the list mode extensible.
Peter Powell [Mon, 4 Feb 2019 14:04:05 +0000 (14:04 +0000)]
Improve the name of the list mode extensible.

5 years agom_check: replace timestring() with a Write() overlod.
Peter Powell [Mon, 4 Feb 2019 13:10:23 +0000 (13:10 +0000)]
m_check: replace timestring() with a Write() overlod.

5 years agoident: fix erroneously prefixing an ident multiple times.
Peter Powell [Mon, 4 Feb 2019 10:20:33 +0000 (10:20 +0000)]
ident: fix erroneously prefixing an ident multiple times.

5 years agoident: rename ext to socket.
Peter Powell [Fri, 1 Feb 2019 10:51:08 +0000 (10:51 +0000)]
ident: rename ext to socket.

5 years agoident: rename nolookupprefix to prefixunqueried.
Peter Powell [Fri, 1 Feb 2019 10:49:00 +0000 (10:49 +0000)]
ident: rename nolookupprefix to prefixunqueried.

5 years agoident: store the timeout as an unsigned value and limit to 60s.
Peter Powell [Fri, 1 Feb 2019 10:46:49 +0000 (10:46 +0000)]
ident: store the timeout as an unsigned value and limit to 60s.

5 years agoident: reduce the amount of messages sent when a lookup fails.
Peter Powell [Fri, 1 Feb 2019 10:43:51 +0000 (10:43 +0000)]
ident: reduce the amount of messages sent when a lookup fails.

5 years agoident: Change idents with the ChangeIdent method.
Peter Powell [Fri, 1 Feb 2019 10:39:11 +0000 (10:39 +0000)]
ident: Change idents with the ChangeIdent method.

5 years agoident: Fix making idents longer than maxident when a lookup fails.
Peter Powell [Fri, 18 Jan 2019 13:12:00 +0000 (13:12 +0000)]
ident: Fix making idents longer than maxident when a lookup fails.

5 years agoAllow multiple fingerprints in an oper block (#1564)
linuxdaemon [Fri, 1 Feb 2019 09:47:20 +0000 (03:47 -0600)]
Allow multiple fingerprints in an oper block (#1564)

5 years agoFix a minor typo in ssl.h
B00mX0r [Thu, 31 Jan 2019 09:26:06 +0000 (01:26 -0800)]
Fix a minor typo in ssl.h

5 years agoImprove the accessibility and robustness of prompt_bool.
Peter Powell [Tue, 29 Jan 2019 02:14:09 +0000 (02:14 +0000)]
Improve the accessibility and robustness of prompt_bool.

- Use "yes" and "no" instead of "y" and "n".
- Validate the true and false responses properly.
- Keep prompting the user for a response until they give one which
  is valid.

5 years agoDon't clear the screen when running in interactive mode.
Peter Powell [Tue, 29 Jan 2019 02:04:27 +0000 (02:04 +0000)]
Don't clear the screen when running in interactive mode.

This hides potentially useful information.

5 years agoImprove setting the gid/uid which will own files.
Peter Powell [Tue, 29 Jan 2019 01:35:00 +0000 (01:35 +0000)]
Improve setting the gid/uid which will own files.

- Consistently set the gid/uid for all directories and files.
- Replace the obnoxious warning about root on `make install` with
  a friendlier warning whilst running configure.
- Always install the inspircd executable and modules.

5 years agoFix -Wnewline-eof warning.
Peter Powell [Tue, 29 Jan 2019 04:46:18 +0000 (04:46 +0000)]
Fix -Wnewline-eof warning.

5 years agoFix reading the setname config tag.
Peter Powell [Mon, 28 Jan 2019 23:23:41 +0000 (23:23 +0000)]
Fix reading the setname config tag.