Age | Commit message (Collapse) | Author |
|
|
|
- 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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
Closes #1240.
|
|
|
|
|
|
|
|
Some core code still exists in the XLine system but this will be
replaced when the XLine system is replaced later.
|
|
- Add the G: extban to the EXTBAN 005 token.
- Use CXX11_OVERRIDE with ReadConfig and OnCheckBan.
Thanks to @genius3000 for pointing these out.
|
|
|
|
Defaults to md5,sha256 to be compatible with old configs.
Adds new parameter `kdf`. If this is set (to e.g. bcrypt), the hash
will be compared locally. This requires the password column to be
specified in <sqlauth:column>.
Closes #741
|
|
|
|
When checking for an E-Line match, we want to actually check for a
current match even if we previously matched and are set exempt.
This fixes situations where you have an E-Lined CGI:IRC address,
a G-Lined IP range for some area/host/etc and a smaller E-Lined
IP range for known good clients. Currently when CGI:IRC changes
the IP, E-Lines are rechecked but because the user is already exempt
(from the CGI:IRC E-Line), they are set no longer exempt and match
a G-Line, when they should match an E-Line.
This exact change has been done before in commit 'c8b344e' and shortly
reverted in 'c490a90' to fix issue #989 (CGI:IRC users remaining exempt
when the CGI:IRC address is E-Lined but they are not).
The actual cause to this issue was likely that the user's hostname was
not changed from the CGI:IRC hostname/IP prior to rechecking E-Lines.
This is being fixed in a separate commit.
|
|
ChangeIP() calls SetClientIP() which revalidates whether the user
matches an ELine. However, because the hostname has not changed yet
the user may incorrectly be marked as non-exempt.
|
|
m_sqloper now supports dynamic fields, works with m_sslinfo, and works with /stats o.
|
|
|
|
* Validate the settings in the same order as the parameter syntax
* Always validate Lines and Secs regardless of having a Diff
* Check Backlog for greater than Max as well as being disabled
|
|
|
|
|
|
|
|
Since CGI:IRC calls it's 'ChangeIP()' either from 'OnCheckReady()'
or 'OnUserRegister()', both of which are called after the user has
sent NICK/USER, we can safely skip re-setting the ExtItem prior to
this point.
This skips the first 'OnSetUserIP()' from 'User::AddUser()' as
the 'OnSetConnectClass()' catch handles the initial setting.
|
|
Fixes #1091.
|
|
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.
|
|
|
|
Backported from 2afc1af4639ae2bbef397f4f6acc834950017d91.
|
|
|
|
This module uses platform-specific behaviour that does not work on
Windows.
|
|
|
|
|
|
- The ACCEPT=[count] token specifies the maximum amount of nicks
which can be added to a m_callerid accept list. This token was
added by ircd-ratbox in 3.0.9.
- The KEYLEN=[length] token specifies the maximum length of a
channel key. This token was added by ircd-ratbox in 3.1 beta.
For more info see http://defs.ircdocs.horse/defs/isupport.html
|
|
|
|
|
|
Currently on invalid modes we do a combination of different things:
1. Send a custom mode-specific numeric (which often collides with
other modes).
2. Send a server notice.
3. Do absolutely nothing.
This new numeric is a generic way of handling invalid parameters
when setting a mode that avoids all of the mistakes of the previous
behaviour.
|
|
as requested by @Adam-
|
|
|