| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Keep one list of all limits in ServerLimits instead of one in
each list mode. This should reduce memory usage slightly and the
lists are usually so small and are compared so infrequently that
this won't cause any performnace issues.
- Automatically look up the mode limit when the mode list is used
instead of manually rehashing in each module. This should cause
less footguns than the old API and doesn't require manually
updating the limit on rehash.
- Move code relating to variable and lower limits from the core to
core_channel. This is only used by ISUPPORT.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
There's no need for this to be in ServerConfig. Although it is
configuration it applies more to the cli interface which is part
of the InspIRCd class.
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| |\| |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- The default prefix modes are now separate from the default channel
modes. This should result in less accidentally broken configs.
- The privs are now pre-parsed to a list of mode references. This
should improve performance slightly as the repeated mode lookups
are gone. It also allows us to write warnings to the debug log
when the default privs are invalid.
- Channels can now have a default topic.
|
| | | |
|
| | |
| |
| |
| | |
Closes #2157.
|
| | | |
|
| | |
| |
| |
| | |
This is a very slow header to have included by every source file.
|
| |\| |
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This option stores the user *mask* not the user host so the old
name is incorrect.
|
| |
|
|
|
| |
This allows making stringutils an optional header given that most
of it is not used by most of the codebase.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This fixes reading the same file when the SSL certs are reloaded
without a full rehash (e.g. via SIGUSR1 or /REHASH -ssl).
This also reverts 8f0d732e38.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
All fields are now ordered in the most memory efficient way and all
public fields use the correct case. Every member has been redocumented
to match the current documentation style.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| | |
|
| | |
|
| | |
|
| | |
|