Age | Commit message (Collapse) | Author | Files | Lines |
|
For supported packet version, from now server send ping packets to client.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Minicore was previously used by the tools in the src/tool directory, and
is currently unused.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
This fixes issues with plugins defining symbols with the same names
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
- Since f8edb93a (likely caused by a find and replace macro gone
horribly wrong)
Signed-off-by: Haru <haru@dotalux.com>
|
|
Ported to modern Hercules and cleaned up from Panikon's commits: b10f2a88073882bea812c6278fdec7848102ab87, bc5007299a92898ea4630f2a977d9a1b42b6c145
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Note:
It will be enabled by default if configure detects that the system has support for epoll
To enforce usage of select run configure with --enable-epoll=no
|
|
Also disable all known default warnings if build bot option enabled.
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Add all missing -Wformat flags into configure.
|
|
Added some forgotten <stdio.h> and "common/conf.h" includes to .c files,
that were previously masked by the above.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- The return value is now consistent with the libconfig standard
(CONFIG_TRUE/CONFIG_FALSE).
- Removed some redundant error messages.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Functions should always specify their arguments, even if they take
none. In C, not specifying arguments is different than specifying
(void).
Signed-off-by: Haru <haru@dotalux.com>
|
|
Update max packet size according to client date
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- According to https://msdn.microsoft.com/en-us/library/windows/desktop/ms740476(v=vs.85).aspx
setsockopt() for SO_RCVTIMEO/SO_SNDTIMEO require a DWORD argument,
unlike their POSIX equivalent, requiring a struct timeval.
- Always keep in mind: When you see a Microsoft API function that looks
like a duck, swims like a duck, quacks like a duck, it most certainly
is not a duck.
- Thanks to ultramage.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- sockt->lan_subnet was renamed to sockt->lan_subnets.
- sockt->trusted_ip was renamed to sockt->trusted_ips.
- sockt->allowed_ip was renamed to sockt->allowed_ips.
- Convenience macros for checking IP ranges and subnets are provided
(SUBNET_MATCH, APPLY_MASK).
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Changed the hplugin_data_store's array into a VECTOR.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Several explicit casts are removed, to have a slightly better
type-checking at compile time.
- A destructor function is provided, to remove code duplication.
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>
|
|
- Replaced some macro calls with the proper interface syntax
- Removed useless macros and workarounds
API changes summary:
- WFIFOSET() can now be safely used both inside and outside socket.c
- RFIFOSKIP() can now be safely used both inside and outside socket.c
- do_close() is now sockt->close()
- flush_fifo() is now sockt->flush()
- flush_fifos() is now sockt->flush_fifos()
- getips() is now sockt->getips()
- host2ip() is now sockt->host2ip()
- ip2str() is now sockt->ip2str()
- ntows() is now sockt->ntows()
- make_connection() is now sockt->make_connection()
- make_listen_bind() is now sockt->make_listen_bind()
- realloc_fifo() is now sockt->realloc_fifo()
- realloc_writefifo() is now sockt->realloc_writefifo()
- session_isActive() is now sockt->session_is_active()
- session_isValid() is now sockt->session_is_valid()
- set_defaultparse() is now sockt->set_defaultparse()
- set_eof() is now sockt->eof()
- set_noblocking() is now sockt->set_noblocking()
- str2ip() is now sockt->str2ip()
Signed-off-by: Haru <haru@dotalux.com>
|
|
The subnet.conf system has been rewritten to offer greater flexibility,
and to fix some issues that appeared with 838321a36c79e71117320154c9b611c99e93af03.
It is now possible to enter, separately, LAN subnets:
- `lan_subnets`: This is essentially the same feature present in the old
subnet.conf. Each entry in this list defines a (LAN, private) subnet
the server is in. Clients connecting from the same subnet, will be
redirected to the LAN IP rather than the default public IP. The format
has been simplified, and it only requires one IP and one subnet mask (as
opposed to a character and a map server IP).
- `allowed`: Allowed IPs are IP ranges a server (char to login or map to
char) can connect from. Any attempt to connect as a server from an IP
not included here, will fail. For convenience, a wildcard range
(matching all possible IP addresses) has been provided
(`0.0.0.0:0.0.0.0`), but it is very advisable to edit it to a more
restrictive set.
- `trusted`: Trusted IPs are IP ranges excluded from the IPban checks.
This may be useful, for example, to exclude the server's own IP from
ipbans, in case of false positives. Any IP ranges added to this list are
also implicitly included in the allowed IP ranges.
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Include directives are now directory-independent.
- This will allow building plugins from other directories in future.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Variable scopes reduced
- Parenthesized ambiguous expressions
- Removed or added NULL checks where (un)necessary
- Corrected format strings
- Fixed typos potentially leading to bugs
Signed-off-by: Haru <haru@dotalux.com>
|