339 Commits

Author SHA1 Message Date
Sadie Powell
166a47ac68 Remove GetSID, rename sid to ServerId. 2023-02-28 16:32:27 +00:00
Sadie Powell
d4ff568093 Make reading the core config less of a mess. 2023-01-27 04:15:36 +00:00
Sadie Powell
57cc457ec6 Rename some headers to match the common naming system. 2023-01-26 06:16:57 +00:00
Sadie Powell
af8effe4f0 Replace getInt/getUInt/getFloat with type safe templated functions. 2023-01-25 00:39:27 +00:00
Sadie Powell
babc733d2d Fix using (unsigned) long instead of (s)size_t. 2023-01-24 23:02:35 +00:00
Sadie Powell
abc5d52f13 Const correct various functions. 2023-01-11 00:56:15 +00:00
Sadie Powell
1b2916c845 Avoid copying shared_ptr<ConfigTag> when not necessary. 2023-01-10 21:27:18 +00:00
Sadie Powell
8831595e1a 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.
2023-01-08 16:28:40 +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
3d660b8e49 Handle renamed modules when reading the modules to load. 2022-10-18 10:59:57 +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
648f813f8c Switch from NULL to nullptr. 2022-07-22 18:53:21 +01:00
Sadie Powell
255742d311 Make getEnum use the default instead of throwing. 2022-06-25 21:08:58 +01:00
Sadie Powell
a764d29de4 Centralise the logging of malformed config values. 2022-06-25 17:05:35 +01:00
Sadie Powell
fe9107c992 Modernize the syntax of various templates. 2022-06-23 21:22:04 +01:00
Sadie Powell
73c72a51c9 Move TokenList to inspstring. 2022-06-07 20:26:38 +01:00
Sadie Powell
d7912e6a3e Merge branch 'insp3' into master. 2022-04-29 11:24:05 +01:00
InspIRCd Robot
346ec99c43 Update copyright headers. 2022-04-28 18:49:16 +01:00
Sadie Powell
30edd1070d Merge branch 'insp3' into master. 2022-04-16 16:16:29 +01:00
Sadie Powell
79b1c44721 Add a method to ConfigTag to help with retrieving a single character. 2022-04-10 23:43:43 +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
89c89fd862 Move FilePosition to be with the config stuff it is used by. 2022-01-18 16:39:27 +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
f3fa3716e5 Fix the previous commit on Windows. 2022-01-16 00:04:06 +00:00
Sadie Powell
9059147974 Replace uses of the FileSystem class with std::filesystem. 2022-01-15 23:20:45 +00:00
Sadie Powell
52cc8a4183 Refactor CoreException and ModuleException. 2022-01-07 17:16:50 +00:00
Sadie Powell
b96af051c2 Merge branch 'insp3' into master. 2022-01-03 15:14:36 +00:00
InspIRCd Robot
adbe149c56 Update copyright headers. 2021-12-30 18:52:08 +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
2f462a6098 Merge branch 'insp3' into master. 2021-09-16 15:50:00 +01:00
Sadie Powell
1586569069 Use the network name as the description when hideserver is enabled. 2021-09-04 20:14:47 +01:00
Dominic Hamon
02340285c5
Added -Wshorten-64-to-32 and fixed all warnings. 2021-05-30 20:37:54 +01:00
Sadie Powell
c6c4bcf952 Make ServerConfig::{ApplyModules, Fill} private. 2021-05-13 15:29:39 +01:00
Sadie Powell
3ca912ad71 Merge branch 'insp3' into master. 2021-05-11 04:07:45 +01:00
Sadie Powell
7d84e4900f Fix a ton of pedantic compiler warnings. 2021-04-04 23:42:15 +01:00
Sadie Powell
e76b208ce8 Merge branch 'insp3' into master. 2021-03-05 09:54:26 +00:00
Sadie Powell
2ba32afa9a Fix a bunch of really obvious unnecessary includes. 2021-03-05 09:17:13 +00:00
Sadie Powell
dcafba9596 Fix comments that claim that the InspIRCd protocol uses TS6 UUIDs.
Just because they happen to look the same doesn't mean that they
actually are.
2021-03-05 03:23:25 +00:00
Sadie Powell
1e1cf527d2 Merge branch 'insp3' into master. 2021-03-05 02:32:35 +00:00
InspIRCd Robot
7b1ab06a95 Update copyright headers. 2021-03-05 02:16:11 +00:00
Sadie Powell
3f113fc046 Move iterator_range to the utility directory and renamespace. 2021-03-02 02:56:49 +00:00
Sadie Powell
c22c7e5a99 Merge branch 'insp3' into master. 2021-02-28 19:16:40 +00:00
InspIRCd Robot
1bf7ca3894 Update copyright headers. 2021-02-26 06:58:13 +00:00
Sadie Powell
74661a8112 Allow ServerConfig::Conf{Value,Tags} to have a fallback default. 2021-01-30 14:04:19 +00:00
Sadie Powell
db0052bcc2 Merge branch 'insp3' into master. 2021-01-18 11:42:25 +00:00
Sadie Powell
a59ed4b394 Add a new runtime directory and move the pid file to it.
The data directory is intended for persistent files whereas the pid
file is ephemeral. This distinction doesn't matter by default but
on system-wide installs ephemeral runtime files go in /var/run or
/run instead.
2021-01-18 07:05:27 +00:00
Sadie Powell
a63b6e16df Merge branch 'insp3' into master. 2020-12-21 16:40:52 +00:00
Sadie Powell
6cfabb0064 Hide the server name/desc better when <options:hideserver> is set. 2020-12-20 03:05:29 +00:00