aboutsummaryrefslogtreecommitdiff
path: root/src/coremods
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'insp3' into master.Gravatar Sadie Powell2023-01-0141-51/+41
|\
| * Update copyright headers.Gravatar InspIRCd Robot2022-12-3042-52/+42
* | Use delete_zero in place that it makes sense to.Gravatar Sadie Powell2022-12-271-2/+1
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-12-251-4/+4
|\|
* | Refactor SocketEngine slightly.•••- Remove pointless shutdown() wrapper. - Remove pointless bounds checking function. - Make Bind and Listen take an EventHandler instead of a fd. - Add nullability attributes to every method. Gravatar Sadie Powell2022-12-251-1/+1
* | Pass the client/server sockaddr around as a ref instead of a ptr.Gravatar Sadie Powell2022-12-251-1/+1
* | Remove the string_view utility header from the global header.Gravatar Sadie Powell2022-12-231-0/+1
* | Move extension types to their own header to speed up build times.Gravatar Sadie Powell2022-12-192-0/+2
* | Use in_port_t instead of int/unsigned int/long.Gravatar Sadie Powell2022-12-181-3/+4
* | Rework the levels things are logged at to make more sense.Gravatar Sadie Powell2022-12-182-4/+4
* | Update /MOTD to match /OPERMOTD.Gravatar Sadie Powell2022-12-181-2/+2
* | Move <oper:autologin> from m_sslinfo to core_oper and rework.•••- Promote autologin to a core concept with visibility in events. - Replace the binary yes/no value with strict/relaxed/never. This intentionally breaks v3 oper block autologin as admins will need to review them for the security implications of the new behaviour. Gravatar Sadie Powell2022-12-111-7/+27
* | Improve the oper login flow and error messages.Gravatar Sadie Powell2022-12-112-24/+32
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-12-107-17/+32
|\|
| * Tell an oper when the X-line they were trying to match is too wide.•••Also move the snotice for an overwide X-line to snomask 'X' which should have been done when it was added. Gravatar Sadie Powell2022-12-107-8/+12
| * Allow specifying multiple masks when adding an X-line.•••The only exemptions for this are RLINE (a real name might contains commas) and SVSHOLD (sent by services only). Closes #1972. Gravatar Sadie Powell2022-12-105-9/+20
* | Move password checking from core_oper into OperAccount.Gravatar Sadie Powell2022-12-101-2/+1
* | Remove the unused Extensible* parameter to PassCompare/OnPassCompare.Gravatar Sadie Powell2022-12-101-1/+1
* | Slightly improve the logging in cmd_oper.Gravatar Sadie Powell2022-12-101-4/+3
* | Move <oper:host> check into OnPreOperLogin.Gravatar Sadie Powell2022-12-102-5/+10
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-12-092-9/+23
|\|
| * Fix reading the MOTD when <connect:motd> is a literal path.Gravatar Sadie Powell2022-12-091-5/+14
| * Fix sending malformed MOTD and showfile messages to clients.Gravatar Sadie Powell2022-12-092-6/+15
* | If an oper is away then show it in `/STATS P`.•••Also fix hideoper and the idle timestamp. Gravatar Sadie Powell2022-12-061-7/+15
* | Avoid copying a shared_ptr where not actually necessary.Gravatar Sadie Powell2022-12-011-1/+1
* | Yet more stylistic fixes.Gravatar Sadie Powell2022-12-0114-18/+18
* | Add stats tags for `/STATS O` and `/STATS o`.Gravatar Sadie Powell2022-11-301-18/+35
* | Allow attaching tags with extra info to stats rows.•••Stats responses are incredibly non-standard and no clients render them correctly. This makes using /STATS a massive pain in the ass for users. However, now we have message tags we have a way to fix this. We can send a <trailing> with the message details and for clients (probably bots) that need to parse the response we can include the specific details in message tags enabled by the new inspircd.org/stats-tags capability. The average user will get this: :<server> 210 <nick> <stats-char> :<stats-message> If however they enable the newcapability they will get this instead: @inspircd.org/stats-foo=bar;inspircd.org/stats-baz=bax :<server> 210 <nick> <stats-char> :<stats-message> Gravatar Sadie Powell2022-11-301-1/+26
* | Fix a typo in core_oper.Gravatar Sadie Powell2022-11-291-1/+2
* | Move the oper statistics to core_oper and rewrite.•••The numerics we used previously were not being used according to the RFC and every implementation has their own behaviour here which makes it hard for clients to do anything reasonable. Instead of this using the generic stats numeric makes a lot more sense. Gravatar Sadie Powell2022-11-292-50/+85
* | Refactor the internals of the oper system.•••- Allow overriding privileges from the <class> blocks in the <type> and <oper> blocks. - Separate oper types from oper accounts in the code. This enables moving some core stuff out of the config tag later. - Merge the config tags together to make a synthetic tag that can have getXXX called on it instead of using getConfig and then converting it. - Move the details of Have*Permission into the oper type class. - Improve oper events to allow modules to easily hook into the oper system. Gravatar Sadie Powell2022-11-288-22/+33
* | Rename session registration to connection to avoid a semantic conflict.•••We previously referred to both session registration and user registration as "registration" which is confusing for users who aren't familiar with how IRC works. Gravatar Sadie Powell2022-10-2913-26/+26
* | Use User::IsFullyConnected instead of checking for REG_ALL.Gravatar Sadie Powell2022-10-297-7/+7
* | Allow UserManager::Find{Nick,UUID,} to ignore unregistered users.Gravatar Sadie Powell2022-10-2910-30/+28
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-10-181-1/+4
|\|
| * Document how DNS PTR record lookups work better.Gravatar Sadie Powell2022-10-151-1/+4
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-10-131-15/+25
|\|
| * Fix the default case in GetFirstVisibleChannel and document it.Gravatar Sadie Powell2022-10-131-2/+5
| * Allow modules to control the visible channel in a WHO request.Gravatar Sadie Powell2022-10-121-7/+15
| * Add the matched channel to the WHO request data.Gravatar Sadie Powell2022-10-121-3/+3
* | Rename user_hash to UserMap and move to usermanager.Gravatar Sadie Powell2022-10-071-1/+1
* | Replace *foo.rbegin() with foo.end().Gravatar Sadie Powell2022-10-011-2/+2
* | Use auto instead of type names where the type is obvious.Gravatar Sadie Powell2022-09-2918-19/+19
* | Fix various cases of the &* being next to the name instead of type.Gravatar Sadie Powell2022-09-294-4/+4
* | WHOIS and WHOWAS have their own empty trailing logic now.Gravatar Sadie Powell2022-09-122-0/+2
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-09-128-9/+19
|\|
| * Send ERR_NONICKNAMEGIVEN when an empty nick is given in WHOIS/WHOWAS.Gravatar Sadie Powell2022-09-122-3/+14
| * Fix unnecessarily using c_str in parameters that take a std::string.Gravatar Sadie Powell2022-09-045-5/+5
* | Make internal penalty be specified in millisecs instead of seconds.•••This removes the need to multiply it later. Gravatar Sadie Powell2022-09-0915-20/+20
* | Default allow_empty_last_param to false.Gravatar Sadie Powell2022-09-0714-8/+8