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