311 Commits

Author SHA1 Message Date
Peter Powell
9361492b41 Raise the default max number of ACCEPT entries from 16 to 30. 2018-12-09 02:13:47 +00:00
Peter Powell
28ffef39c8 Add support for multiple cloak configurations.
The first will be used for cloaking and the rest will be used for
checking bans.
2018-11-19 11:00:17 +00:00
Peter Powell
efdb51bc9d WebSocket: send messages as text by default.
This requires all messages to be UTF-8. If you are using a UTF-8
incompatible text encoding then you can disable this by setting
<websocket:sendastext> to false.
2018-11-03 14:12:59 +00:00
Peter Powell
2e46197918 Fix ircv3_capnotify being defined twice in modules.conf.example. 2018-10-26 22:41:12 +01:00
Peter Powell
553877f7a9 Require WebSocket origins to be whitelisted in order to connect.
Fixes #1281.
2018-10-10 16:45:35 +01:00
Renegade334
4995417f59 Add extban 'a' to m_gecosban.
This has the format a:nick!user@host+gecos.

e.g. a:*!*@abusive.host+*MegaBot?v2.0*

Closes #1023.
Closes #1026.
2018-09-25 12:30:06 +01:00
Peter Powell
0378d0f582 Merge m_noctcp_user into m_noctcp. 2018-09-18 12:30:15 +01:00
Peter Powell
de4e486009 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.
2018-09-17 22:32:42 +01:00
Peter Powell
9a312de26b 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.

Closes #816.
Closes #1001.
2018-09-16 12:38:14 +01:00
Peter Powell
923d811b05 Add a module for hiding mode changes from unprivileged users.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-09-09 16:52:54 +01:00
Peter Powell
8512726adf 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.
2018-09-06 13:31:53 +01:00
Peter Powell
23e29119f8 Replace all references to IRCv3.2 with IRCv3.
IRCv3 no longer does versioned releases.
2018-08-13 22:06:39 +01:00
Peter Powell
584d456903 Add support for the IRCv3 batch specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 22:01:42 +01:00
Peter Powell
2249524355 Add support for the IRCv3 server-time specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 22:01:21 +01:00
Peter Powell
c60f88bb5c Add support for the IRCv3 account-tag specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 21:51:12 +01:00
Peter Powell
8cb20e3545 Replace most usages of "GECOS" with "real" or "real name". 2018-07-30 18:30:11 +01:00
Peter Powell
09c5439c02 Add a module which implements the HAProxy PROXY v2 protocol. 2018-07-26 12:35:22 +01:00
Peter Powell
124c17e141 Merge branch 'insp20' into master. 2018-07-15 16:42:36 +01:00
Peter Powell
584cbe8015 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.
2018-06-18 03:35:58 +01:00
Peter Powell
6d1c1cb517 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.
2018-04-22 23:30:41 +01:00
Peter Powell
35b70631f0 Merge tag 'v2.0.26' into master. 2018-04-22 13:02:19 +01:00
Robby
46e71e2f50 Optionally do not notify users if their messages are blocked by certain modules (#1134).
Closes #711.
2018-04-20 15:28:28 +01:00
Matt Schatz
a2dcf9a1ad Improve some documentation (#1483).
* Improve exemptchanops in inspircd.conf.example (<options>)
  and modules.conf.example; along with both helpop examples.
* Add "the" to all "requires X module" in both helpop examples.
* Refer to customprefix instead of chanprotect and halfop.
* Add SNOMASK 'r' and 'R' (OPERLOG) to both helpop examples.
* Clean up unnecessarily split SNOMASK lines in both helpop examples.
* Move chmode 'g' to be in alphabetical order in both helpops examples.
* Specify the needed mask formats for TLINE in helpop-full example.
* Remove extra '\' in RLINE mask format in helpop-full example.
  Force xml format in helpop-full
* Generalize "color codes" to "formatting codes"
* Fix file name in include for example helpop-full
2018-04-16 10:02:49 +01:00
Peter Powell
233c624056 Use an oper priv instead of a config flag for overriding callerid. 2018-04-16 09:47:26 +01:00
genius3000
e3f22fcf31 Change some usage of "gecos" to "real name"
Within the example configs, helpops, some server sent messages, and
simple code comments: change the primary usage of "gecos" to
"real name" (or "realname" where fitting).
2018-04-11 18:59:17 +01:00
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
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
Michael Hazell
758cf504f1 m_chanhistory: optionally exempt bots from receiving history.
Sending history to some bots can cause problems as without the
IRCv3 chathistory batch they have no way of knowing what messages
are history and what they should respond to.

Closes #1450.
2017-12-31 10:59:02 +00:00
B00mX0r
05d92363f9
Fix two minor docs issues 2017-12-22 14:44:29 -08: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
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
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
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
Peter Powell
7306e35479 Rewrite the configuration documentation for m_cgiirc. 2017-10-15 19:50:15 +01:00