Age | Commit message (Collapse) | Author |
|
|
|
|
|
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-
|
|
|
|
|
|
Re-use variables initialized within loop, const-ify config variables
accessed repeatedly, remove eol_found label.
Merges #1451.
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
Closes #468.
|
|
|
|
- Move all message-related types to their own header to make moving
them to a cross-module events easier.
- Rename OnUserMessage to OnUserPostMessage.
- Rename OnText to OnUserMessage.
- Replace the dest, target_type, and status parameters with the
MessageTarget class.
- Replace the text, exempt_list, and msgtype parameters with the
MessageDetails struct.
- Add echooriginal and originaltext to the MessageDetails struct
to allow spam filtering to not be broken by cap echo-message.
|
|
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.
|
|
Closes #1452.
|
|
Using the latter is problematic as if you don't copy the return
value before calling Format again your formatted message will be
overwritten by something else. This bug was observed in m_callerid
where InspIRCd::Format was being used for formatting two arguments
the latter of which was being overwritten with the former.
We could have preserved the return type and just copied the string
but then callers would have had to deallocate the string once they
have finished with it which is an undesirabable burden to put on
callers.
|
|
|
|
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.
|
|
|
|
- Respect the value of <cgiirc:opernotice> when sending snotices
to operators.
- Write to the log file if opernotice is disabled.
- Log to the correct snomask in all cases. This was caused by an
oversight when merging insp20 into master.
- Replace the full user mask in log messages with a uuid/ip. The
WEBIRC command is sent as the first command so there will not be
a nickname or username at this point.
|
|
|
|
|