aboutsummaryrefslogtreecommitdiff
path: root/src/users.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make reading the core config less of a mess.Gravatar Sadie Powell2023-01-271-2/+2
|
* Replace getInt/getUInt/getFloat with type safe templated functions.Gravatar Sadie Powell2023-01-251-9/+9
|
* Refactor the caching methods in User and rename to make more sense.Gravatar Sadie Powell2023-01-241-62/+98
|
* Convert log calls to use fmtlib format stringsGravatar Sadie Powell2023-01-241-16/+16
|
* Convert WriteToSnoMask/WriteGlobalSno to use fmtlib format strings.Gravatar Sadie Powell2023-01-231-5/+5
|
* Convert various enums to strongly typed scoped enums.Gravatar Sadie Powell2023-01-221-9/+9
|
* Fix calling various static functions through a type instance.Gravatar Sadie Powell2023-01-111-1/+1
|
* Qualify auto correctly in all cases.Gravatar Sadie Powell2023-01-101-4/+4
|
* Avoid copying shared_ptr<ConfigTag> when not necessary.Gravatar Sadie Powell2023-01-101-3/+3
|
* Rework how users are assigned to connect classes.Gravatar Sadie Powell2023-01-081-178/+69
| | | | | | | | | | | - Move core connect class checks and <performance:clonesonconnect> to the core_user module. - Add pre-change and post-change events for when a connect class changes. - Split explicit class changing out into its own method. - Remove the need to almost always call CheckClass after SetClass. - Add use counting to the connect class instead of relying on the shared_ptr use count.
* Fix CanUseSnomask checking the wrong snomask index.Gravatar Sadie Powell2023-01-021-1/+1
| | | | We reuse the mode index packing here to avoid duplication.
* Fix getting the full snomask and mode lists.Gravatar Sadie Powell2023-01-021-7/+12
|
* Get rid of the virtual Has*Permission methods.Gravatar Sadie Powell2023-01-021-46/+0
| | | | These are no longer needed now we store privs for the remote oper.
* Allow getting all of the oper command/mode/snomask privs.Gravatar Sadie Powell2023-01-021-5/+8
|
* Add some useful aliases to OperType.Gravatar Sadie Powell2023-01-021-3/+3
|
* Merge branch 'insp3' into master.Gravatar Sadie Powell2023-01-011-1/+0
|\
| * Update copyright headers.Gravatar InspIRCd Robot2022-12-301-1/+0
| |
| * Avoid sending an +o mode change when the mode isn't available.Gravatar Sadie Powell2022-11-281-1/+1
| | | | | | | | | | This is generally fine but may cause problems if an oper unloads the core_oper module.
* | Refactor SocketEngine slightly.Gravatar Sadie Powell2022-12-251-1/+1
| | | | | | | | | | | | | | - 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.
* | Pass the client/server sockaddr around as a ref instead of a ptr.Gravatar Sadie Powell2022-12-251-3/+3
| |
* | Use in_port_t instead of int/unsigned int/long.Gravatar Sadie Powell2022-12-181-3/+6
| |
* | Rework the levels things are logged at to make more sense.Gravatar Sadie Powell2022-12-181-1/+1
| |
* | Fix conflicting with a predefined value on Windows.Gravatar Sadie Powell2022-12-111-7/+7
| | | | | | | | | | STRICT is already defined on Windows so we'll need to do something else here. Thanks Microsoft.
* | Move <oper:autologin> from m_sslinfo to core_oper and rework.Gravatar Sadie Powell2022-12-111-4/+28
| | | | | | | | | | | | | | | | - 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.
* | Move password checking from core_oper into OperAccount.Gravatar Sadie Powell2022-12-101-0/+6
| |
* | Remove the unused Extensible* parameter to PassCompare/OnPassCompare.Gravatar Sadie Powell2022-12-101-1/+1
| |
* | Allow modules to ignore any checks from OnPreOperLogin.Gravatar Sadie Powell2022-12-101-2/+2
| |
* | More const correctness work.Gravatar Sadie Powell2022-12-081-2/+2
| |
* | Avoid copying a shared_ptr where not actually necessary.Gravatar Sadie Powell2022-12-011-4/+3
| |
* | Yet more stylistic fixes.Gravatar Sadie Powell2022-12-011-7/+8
| |
* | Fix GetSnomasks returning unregistered snomasks.Gravatar Sadie Powell2022-11-301-1/+1
| |
* | Move the oper statistics to core_oper and rewrite.Gravatar Sadie Powell2022-11-291-0/+36
| | | | | | | | | | | | | | 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.
* | Refactor the internals of the oper system.Gravatar Sadie Powell2022-11-281-109/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | Clean up the typedefs for OnBuildNeighborList.Gravatar Sadie Powell2022-10-291-3/+3
| |
* | Rename session registration to connection to avoid a semantic conflict.Gravatar Sadie Powell2022-10-291-14/+14
| | | | | | | | | | | | 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.
* | Use User::IsFullyConnected instead of checking for REG_ALL.Gravatar Sadie Powell2022-10-291-3/+3
| |
* | Rename User::age to User::nickchanged and fix the docs.Gravatar Sadie Powell2022-10-111-2/+2
| |
* | Mark User::Has{Command,Priv}Permission as const.Gravatar Sadie Powell2022-10-071-4/+4
| |
* | Fix various cases of the &* being next to the name instead of type.Gravatar Sadie Powell2022-09-291-4/+4
| |
* | Fix some warnings noticed by the readability-* clang-tidy checkers.Gravatar Sadie Powell2022-09-031-1/+1
| |
* | Rip out the extensible/user serialisation system.Gravatar Sadie Powell2022-09-011-8/+0
| | | | | | | | | | | | 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.
* | Update some code that uses "endpoint" to use "socket address" instead.Gravatar Sadie Powell2022-09-011-4/+4
| |
* | Move aptosa/untosa into the sockaddrs union and add from/from_ip.Gravatar Sadie Powell2022-08-111-3/+1
| | | | | | | | | | | | | | The struct will also now always be zero-initialized by default which removes the footgun which has happened previously where the union has been accessed before being initialized leading to it containing weird values.
* | Rename OnSetUserIP to OnChangeRemoteAddress.Gravatar Sadie Powell2022-08-101-1/+1
| |
* | Rename SetClientIP to ChangeRemoteAddress.Gravatar Sadie Powell2022-08-101-4/+4
| |
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-08-101-21/+1
|\|
| * Fix some harmless debug messages when initializing remote users.Gravatar Sadie Powell2022-08-101-2/+2
| |
* | Modernize various minor legacy C++isms.Gravatar Sadie Powell2022-07-301-2/+2
| |
* | Remove some unnecessary getters in ConnectClass.Gravatar Sadie Powell2022-07-221-10/+11
| | | | | | | | All of these members are public anyway.
* | Switch from NULL to nullptr.Gravatar Sadie Powell2022-07-221-6/+6
| |