90 Commits

Author SHA1 Message Date
InspIRCd Robot
ae3e2db109 Update copyright headers. 2024-06-07 10:37:56 +01: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
44986c7976 Use auto instead of type names where the type is obvious. 2022-09-29 12:54:24 +01:00
Sadie Powell
2cfc79bfcb Rip out the extensible/user serialisation system.
This was part of a failed attempt to implement zero downtime
restarts in v3. This can be implemented in a better way but for
now its just slowing down build times so lets kill it.
2022-09-01 11:53:47 +01:00
Sadie Powell
6e7d449495 Refuse to set an extension on the wrong type of extensible. 2022-01-31 12:01:39 +00:00
Sadie Powell
4dfb2d1816 Make extension names case insensitive. 2022-01-31 12:01:39 +00:00
Sadie Powell
7d3055f8c3 Add the type to the Extensible class. 2022-01-31 12:01:39 +00:00
Sadie Powell
f6559895b2 Rename the ExtensionItem::type field to extype to avoid collisions. 2022-01-31 12:01:39 +00:00
Sadie Powell
d79147e7af Abolish the infernal space before accessibility keywords. 2022-01-25 14:02:36 +00:00
Sadie Powell
6a863194d7 Fix the doxygen documentation and style of the extension classes. 2022-01-22 03:02:58 +00:00
Sadie Powell
a51d044c82 Fix various edge cases in extensible synchronisation.
- Fix not forwarding the accountid extensible if it is set.
- Rename the variadic Set() overload to SetFwd().
- Re-add the `const T&` overload of Set().
- Move `bool synced` to SimpleExtItem from StringExtItem.
- Only sync extensibles if their instance is marked as syncable.
2022-01-21 16:36:43 +00:00
Sadie Powell
5881e6f6a3 Revert "Allow setting extension data on connect classes".
This can't reasonably be implemented safely with the current way
that extensibles work.

This reverts commit b867007d201b1a3b130186c54e41481c0374a7f6.
2022-01-16 15:05:00 +00:00
Sadie Powell
b867007d20 Allow setting extension data on connect classes. 2022-01-16 02:19:16 +00:00
Sadie Powell
6282e1f287 Promote ExtensionItem::ExtensibleType to a top level enum class. 2021-12-23 21:34:53 +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
05ccd525ad Replace some references to ssl with tls. 2021-12-08 12:32:29 +00:00
Sadie Powell
d95d7fc4f5 Merge branch 'insp3' into master. 2021-07-01 12:33:51 +01:00
Josh Soref
de6d4dbd1e
Fix various spelling issues (#1883).
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2021-06-21 21:47:06 +01:00
Sadie Powell
5dc87c938a Remove usecountbase from ExtensionItem and refer to using pointers.
At one point (1.2?) this was actually useful but nowadays its not.
2021-04-09 00:16:02 +01:00
Sadie Powell
7d84e4900f Fix a ton of pedantic compiler warnings. 2021-04-04 23:42:15 +01:00
Sadie Powell
c1aa1d5a2b Add a subclass of ExtensionItem exclusively for booleans. 2021-03-17 21:14:07 +00:00
Sadie Powell
a4e9ebfda3 Implement support for automatically syncing extension items. 2021-03-17 21:13:10 +00:00
Sadie Powell
3b71f2068e Mark {From,To}{Human,Internal,Network} as noexcept. 2021-03-17 13:34:43 +00:00
Sadie Powell
3c013df6da Add a forwarding overload of SimpleExtItem#Set. 2021-03-17 13:12:24 +00:00
Sadie Powell
9ad9a668d5 Pascalize Unset in extension item classes. 2021-03-17 06:15:48 +00:00
Sadie Powell
e2f8e75ab8 Pascalize Set in extension item classes. 2021-03-17 06:07:41 +00:00
Sadie Powell
59ee026b3b Pascalize Get in extension item classes. 2021-03-17 05:58:47 +00:00
Sadie Powell
4e488cb54d Refactor classbase/CullResult into Cullable/Cullable::Result. 2021-03-02 05:56:56 +00:00
Sadie Powell
601ddbbb25 Replace defaultdeleter with the C++11 one and rename culldeleter. 2021-01-30 19:53:36 +00:00
Sadie Powell
3ae299f298 Rename Extensible::doUnhookExtensions to UnhookExtensions. 2021-01-30 19:16:49 +00:00
Sadie Powell
ef4e61cd24 Pascalize ExtensionItem::{get,set,unset}_raw. 2020-07-20 11:58:28 +01:00
Sadie Powell
b755d2a778 Merge branch 'insp3' into master. 2020-05-05 22:03:14 +01:00
InspIRCd Robot
44489ddf7e Update copyright headers. 2020-04-24 10:23:47 +01:00
InspIRCd Robot
4f9abe96a4 Fixes by misspell-fixer 2020-04-21 00:52:12 -06:00
Sadie Powell
e1ed9b275f Merge branch 'insp3' into master. 2020-04-09 18:06:50 +01:00
Sadie Powell
9ebda853f5 Fix various documentation and formatting issues. 2020-03-30 17:24:12 +01: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
d0f802e30c Implement serialisation of users.
This allows for various things which will be coming in the future.

e.g. Transferring users to another server on upgrade.
2019-10-14 11:03:03 +01:00
Sadie Powell
eeb6dcec60 Replace LocalIntExt with IntExtItem. 2019-08-13 19:08:17 +01:00
Sadie Powell
07ed06ebe5 Rewrite and merge LocalStringExt, StringExtItem. 2019-08-13 18:12:59 +01:00
Sadie Powell
21664767f0 Move the Module parameter of ExtensionItem et al to the start.
This matches what other ServiceProvider types do.
2019-08-13 17:36:19 +01:00
Sadie Powell
b39bd5f49c Rename ExtensionItem::free to ExtensionItem::Delete. 2019-08-13 16:59:04 +01:00
Sadie Powell
aca4503481 Merge branch 'insp3' into master. 2019-08-13 15:43:26 +01:00
Peter Powell
0827c5c742 Free StringExtItem and SimpleExtItem values correctly. 2019-08-13 15:02:25 +01:00
Peter Powell
703ba72071 Convert LocalExtItem to a typedef and deprecate it. 2019-08-13 15:02:25 +01:00
Sadie Powell
23448e2255 Remove remnants of the old ExtensionItem serialisation system.
Also rm LocalExtItem whilst we are at it as it is now obsolete.
2019-08-09 04:07:44 +01:00
Sadie Powell
7c7de81b6d Merge branch 'insp3' into master. 2019-08-09 04:07:33 +01:00
Peter Powell
714284aa30 Convert all core ExtensionItem code away from {un,}serialize. 2019-08-07 19:37:27 +01:00