3414 Commits

Author SHA1 Message Date
Sadie Powell
87f036ddf9 Fix the modehandlers array being bigger than necessary
We now pack the positions within this array so we can shrink it.
2022-06-23 15:34:23 +01:00
Sadie Powell
429b973af6 Add a basic function for templating strings. 2022-06-15 12:30:24 +01:00
Sadie Powell
b89a91f2e3 Use size_t instead of unsigned int in ModeParser. 2022-06-11 12:22:34 +01:00
Sadie Powell
73c72a51c9 Move TokenList to inspstring. 2022-06-07 20:26:38 +01:00
Sadie Powell
1991211a67 Convert irc::find to use string_view. 2022-06-07 20:26:38 +01:00
Sadie Powell
3be039e332 Get rid of GetVersionString.
TODO: split fullversion/version into individual fields.
2022-05-17 18:28:16 +01:00
Sadie Powell
08b7167d0f Mark Membership::GetRank() as constant. 2022-05-17 14:16:42 +01:00
Sadie Powell
c31e4c6a97 Add a typedef for a mode rank. 2022-05-17 13:45:18 +01:00
Sadie Powell
ec217059c3 Store a set of list mode pointers in Membership instead of characters. 2022-05-17 13:02:58 +01:00
Sadie Powell
bc2098a492 Require specifying the repeat argument of the Timer class. 2022-05-17 12:06:26 +01:00
Sadie Powell
337b0bedc3 Only give timers a trigger time when they're actually registered. 2022-05-17 11:36:02 +01:00
Sadie Powell
986d587ea4 Add the new account system.
This still relies on the old extensibles for now but we can change
that later.
2022-05-14 14:47:56 +01:00
Sadie Powell
83b1afdfad Remove the old account system. 2022-05-14 13:50:29 +01:00
Sadie Powell
1a5af295be Move unistd out of the global compat header. 2022-05-07 20:18:15 +01:00
Sadie Powell
507887f001 Get rid of entrypoint, specify the main function name directly. 2022-05-07 20:18:15 +01:00
Sadie Powell
ed95dcf44a Remove unnecessary arguments to On(Post)Oper.
These are already accessible from the user object.
2022-05-07 18:01:43 +01:00
Sadie Powell
f7c041f560 Implement support for regex capture groups. 2022-05-06 15:53:08 +01:00
Sadie Powell
2ac42d8017 Fix various Doxygen comment issues. 2022-05-02 17:36:37 +01:00
Sadie Powell
21ad77d9f2 Flush logs every 15 minutes to avoid losing data. 2022-05-02 17:21:19 +01:00
Sadie Powell
7b40edc9af Add a log method for stringifying a logging method. 2022-05-02 12:43:30 +01:00
Sadie Powell
ab5f93999c Mark fields that take a Log::Engine* as non-null. 2022-05-01 22:55:26 +01:00
Sadie Powell
e23ee3fde1 Rewrite logging calls to use the new APIs. 2022-05-01 22:07:14 +01:00
Sadie Powell
c382faf9c9 Rewrite the entire logging system.
- Much cleaner API for writing to the log.
- Adds support for stderr and stdout logging to the core.
- Adds support for sql and syslog logging in modules.
2022-05-01 22:07:04 +01:00
Sadie Powell
0df16f0144 Delete the old logging system. 2022-05-01 21:44:54 +01:00
Sadie Powell
af1d0f6a4b Slim down the globally included files. 2022-04-30 17:48:12 +01:00
Sadie Powell
0e83e79974 Enable support for UNIX socket listeners on Windows. 2022-04-30 16:26:31 +01:00
Sadie Powell
0e7883dd96 Format enums with an underlying type like classes. 2022-04-30 14:47:39 +01:00
Sadie Powell
0e660314c3 Make the extban enums 8-bit. 2022-04-29 22:07:42 +01:00
Sadie Powell
d7912e6a3e Merge branch 'insp3' into master. 2022-04-29 11:24:05 +01:00
Sadie Powell
b36bfce84f Release v3.13.0. 2022-04-28 18:50:30 +01:00
InspIRCd Robot
346ec99c43 Update copyright headers. 2022-04-28 18:49:16 +01:00
Sadie Powell
4f58176bc2 Merge branch 'insp3' into master. 2022-04-26 17:09:31 +01:00
Sadie Powell
d682f3f2c9 Only write to the pid file on boot.
Being able to change this after first boot is error prone and does
not work well on system-wide installs where the server needs root
to write the file.

Closes #566.
2022-04-23 09:57:52 +01:00
Sadie Powell
c886bc0395 Remove a forward declaration for a non-existent type. 2022-04-21 22:51:14 +01:00
Sadie Powell
9fbcb685e8 Merge branch 'insp3' into master. 2022-04-21 16:32:29 +01:00
Sadie Powell
5d90fa4c6e Mark the main loop as noreturn. 2022-04-21 09:20:33 +01:00
Sadie Powell
b122c182cc Fix an outdated comment. 2022-04-20 23:57:04 +01:00
Sadie Powell
47515ac269 Fix a now outdated documentation comment. 2022-04-18 18:04:59 +01:00
Sadie Powell
d45fe55f0e Constify the parameter arguments in ListModeBase's Tell* methods. 2022-04-17 14:57:41 +01:00
Sadie Powell
d856205432 Fix doxygen to include the public module header files. 2022-04-17 14:16:05 +01:00
Sadie Powell
b6c77b3e01 Fix a missing doxygen comment. 2022-04-17 12:13:35 +01:00
Sadie Powell
27c0ae9433 Allow normalising extbans to a specific format.
Also, fix canonicalisation of acting extban values.
2022-04-17 12:08:57 +01:00
Sadie Powell
57b3a40afa Refactor ListModeBase::OnModeChange. 2022-04-17 11:23:14 +01:00
Sadie Powell
80e8013282 Remove ValidateParam and rename CanonicalizeParam.
There's basically no safe way to handle a malformed list mode
sent by a remote server without causing a desync. Its probably
for the best if we just only apply validation to locally added
list modes entries.
2022-04-17 11:14:39 +01:00
Sadie Powell
30edd1070d Merge branch 'insp3' into master. 2022-04-16 16:16:29 +01:00
Sadie Powell
c0bc5bf798 Add ListModeBase::CanonicalizeParam, fix cleaning extban masks. 2022-04-16 12:01:59 +01:00
Sadie Powell
985ef046ce Add a class that wraps a dynamic reference to the extban manager. 2022-04-16 10:52:34 +01:00
Sadie Powell
8656e9cce1 Replace duplicated documentation with @copydoc. 2022-04-16 09:38:34 +01:00
Sadie Powell
0cf1eb4b04 Make the parameter field of ValidateParam const. 2022-04-16 09:17:27 +01:00
Sadie Powell
7266f8681d Add a numeric builder for the ERR_CHANOPRIVSNEEDED numeric.
This should make privilege errors more consistent.
2022-04-12 12:48:54 +01:00