aboutsummaryrefslogtreecommitdiff
path: root/include/users.h
Commit message (Expand)AuthorAgeFilesLines
* Fix formatting strings on C++20 compilers.Gravatar Sadie Powell2024-08-221-2/+2
* Add a formatting overload to {Membership,User}::Write(Remote)Notice.Gravatar Sadie Powell2024-08-181-0/+20
* Document Write* members in the User type correctly.Gravatar Sadie Powell2024-08-181-15/+29
* Update copyright headers.Gravatar InspIRCd Robot2024-06-211-2/+2
* Update copyright headers.Gravatar InspIRCd Robot2024-06-071-5/+2
* Make passwords for oper accounts optional.•••This allows restricting an oper account based on other data such as TLS fingerprint or services account but without logging them in automatically like autologin. Gravatar Sadie Powell2024-05-161-0/+3
* If a user has an oper connect class then reset it when de-opering.Gravatar Sadie Powell2024-02-191-1/+3
* Rework how away state is stored internally.•••This will be necessary for implementing pre-away as well as some changes for WATCH compatibility with Unreal. Gravatar Sadie Powell2023-08-041-11/+16
* Refactor Change{Displayed,Real}Host to match other Change* methods.Gravatar Sadie Powell2023-06-301-4/+4
* Remove OnPreChange{Host,RealName} events and deboolify methods.•••These have not ever been used as far as I can see. Gravatar Sadie Powell2023-06-291-8/+5
* Retain the "real" username properly like we do for hostnames.•••This introduces the concept of a real username. This value comes from either the initial USER message or from an ident lookup. Doing this allows us to use it for bans through vidents and cloaking web client users using their remote username. While changing this I also changed all of the uses of "ident" other than RFC 1413 lookups and some compatibility cases to refer to usernames as user(name) instead of ident. Our use of ident in these places was incorrect as that only refers to the RFC 1413 response and is not commonly used in the way we used it by any other IRC server implementations. Gravatar Sadie Powell2023-06-291-16/+37
* Inline various User methods.Gravatar Sadie Powell2023-06-251-7/+13
* Rename some headers to match the common naming system.Gravatar Sadie Powell2023-01-261-1/+1
* Refactor the caching methods in User and rename to make more sense.Gravatar Sadie Powell2023-01-241-59/+61
* Convert various enums to strongly typed scoped enums.Gravatar Sadie Powell2023-01-221-4/+8
* 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-16/+18
* 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-32/+4
* Allow synching oper privileges between servers.Gravatar Sadie Powell2023-01-021-1/+1
* Allow getting all of the oper command/mode/snomask privs.Gravatar Sadie Powell2023-01-021-5/+10
* Add some useful aliases to OperType.Gravatar Sadie Powell2023-01-021-1/+12
* Merge branch 'insp3' into master.Gravatar Sadie Powell2023-01-011-1/+0
|\
| * Update copyright headers.Gravatar InspIRCd Robot2022-12-301-1/+0
* | Pass the client/server sockaddr around as a ref instead of a ptr.Gravatar Sadie Powell2022-12-251-1/+1
* | Use in_port_t instead of int/unsigned int/long.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-4/+4
* | 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-2/+23
* | Move password checking from core_oper into OperAccount.Gravatar Sadie Powell2022-12-101-2/+13
* | Allow modules to ignore any checks from OnPreOperLogin.Gravatar Sadie Powell2022-12-101-1/+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-3/+3
* | Use `T&&` instead of `T` or `const T&`.Gravatar Sadie Powell2022-11-291-2/+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-291-0/+11
* | 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-10/+104
* | Clean up the typedefs for OnBuildNeighborList.Gravatar Sadie Powell2022-10-291-0/+6
* | 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-27/+28
* | Allow UserManager::Find{Nick,UUID,} to ignore unregistered users.Gravatar Sadie Powell2022-10-291-0/+4
* | More const correctness.Gravatar Sadie Powell2022-10-231-5/+5
* | Assign more class members inline instead of in the constructor.Gravatar Sadie Powell2022-10-211-2/+1
* | Rename User::age to User::nickchanged and fix the docs.Gravatar Sadie Powell2022-10-111-3/+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-3/+3
* | 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-13/+0
* | Update some code that uses "endpoint" to use "socket address" instead.Gravatar Sadie Powell2022-09-011-2/+2
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-08-271-1/+1
|\|
| * Update copyright headers.Gravatar InspIRCd Robot2022-08-251-1/+1
* | Rename SetClientIP to ChangeRemoteAddress.Gravatar Sadie Powell2022-08-101-6/+6
* | Merge branch 'insp3' into master.Gravatar Sadie Powell2022-08-101-4/+1
|\|
| * Deprecate the string variant of SetClientIP.•••Nothing uses this anymore. Gravatar Sadie Powell2022-08-101-4/+5