network: limit InitialCongestionWindow= and InitialAdvertisedReceiveWindow= value

Strivtly speaking, this breaks backward compatibility. But setting
too large value into them, then their networking easily breaks.
Note that typically 100 for them is event too large. So, ommiting the
values equal or higher than 1024, and dropping support of k, M, and G
suffixes is OK for normal appropriate use cases.

See discussion in #16643.
This commit is contained in:
Yu Watanabe 2020-09-29 13:55:14 +09:00
parent 6d3702f97c
commit fef160b5ab
1 changed files with 3 additions and 3 deletions

View File

@ -1465,7 +1465,7 @@ int config_parse_tcp_window(
_cleanup_(route_free_or_set_invalidp) Route *n = NULL;
Network *network = userdata;
uint64_t k;
uint32_t k;
int r;
assert(filename);
@ -1483,13 +1483,13 @@ int config_parse_tcp_window(
return 0;
}
r = parse_size(rvalue, 1024, &k);
r = safe_atou32(rvalue, &k);
if (r < 0) {
log_syntax(unit, LOG_WARNING, filename, line, r,
"Could not parse TCP %s \"%s\", ignoring assignment: %m", lvalue, rvalue);
return 0;
}
if (k > UINT32_MAX) {
if (k >= 1024) {
log_syntax(unit, LOG_WARNING, filename, line, 0,
"Specified TCP %s \"%s\" is too large, ignoring assignment: %m", lvalue, rvalue);
return 0;