Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Plugins were accidentally using the core's memory manager instead of
the HPM-safe wrappers.
- As a side-effect of this, plugins shall not be able to hook into the
iMalloc interface.
- The issue was introduced in e7c2f7d827ad286dc826e483391e64b8ffe2720b
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
- SPIN_LOCK -> struct spin_lock
- rAthread -> struct thread_handle
- rAthreadProc -> threadFunc
- RATHREAD_PRIO -> enum thread_priority
- RAT_PRIO_LOW -> THREADPRIO_LOW
- RAT_PRIO_NORMAL -> THREADPRIO_NORMAL
- RAT_PRIO_HIGH -> THREADPRIO_HIGH
- RA_THREADS_MAX -> THREADS_MAX
Signed-off-by: Haru <haru@dotalux.com>
fixupthread
|
|
interface
Signed-off-by: Haru <haru@dotalux.com>
|
|
See https://github.com/Reviewable/Reviewable/wiki/FAQ#how-do-i-tell-reviewable-that-a-file-is-generated-and-should-not-be-reviewed
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Previously, only scalar variables had their indirection level
increased. Now pointers do as well (this allows users to override
const pointers)
Signed-off-by: Haru <haru@dotalux.com>
|
|
- The extra indirection level (necessary to override function arguments
from a hook) isn't necessary in post-hooks, but only in pre-hooks.
- This simplifies the syntax and code of post-hooks.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- The macros will now throw a warning at compile time if a plugin is
using a wrong function type for a pre or post hook. This avoids some
very subtle, hard to detect, issues.
- The macros now require 3 arguments instead of 2. Example:
old code: addHookPre("ifname->function" my_hook);
becomes: addHookPre(ifname, function, my_hook);
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Rewritten login clif parser, using a packet db
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Also removed the no longer necessary DB-related typedefs
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
generation)
Fixes #931
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Improved compatibility, portability and standards conformance.
- Since it is not possible to portably and reliably re-use the core's
symbols in plugins, symbols are no longer exported unless explicitly
required, in the UNIX builds. This mimics the Windows behavior and
adds HPM compatibility to OSes such as FreeBSD. Credits to Andrei Karas
for making this possible.
- For convenience, it is no longer necessary to call GET_SYMBOL, since
the plugin will automatically import all the available symbols when
it's loaded, depending on the included headers.
- Plugins are now supposed to include the "common/hercules.h" header
before including anything else. Incluing common/HPMi.h,
common/cbasetypes.h or conf/core.h is no longer necessary, as those
are guaranteed to be automatically included by hercules.h.
- HPM API version bumped to 1.1.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Private members as well as members of interfaces with more than one
section are now correctly detected.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Let doxygen ignore __attribute__ instead of ignoring it at parse time.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Each loaded plugin will now show a status message
- If a plugin loads because of a missing symbol, an error message will
be displayed, mentioning the name of the missing symbol.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
It now strips gcc's __attribute__ from interface methods
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Compatibility fix for older versions of Perl
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixed hooks/symbols generation for the inter_quest interface
- Re-enabled strict mode
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Special thanks to Ind
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Special thanks to Ind
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Functions that expect a printf-style format string are now marked as
such, so that gcc/clang will emit a warning warn you if you mismatch
format string and arguments.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Complies with CERT DCL37-C
- Fixes issue #293 (special thanks to elfring)
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
- Language extensions, such as _GNU_SOURCE are now enabled through
CPPFLAGS by the configure script, rather than within the source code.
- Moved some configure-time CFLAGS to CPPFLAGS, where appropriate.
- Fixes bugreport:8211, thanks to Neoth
http://hercules.ws/board/tracker/issue-8211-compiling-warning-in-linux
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Now hookStop() will do absolutely nothing if called from a post-hook,
instead of causing unexpected effects on the next pre-hook execution.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixes a HPM Hook generator warning in battlegrounds.c
Signed-off-by: Haru <haru@dotalux.com>
|
|
- More informative messages are displayed during startup, to make it
easier to identify what system and environment Hercules is running.
- Git/SVN revision detection is improved, separating the source version
(cached at compile time) from the runtime version, in case the user
updated their working copy without recompiling the server. Git
version detection is also more reliable, in case a non-default branch
is used.
- The get_revision script command has been removed (as it was useless
to begin with, after the switch to git). An alternative will be
provided later, for feature-probing purposes.
- The patch was tested under Linux (Gentoo / gcc 4.7 on i686 and x86_64,
Debian 6 / gcc 4.4 on i686, Raspbian / gcc 4.6 on armv6l, CentOS 5 /
gcc 4.1 on i686, CentOS 6 / gcc 4.4 on x86_64, Linux Mint 15 / gcc 4.7
on x86_64, OS X Mountain Lion / clang 5.0 and gcc 4.8 on x86_64,
Cygwin-NT-5.1/gcc 4.8 on i686, FreeBSD 8 / gcc 4.2 on i386, FreeBSD 9
/ gcc 4.2 on amd64, FreeBSD 10 / clang 3.3 on amd64, NetBSD 5 / gcc
4.1 on i386, NetBSD 6 / gcc 4.5 on amd64, OpenBSD 5 / gcc 4.2 on
amd64, Solaris 11 / gcc 4.5 on i86pc, Windows 7 / Visual Studio 2012
on x86, Windows 8 / Visual Studio 2010 on WOW64, Windows 8.1 / Visual
Studio 2013 on WOW64.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixes a HPMHooking compile error in d117462. Thanks to Potte.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Fixed issue on windows that'd cause plugins to be rejected on loading.
Thanks to Mhalicot
Signed-off-by: shennetsind <ind@henn.et>
|
|
- It will be used by an upcoming commit by Ind.
- Added dummy HPMDataCheck.h, to test the API bot's capability to
re-generate it.
- Improved XML parser performance.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Various Makefile optimizations
Signed-off-by: Haru <haru@dotalux.com>
|
|
The last file without a interface is now no more (date.h doesn't count :P).
Modified the way permissions are stored in order to enable plugins to be able to create permissions ( pcg->add_permission("name") [returns permission key] ).
Special Thanks to Haruna!
Closes #121
Signed-off-by: shennetsind <ind@henn.et>
|
|
|
|
Dropped hard-coded indexes, will make updates of the file in the future be smaller and much more clear in content.
Made Possible Thanks to Haruna <3
Signed-off-by: shennetsind <ind@henn.et>
|