1
0
mirror of https://github.com/anope/anope.git synced 2026-06-21 01:46:39 +02:00
Commit Graph

104 Commits

Author SHA1 Message Date
Adam 0cd3bfa24f Fix module event prioritization which was broken with the newer
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-10-14 18:58:55 -04:00
Adam f20bac996d Fix Windows build and update library names to the newer ones.
Also fix crash on Windows when unloading a module because it threw an
exception.
2014-05-30 18:14:55 -04:00
Adam e8ad509aa5 Fix dlerror() on Windows and do not abort if err is not set 2014-05-27 12:55:03 -04:00
Adam 595dad4ec1 Update copyright to 2014. This was done with:
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
2014-01-01 20:48:38 -05:00
Adam e3c05efe5e Remove static variables from functions in modules which causes them to be marked as gnu unique objects, which breaks dlclose()/dlopen() on g++ 4.5+ 2013-09-16 06:47:42 -04:00
Adam fccc4a4fa6 Fix sometimes not unloading all modules on shutdown 2013-07-05 02:09:43 -04:00
Adam f6e2ebe145 Fixup last commit. We have events in log's destructor so we cant log messages from it, and this check in modulemanager is bogus/has a typo 2013-05-28 13:43:45 -04:00
Adam 37b3535543 Initially attach all modules to all events, and detach them as the events are run if they are not implemented per module 2013-05-27 19:36:37 -04:00
Adam 1d0bb9b26b Rework the config file reader to be much more flexible and move many configuration directives to the actual modules they are used in. 2013-05-05 01:55:04 -04:00
Adam b405484fb9 Fix OSX buld and a warning in modulemanager.cpp 2013-04-12 17:19:29 -04:00
Adam 4f9b7874d6 Pass new config and the new config reader to the OnReload event, aswell as call it on module load on modules that hook to it 2013-04-11 00:08:28 -05:00
Adam 207c46c871 Move some of the modules in extras/ that arent really extra out of extras. Mark our modules as VENDOR and allow modules to have multple types. 2013-04-10 22:26:40 -05:00
Adam 36602224b8 Remove the runtime module directory on non-windows because we no longer overwrite modules on install without deleting them first 2013-04-06 19:34:35 -05:00
Adam 7e7556f064 Merge usefulness of Timer and CallBack classes into Timer, and fix it to really work 2013-03-30 23:39:43 -05:00
Adam 5007b72b28 Update copyright to 2013. This was done with:
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-2012 Anope Team/-2013 Anope Team/i' {} \;
2013-01-09 04:20:55 -05:00
Adam c1077faa28 Optimize much of the database code and serialize code. 2012-12-13 06:12:56 -05:00
Adam d33a0f75a5 Pretty large coding style cleanup, in source doc
cleanup, and allow protocol mods to depend on each
other
2012-11-22 00:50:33 -05:00
Adam 27ab6a686c Windows fixes 2012-11-06 11:02:12 -05:00
Adam 56df1abdd8 Place runtime module binaries in data/runtime instead of lib/ incase of a system wide install where lib/ is not writable 2012-09-30 20:30:27 -04:00
Adam 0ea5e57298 Use RTLD_NOW when loading modules to resolve all symbols immediately.
This prevents modules with unresolved symbols from loading instead
of loading and crashing later.
2012-09-30 20:30:27 -04:00
Adam 1af64a9bbb Fix Windows 2012-09-02 08:30:54 -04:00
Adam 675b113c3e Split up db/conf/lib/locale install directories, and allow alternate ones to be specified at runtime 2012-05-06 21:43:50 -04:00
DukePyrolator 8d0b4a1bf5 added a missing error message when a module file does not exist. this fixes bug #1401. also moved some debug messages to debug level 2 2012-03-22 07:30:38 +01:00
Adam 3850b073dd Added regex support for many commands, such as akill, sqline, snline,
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-22 18:12:02 -05:00
Adam e1f5fc6a0c Remove revision numbers as they're only ever set by Config reading git since 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-15 00:06:25 -05:00
Adam a9772cde21 Clean up and reorganize our header files 2012-02-14 15:13:27 -05:00
Adam 4204ece7a8 Updated Copyright to 2012 2012-01-02 21:28:24 -05:00
Adam b5ff856f47 Windows 2011-11-08 17:29:16 -05:00
Adam 9f850334a1 Give more verbose messages on startup 2011-10-09 02:52:13 -04:00
Adam f025d1b495 Made service_reference type safe 2011-09-10 01:58:38 -04:00
Adam d44a1d0867 Fixed Windows runtime problems 2011-08-11 23:10:08 -04:00
Adam c4da496834 Copy modules to the runtime directory in one big read/write if we can instead of this 1 byte at a time thing, significantly improves startup loading time. 2011-08-08 00:32:09 -04:00
Adam f858164dee Rewrote how commands are handled within Anope.
This allows naming commands and having spaces within command names.
2011-07-14 02:31:12 -04:00
Adam 115f94bfc2 Made Anope able to process normally when disconnected from the uplink and not sleep(), enable usage of non-blocking connect() and default all sockets to non blocking mode. Some cleanup to m_ssl and some cleanup to main.cpp. 2011-05-21 04:57:27 -04:00
Adam 583954d3a1 Use module type to determine what type each module is instead of its location in the configuration file. 2011-05-16 04:09:32 -04:00
Adam 284af258bf Added more useful functions to our LDAP API, allow adding newly registered accounts to LDAP, removed some unnecessary OnPre events and fixed unloading all modules 2011-05-16 04:09:07 -04:00
Adam 076ebafa1b Moved some global functions to be member functions and misc cleanup 2011-05-16 04:07:56 -04:00
DukePyrolator 3fbf39b25d Added some useful Anope::Version functions to prevent some files from unnecessarily rebuilding on every make 2011-03-13 03:42:30 -04:00
Adam c83b2b73d7 Much more work on the live SQL. Should work pretty decently now under heavy load. 2011-02-20 01:05:16 -05:00
Adam 90f0a7c92a Added os_modreload. Also allow unloading database and encryption modules since there isn't a reason we cant allow reloading them. Soon os_modreload will allow reloading the protocol modules. 2010-10-02 21:09:11 -04:00
Adam 0a8bb88085 Made OperServ and Global optional 2010-10-02 03:08:29 -04:00
Adam 5d9df2bdc1 Revert "Do not use new/delete to allocate modules, allows modules to always destruct properly and automatically"
This does not work as expected, it causes objects allocated by modules to be freed by the operating system when
the module is unloaded, giving no chance to the module to deallocate it itself.

