diff options
author | Haru <haru@dotalux.com> | 2015-08-10 21:48:48 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2015-08-11 15:17:11 +0200 |
commit | e13f1f782a9d8d25cc622d050644c7f29c1bfd5e (patch) | |
tree | 34e7565fe11ead41519428143b3dc44b752b6e4b /src/char/char.h | |
parent | a8e54e5688bd3d7b8e9073274ff611040c3178ab (diff) | |
download | hercules-e13f1f782a9d8d25cc622d050644c7f29c1bfd5e.tar.gz hercules-e13f1f782a9d8d25cc622d050644c7f29c1bfd5e.tar.bz2 hercules-e13f1f782a9d8d25cc622d050644c7f29c1bfd5e.tar.xz hercules-e13f1f782a9d8d25cc622d050644c7f29c1bfd5e.zip |
subnet.conf overhaul
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.
Diffstat (limited to 'src/char/char.h')
-rw-r--r-- | src/char/char.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/char/char.h b/src/char/char.h index b3aa7bc34..3b6e0fa8c 100644 --- a/src/char/char.h +++ b/src/char/char.h @@ -145,7 +145,7 @@ struct char_interface { int new_display; char *CHAR_CONF_NAME; - char *LAN_CONF_NAME; + char *NET_CONF_NAME; ///< Network config filename char *SQL_CONF_NAME; char *INTER_CONF_NAME; @@ -256,7 +256,7 @@ struct char_interface { int (*parse_frommap) (int fd); int (*search_mapserver) (unsigned short map, uint32 ip, uint16 port); int (*mapif_init) (int fd); - int (*lan_subnetcheck) (uint32 ip); + uint32 (*lan_subnet_check) (uint32 ip); void (*delete2_ack) (int fd, int char_id, uint32 result, time_t delete_date); void (*delete2_accept_actual_ack) (int fd, int char_id, uint32 result); void (*delete2_accept_ack) (int fd, int char_id, uint32 result); @@ -305,7 +305,6 @@ struct char_interface { int (*check_connect_login_server) (int tid, int64 tick, int id, intptr_t data); int (*online_data_cleanup_sub) (DBKey key, DBData *data, va_list ap); int (*online_data_cleanup) (int tid, int64 tick, int id, intptr_t data); - int (*lan_config_read) (const char *lancfgName); void (*sql_config_read) (const char* cfgName); void (*config_dispatch) (char *w1, char *w2); int (*config_read) (const char* cfgName); |