summaryrefslogtreecommitdiff
path: root/src/modulemanager.cpp
AgeCommit message (Collapse)Author
2017-06-24modulemanager: debug log if module is still loaded after dlcloseAdam
2017-06-21Stop init if a module can't be loaded because it doesn't existAdam
2017-06-21Convert ModuleReturn to an enum classAdam
2017-04-20Merge commit '8656b65e392e8d26de218bf372da949c3a00d8d4'Adam
2017-01-23Make log system use newer format stringsAdam
Also allow log messages to be translatable
2017-01-16Update copyright to 2017.Robby
This was done with: find docs/ include/ language/ modules/ src/ *.* Config -exec sed -i 's/-20.. Anope Team/-2017 Anope Team/i' {} \; Added missing copyright headers to files that didn't have it yet.
2016-07-31Update license headers and copyrights on all source filesAdam
2016-07-28Allow serializable fields to use storage in the respective objects.Adam
Split service management code nito a proper servicemanager. Make service references managed instead of lazy lookup. Also made events and serializable use service manager instead of their respective systems for management
2016-01-28Update copyright to 2016. This was done with:Robby
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \; Added missing copyright headers to files that didn't have it yet. Fixed some whitespace and blank lines along the way.
2015-10-27Merge branch '2.0' into 2.1Adam
2015-10-27Beginning of new module dependency stuff, seems to compile and link. Move ↵Adam
some of the madness in chanserv.h to the module.
2015-07-08Fix a ton of typos.Peter Powell
2015-03-12Update cmake version parsing code to deal with recent build version changesAdam
Update Config.cs to no longer hardcode VS generators, it seems no longer necessary. Fix new version system, cannot return C++ types from extern C functions
2015-02-03Make module version system workAdam
2014-11-24Rewrite serializable to have field level granularityAdam
Represent serializable objects in a digraph, and as a result made most object relationships implicitly defined, and use the graph to trace references between objects to determine relationships. Edges may also be marked as having a dependency of the object they point to, which allows for automatic cleanup and deletion of most objects when no longer needed. Additionally, this allows not having to require in-memory copies of everything when using external databases. db_sql has been rewritten for this and now always requires a database to function. db_sql with MySQL now requires InnoDB to make use of transactions and foreign key constraints.
2014-10-14Fix module event prioritization which was broken with the newerAdam
auto-attach event stuff. Also remove logically dead code from os_defcon, and make os_defcon akill similar masks to os_session when enforcing session akills. Fixes #1618 which relies on os_session to be prioritized before os_defcon.
2014-06-23Merge branch '2.0' into 2.1Adam
Conflicts: cmake/Anope.cmake cmake/FindGettext.cmake include/access.h include/messages.h include/modes.h include/modules.h include/users.h modules/CMakeLists.txt modules/commands/bs_bot.cpp modules/commands/cs_access.cpp modules/commands/cs_ban.cpp modules/commands/cs_clone.cpp modules/commands/cs_flags.cpp modules/commands/cs_info.cpp modules/commands/cs_list.cpp modules/commands/cs_log.cpp modules/commands/cs_mode.cpp modules/commands/cs_status.cpp modules/commands/cs_suspend.cpp modules/commands/cs_updown.cpp modules/commands/cs_xop.cpp modules/commands/ms_check.cpp modules/commands/ns_access.cpp modules/commands/ns_cert.cpp modules/commands/ns_group.cpp modules/commands/ns_register.cpp modules/commands/ns_set.cpp modules/commands/ns_suspend.cpp modules/commands/os_session.cpp modules/commands/os_svs.cpp modules/extra/m_ldap_authentication.cpp modules/extra/m_regex_pcre.cpp modules/extra/m_sql_authentication.cpp modules/extra/stats/m_chanstats.cpp modules/protocol/bahamut.cpp modules/protocol/hybrid.cpp modules/protocol/inspircd12.cpp modules/protocol/inspircd20.cpp modules/protocol/unreal.cpp modules/pseudoclients/chanserv.cpp modules/pseudoclients/chanserv/channel.cpp modules/pseudoclients/nickserv/nickserv.cpp modules/webcpanel/pages/chanserv/access.cpp src/access.cpp src/bots.cpp src/channels.cpp src/language.cpp src/modes.cpp src/modulemanager.cpp src/process.cpp src/users.cpp src/version.sh
2014-05-30Fix Windows build and update library names to the newer ones.Adam
Also fix crash on Windows when unloading a module because it threw an exception.
2014-05-28Move most of the core pseudoclient logic to modulesAdam
2014-05-27Fix dlerror() on Windows and do not abort if err is not setAdam
2014-04-20New event systemAdam
2014-01-01Update copyright to 2014. This was done with:Adam
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
2013-09-16Remove static variables from functions in modules which causes them to be ↵Adam
marked as gnu unique objects, which breaks dlclose()/dlopen() on g++ 4.5+
2013-07-05Fix sometimes not unloading all modules on shutdownAdam
2013-05-28Fixup last commit. We have events in log's destructor so we cant log ↵Adam
messages from it, and this check in modulemanager is bogus/has a typo
2013-05-27Initially attach all modules to all events, and detach them as the events ↵Adam
are run if they are not implemented per module
2013-05-05Rework the config file reader to be much more flexible and move many ↵Adam
configuration directives to the actual modules they are used in.
2013-04-12Fix OSX buld and a warning in modulemanager.cppAdam
2013-04-11Pass new config and the new config reader to the OnReload event, aswell as ↵Adam
call it on module load on modules that hook to it
2013-04-10Move some of the modules in extras/ that arent really extra out of extras. ↵Adam
Mark our modules as VENDOR and allow modules to have multple types.
2013-04-06Remove the runtime module directory on non-windows because we no longer ↵Adam
overwrite modules on install without deleting them first
2013-03-30Merge usefulness of Timer and CallBack classes into Timer, and fix it to ↵Adam
really work
2013-01-09Update copyright to 2013. This was done with:Adam
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-2012 Anope Team/-2013 Anope Team/i' {} \;
2012-12-13Optimize much of the database code and serialize code.Adam
2012-11-22Pretty large coding style cleanup, in source docAdam
cleanup, and allow protocol mods to depend on each other
2012-11-06Windows fixesAdam
2012-09-30Place runtime module binaries in data/runtime instead of lib/ incase of a ↵Adam
system wide install where lib/ is not writable
2012-09-30Use RTLD_NOW when loading modules to resolve all symbols immediately.Adam
This prevents modules with unresolved symbols from loading instead of loading and crashing later.
2012-09-02Fix WindowsAdam
2012-05-06Split up db/conf/lib/locale install directories, and allow alternate ones to ↵Adam
be specified at runtime
2012-03-22added a missing error message when a module file does not exist. this fixes ↵DukePyrolator
bug #1401. also moved some debug messages to debug level 2
2012-02-22Added regex support for many commands, such as akill, sqline, snline,Adam
all of the */list commands, etc. Also extended the ability of akill to match a full nick!user@host and real name of users.
2012-02-15Remove revision numbers as they're only ever set by Config reading git since ↵Adam
we've switched off of SVN. Instead just use the hash for the current head when building. Also recheck the hash on every make not just Config.
2012-02-14Clean up and reorganize our header filesAdam
2012-01-02Updated Copyright to 2012Adam
2011-11-08WindowsAdam
2011-10-09Give more verbose messages on startupAdam
2011-09-10Made service_reference type safeAdam
2011-08-11Fixed Windows runtime problemsAdam
2011-08-08Copy modules to the runtime directory in one big read/write if we can ↵Adam
instead of this 1 byte at a time thing, significantly improves startup loading time.