This reverts commit 05e6815d91.
2010-10-01 20:24:25 -04:00
Adam d646d455e2 Changed the language system to use gettext 2010-09-26 02:33:01 -04:00
Adam 05e6815d91 Do not use new/delete to allocate modules, allows modules to always destruct properly and automatically 2010-09-22 14:56:43 -04:00
Adam 227909e2cf Rejig of some of the socket stuff. Fixed marking sockets as nonblocking on Windows. Added in a LastError function to keep having to use strerror/GetLastError everywhere. 2010-09-17 19:20:07 -04:00
Adam e7ac33fd62 Cleanup DNS requests when modules are unloaded, fixes unloading m_dnsbl during the middle of queries 2010-09-14 18:24:14 -04:00
Adam c2ddecc2b1 Added a new logging system 2010-08-27 20:56:28 -04:00
Adam ada65a3baf Added a classbase for the major classes, makes dynamic_reference invalidation really work.
This also cleans up a bit of the code in the modestacker.
2010-08-22 00:34:02 -04:00
Adam b180d5f975 Always unload socketengines/database/protocl etc modules last, and fixed a potential crash in m_mysql when unloading when not in GDB 2010-08-17 22:19:36 -04:00
Adam e65d8b2f3d Rewrote the config reader to better handle invalid configs.
This prevents Anope from exploding when /os reload has errors.
2010-08-17 19:27:37 -04:00