aboutsummaryrefslogtreecommitdiff
path: root/src/modules.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename DLL_EXTENSION to INSPIRCD_MODULE_EXT.Gravatar Sadie Powell2026-04-071-5/+5
| | | | | This will be in config.h when we switch to CMake so I'm renaming it now to reduce the diff size of the CMake commit.
* Define NDEBUG when not building in debug mode.Gravatar Sadie Powell2026-04-061-4/+4
|
* Add insp::find_value, insp::to_ptr and switch code to use them.Gravatar Sadie Powell2026-04-041-4/+1
|
* Remove the remaining bits of stdalgo to utility/container.Gravatar Sadie Powell2026-04-041-1/+1
|
* Rename utility/map to container and prefix the difference method.Gravatar Sadie Powell2026-04-041-2/+2
|
* Merge branch 'insp4' into master.Gravatar Sadie Powell2026-03-311-1/+1
|\
| * Update copyright headers.Gravatar InspIRCd Robot2026-03-311-1/+1
| |
| * Backport the fix of copying dynamic references from git master.Gravatar Sadie Powell2026-03-171-0/+6
| |
* | Move dynref code to be alongside the service code.Gravatar Sadie Powell2026-03-291-83/+0
| |
* | Move service types to their own namespace.Gravatar Sadie Powell2026-03-291-64/+10
| | | | | | | | | | | | | | | | | | | | | | - ServiceProvider is now Service::Provider - DataProvider is now Service::SimpleProvider (the old name does not really make sense now we don't have SERVICE_DATA and the only difference is automatic registration. - Some members of ModuleManager have been elevated to the Service namespace in case other code wants to use them.
* | Move some functions from stdalgo to utility/pointer.Gravatar Sadie Powell2026-03-291-1/+1
| |
* | Switch modules from reference<> to shared_ptr<> and weak_ptr<>.Gravatar Sadie Powell2026-03-291-36/+49
| |
* | Move CUList to be declared inside User.Gravatar Sadie Powell2026-03-261-4/+4
| |
* | Fix a minor crash on shut down after copying a dynamic reference.Gravatar Sadie Powell2026-03-151-0/+6
| |
* | Clean up the casemapping checking and comparison code.Gravatar Sadie Powell2026-03-131-1/+1
| |
* | Move <options:defaultmodes> to <channels> and rework.Gravatar Sadie Powell2026-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | - The default prefix modes are now separate from the default channel modes. This should result in less accidentally broken configs. - The privs are now pre-parsed to a list of mode references. This should improve performance slightly as the repeated mode lookups are gone. It also allows us to write warnings to the debug log when the default privs are invalid. - Channels can now have a default topic.
* | Merge branch 'insp4' into master.Gravatar Sadie Powell2026-03-091-3/+4
|\|
| * Add the VF_DEPRECATED flag and warn on load about deprecation.Gravatar Sadie Powell2026-03-091-3/+4
| |
* | Make the ban checking functions able to check any list mode.Gravatar Sadie Powell2026-03-081-2/+2
| |
* | Add the old connect class to OnPostChangeConnectClass.Gravatar Sadie Powell2026-03-061-1/+1
| |
* | Only reset the specific type of reference when adding services.Gravatar Sadie Powell2026-03-041-3/+6
| |
* | Clean up ModuleManager somewhat.Gravatar Sadie Powell2026-03-041-10/+10
| |
* | Add support for strict references and switch some stuff to use them.Gravatar Sadie Powell2026-03-031-13/+18
| |
* | Disable service registration messages when not using a debug build.Gravatar Sadie Powell2026-03-021-0/+12
| |
* | Rename ServiceProvider::creator to service_creator and add GetSource.Gravatar Sadie Powell2026-03-021-5/+12
| |
* | Massive rework of how internal service providers work.Gravatar Sadie Powell2026-03-021-87/+58
| | | | | | | | | | | | | | | | | | - ServiceType is dead. All modules use RegisterService now. - Modules can implement UnregisterService which is called from DelService now. - Split the service type prefix into its own field. - Renamed Service::name to Service::service_name. This revealed a few bugs.
* | Rename ServiceProvider methods to avoid shadowing issues.Gravatar Sadie Powell2026-03-021-18/+18
| |
* | Merge branch 'insp4' into master.Gravatar Sadie Powell2026-01-041-0/+8
|\|
| * Allow specifying a module name in SetPriority.Gravatar Sadie Powell2025-12-311-0/+8
| |
* | Add <security:banrealmask>.Gravatar Sadie Powell2025-04-161-2/+2
| |
* | Delete the old hashing interface and modules.Gravatar Sadie Powell2025-04-061-1/+0
| |
* | Replace stalgo::erase with C++20 std::erase.Gravatar Sadie Powell2024-08-251-2/+2
| |
* | Remove support for the v3 server protocol.Gravatar Sadie Powell2024-07-231-3/+2
|/
* Revert module flags to the way they worked in v3.Gravatar Sadie Powell2024-07-221-1/+1
|
* Allow contrib modules to specify their own module version.Gravatar Sadie Powell2024-07-221-0/+15
|
* Update copyright headers.Gravatar InspIRCd Robot2024-06-211-1/+1
|
* Update copyright headers.Gravatar InspIRCd Robot2024-06-071-4/+2
|
* Allow mutating the status message type in OnUserPre(Tag)Message.Gravatar Sadie Powell2024-05-061-1/+1
|
* Rename some of the Module member variables.Gravatar Sadie Powell2024-03-041-9/+9
|
* Rename the error log level to critical.Gravatar Sadie Powell2023-08-111-3/+3
| | | | | "ERROR" is apparently defined by more than just Windows. Let's pick a different name which is less likely to cause collisions.
* Simplify the codes that InspIRCd can exit with.Gravatar Sadie Powell2023-07-131-5/+4
| | | | | | | The custom codes that InspIRCd exits with are not very useful and can confuse init systems like systemd which assume that certain exit codes mean certain things. INSPIRCD_BINARY_EXIT was a workaround for this in v3 but considering thatsers have to check the logs anyway so we may as well just use EXIT_SUCCESS and EXIT_FAILURE.
* Remove rang and use fmtlib for printing coloured messages.Gravatar Sadie Powell2023-07-121-7/+11
| | | | | | | | | This supports more platforms (e.g. Haiku) and is actually still maintained unlike the former. All of this code should really be cleaned up for release (maybe by adding something like Anope's LOG_CONSOLE) but for now I've just replaced it with the fmtlib equivalent.
* Avoid culling DLLManager instances twice.Gravatar Sadie Powell2023-07-051-0/+3
|
* Remove OnPreChange{Host,RealName} events and deboolify methods.Gravatar Sadie Powell2023-06-291-2/+0
| | | | These have not ever been used as far as I can see.
* Retain the "real" username properly like we do for hostnames.Gravatar Sadie Powell2023-06-291-1/+3
| | | | | | | | | | | | | | This introduces the concept of a real username. This value comes from either the initial USER message or from an ident lookup. Doing this allows us to use it for bans through vidents and cloaking web client users using their remote username. While changing this I also changed all of the uses of "ident" other than RFC 1413 lookups and some compatibility cases to refer to usernames as user(name) instead of ident. Our use of ident in these places was incorrect as that only refers to the RFC 1413 response and is not commonly used in the way we used it by any other IRC server implementations.
* Fix casing of metadata in function and event names.Gravatar Sadie Powell2023-05-301-1/+1
| | | | Metadata is one word not two so it shouldn't be capitalised like this.
* Allow modules to provide an error for when a class doesn't match.Gravatar Sadie Powell2023-03-241-1/+1
|
* Refactor the password checking API.Gravatar Sadie Powell2023-02-281-1/+1
| | | | | | | | | | - Rename from (On)PassCompare to (On)CheckPassword. - Fix the order of the arguments to be password, hash, value. This makes more sense than what it was previously. - Fix the code documentation to not be complete nonsense and not reference ancient outdated APIs.
* Convert log calls to use fmtlib format stringsGravatar Sadie Powell2023-01-241-7/+7
|
* Fix some issues reported by scan-build.Gravatar Sadie Powell2023-01-151-5/+15
| | | | All of these are harmless and should never cause an issue in practise.