308 Commits

Author SHA1 Message Date
Sadie Powell
d7182c584c Add a helper class for creating a reference to a DNS manager. 2023-01-05 00:41:04 +00:00
Sadie Powell
26c6a8811b Allow specifying milliseconds and a timespec in the server-time API. 2023-01-04 19:56:57 +00:00
Sadie Powell
d048778f78 Merge branch 'insp3' into master. 2023-01-01 13:19:45 +00:00
InspIRCd Robot
2b810b412a Update copyright headers. 2022-12-30 11:31:28 +00:00
Sadie Powell
8025a69a53 Allow remapping mode and extban characters at load time.
Closes #1970.
2022-12-20 16:02:12 +00:00
Sadie Powell
43d48a2e98 Move extension types to their own header to speed up build times. 2022-12-19 14:18:30 +00:00
Sadie Powell
513309fc68 Fix building with the Intel C++ compiler.
- Fix adding -Wshadow in the compiler flags twice.
- Detect the new Clang-based Intel compiler as well as the old one.
- Silence some deprecation warnings using Intel syntax.
2022-12-10 06:58:39 +00:00
Sadie Powell
5e44188857 More const correctness work. 2022-12-08 10:19:47 +00:00
Sadie Powell
ce57199237 Const correct the IRCv3 standard replies API. 2022-12-06 13:02:52 +00:00
Sadie Powell
69442119e0 Fix a missing doxygen parameter. 2022-12-04 06:07:01 +00:00
Sadie Powell
d130106374 Avoid copying a shared_ptr where not actually necessary. 2022-12-01 05:39:24 +00:00
Sadie Powell
45e56e5ee1 Yet more stylistic fixes. 2022-12-01 05:25:01 +00:00
Sadie Powell
5dd3629f12 Allow attaching tags with extra info to stats rows.
Stats responses are incredibly non-standard and no clients render
them correctly. This makes using /STATS a massive pain in the ass
for users.

However, now we have message tags we have a way to fix this. We can
send a <trailing> with the message details and for clients (probably
bots) that need to parse the response we can include the specific
details in message tags enabled by the new inspircd.org/stats-tags
capability.

The average user will get this:

    :<server> 210 <nick> <stats-char> :<stats-message>

If however they enable the newcapability they will get this instead:

    @inspircd.org/stats-foo=bar;inspircd.org/stats-baz=bax :<server> 210 <nick> <stats-char> :<stats-message>
2022-11-30 04:08:30 +00:00
Sadie Powell
7a623b0663 Use T&& instead of T or const T&. 2022-11-29 06:09:01 +00:00
Sadie Powell
d5759d1de2 Extract the logic for tags that need message-tags to its own type. 2022-11-29 05:12:42 +00:00
Sadie Powell
b045f49afb Merge branch 'insp3' into master. 2022-11-24 19:16:25 +00:00
Sadie Powell
5a30466990 Add a workaround for the replies API not working with a cap reference.
A Cap::Reference can not be cast to a Cap::Capability& because it may
not be available and that would create a null reference. In v4 we can
change the API to take a Cap::Capability* but for now this is the best
we can do.
2022-11-24 19:01:22 +00:00
Sadie Powell
92739a57f6 Merge branch 'insp3' into master. 2022-11-16 16:29:12 +00:00
delthas
6939a79a67
Add support for the IRCv3 extended-monitor specification.
Co-authored-by: Sadie Powell <sadie@witchery.services>
2022-11-02 12:18:37 +00:00
Sadie Powell
41926908ec Fix some types which were missed when making stuff final. 2022-10-30 12:58:38 +00:00
Sadie Powell
6fc111ccb6 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.
2022-10-29 15:54:59 +01:00
Sadie Powell
859088dac5 More const correctness. 2022-10-23 14:51:33 +01:00
Sadie Powell
77a76b8553 Merge branch 'insp3' into master. 2022-10-18 12:33:09 +01:00
Sadie Powell
ad24454084 Fix an unintentional string copy in the geolocation API. 2022-10-18 12:30:15 +01:00
Sadie Powell
4dfb70a936 Add the accountnicks metadata as a replacement for user mode +r.
This isn't used much currently but in the future will allow doing
a lot of behaviour which is currently implemented in services in
the IRCd instead e.g. killing ghost clients, nickname enforcement.
2022-10-18 10:58:14 +01:00
Sadie Powell
f49cfd2f30 Merge branch 'insp3' into master. 2022-10-13 08:35:02 +01:00
Sadie Powell
59ec1f6eb6 Allow modules to control the visible channel in a WHO request. 2022-10-12 08:50:06 +01:00
Sadie Powell
a54b78fb9d Add the matched channel to the WHO request data. 2022-10-12 08:50:06 +01:00
Sadie Powell
45cfe11c98 Fix saving the database identifier in SQL::Provider. 2022-10-07 19:41:07 +01:00
Sadie Powell
69aab925da Modernize an old-style loop that was previously missed. 2022-10-01 22:26:26 +01:00
Sadie Powell
e4efd41a99 Use a global typedef for representing a character set. 2022-09-30 20:21:59 +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
2a0cce9d46 Fix more warnings discovered with -Weverything. 2022-09-05 21:14:36 +01:00
Sadie Powell
648f813f8c Switch from NULL to nullptr. 2022-07-22 18:53:21 +01:00
Sadie Powell
a0850bc53f Add methods for extracting specific regex captures. 2022-06-28 14:00:14 +01:00
Sadie Powell
89712e2e84 Move numerics to the source files where they are actually used. 2022-06-26 15:29:29 +01:00
Sadie Powell
fe9107c992 Modernize the syntax of various templates. 2022-06-23 21:22:04 +01:00
Sadie Powell
bc2098a492 Require specifying the repeat argument of the Timer class. 2022-05-17 12:06:26 +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
f7c041f560 Implement support for regex capture groups. 2022-05-06 15:53:08 +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
InspIRCd Robot
346ec99c43 Update copyright headers. 2022-04-28 18:49:16 +01:00
Sadie Powell
9fbcb685e8 Merge branch 'insp3' into master. 2022-04-21 16:32:29 +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
30edd1070d Merge branch 'insp3' into master. 2022-04-16 16:16:29 +01:00