ban ip duration reason
, when, by who, and how expired bans will be removed, if bans contain only duration, but not any kind of timestampstr_utf8_to_skeleton
that we can use for it if we want to make it a little harder to get through with creative spelling (edited)BindAddr.type
after parsing the bindaddr
config variable using net_host_lookup
here?
same thing with ec_bindaddr
for econ here.
as far as i understand it net_host_lookup
is supposed to parse the value and set BindAddr.type
either to NETTYPE_IPV4
or NETTYPE_IPV6
and this determines how the 16 bytes in BindAddr.ip
are to be interpreted.
but if BindAddr.type
is afterwards set to NETTYPE_ALL
like in the econ code, this causes subsequent code to interpret it as both ipv4 and ipv6. when ec_bindaddr
is localhost
(the default) then net_host_lookup
returns ::1
and when the first 4 bytes are interpreted as ipv4 this results in 0.0.0.0
. so by default econ is exposed publicly...
at first i thought this was just a bug in the econ code, but the standard server startup code does the same pattern of first calling net_host_lookup
and then overwriting BindAddr.type
. am i missing something?BindAddr.type
after parsing the bindaddr
config variable using net_host_lookup
here?
same thing with ec_bindaddr
for econ here.
as far as i understand it net_host_lookup
is supposed to parse the value and set BindAddr.type
either to NETTYPE_IPV4
or NETTYPE_IPV6
and this determines how the 16 bytes in BindAddr.ip
are to be interpreted.
but if BindAddr.type
is afterwards set to NETTYPE_ALL
like in the econ code, this causes subsequent code to interpret it as both ipv4 and ipv6. when ec_bindaddr
is localhost
(the default) then net_host_lookup
returns ::1
and when the first 4 bytes are interpreted as ipv4 this results in 0.0.0.0
. so by default econ is exposed publicly...
at first i thought this was just a bug in the econ code, but the standard server startup code does the same pattern of first calling net_host_lookup
and then overwriting BindAddr.type
. am i missing something? NETTYPE_ALL
thoNETTYPE_ALL
ec_bindaddr
was set to localhost
. Also implements the original intention of 85f5e9c that is to disable econ if ec_binaddr
is invalid.
I've tested the following values and they behave as expected now:
ec_bindaddr "localhost" # listens on ::1 on my system
ec_bindaddr "127.0.0.1"
ec_bindaddr "0.0.0.0"
ec_bindaddr "[::1]"
ec_bindaddr "[::]"
ec_bindaddr "nonsense" # prints error and disables econ
Explanation: The old code...ec_binaddr
and parses the addressec_binaddr
is an ipv4 or an ipv6 addressIPV6_V6ONLY
to allow ipv4 connectionsec_bindaddr "localhost"
.ec_bindaddr "localhost"
. localhost
to bind to bothlocalhost
to bind to both hot_reload
xdhot_reload
xd hot_reload
while in super
? This should already be fixed in nightly.hot_reload
while in super
? This should already be fixed in nightly. Whenever I debug the game with the sound backend on, it disconnects the debugger for an unknown reason 50% of the time.