49 Commits

Author SHA1 Message Date
InspIRCd Robot
ae3e2db109 Update copyright headers. 2024-06-07 10:37:56 +01:00
Sadie Powell
a84e8aac58 Fix big list limits and expose the limit to TellListTooLong. 2023-08-12 09:59:34 +01:00
Sadie Powell
2953c643e7 Fix list modes unintentionally being case sensitive.
Closes #907.
2023-08-12 08:41:24 +01:00
Sadie Powell
8389fbba6d Replace ModeAction with bool.
This enum is functionally the same as bool but with weird semantics.
2023-01-22 22:52:30 +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
45e56e5ee1 Yet more stylistic fixes. 2022-12-01 05:25:01 +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
648f813f8c Switch from NULL to nullptr. 2022-07-22 18:53:21 +01:00
Sadie Powell
2ac42d8017 Fix various Doxygen comment issues. 2022-05-02 17:36:37 +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
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
c0bc5bf798 Add ListModeBase::CanonicalizeParam, fix cleaning extban masks. 2022-04-16 12:01:59 +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
4552856752 Use a consistent message format for end of list numerics. 2022-04-01 18:25:25 +01:00
Sadie Powell
d79147e7af Abolish the infernal space before accessibility keywords. 2022-01-25 14:02:36 +00:00
Sadie Powell
40035385c6 Add constexpr to the initialisation of various const static fields. 2022-01-18 14:33:06 +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
Dominic Hamon
02340285c5
Added -Wshorten-64-to-32 and fixed all warnings. 2021-05-30 20:37:54 +01:00
Sadie Powell
49702c621e Convert various mode methods to take Mode::Change.
- AccessCheck
- AfterMode
- BeforeMode
- OnModeChange
- OnRawMode
2021-03-30 18:25:55 +01:00
Sadie Powell
59ee026b3b Pascalize Get in extension item classes. 2021-03-17 05:58:47 +00:00
Sadie Powell
1de6f5b4a9 Merge branch 'insp3' into master. 2020-01-17 12:36:09 +00:00
InspIRCd Robot
aa692dc103 Update copyright headers. 2020-01-11 22:14:43 +00:00
Sadie Powell
7b68936321 Merge branch 'insp3' into master. 2019-11-13 15:24:45 +00:00
Peter Powell
4d2391ee09 Show the list modes which have variable list lengths in 005. 2019-10-01 12:32:40 +01:00
Sadie Powell
bfa5fb407e Merge branch 'insp3' into master. 2019-02-05 00:47:30 +00:00
Sadie Powell
c78ecdf579 Replace the override macro with the override keyword. 2019-01-25 02:52:11 +00:00
Peter Powell
3b39a88fdf Fix a minor Doxygen warning. 2019-01-24 17:15:13 +00:00
Peter Powell
36da0833c5 Add the <maxlist> tag and switch ListModeBase to always use it.
The old method of doing this was:

1. Extremely inconsistently used. Some list modes used <banlist>
   and some used their own config tag.
2. Not documented in the slightest. There was a small reference to
   <maxbans> for the ban mode but nothing else.
3. In some cases conflicting with other config tags. The chanfilter
   module defined a <chanfilter> tag for general config whilst also
   using it for the max list settings.

The new <maxlist> tag avoids these issues entirely.
2018-12-19 09:02:09 +00:00
B00mX0r
1155320da0 Fix an invalid mode parameters numeric upon attempting to view a list mode 2018-04-08 19:09:56 +01:00
Peter Powell
91e0af0fc4 Add the override keyword in places that it is missing.
GCCs warnings for this are much better than Clangs.
2017-11-21 15:51:45 +00:00
Peter Powell
21f2f56e98 Raise the default listmode limit to 100 from 64.
64 is a rather restrictive limit especially considering how fast
channels can accumulate bans. In fact, #InspIRCd hit the ban limit
in just over a year.

Having a low limit might have made sense when memory was expensive
but the average IRC server should be able to handle this fine now.
2017-09-14 15:42:34 +01:00
Peter Powell
60658d0bdb Replace the deprecated MAXBANS token with MAXLIST. 2017-07-24 14:44:36 +01:00
Peter Powell
d2b5c7d1fc Add DEFAULT_LIST_SIZE for the default list mode size. 2017-07-24 14:44:11 +01:00
Attila Molnar
711e33b9f8 Change listmode storage type to vector 2014-12-16 16:42:35 +01:00
Attila Molnar
5bea41d726 Use Modes::ChangeList in ModeHandler::RemoveMode() 2014-09-03 15:35:13 +02:00
Attila Molnar
3e2cfaf8c0 Change ListModeBase::DoRehash() to not be virtual 2014-08-06 13:22:40 +02:00
attilamolnar
58d7827bb1 Send ListModeBase modes implicitly on channel sync
Remove Module::ProtoSendMode() and ListModeBase::DoSyncChannel()
2013-09-12 14:44:17 +02:00
attilamolnar
992674362c Automatically register ServiceProviders created by modules 2013-09-08 17:11:08 +02:00
Peter Powell
146d72fddb Fix Doxygen comments. 2013-06-21 03:52:56 +01:00
attilamolnar
3406c7234a Simplify user mode removal via ModeHandler::RemoveMode()
The function does not need to be virtual because the core can remove any user mode using the default logic
The optional modestack parameter was always NULL, so remove it
2013-05-27 01:07:30 +02:00
attilamolnar
9bb24d3f45 Deduplicate RemoveMode() implementations
The default (core) implementation can now remove prefix modes
The modestacker parameter is now mandatory
2013-05-27 01:07:29 +02:00
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00
attilamolnar
99461ac66d Fix ListModeBase on Windows 2013-04-09 21:41:18 +02:00
attilamolnar
98beba078b ListModeBase: Cache max items per channel 2013-04-08 23:13:25 +02:00
attilamolnar
9de86c34d4 ListModeBase: Minor changes to original u_listmode code
- Add constructors to ListItem, ListLimit
- Rename fields in ListItem
- Store time as time_t instead of string
- Store limits in a vector instead of a list
- Don't deallocate the list when it becomes empty
2013-04-08 23:13:25 +02:00
attilamolnar
ebe5b201aa Migrate u_listmode.h into the core, change +b to use it 2013-04-08 23:13:24 +02:00