Sadie Powell
7673db8d1b
Pass the client/server sockaddr around as a ref instead of a ptr.
2022-12-25 13:06:50 +00:00
Sadie Powell
2ddb623198
Use in_port_t instead of int/unsigned int/long.
2022-12-18 18:47:28 +00:00
Sadie Powell
bfee808f26
Fix conflicting with a predefined value on Windows.
...
STRICT is already defined on Windows so we'll need to do something
else here. Thanks Microsoft.
2022-12-11 10:31:00 +00:00
Sadie Powell
3c6e24665f
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.
2022-12-11 10:14:33 +00:00
Sadie Powell
9d35da3e84
Move password checking from core_oper into OperAccount.
2022-12-10 15:30:51 +00:00
Sadie Powell
52e048b214
Allow modules to ignore any checks from OnPreOperLogin.
2022-12-10 14:58:48 +00:00
Sadie Powell
5e44188857
More const correctness work.
2022-12-08 10:19:47 +00:00
Sadie Powell
d130106374
Avoid copying a shared_ptr where not actually necessary.
2022-12-01 05:39:24 +00:00
Sadie Powell
7a623b0663
Use T&&
instead of T
or const T&
.
2022-11-29 06:09:01 +00:00
Sadie Powell
f9ef385b89
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.
2022-11-29 04:52:42 +00:00
Sadie Powell
ee44af8d04
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.
2022-11-28 02:57:50 +00:00
Sadie Powell
561fe0fe64
Clean up the typedefs for OnBuildNeighborList.
2022-10-29 17:38:58 +01:00
Sadie Powell
6fc111ccb6
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.
2022-10-29 15:54:59 +01:00
Sadie Powell
a46b8b8ede
Allow UserManager::Find{Nick,UUID,} to ignore unregistered users.
2022-10-29 13:01:42 +01:00
Sadie Powell
859088dac5
More const correctness.
2022-10-23 14:51:33 +01:00
Sadie Powell
3928f478f1
Assign more class members inline instead of in the constructor.
2022-10-21 17:15:10 +01:00
Sadie Powell
41d1312853
Rename User::age to User::nickchanged and fix the docs.
2022-10-11 11:12:04 +01:00
Sadie Powell
552b2db321
Mark User::Has{Command,Priv}Permission as const.
2022-10-07 21:34:37 +01:00
Sadie Powell
89537ed2ab
Fix various cases of the &* being next to the name instead of type.
2022-09-29 12:36:01 +01:00
Sadie Powell
9203f40f41
Fix some warnings noticed by the readability-* clang-tidy checkers.
2022-09-03 23:17:05 +01:00
Sadie Powell
2cfc79bfcb
Rip out the extensible/user serialisation system.
...
This was part of a failed attempt to implement zero downtime
restarts in v3. This can be implemented in a better way but for
now its just slowing down build times so lets kill it.
2022-09-01 11:53:47 +01:00
Sadie Powell
6c34d4e8ea
Update some code that uses "endpoint" to use "socket address" instead.
2022-09-01 11:53:47 +01:00
Sadie Powell
28a7f1f0c8
Merge branch 'insp3' into master.
2022-08-27 14:48:19 +01:00
InspIRCd Robot
96f355c2fa
Update copyright headers.
2022-08-25 20:46:11 +01:00
Sadie Powell
d4125ff12d
Rename SetClientIP to ChangeRemoteAddress.
2022-08-10 22:16:06 +01:00
Sadie Powell
2dc07dbc06
Merge branch 'insp3' into master.
2022-08-10 22:04:19 +01:00
Sadie Powell
bbdbbc64d5
Deprecate the string variant of SetClientIP.
...
Nothing uses this anymore.
2022-08-10 19:37:07 +01:00
Sadie Powell
ad2aecf191
Remove some unnecessary getters in ConnectClass.
...
All of these members are public anyway.
2022-07-22 20:44:47 +01:00
Sadie Powell
0e7883dd96
Format enums with an underlying type like classes.
2022-04-30 14:47:39 +01:00
Sadie Powell
414105e409
Add a typedef for the mode status bitset.
2022-03-27 16:09:19 +01:00
Sadie Powell
d79147e7af
Abolish the infernal space before accessibility keywords.
2022-01-25 14:02:36 +00:00
Sadie Powell
5881e6f6a3
Revert "Allow setting extension data on connect classes".
...
This can't reasonably be implemented safely with the current way
that extensibles work.
This reverts commit b867007d201b1a3b130186c54e41481c0374a7f6.
2022-01-16 15:05:00 +00:00
Sadie Powell
5486c0f383
Add ConnectClass::Ptr as an alias for std::shared_ptr<ConnectClass>.
2022-01-16 14:26:49 +00:00
Sadie Powell
b867007d20
Allow setting extension data on connect classes.
2022-01-16 02:19:16 +00:00
Sadie Powell
421e8c8c79
Add the final keyword to all remaining classes that can have it.
2021-12-20 20:19:40 +00:00
Sadie Powell
e9d54724e6
Merge branch 'insp3' into master.
2021-12-14 16:56:48 +00:00
Sadie Powell
15a68932b6
If a user has a unique username then include it in bans.
2021-12-14 15:55:06 +00:00
Sadie Powell
64340dc509
Sync uniqueusername from the connect class to the user.
...
This is a massive hack for now but should be made to sync properly
in v4 when we have extensibles that don't suck.
2021-12-14 15:48:57 +00:00
Sadie Powell
42b7a77cc6
Move configuration of connect classes to the ConnectClass class.
2021-11-24 20:54:33 +00:00
Sadie Powell
4a6e0e2133
Refactor the ClassTypes enum and move into ConnectClass.
2021-11-24 20:29:29 +00:00
Sadie Powell
460220fbf5
Add sensible defaults and limits to ConnectClass.
2021-11-24 20:28:05 +00:00
Sadie Powell
d120324c1b
Fix ConnectClass inheriting from refcountbase.
...
This snuck back in during the v3 merge.
Closes #1944 .
2021-11-24 19:42:09 +00:00
Sadie Powell
2ec53e10ee
Merge branch 'insp3' into master.
2021-11-24 07:17:50 +00:00
Sadie Powell
f776f92371
Add the <connect:uniqueusername> option.
2021-11-23 23:05:06 +00:00
Sadie Powell
2cdd311735
Document ConnectClass and reorder it to avoid unnecessary padding.
2021-11-16 18:59:18 +00:00
Sadie Powell
a730147586
Merge branch 'insp3' into master.
2021-08-01 20:14:47 +01:00
Sadie Powell
a488fe52f6
Change ForEachNeighbour to return the already sent id.
2021-07-24 19:00:39 +01:00
Sadie Powell
d95d7fc4f5
Merge branch 'insp3' into master.
2021-07-01 12:33:51 +01:00
Josh Soref
de6d4dbd1e
Fix various spelling issues ( #1883 ).
...
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2021-06-21 21:47:06 +01:00
Dominic Hamon
02340285c5
Added -Wshorten-64-to-32 and fixed all warnings.
2021-05-30 20:37:54 +01:00