722 Commits

Author SHA1 Message Date
Dylan Frank
4ec475ba10 Refactor m_sqloper to be a full opers.conf replacement (#983).
m_sqloper now supports dynamic fields, works with m_sslinfo, and works with /stats o.
2018-04-06 18:34:15 +01:00
Peter Powell
d04db003df Implement support for banning users from channels by country code. 2018-04-06 18:05:15 +01:00
Dylan Frank
c7de80233a Separate secret and private channels on whois for non-opers (#1447)
Separate secret and private channels on WHOIS for all users.

- Move the config parsing from the core to core_whois.
- Replace <security:operspywhois> with an oper privilege.
- Introduce <options:splitwhois> to split WHOIS channel lists.

Closes #969.
2018-03-25 17:02:00 +01:00
Peter Powell
5628d84f9e Move m_sslrehashsignal to the extra directory.
This module uses platform-specific behaviour that does not work on
Windows.
2018-02-17 17:44:52 +00:00
Peter Powell
36e6dc7bc8 Import the anticaps module from inspircd-extras. 2018-02-07 12:20:42 +00:00
Peter Powell
4132a44396 Allow the maximum length of a chanfilter message to be configured. 2018-02-02 12:54:59 +00:00
Peter Powell
9da5c8e200 Add a module which rehashes SSL modules on receiving SIGUSR1.
This has been imported from inspircd-extras where it was known as
m_rehashsslsignal. The name has been changed slightly to match the
other modules which do SSL stuff (sslmodes, sslinfo).
2018-01-25 11:51:14 +00:00
Shawn Smith
cd43acedc9 Add user mode +z for ssl-only private messages.
Closes #468.
2018-01-07 10:35:16 +00:00
Peter Powell
40514d0ba8 Improve the method that blockcaps uses to block messages.
Previously it had a list of upper case letters and assumed that all
other characters were lower case. This method is flawed as it can
be evaded by using non-alphanumeric characters.

The new method takes a list of lower case letters as well as upper
case letters and ignores any letters which are not listed in one of
the two lists.

The majority of the code for this was borrowed from the m_anticaps
module in inspircd-extras.
2018-01-03 22:33:29 +00:00
Peter Powell
5c6352dd9a Increase the config default for <chanhistory:maxlines> to 50. 2017-12-31 18:38:21 +00:00
Peter Powell
e467fd0a6f Rename <security:hidewhois> to <security:hideserver>.
The previous name was horrible and didn't describe what the setting
actually does.
2017-12-22 01:11:14 +00:00
B00mX0r
197c3445b0
Add SHUN as a /filter action
This resolves #483
2017-12-21 09:21:53 -08:00
Peter Powell
c4955b78dc Don't allow users to set a zero channel limit.
Closes #451.
2017-12-11 13:17:17 +00:00
Peter Powell
565544fac9 Merge branch 'insp20' into master. 2017-12-11 11:41:44 +00:00
B00mX0r
5076d9d3c4 Add optional oper override umode +O. 2017-12-11 11:12:01 +00:00
Peter Powell
98372c3cf2 Extract RFC modes from the core to core_channel and core_user. 2017-12-10 12:38:45 +00:00
Shawn Smith
ecb7891090 Removed config option for +L redirect.
Closes #466.
2017-12-03 14:56:37 +00:00
Chew
8920cb1b9f
Remove extra double quote (") 2017-12-02 14:29:29 -06:00
Peter Powell
8bc03773ca Remove the preconfigured Charybdis and UnrealIRCd module files.
These are extremely outdated. If we want to ship these then they
should be redone from scratch.
2017-11-22 13:31:24 +00:00
B00mX0r
265d6fc824
Fix referring to sqloper and sqlauth as extras in modules.conf 2017-11-14 20:15:13 -08:00
Peter Powell
4e81454a4a Add the m_ircv3_sts module which implements the IRCv3 STS spec. 2017-11-13 16:16:31 +00:00
Peter Powell
d23c030c9a Merge tag 'v2.0.25' into master. 2017-11-12 17:33:21 +00:00
Peter Powell
a137eb1c26 Various minor documentation fixes.
- Remind admins that not setting a DIE/RESTART password does not
  disable use of those commands.
- Remove references to 1.2 and modules being able to create custom
  logging methods. This was never implemented in the 2.0 branch.
- Remove references to an SASL improvement that was reverted.
- Update various InspIRCd website links to use HTTPS over HTTP.
- Update a link to the IRCv3 website to point to the new website.
2017-11-12 12:24:57 +00:00
Peter Powell
2b94e7dcc0 Allow spaces in the network name now it doesn't cause problems.
This will not cause any compatibility issues as we do not rely on
this attribute internally.
2017-11-09 10:31:00 +00:00
Peter Powell
9375c63337
Merge pull request #1359 from genius3000/insp20+sasl_no_server
2.0: Inform the client when a SASL message cannot be sent
2017-11-06 11:11:22 +00:00
Peter Powell
b76ff64dae Enable using m_customprefix to alter core prefix modes.
This replaces the devoice module which has now been removed. If you
want users to be able to devoice themselves then you can load the
customprefix module add the following config tag:

    <customprefix name="voice" depriv="yes">

If you wish to keep identical behaviour rather than allowing users
to use "MODE #YourChannel -v TheirNick" then you can load the alias
module and add the following config tag:

    <alias text="DEVOICE" format="#*" replace="MODE $2 -v $nick">
2017-11-06 10:55:56 +00:00
Peter Powell
257bf752fc Add support for setting the unset rank in ModeHandler. 2017-11-06 10:55:56 +00:00
genius3000
9d4b4344b4 Inform the client when a SASL message cannot be sent
When SASL is properly configured with a 'target' server, we are able
to inform the client when the message fails to send.
Currently if a target is configured and it is offline, no response is
sent. This can cause some clients to time out while waiting for a response.

If a target isn't configured, behaviour will not change with this commit.
The default of '*' will still send to all servers.
Updated example config with 'target' variable.
2017-11-05 19:51:22 -07:00
Peter Powell
906260c24f Make core_hostname_lookup redo the lookup when a user's IP changes.
This removes the need to do lookups in the cgiirc module. This is
useful as relying on gateways to do proper DNS checks is unreliable
and has resulted in issues like 5fc4403f62. Its more sane if we do
our own lookups.

This change has been okayed by multiple WEBIRC gateway authors so
I don't think it will cause many problems.
2017-10-31 11:48:25 +00:00
genius3000
8587df2a31 Helpop: Move extban 'U' from acting to matching 2017-10-21 18:59:24 -06:00
genius3000
2a6b5f45da Helpop: Add extban 'n' - connect class ban
Commit a54497e added m_classban, this updates the helpop files.
2017-10-21 18:56:29 -06:00
Peter Powell
3b927b48cc Ignore <module> tags for modules that are already loaded.
This allows us to do user friendly things like loading the alias
module in the example alias files.
2017-10-18 04:08:07 +01:00
Peter Powell
7306e35479 Rewrite the configuration documentation for m_cgiirc. 2017-10-15 19:50:15 +01:00
Peter Powell
a5d110282a Update wiki links to use HTTPS and point to the correct pages.
When we release 3.0 these links will break as they will point to
the pages for 3.0 rather than 2.0.
2017-10-15 12:23:10 +01:00
Peter Powell
a3e0768758 Merge the latest changes from insp20 into master. 2017-10-12 15:55:21 +01:00
Sheogorath
aa5bd1eafe
Make domainparts configureable 2017-10-11 10:52:30 +02:00
Peter Powell
3cb659afaa Remove support for the pass, passfirst, identfirst cgiirc types.
These methods are not supported by any widely used gateways that I
can find. If your gateway uses this then you should rewrite it to
use the webirc method. For more details see the IRCv3 WEBIRC
specification at http://ircv3.net/specs/extensions/webirc.html.
2017-09-27 19:46:10 +01:00
Peter Powell
21f2f56e98 Raise the default listmode limit to 100 from 64.
64 is a rather restrictive limit especially considering how fast
channels can accumulate bans. In fact, #InspIRCd hit the ban limit
in just over a year.

Having a low limit might have made sense when memory was expensive
but the average IRC server should be able to handle this fine now.
2017-09-14 15:42:34 +01:00
Peter Powell
314f5f65df Fix the command for enabling m_sqlite3 in modules.conf.example. 2017-09-14 14:52:42 +01:00
Peter Powell
51a47e7d75 Implement support for configurable casemapping & default to ASCII. 2017-09-08 20:11:50 +01:00
Peter Powell
e7c829af59 Convert a bunch of time-related config options to getDuration. 2017-09-03 20:20:30 +01:00
Peter Powell
a1bc06e8a0 Update a bunch of references to the old command modules. 2017-08-27 13:18:58 +01:00
Peter Powell
a62ae50007 Fix a bunch of Doxygen warnings. 2017-08-26 09:58:15 +01:00
Peter Powell
3469711d29 Update the link to the CIDR subnetting charts. 2017-08-13 17:24:20 +01:00
Peter Powell
56fe5d6f2f Change the maximum nick/user size to match other implementations. 2017-08-13 16:27:29 +01:00
Peter Powell
02497bfa99 Merge pull request #1351 from SaberUK/master+webirc
Allow filtering WebIRC connections into a connect class by gateway.
2017-08-05 18:33:04 +01:00
Peter Powell
5c65a0a03d Add ADMIN to the list of commands that shunned users can run. 2017-07-24 14:04:34 +01:00
Peter Powell
f471083cd0 Merge pull request #1337 from SaberUK/master+merge
Merge v2.0.23 and v2.0.24 into master.
2017-07-12 14:25:28 +01:00
Peter Powell
f0ca3397ea Update the version in the Doxyfile from 2.0 to 3.0. 2017-07-11 16:24:56 +01:00
Peter Powell
c0aba5b728 Merge v2.0.23 and v2.0.24 into master. 2017-07-09 22:45:00 +01:00