aboutsummaryrefslogtreecommitdiff
path: root/src/users.cpp
Commit message (Expand)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.•••- 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. Gravatar Sadie Powell2023-01-081-178/+69
* Fix CanUseSnomask checking the wrong snomask index.•••We reuse the mode index packing here to avoid duplication. Gravatar Sadie Powell2023-01-021-1/+1
* Fix getting the full snomask and mode lists.Gravatar Sadie Powell2023-01-021-7/+12
* Get rid of the virtual Has*Permission methods.•••These are no longer needed now we store privs for the remote oper. Gravatar Sadie Powell2023-01-021-46/+0
* 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.•••This is generally fine but may cause problems if an oper unloads the core_oper module. Gravatar Sadie Powell2022-11-281-1/+1
* | 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-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.•••STRICT is already defined on Windows so we'll need to do something else here. Thanks Microsoft. Gravatar Sadie Powell2022-12-111-7/+7
* | 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-4/+28
* | 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.•••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-291-0/+36
* | 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-281-109/+157
* | Clean up the typedefs for OnBuildNeighborList.Gravatar Sadie Powell2022-10-291-3/+3
* | 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-291-14/+14
* | 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.•••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. Gravatar Sadie Powell2022-09-011-8/+0
* | 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.•••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. Gravatar Sadie Powell2022-08-111-3/+1
* | 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.•••All of these members are public anyway. Gravatar Sadie Powell2022-07-221-10/+11
* | Switch from NULL to nullptr.Gravatar Sadie Powell2022-07-221-6/+6